/* Shared editorial system. The homepage retains its approved composition. */
summary, input, select, textarea { font: inherit; }
summary { cursor: pointer; }
summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--purple); outline-offset: 4px; }
input, select { accent-color: var(--purple-fill); }
.site-header { position: relative; z-index: 20; gap: 22px; }
.desktop-navigation { gap: 21px; }
.nav-group { position: relative; }
.nav-group > summary { display: flex; align-items: center; gap: 8px; padding-block: 12px; list-style: none; white-space: nowrap; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary::after { content: ''; width: 5px; height: 5px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); margin-top: -3px; }
.nav-group[open] > summary { color: var(--purple); }
.nav-group[open] > summary::after { transform: rotate(225deg); margin-top: 3px; }
.nav-popover { position: absolute; top: calc(100% + 5px); left: -20px; min-width: 245px; padding: 12px 20px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); box-shadow: 0 12px 34px #0000000f; }
.nav-popover a { display: block; min-height: 44px; }
.desktop-navigation a[aria-current=page], .mobile-navigation a[aria-current=page] { color: var(--purple); text-decoration: underline; text-underline-offset: 6px; }
.mobile-navigation { position: relative; z-index: 19; }
.mobile-navigation > details { border-top: 1px solid var(--line); }
.mobile-navigation summary { padding-block: 16px; }
.mobile-navigation details a { padding-left: 20px; }
.global-footer { padding-block: 56px 24px; }
.footer-intro { display: flex; justify-content: space-between; gap: 30px; align-items: start; padding-bottom: 35px; }
.footer-intro p { font-size: .875rem; line-height: 1.7; color: var(--muted); }
.footer-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding-block: 28px 38px; border-top: 1px solid var(--line); }
.footer-columns h2 { font-size: .875rem; line-height: 1.6; font-weight: 600; margin-bottom: 12px; }
.footer-columns a { display: block; color: var(--muted); font-size: .875rem; line-height: 1.6; padding-block: 8px; width: fit-content; }
.global-footer a:hover { color: var(--purple); }
.footer-legal { display: flex; gap: 12px 26px; flex-wrap: wrap; padding-top: 22px; border-top: 1px solid var(--line); font-size: .75rem; line-height: 1.7; color: var(--muted); }
.footer-legal > span { margin-right: auto; }
.page-hero { padding-block: 80px 68px; }
.page-hero .eyebrow { margin-bottom: 24px; color: var(--purple); }
.page-hero h1 { font-size: clamp(3.2rem,5.9vw,5.5rem); line-height: 1.05; max-width: 22ch; text-wrap: balance; }
.page-lead { font-size: 1.125rem; line-height: 1.8; color: var(--muted); max-width: 66ch; margin-top: 28px; }
.page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 26px; margin-top: 28px; }
.page-hero > div > .button { margin-top: 28px; }
.page-hero > div > .text-link { margin-top: 18px; }
.small-note { font-size: .8125rem; line-height: 1.75; color: var(--muted); margin-top: 16px; }
.small-note .text-link { font-size: inherit; }
.photo-hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 64px; align-items: center; padding-block: 55px 58px; }
.photo-hero h1 { font-size: clamp(3rem,4.65vw,4.6rem); }
.photo-hero .page-lead { font-size: 1rem; }
.editorial-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 3px; }
.editorial-photo figcaption { font-size: .75rem; line-height: 1.65; color: var(--muted); padding-top: 12px; }
.compact-hero { padding-block: 56px 36px; }
.compact-hero h1 { font-size: clamp(2.75rem,4.5vw,4.2rem); }
.compact-hero .page-lead { margin-top: 18px; }
.content-section { border-top: 1px solid var(--line); padding-block: 52px 60px; }
.content-section > .eyebrow { margin-bottom: 17px; }
.content-section h2 { font-family: var(--display); font-weight: 400; font-size: clamp(2.1rem,3.2vw,3rem); line-height: 1.16; letter-spacing: -.025em; max-width: 32ch; margin-bottom: 30px; text-wrap: balance; }
.section-intro { font-size: 1.125rem; line-height: 1.85; max-width: 66ch; color: var(--muted); margin-bottom: 26px; }
.content-section h3 { font-size: 1.2rem; font-weight: 550; line-height: 1.4; letter-spacing: -.015em; }
.content-section > .text-link + .text-link { margin-left: 26px; }
.split-content { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; align-items: start; }
.split-content .section-intro { margin-bottom: 0; }
.prose { font-size: 1rem; line-height: 1.85; color: var(--muted); }
.prose p + p { margin-top: 20px; }
.prose .text-link { margin-top: 20px; }
.paper-note { padding: 30px; background: var(--lilac); border-top: 2px solid var(--purple); }
.paper-note .eyebrow { margin-bottom: 16px; }
.paper-note p:not(.eyebrow) { font-size: 1rem; line-height: 1.8; color: var(--muted); margin-top: 15px; }
.paper-note .text-link { margin-top: 20px; }
.assurance { display: flex; gap: 20px 35px; justify-content: space-between; border-top: 1px solid var(--line); padding-block: 22px; font-size: .875rem; line-height: 1.6; color: var(--muted); }
.editorial-rows { max-width: 980px; }
.editorial-rows article { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 30px; padding-block: 28px; border-bottom: 1px solid var(--line); }
.editorial-rows article:first-child { padding-top: 5px; }
.editorial-rows article:last-child { border-bottom: 0; padding-bottom: 10px; }
.row-index { font-size: .8125rem; font-variant-numeric: tabular-nums; line-height: 2; color: var(--purple); }
.editorial-rows p { font-size: 1rem; line-height: 1.8; color: var(--muted); max-width: 66ch; margin-top: 12px; }
.editorial-rows + .text-link { margin-top: 20px; }
.pathway { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-block: 25px 38px; }
.pathway > div { position: relative; background: var(--surface); padding: 25px 28px; }
.pathway > div:nth-child(2) { background: var(--lilac); }
.pathway span { display: block; font-size: .75rem; line-height: 1.7; color: var(--muted); margin-bottom: 12px; }
.pathway strong { display: block; font-size: 1.0625rem; font-weight: 500; line-height: 1.5; }
.page-closing { background: var(--deep); color: var(--deep-text); padding-block: 50px; }
.page-closing > div { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.page-closing h2 { font-family: var(--display); font-size: clamp(2.65rem,4.2vw,4rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; margin-top: 18px; max-width: 21ch; }
.page-closing p { font-size: .875rem; line-height: 1.8; color: var(--deep-muted); max-width: 45ch; }
.page-closing .button { background: #ede1fa; color: #30203f; min-width: 220px; }
.page-closing .button:hover { background: #fff7ff; }
.faq-list { max-width: 980px; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { list-style: none; position: relative; font-size: 1rem; line-height: 1.6; padding: 22px 42px 22px 0; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; position: absolute; right: 9px; color: var(--purple); font-size: 1.35rem; font-weight: 400; }
.faq-item[open] summary::after { content: '−'; }
.faq-item p { max-width: 75ch; padding: 0 38px 25px 0; font-size: 1rem; line-height: 1.85; color: var(--muted); }
.faq-list + .text-link { margin-top: 25px; }
.related-links { display: flex; flex-wrap: wrap; gap: 18px 38px; margin-top: 18px; }
.directory-controls { display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 22px; align-items: end; margin-block: 26px; }
.directory-controls label, .currency-control, .calculator-toolbar > label { display: grid; gap: 9px; color: var(--muted); font-size: .8125rem; line-height: 1.5; }
input[type=search], input[type=number], select { min-width: 0; max-width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 3px; background: var(--surface); color: var(--ink); min-height: 48px; font-size: 1rem; }
input::placeholder { color: var(--muted); opacity: 1; }
.directory-row { display: flex; justify-content: space-between; gap: 35px; align-items: center; padding: 27px 0; border-top: 1px solid var(--line); }
.directory-row:last-child { border-bottom: 1px solid var(--line); }
.directory-row > div { max-width: 76ch; }
.directory-category { display: block; font-size: .75rem; line-height: 1.6; color: var(--purple); margin-bottom: 8px; }
.directory-row h3 { font-family: var(--display); font-weight: 400; font-size: 1.8rem; }
.directory-row p { font-size: .9375rem; line-height: 1.8; color: var(--muted); margin-top: 8px; }
.directory-status { display: flex; align-items: center; gap: 20px; flex-shrink: 0; font-size: .8125rem; line-height: 1.6; color: var(--muted); }
.directory-status > span { font-size: 1.4rem; color: var(--purple); }
.directory-row:hover h3 { color: var(--purple); }
.filter-count, .directory-empty { margin-top: 18px; font-size: .875rem; line-height: 1.7; color: var(--muted); }
.directory-empty { background: var(--lilac); padding: 26px; color: var(--ink); }
.table-wrap { max-width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: .9375rem; line-height: 1.75; }
caption { text-align: left; color: var(--muted); padding-bottom: 16px; font-size: .8125rem; }
th, td { padding: 21px 24px 21px 0; border-top: 1px solid var(--line); vertical-align: top; }
th { font-weight: 550; }
thead th { font-size: .8125rem; color: var(--purple); }
td { color: var(--muted); }
td:last-child, th:last-child { padding-right: 0; }
tbody tr:last-child > * { border-bottom: 1px solid var(--line); }
.product-tour { padding-bottom: 60px; }
.product-tour .discovery-experience { width: 100%; }
.page-tabs { display: flex; gap: 32px; flex-wrap: wrap; padding-bottom: 22px; }
.page-tabs a { color: var(--purple); font-size: .9375rem; min-height: 44px; padding-block: 12px; }
.page-tabs a:hover { text-decoration: underline; text-underline-offset: 7px; }
.price-controls { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 25px; margin-bottom: 30px; }
.segmented { display: inline-flex; flex-wrap: wrap; align-items: center; padding: 4px; margin: 0; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); }
.segmented label { position: relative; }
.segmented input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.segmented label > span, .segmented > button { display: block; border: 0; border-radius: 3px; padding: 12px 23px; min-height: 44px; font-size: .875rem; line-height: 1.5; background: transparent; color: var(--muted); cursor: pointer; }
.segmented input:checked + span, .segmented > button[aria-pressed=true] { background: var(--lilac); color: var(--ink); }
.segmented input:focus-visible + span { outline: 3px solid var(--purple); outline-offset: 2px; }
.currency-control select { min-width: 200px; }
.plan-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; }
.plan { background: var(--surface); padding: 36px; border: 1px solid var(--line); border-top: 3px solid var(--purple); display: flex; flex-direction: column; align-items: start; }
.plan h3 { margin-top: 20px; }
.plan-price { margin-top: 28px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.plan-price strong { font-family: var(--display); font-weight: 400; letter-spacing: -.035em; font-size: 3.6rem; line-height: 1.1; font-variant-numeric: lining-nums tabular-nums; }
.plan-price span { color: var(--muted); font-size: .875rem; }
.plan .small-note { margin-top: 10px; }
.plan ul { margin: 27px 0 30px; padding-left: 19px; font-size: .9375rem; line-height: 1.8; color: var(--muted); flex: 1; }
.plan li + li { margin-top: 9px; }
.plan li::marker { color: var(--purple); }
.team-pricing { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 70px; }
.seat-input { display: grid; gap: 10px; font-size: .875rem; max-width: 260px; }
.team-estimate { margin-block: 25px; }
.team-estimate > span { font-size: .8125rem; color: var(--muted); }
.team-estimate strong { display: block; font-family: var(--display); font-size: 3rem; font-weight: 400; line-height: 1.3; font-variant-numeric: lining-nums tabular-nums; }
.team-estimate p { font-size: .875rem; color: var(--muted); line-height: 1.7; margin-top: 8px; }
.field-error { color: light-dark(#a33029,#ffaba6); font-size: .875rem; line-height: 1.7; margin-top: 10px; }
[aria-invalid=true] { border-color: light-dark(#a33029,#ffaba6) !important; }
.calculator { margin-bottom: 55px; }
.calculator-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.calculator-toolbar > label { min-width: 115px; }
.calculator-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: start; gap: 52px; border-top: 1px solid var(--line); padding-top: 30px; }
.calculator h2 { font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1.25; margin-bottom: 26px; }
.form-field { display: grid; gap: 10px; margin-bottom: 23px; font-size: .9375rem; line-height: 1.6; }
.field-help { color: var(--muted); font-size: .8125rem; line-height: 1.7; }
.recovery-field { margin: 30px 0 0; border: 0; border-top: 1px solid var(--line); padding: 24px 0 0; }
.recovery-field legend { font-size: .9375rem; padding-right: 15px; }
.preset-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.preset-buttons button { border: 1px solid var(--line); background: var(--surface); border-radius: 3px; font-size: .8125rem; line-height: 1.6; padding: 10px 13px; min-height: 44px; }
.preset-buttons button[aria-pressed=true] { background: var(--lilac); border-color: var(--purple); }
.calculator-result { background: var(--lilac); padding: 36px; border-top: 3px solid var(--purple); position: sticky; top: 24px; }
.hero-metric { display: flex; gap: 16px; flex-wrap: wrap; align-items: baseline; margin-block: 17px 29px; }
.hero-metric strong { font-family: var(--display); font-size: clamp(3.5rem,6vw,5rem); line-height: 1; font-weight: 400; letter-spacing: -.04em; font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
.hero-metric > span { color: var(--muted); font-size: 1rem; }
.result-lines > div { display: flex; justify-content: space-between; gap: 20px; padding-block: 15px; border-top: 1px solid var(--line); font-size: .875rem; line-height: 1.65; }
.result-lines dt { color: var(--muted); max-width: 26ch; }
.result-lines dd { font-variant-numeric: tabular-nums; text-align: right; overflow-wrap: anywhere; max-width: 55%; }
.result-lines .result-total { font-size: 1rem; padding-block: 20px; }
.result-total dt, .result-total dd { color: var(--ink); font-weight: 600; }
.formula-note, .result-caveat { font-size: .8125rem; line-height: 1.75; color: var(--muted); margin-top: 15px; }
.result-caveat { color: var(--ink); }
.calculator-result .page-actions { gap: 12px; }
.calculator-result .button { font-size: .875rem; gap: 20px; }
.text-button { border: 0; border-bottom: 1px solid var(--line); padding: 10px 0; min-height: 44px; background: none; color: var(--purple); font-size: .875rem; line-height: 1.5; }
.text-button:hover { border-color: var(--purple); }
.guide-body { max-width: 900px; padding-bottom: 60px; }
.guide-checklist { margin-top: 28px; }
.guide-checklist > label { display: flex; align-items: start; gap: 22px; border-top: 1px solid var(--line); padding-block: 28px; cursor: pointer; }
.guide-checklist input { flex: 0 0 22px; width: 22px; height: 22px; margin: 4px 0 0; }
.guide-checklist strong { display: block; font-size: 1.15rem; font-weight: 500; line-height: 1.6; }
.guide-checklist span > span { display: block; margin-top: 11px; font-size: 1rem; color: var(--muted); line-height: 1.85; }
.guide-checklist input:checked + span strong { text-decoration: line-through; text-decoration-color: var(--purple); text-decoration-thickness: 1px; }
.guide-note { font-size: .875rem; line-height: 1.8; color: var(--muted); padding-top: 24px; border-top: 1px solid var(--line); }
.booking-frame { border: 1px solid var(--line); border-radius: 4px; overflow: hidden; background: #fff; }
.booking-frame iframe { display: block; border: 0; min-height: 720px; }
.team-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; padding-bottom: 58px; }
.team-grid img, .team-initial { width: 100%; aspect-ratio: 7/8; object-fit: cover; object-position: center 25%; border-radius: 3px; }
.team-initial { display: grid; place-items: center; background: var(--lilac); color: var(--purple); font-family: var(--display); font-size: 5rem; }
.team-grid .eyebrow { margin-top: 22px; font-size: .75rem; }
.team-grid h2 { font-family: var(--display); font-size: 1.9rem; font-weight: 400; letter-spacing: -.025em; line-height: 1.2; margin-top: 8px; }
.team-grid p:not(.eyebrow) { font-size: .9375rem; color: var(--muted); line-height: 1.8; margin-top: 13px; }
.proof-illustration { background: var(--deep); color: var(--deep-text); padding: 32px; border-radius: 5px; }
.proof-illustration .eyebrow { color: var(--deep-muted); }
.proof-illustration h3 { font-family: var(--display); font-size: 2rem; font-weight: 400; margin-top: 18px; }
.proof-illustration dl { margin-block: 25px; }
.proof-illustration dl > div { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 20px; padding-block: 15px; border-top: 1px solid var(--deep-line); font-size: .8125rem; line-height: 1.7; }
.proof-illustration dt { color: var(--deep-muted); }
.proof-illustration > p:last-child { font-size: .8125rem; line-height: 1.7; color: var(--deep-muted); }
.roadmap { border-left: 1px solid var(--line); padding-left: 30px; }
.roadmap article { position: relative; padding-block: 0 35px; max-width: 75ch; }
.roadmap article::before { content: ''; position: absolute; left: -35px; top: 6px; width: 9px; height: 9px; border: 1px solid var(--purple); border-radius: 50%; background: var(--paper); }
.roadmap article:first-child::before { background: var(--purple); }
.roadmap .eyebrow { color: var(--purple); }
.roadmap h3 { margin-block: 12px; }
.roadmap p { color: var(--muted); line-height: 1.85; font-size: 1rem; }
.roadmap article:last-child { padding-bottom: 0; }
.story-scenes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; padding-bottom: 12px; }
.story-scenes h2 { font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1.2; letter-spacing: -.025em; margin-top: 25px; }
.story-scenes article > p { font-size: .9375rem; line-height: 1.8; color: var(--muted); margin-top: 15px; }
.story-scenes + .small-note { padding-bottom: 52px; }
.press-copy { padding: 32px; border: 1px solid var(--line); background: var(--surface); }
.press-copy > p { font-size: 1.125rem; line-height: 1.85; max-width: 76ch; }
.press-copy .text-button { margin-top: 18px; }
.copy-status { font-size: .8125rem; color: var(--muted); margin-left: 18px; }
.brand-assets { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.asset-preview { display: grid; place-items: center; padding: 55px; min-height: 190px; border: 1px solid var(--line); }
.asset-preview.light { background: #fff; }
.asset-preview.dark { background: #20172d; }
.asset-preview img { width: min(100%,270px); }
.brand-assets .text-link { margin-top: 12px; }
.legal-heading { max-width: 900px; padding-block: 60px 40px; }
.legal-heading h1 { font-size: clamp(2.75rem,5vw,4rem); margin-block: 20px; }
.legal-document { max-width: 900px; padding-bottom: 60px; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.legal-document p { margin-bottom: 22px; color: var(--muted); }
.legal-document h2 { font-size: 1.125rem; line-height: 1.6; font-weight: 600; margin-block: 35px 18px; }
.legal-document a { text-decoration: underline; text-underline-offset: 4px; color: var(--purple); }
@media (max-width: 1160px) {
 .desktop-navigation { display: none; }
 .header-actions { margin-left: auto; }
 .menu-toggle { display: block; }
 .photo-hero { gap: 36px; }
 .photo-hero h1 { font-size: clamp(2.75rem,4.8vw,4.3rem); }
 .split-content, .team-pricing { gap: 38px; }
 .calculator-layout { gap: 30px; }
 .calculator-result { padding: 28px; }
 .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px; }
}
@media (max-width: 760px) {
 .page-hero { padding-block: 44px 40px; }
 .page-hero h1 { font-size: clamp(2.9rem,8.8vw,4.2rem); }
 .page-lead { font-size: 1rem; line-height: 1.85; margin-top: 22px; }
 .photo-hero { grid-template-columns: 1fr; gap: 30px; }
 .photo-hero > figure { max-width: 560px; width: 100%; }
 .compact-hero { padding-bottom: 28px; }
 .compact-hero h1 { font-size: clamp(2.5rem,7vw,3.4rem); }
 .content-section { padding-block: 36px 43px; }
 .content-section h2 { font-size: 2.35rem; margin-bottom: 24px; }
 .section-intro { font-size: 1rem; }
 .split-content, .team-pricing, .calculator-layout { grid-template-columns: 1fr; gap: 30px; }
 .calculator-result { position: static; }
 .assurance { display: block; }
 .assurance p + p { margin-top: 7px; }
 .pathway { grid-template-columns: 1fr; }
 .pathway > div { padding: 20px 23px; }
 .pathway span { margin-bottom: 8px; }
 .editorial-rows article { grid-template-columns: 28px minmax(0,1fr); gap: 16px; padding-block: 24px; }
 .page-closing > div { display: block; }
 .page-closing > div > div + div { margin-top: 28px; }
 .page-closing h2 { font-size: 3rem; }
 .directory-controls { grid-template-columns: minmax(0,1fr) 180px; gap: 14px; }
 .directory-row { gap: 18px; }
 .directory-row h3 { font-size: 1.65rem; }
 .directory-status { gap: 9px; font-size: .75rem; }
 .plan-grid { gap: 16px; }
 .plan { padding: 25px; }
 .plan-price strong { font-size: 2.85rem; }
 .plan ul { font-size: .875rem; }
 .story-scenes { grid-template-columns: 1fr; gap: 36px; }
 .story-scenes .editorial-photo { max-width: 560px; }
 .footer-intro { display: block; }
 .footer-intro p { margin-top: 23px; }
 .footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 30px; }
 .footer-legal > span { width: 100%; }
 th, td { padding: 17px 17px 17px 0; font-size: .875rem; min-width: 115px; }
 .table-wrap:focus-visible { outline: 3px solid var(--purple); outline-offset: 4px; }
 .legal-heading { padding-block: 44px 28px; }
 .brand-assets { gap: 16px; }
 .asset-preview { min-height: 150px; padding: 30px; }
}
@media (max-width: 520px) {
 .page-hero h1 { font-size: clamp(2.65rem,9.6vw,3.4rem); }
 .page-hero .eyebrow { margin-bottom: 20px; }
 .page-actions { gap: 12px 20px; }
 .content-section h2 { font-size: 2.1rem; }
 .content-section > .text-link + .text-link { margin-left: 0; display: flex; width: fit-content; }
 .directory-controls { grid-template-columns: 1fr; }
 .directory-row { align-items: start; gap: 13px; }
 .directory-status { flex-direction: column; align-items: end; padding-top: 4px; }
 .directory-row p { font-size: .875rem; }
 .plan-grid { grid-template-columns: 1fr; }
 .price-controls { align-items: start; }
 .currency-control { width: 100%; }
 .plan { padding: 28px; }
 .plan-price strong { font-size: 3.5rem; }
 .calculator-toolbar { flex-wrap: wrap; align-items: start; }
 .calculator-toolbar .segmented { width: 100%; }
 .calculator-toolbar .segmented button { flex: 1; padding-inline: 12px; font-size: .8125rem; }
 .calculator-toolbar > label { min-width: 145px; }
 .calculator-result { padding: 25px 22px; }
 .result-lines > div { gap: 12px; font-size: .8125rem; }
 .result-lines .result-total { font-size: .9375rem; }
 .paper-note { padding: 25px; }
 .proof-illustration { padding: 25px; }
 .proof-illustration dl > div { grid-template-columns: 105px minmax(0,1fr); gap: 14px; }
 .team-grid { gap: 28px 20px; }
 .team-grid h2 { font-size: 1.5rem; }
 .team-grid p:not(.eyebrow) { font-size: .875rem; }
 .team-grid .eyebrow { font-size: .75rem; }
 .brand-assets { grid-template-columns: 1fr; }
 .press-copy { padding: 24px; }
 .press-copy > p { font-size: 1rem; }
 .footer-columns { column-gap: 20px; }
 .footer-columns a { font-size: .8125rem; }
 .page-closing h2 { font-size: 2.7rem; }
 .related-links { gap: 13px 26px; }
 .guide-checklist > label { gap: 16px; }
}
@media print {
 :root { color-scheme: light; }
 .global-footer, .page-actions, .page-closing, .page-tabs, .directory-controls, .price-controls, .calculator-toolbar, .preset-buttons, .text-button, .booking-frame, .nav-popover, .button { display: none !important; }
 .section-width { width: 100%; }
 .page-hero, .content-section { padding-block: 22px; }
 .page-hero h1 { font-size: 2.5rem; }
 .content-section h2 { font-size: 1.8rem; }
 .calculator-layout { grid-template-columns: 1fr 1fr; gap: 25px; }
 .calculator-result { position: static; padding: 20px; border: 1px solid #b7adbF; }
 .hero-metric strong { font-size: 3.5rem; }
 .form-field { margin-bottom: 12px; }
 .form-field, .guide-checklist > label, .plan, .legal-document p, .team-grid article { break-inside: avoid; }
 .guide-checklist input { appearance: auto; }
 .photo-hero { grid-template-columns: 1fr 1fr; }
 .page-lead, .section-intro { font-size: .875rem; }
 .table-wrap { overflow: visible; }
 .legal-document { font-size: 10pt; }
}

.legal-document h1{font-family:var(--display);font-size:clamp(2.7rem,5vw,4rem);font-weight:400;line-height:1.12;margin:15px 0 26px}.legal-heading{padding-bottom:22px}.legal-document>.eyebrow{margin-bottom:0}
