:root { --paper:#fbfaf7; --ink:#101b25; --navy:#112535; --red:#f33a3d; --red-dark:#cc2f33; --line:#d8dfdf; --muted:#5d6d76; --page:min(100% - 64px,1240px); --display:Arial,Helvetica,sans-serif; --body:"Segoe UI",Aptos,Arial,sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; overflow-x:clip; } body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font:16px/1.5 var(--body); -webkit-font-smoothing:antialiased; } img { display:block; max-width:100%; } a { color:inherit; } button { font:inherit; } ::selection { background:var(--red); color:#fff; }
.shell { width:var(--page); margin-inline:auto; }.skip-link { position:fixed; z-index:100; top:12px; left:12px; padding:10px 14px; background:var(--ink); color:#fff; font-weight:800; text-decoration:none; transform:translateY(-150%); }.skip-link:focus { transform:translateY(0); }:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.site-header { position:sticky; z-index:30; top:0; display:flex; align-items:center; width:min(100%,1440px); min-height:100px; margin-inline:auto; padding:10px max(32px,calc((100vw - 1240px)/2)); border-bottom:1px solid transparent; background:color-mix(in srgb,var(--paper) 90%,transparent); backdrop-filter:blur(12px); transition:min-height .2s ease,border-color .2s ease; }.site-header.is-scrolled { min-height:76px; border-color:var(--line); }.brand { display:inline-flex; flex:0 0 auto; align-items:center; }.brand img { width:138px; height:78px; object-fit:contain; object-position:left center; }.site-nav { display:flex; align-items:center; gap:clamp(18px,2.3vw,36px); margin-left:auto; }.site-nav > a:not(.nav-cta),.back-link { color:#34434d; font-size:14px; font-weight:750; text-decoration:none; }.site-nav > a:not(.nav-cta):hover,.back-link:hover { color:var(--red-dark); }.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px 17px; border:1px solid transparent; font-size:13px; font-weight:800; line-height:1.1; text-decoration:none; transition:transform .18s ease,color .18s ease,background .18s ease,border-color .18s ease; }.nav-cta { background:var(--ink); border-color:var(--ink); color:#fff; }.nav-cta:hover,.button:hover { transform:translateY(-2px); }.nav-cta:hover { background:var(--red-dark); border-color:var(--red-dark); }.menu-toggle { display:none; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0; color:var(--red-dark); font-size:12px; font-weight:800; letter-spacing:.115em; line-height:1.2; text-transform:uppercase; }.eyebrow span { width:30px; height:3px; background:currentColor; }.eyebrow--light { color:#fff; }.section-index { margin:0 0 29px; color:var(--red-dark); font-size:12px; font-weight:800; letter-spacing:.11em; }h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:var(--display); font-weight:800; } h1,h2 { letter-spacing:-.065em; line-height:.91; } h1 em,h2 em { color:var(--red); font-style:normal; } h2 { margin-bottom:0; font-size:clamp(47px,6.2vw,90px); }.actions { display:flex; flex-wrap:wrap; align-items:center; gap:23px; }.button--red { border-color:var(--red-dark); background:var(--red-dark); color:#fff; }.button--red:hover { border-color:var(--ink); background:var(--ink); }.button--paper { border-color:var(--paper); background:var(--paper); color:var(--ink); }.button--paper:hover { border-color:var(--red); background:var(--red); color:#fff; }.text-link { display:inline-flex; align-items:center; gap:8px; border-bottom:1px solid currentColor; color:var(--ink); font-size:13px; font-weight:800; line-height:1.5; text-decoration:none; }.text-link:hover { color:var(--red-dark); }.text-link--light { color:#fff; }.text-link--light:hover { color:#ff7d80; }
.home-hero { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(300px,.62fr); gap:clamp(58px,10vw,165px); min-height:min(740px,calc(100svh - 76px)); padding-top:clamp(92px,11vw,150px); padding-bottom:clamp(90px,10vw,145px); align-items:center; }.home-hero__copy { max-width:765px; }.home-hero h1 { max-width:725px; margin:25px 0 29px; font-size:clamp(62px,8vw,118px); }.home-hero__lead { max-width:590px; margin-bottom:38px; color:#43535c; font-size:clamp(19px,1.7vw,24px); font-weight:560; letter-spacing:-.02em; line-height:1.4; }.field-note { position:relative; padding:25px 25px 28px; border:1px solid var(--ink); background:#f5f5f0; }.field-note::before { position:absolute; top:-7px; left:-7px; width:13px; height:13px; background:var(--red); content:""; }.field-note__head { display:flex; justify-content:space-between; padding-bottom:17px; border-bottom:1px solid var(--line); color:#4e6069; font-size:10px; font-weight:800; letter-spacing:.12em; }.field-note__head b { color:var(--red-dark); }.field-note > p { max-width:315px; margin:31px 0; font:800 clamp(28px,3vw,41px)/.98 var(--display); letter-spacing:-.055em; }.field-note ol { margin:0; padding:0; list-style:none; }.field-note li { display:grid; grid-template-columns:36px 1fr; gap:8px; padding:12px 0; border-top:1px solid var(--line); }.field-note li span { color:var(--red-dark); font-size:10px; font-weight:800; letter-spacing:.1em; }.field-note li strong { font-size:13px; }.field-note__baseline { display:flex; align-items:center; gap:9px; margin-top:29px; color:var(--muted); font-size:11px; font-weight:700; }.field-note__baseline span { width:24px; height:1px; background:var(--red); }
.routes { padding-top:125px; padding-bottom:130px; border-top:1px solid var(--line); }.section-intro { display:grid; grid-template-columns:minmax(130px,.62fr) minmax(0,2.38fr); gap:clamp(30px,7vw,116px); }.route-list { margin-top:76px; border-top:1px solid var(--line); }.route { display:grid; grid-template-columns:72px minmax(0,1fr) 35px; gap:24px; align-items:center; padding:30px 0 33px; border-bottom:1px solid var(--line); text-decoration:none; transition:padding .18s ease,color .18s ease; }.route:hover { padding-left:14px; color:var(--red-dark); }.route__number { align-self:start; padding-top:4px; color:var(--red-dark); font-size:12px; font-weight:800; letter-spacing:.11em; }.route__copy { display:grid; grid-template-columns:minmax(230px,.96fr) minmax(280px,1.2fr); gap:18px 35px; }.route__copy small { grid-column:1/-1; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; }.route__copy strong { max-width:390px; font:800 clamp(27px,3.05vw,42px)/.98 var(--display); letter-spacing:-.055em; }.route__copy span { max-width:410px; align-self:end; color:#55656e; font-size:15px; }.route__arrow { justify-self:end; font-size:26px; }
.principle-band { background:var(--navy); color:#fff; }.principle-band__inner { max-width:1240px; padding-top:clamp(90px,11vw,148px); padding-bottom:clamp(90px,11vw,148px); }.principle-band h2 { max-width:1000px; margin:26px 0 38px; color:#fff; }.principle-band__inner > p:not(.eyebrow) { max-width:590px; margin-bottom:33px; color:#d3dde0; font-size:17px; line-height:1.58; }.method { padding-top:137px; padding-bottom:140px; }.method-list { margin:76px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }.method-list li { display:grid; grid-template-columns:76px minmax(0,1fr); gap:28px; padding:28px 0 30px; border-bottom:1px solid var(--line); }.method-list li > span { padding-top:6px; color:var(--red-dark); font-size:12px; font-weight:800; letter-spacing:.1em; }.method-list div { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(270px,1.1fr); gap:30px; align-items:baseline; }.method-list h3 { margin:0; font-size:clamp(28px,3.2vw,43px); letter-spacing:-.055em; line-height:1; }.method-list p { max-width:530px; margin:0; color:#52626b; font-size:15px; line-height:1.54; }
.detail-strip { display:grid; grid-template-columns:1fr minmax(300px,1.2fr) 1fr; gap:40px; align-items:center; padding-top:41px; padding-bottom:41px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }.detail-strip__label { display:flex; align-items:center; gap:12px; }.detail-strip__label > span { width:26px; height:3px; background:var(--red); }.detail-strip__label p { margin:0; font-size:10px; font-weight:800; letter-spacing:.12em; }.detail-strip__statement { max-width:420px; margin:0; font:800 clamp(23px,2.2vw,32px)/1.03 var(--display); letter-spacing:-.045em; }.detail-strip__marks { display:flex; justify-content:flex-end; gap:7px; }.detail-strip__marks i { display:block; width:7px; height:7px; background:var(--ink); transform:rotate(45deg); }.detail-strip__marks i:nth-child(3) { background:var(--red); }
.about-teaser { display:grid; grid-template-columns:minmax(200px,.72fr) minmax(0,1.28fr); gap:clamp(60px,12vw,190px); padding-top:137px; padding-bottom:140px; align-items:center; }.about-teaser__mark { position:relative; display:grid; width:min(100%,295px); aspect-ratio:1; place-items:center; border:1px solid var(--line); color:var(--navy); }.about-teaser__mark span { font:800 clamp(130px,16vw,218px)/1 var(--display); letter-spacing:-.13em; }.about-teaser__mark i { position:absolute; right:-12px; bottom:20%; width:60%; height:4px; background:var(--red); }.about-teaser h2 { margin:24px 0 28px; }.about-teaser__copy > p:not(.eyebrow) { max-width:570px; margin-bottom:30px; color:#4d5d66; font-size:17px; line-height:1.58; }.closing { background:var(--navy); color:#fff; }.closing__inner { padding-top:clamp(90px,10vw,133px); padding-bottom:clamp(90px,10vw,133px); }.closing h2 { max-width:920px; margin:25px 0 28px; color:#fff; }.closing__inner > p:not(.eyebrow) { max-width:570px; margin-bottom:37px; color:#d5dfe2; font-size:17px; }
.site-footer { display:grid; grid-template-columns:1fr 1.25fr 1.6fr; gap:28px 45px; padding-top:49px; padding-bottom:44px; }.brand--footer img { width:120px; height:70px; }.site-footer > p { margin:13px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }.site-footer__links,.site-footer__meta { display:flex; flex-wrap:wrap; gap:11px 17px; align-content:start; }.site-footer a { color:#465761; font-size:12px; font-weight:750; text-decoration:none; }.site-footer a:hover { color:var(--red-dark); }.site-footer__meta { grid-column:2/-1; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.page-hero { padding-top:clamp(95px,12vw,164px); padding-bottom:clamp(80px,9vw,120px); border-bottom:1px solid var(--line); }.page-hero__layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(230px,.55fr); gap:clamp(48px,10vw,165px); align-items:end; }.page-hero h1 { max-width:850px; margin:25px 0 0; font-size:clamp(57px,7.4vw,110px); }.page-hero__summary { max-width:380px; margin:0; padding-bottom:4px; color:#4b5b64; font-size:18px; line-height:1.52; }.editorial-section { padding-top:120px; padding-bottom:120px; }.editorial-section--soft { background:#f0f1ed; }.editorial-section--ink { background:var(--navy); color:#fff; }.copy-grid { display:grid; grid-template-columns:minmax(160px,.62fr) minmax(0,1.38fr); gap:clamp(42px,10vw,165px); }.copy-grid__body { max-width:700px; }.copy-grid__body > p { color:#4b5b64; font-size:18px; line-height:1.62; }.editorial-section--ink .copy-grid__body > p { color:#d4dfe2; }.copy-grid h2 { margin:-8px 0 31px; }.editorial-section--ink h2 { color:#fff; }.situation-list { margin:56px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }.situation-list li { display:grid; grid-template-columns:50px minmax(0,1fr); gap:17px; padding:24px 0; border-bottom:1px solid var(--line); }.situation-list span { padding-top:3px; color:var(--red-dark); font-size:11px; font-weight:800; letter-spacing:.1em; }.situation-list strong { display:block; margin-bottom:5px; font:800 clamp(23px,2.4vw,31px)/1 var(--display); letter-spacing:-.045em; }.situation-list p { margin:0; color:#53636c; font-size:15px; line-height:1.52; }.editorial-section--ink .situation-list { border-color:#5d7380; }.editorial-section--ink .situation-list li { border-color:#5d7380; }.editorial-section--ink .situation-list p { color:#d1dce0; }.split-note { margin-top:66px; padding:31px 0 0; border-top:4px solid var(--red); }.split-note p { max-width:620px; margin:0; color:var(--muted); font-size:14px; line-height:1.58; }.editorial-section--ink .split-note p { color:#c7d4d8; }.action-panel { display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:end; padding:43px 0 0; border-top:1px solid var(--line); }.action-panel h2 { max-width:640px; }.action-panel p { max-width:420px; margin:0 0 25px; color:#4b5b64; font-size:16px; }.action-panel .actions { align-items:flex-start; flex-direction:column; gap:17px; }
.appointment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:67px; border-top:1px solid var(--line); border-left:1px solid var(--line); }.appointment-grid a { min-height:225px; padding:26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper); text-decoration:none; transition:background .18s ease,color .18s ease; }.appointment-grid a:hover { background:var(--ink); color:#fff; }.appointment-grid small { display:block; margin-bottom:50px; color:var(--red-dark); font-size:10px; font-weight:800; letter-spacing:.12em; }.appointment-grid strong { display:block; max-width:210px; font:800 clamp(26px,2.8vw,38px)/.98 var(--display); letter-spacing:-.055em; }.appointment-grid span { display:block; margin-top:20px; font-size:12px; font-weight:800; }.appointment-note { margin:36px 0 0; color:var(--muted); font-size:13px; }
.site-header--legal { position:relative; min-height:91px; border-bottom:1px solid var(--line); background:var(--paper); backdrop-filter:none; }.back-link { margin-left:auto; }.legal-page { min-height:100vh; display:flex; flex-direction:column; }.legal { flex:1; max-width:980px; padding-top:100px; padding-bottom:130px; }.legal h1 { margin:18px 0 10px; font-size:clamp(50px,6vw,80px); }.legal__updated { color:var(--muted); font-size:13px; }.legal__content { margin-top:68px; }.legal__content section { max-width:730px; padding:30px 0; border-top:1px solid var(--line); }.legal__content section:last-child { border-bottom:1px solid var(--line); }.legal__content h2 { margin:0 0 12px; font-size:25px; letter-spacing:-.045em; }.legal__content p { margin:0; color:#44545d; font-size:16px; line-height:1.62; }.legal__content p + p { margin-top:14px; }.legal__content a { color:var(--ink); font-weight:800; text-decoration-color:var(--red); text-underline-offset:3px; }.site-footer--legal { grid-template-columns:1fr auto; margin-top:auto; border-top:1px solid var(--line); }.site-footer--legal .site-footer__meta { grid-column:auto; padding-top:0; border:0; }.not-found { min-height:100vh; }.not-found__inner { width:min(100% - 64px,940px); margin-inline:auto; padding:45px 0 100px; }.not-found__inner .brand { margin-bottom:clamp(100px,17vh,180px); }.not-found__inner h1 { margin:20px 0 27px; font-size:clamp(54px,8vw,116px); }.not-found__inner > p:not(.eyebrow) { margin-bottom:29px; color:var(--muted); font-size:19px; }
@media (max-width:820px) { :root { --page:min(100% - 40px,700px); }.site-header { min-height:84px; padding-inline:20px; }.site-header.is-scrolled { min-height:68px; }.brand img { width:118px; height:67px; }.menu-toggle { display:inline-flex; align-items:center; gap:9px; margin-left:auto; padding:10px 0 10px 12px; border:0; background:transparent; color:var(--ink); font-size:12px; font-weight:800; cursor:pointer; }.menu-toggle i,.menu-toggle i::before { display:block; width:19px; height:2px; background:currentColor; content:""; transition:transform .2s ease; }.menu-toggle i::before { transform:translateY(6px); }.menu-toggle[aria-expanded="true"] i { transform:translateY(3px) rotate(45deg); }.menu-toggle[aria-expanded="true"] i::before { transform:rotate(-90deg); }.site-nav { position:absolute; top:100%; right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:8px 20px 21px; border-bottom:1px solid var(--line); background:var(--paper); }.site-nav.is-open { display:flex; }.site-nav > a:not(.nav-cta) { padding:15px 0; border-bottom:1px solid var(--line); }.site-nav .nav-cta { margin-top:16px; }.home-hero { grid-template-columns:minmax(0,1fr) minmax(255px,.68fr); gap:45px; }.home-hero h1 { font-size:clamp(55px,8.7vw,76px); }.field-note { padding:21px; }.field-note > p { font-size:31px; }.route__copy { grid-template-columns:1fr; gap:11px; }.route__copy strong { max-width:530px; }.route__copy span { max-width:520px; }.section-intro { grid-template-columns:1fr 2.3fr; gap:38px; }.method-list div { grid-template-columns:1fr 1.15fr; gap:26px; }.about-teaser { gap:70px; }.site-footer { grid-template-columns:1fr 1.3fr; }.site-footer__meta { grid-column:1/-1; }.page-hero__layout { grid-template-columns:1fr .62fr; gap:42px; }.copy-grid { gap:48px; }.appointment-grid a { padding:20px; } }
@media (max-width:620px) { :root { --page:min(100% - 32px,540px); }.site-header { min-height:78px; padding-inline:16px; }.brand img { width:110px; height:61px; }h2 { font-size:clamp(44px,12vw,62px); }.home-hero { display:block; min-height:0; padding-top:76px; padding-bottom:82px; }.home-hero h1 { max-width:480px; margin-top:21px; font-size:clamp(53px,15.5vw,75px); }.home-hero__lead { margin-bottom:29px; font-size:18px; }.actions { align-items:flex-start; flex-direction:column; gap:19px; }.field-note { max-width:355px; margin:65px auto 0; }.routes { padding-top:82px; padding-bottom:83px; }.section-intro { display:block; }.section-intro h2 { margin-top:27px; }.route-list { margin-top:46px; }.route { grid-template-columns:37px minmax(0,1fr) 19px; gap:11px; padding:23px 0 25px; }.route:hover { padding-left:0; }.route__copy strong { font-size:30px; }.route__copy span { font-size:14px; }.route__arrow { font-size:20px; }.principle-band__inner { padding-top:81px; padding-bottom:83px; }.principle-band h2 { margin-top:22px; }.principle-band__inner > p:not(.eyebrow) { font-size:16px; }.method { padding-top:82px; padding-bottom:83px; }.method-list { margin-top:45px; }.method-list li { grid-template-columns:37px minmax(0,1fr); gap:12px; padding:23px 0; }.method-list div { display:block; }.method-list h3 { font-size:29px; }.method-list p { margin-top:8px; font-size:14px; }.detail-strip { display:block; padding:30px 0; }.detail-strip__statement { margin:22px 0; }.detail-strip__marks { justify-content:flex-start; }.about-teaser { display:block; padding-top:83px; padding-bottom:85px; }.about-teaser__mark { width:min(100%,214px); margin-bottom:62px; }.about-teaser__copy > p:not(.eyebrow) { font-size:16px; }.closing__inner { padding-top:82px; padding-bottom:82px; }.closing__inner > p:not(.eyebrow) { font-size:16px; }.site-footer { display:block; padding-top:37px; padding-bottom:35px; }.site-footer > p { margin-top:21px; }.site-footer__links,.site-footer__meta { margin-top:24px; }.site-footer__meta { padding-top:19px; }.page-hero { padding-top:79px; padding-bottom:76px; }.page-hero__layout { display:block; }.page-hero h1 { margin-top:22px; font-size:clamp(53px,15vw,74px); }.page-hero__summary { margin-top:34px; font-size:17px; }.editorial-section { padding-top:82px; padding-bottom:83px; }.copy-grid { display:block; }.copy-grid__body { margin-top:28px; }.copy-grid__body > p { font-size:16px; }.copy-grid h2 { margin-top:0; }.situation-list { margin-top:43px; }.situation-list strong { font-size:27px; }.situation-list p { font-size:14px; }.action-panel { display:block; padding-top:31px; }.action-panel p { margin-top:26px; }.appointment-grid { display:block; margin-top:46px; border-right:1px solid var(--line); }.appointment-grid a { display:block; min-height:0; padding:24px; }.appointment-grid small { margin-bottom:26px; }.appointment-grid strong { max-width:300px; font-size:31px; }.legal { padding-top:70px; padding-bottom:80px; }.legal__content { margin-top:48px; }.site-header--legal { min-height:78px; }.not-found__inner { width:min(100% - 32px,540px); } }
@media (prefers-reduced-motion:no-preference) { html.has-motion .reveal { opacity:0; transform:translateY(14px); transition:opacity .55s ease,transform .55s cubic-bezier(.2,.65,.2,1); } html.has-motion .reveal.is-visible { opacity:1; transform:translateY(0); } } @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
