/* Pricing page. Shared tokens, chrome and components live in styles.css. */
/* One page, separated by service. Every open value is „—“ in [data-price]; figures are tabular so
   the dashes sit in the same columns the numbers will. */

.cn-hero{padding-top:96px;padding-bottom:72px}
.cn-hero h1{font-size:clamp(54px,5.6vw,80px);line-height:1.02;letter-spacing:-.05em}
.cn-lead{max-width:640px;margin-top:30px;font-size:17px;line-height:1.8;font-weight:350;color:var(--muted)}

/* In-page index: the three services, in the order of the page. */
.cn-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:56px}
.cn-index a{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:16px;padding-top:18px;border-top:1px solid var(--line);transition:border-color .3s}
.cn-index a:hover{border-color:var(--ink)}
.cn-index-name{grid-column:1;font-size:30px;line-height:1.1;letter-spacing:-.035em}
.cn-index em{grid-column:1;margin-top:6px;font-size:19px;line-height:1.3;letter-spacing:-.01em;color:var(--muted)}
.cn-index .icon{grid-column:2;grid-row:1/span 2;width:18px;height:18px;transform:rotate(90deg);transition:transform .3s var(--ease)}
.cn-index a:hover .icon{transform:rotate(90deg) translateX(3px)}

/* A service: its introduction on the left, its prices on the right. */
.cn-service{scroll-margin-top:60px}
.cn-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);gap:64px;padding-top:72px;padding-bottom:88px;border-top:1px solid var(--line)}
.cn-intro h2{font-size:clamp(40px,3.6vw,52px);line-height:1.04;letter-spacing:-.045em}
.cn-role{margin-top:6px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:24px;line-height:1.25;letter-spacing:-.02em}
.cn-intro>p:not(.cn-role){max-width:340px;margin-top:18px;font-size:15px;line-height:1.75;font-weight:350;color:var(--muted)}
.cn-intro .text-link{margin-top:22px}

.cn-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.cn-plans-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cn-plan{padding:24px 28px 6px;border-left:1px solid var(--line)}
.cn-plan:first-child{padding-left:0;border-left:0}
.cn-plan:last-child{padding-right:0}
.cn-plan h3{font-size:30px;line-height:1.1;letter-spacing:-.03em}
.cn-figure{margin-top:26px;font-size:52px;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.cn-unit{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted)}
.cn-rows{margin-top:24px}
.cn-rows>div,.cn-ledger>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-top:1px solid var(--line)}
.cn-rows>div{padding:11px 0;font-size:14px;line-height:1.45}
.cn-rows dt{color:var(--muted)}
.cn-rows dd,.cn-ledger dd{flex:none;text-align:right;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.cn-note{margin-top:14px;font-size:14px;line-height:1.6}
[data-price]{font-variant-numeric:tabular-nums lining-nums}

/* Judikatura: editorial. Plan names in the serif italic, like a table of contents. */
.cn-judikatura .cn-plan h3{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:26px;letter-spacing:-.02em}

/* Kontext: precise. One ledger, values in a single right-hand column. */
.cn-option{border-top:1px solid var(--ink);padding-top:24px}
.cn-option-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px}
.cn-option-head h3{font-size:30px;line-height:1.1;letter-spacing:-.03em}
.cn-recommended{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:19px;line-height:1.3;color:var(--blue-ink)}
.cn-recommended::before{content:"";display:inline-block;width:28px;margin-right:12px;vertical-align:.3em;border-top:1px solid currentColor}
.cn-option-lead{max-width:560px;margin-top:12px;font-size:15px;line-height:1.75;font-weight:350;color:var(--muted)}
.cn-ledger{margin-top:28px}
.cn-ledger>div{padding:16px 0;align-items:center}
.cn-ledger dt{font-size:16px;line-height:1.4}
.cn-ledger dd{font-size:32px;line-height:1;letter-spacing:-.03em}
.cn-ledger>div:last-child{border-bottom:1px solid var(--line)}
.cn-ledger-quiet{margin-top:36px}
.cn-ledger-quiet dt{color:var(--muted);font-size:15px}
.cn-ledger-quiet dd{font-size:22px}

/* Workspace: cobalt accent on the tiers, on a faint dotted board. */
.cn-workspace{background-image:radial-gradient(circle,var(--line) 1px,transparent 1.2px);background-size:22px 22px;background-position:11px 11px}
.cn-workspace .cn-plans{border-top:0}
.cn-tier{position:relative;border-top:2px solid var(--blue);padding-top:26px;padding-right:0}
.cn-plans-two .cn-tier:nth-child(2){border-left:0;margin-left:28px;padding-left:0}
.cn-tier h3{font-size:40px;letter-spacing:-.04em}
.cn-tier .cn-rows dd{color:var(--blue-ink)}

/* Questions and closing reuse the shared components. */
.cn-questions{padding-top:88px}

@media(max-width:1199px){
  .cn-grid{gap:48px;grid-template-columns:minmax(0,1fr) minmax(0,2.3fr)}
  .cn-plan{padding-left:22px;padding-right:22px}
  .cn-tier{padding-right:0}
  .cn-figure{font-size:44px}
  .cn-plan h3{font-size:26px}
  .cn-judikatura .cn-plan h3{font-size:23px}
  .cn-tier h3{font-size:34px}
  .cn-plans-two .cn-tier:nth-child(2){margin-left:22px}
}
@media(max-width:959px){
  .cn-hero{padding-top:72px;padding-bottom:56px}
  .cn-index{gap:24px;margin-top:44px}
  .cn-index-name{font-size:25px}
  .cn-index em{font-size:16px}
  .cn-grid{grid-template-columns:1fr;gap:34px;padding-top:56px;padding-bottom:64px}
  .cn-intro>p:not(.cn-role){max-width:560px}
  .cn-questions{padding-top:64px}
}
@media(max-width:719px){
  .cn-hero{padding-top:56px;padding-bottom:44px}
  .cn-lead{font-size:16px;margin-top:22px}
  .cn-index{grid-template-columns:1fr;gap:0;margin-top:36px}
  .cn-index a{padding:16px 0 18px}
  .cn-grid{padding-top:44px;padding-bottom:52px}
  .cn-role{font-size:21px}
  .cn-plans,.cn-plans-two{grid-template-columns:1fr}
  .cn-plan,.cn-plan:first-child{padding:22px 0 18px;border-left:0}
  .cn-plan+.cn-plan{border-top:1px solid var(--line)}
  .cn-figure{margin-top:16px;font-size:44px}
  .cn-plans-two .cn-tier:nth-child(2){margin-left:0;margin-top:22px;border-top:2px solid var(--blue)}
  .cn-option-head h3{font-size:26px}
  .cn-ledger dt{font-size:15px}
  .cn-ledger dd{font-size:26px}
  .cn-questions{padding-top:48px}
}
