@font-face{font-family:Switzer;src:url('assets/Switzer-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Baskerville;src:url('assets/LibreBaskerville-Italic.woff2') format('woff2');font-style:italic;font-display:swap}
:root{--ink:#24201f;--paper:#fffdfa;--blue:#c8dae8;--line:rgba(36,32,31,.18);--soft:#f0efed;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Switzer,Arial,sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.shell{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.topline{background:var(--blue);padding:9px 20px;text-align:center;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.nav{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.brand img{width:118px;display:block}.nav nav{display:flex;gap:38px}.nav nav a{font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:0;border-radius:12px;background:var(--ink);color:var(--paper);min-height:58px;padding:0 22px;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s}.button:hover{transform:translateY(-2px);opacity:.9}.button-small{justify-self:end;min-height:48px;padding:0 18px}.menu{display:none;background:none;border:0}.hero{min-height:720px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(350px,.72fr);gap:64px;align-items:center;padding-block:70px 82px}.hero-copy{padding-right:2vw}.eyebrow,.section-label,.card-number{font-size:12px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(200,218,232,.45)}h1{font-size:clamp(58px,7.1vw,112px);line-height:.91;letter-spacing:-.065em;font-weight:510;max-width:960px;margin:32px 0}em{font-family:Baskerville,Georgia,serif;font-weight:400}.lead{font-size:20px;max-width:700px;color:rgba(36,32,31,.75)}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:36px}.text-link{font-weight:600;border-bottom:1px solid}.proof-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:8px 12px;align-items:baseline;margin-top:64px;padding-top:20px;border-top:1px solid var(--line);font-size:14px}.proof-row b{font-size:18px}.proof-row span{color:rgba(36,32,31,.62)}.quick-card{background:var(--blue);border-radius:32px;padding:34px}.quick-card h2{font-size:42px;line-height:1;margin:54px 0 14px;letter-spacing:-.045em}.quick-card>p{color:rgba(36,32,31,.72)}.lead-form{display:grid;gap:15px;margin-top:30px}label{display:grid;gap:8px;font-size:13px;font-weight:600}.lead-form input,.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid rgba(36,32,31,.28);background:rgba(255,253,250,.7);border-radius:10px;padding:14px;outline:none}.lead-form input:focus,.booking-form :is(input,select,textarea):focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,253,250,.6)}.full{width:100%}.lead-form small{font-size:11px;color:rgba(36,32,31,.58)}.intro{display:grid;grid-template-columns:1fr 3fr;padding-block:140px}.intro>div{display:grid;grid-template-columns:1.5fr 1fr;gap:60px}.intro h2,.book h2,.contact-strip h2{font-size:clamp(48px,6vw,92px);line-height:.96;letter-spacing:-.055em;margin:0}.intro>div>p{font-size:20px;margin:10px 0}.image-band{height:600px;border-radius:36px;overflow:hidden;background:var(--soft)}.image-band img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s}.image-band:hover img{filter:grayscale(.1)}.standards{padding-block:140px}.standards-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line)}.standards article{padding:34px 44px 20px 0;border-right:1px solid var(--line)}.standards article+article{padding-left:44px}.standards article:last-child{border-right:0}.standards article span{font-size:13px}.standards h3{font-size:31px;letter-spacing:-.035em;margin:80px 0 16px}.standards p{color:rgba(36,32,31,.68);font-size:17px}.book{background:var(--soft);border-radius:36px;padding:70px;display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-bottom:120px}.book-copy>p:not(.section-label){font-size:19px;max-width:530px}.book h2{margin:55px 0 24px}.direct{margin-top:70px;display:grid;gap:4px}.direct span{font-size:13px}.direct a{font-size:25px;text-decoration:underline}.booking-form{display:grid;gap:18px;background:var(--paper);border-radius:22px;padding:32px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form textarea{resize:vertical}.check{grid-template-columns:auto 1fr;align-items:start;font-weight:400;font-size:12px}.check input{width:18px;height:18px}.contact-strip{background:var(--blue);padding:90px 0}.contact-strip .shell{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:90px}.contact-strip form{display:flex;border-bottom:2px solid var(--ink)}.contact-strip input{flex:1;background:none;border:0;padding:18px 0;font-size:20px;outline:none}.contact-strip button{background:none;border:0;font-weight:650;cursor:pointer}footer{background:var(--ink);color:var(--paper);padding:70px 0 34px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:50px;align-items:start}.footer-main>img{width:260px;filter:invert(1)}.footer-main div{display:grid;gap:8px}.footer-main b{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,253,250,.55)}.footer-main p{margin:0}.back{border-bottom:1px solid}.disclaimer{margin-top:80px;border-top:1px solid rgba(255,255,255,.2);padding-top:28px;display:flex;justify-content:space-between;gap:80px;color:rgba(255,253,250,.58);font-size:12px}.disclaimer p{max-width:980px;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-note{padding:14px;border-radius:10px;background:#e6f0e9;font-size:14px}
@media(max-width:900px){.shell{width:min(100% - 30px,var(--max))}.nav{height:76px;grid-template-columns:1fr auto}.nav nav,.button-small{display:none}.menu{display:block}.nav.open nav{position:absolute;top:112px;left:15px;right:15px;padding:26px;background:var(--paper);display:grid;z-index:5;border:1px solid var(--line);border-radius:16px}.hero{grid-template-columns:1fr;gap:36px;padding-block:55px}.hero-copy{padding:0}h1{font-size:clamp(54px,16vw,84px)}.proof-row{grid-template-columns:auto 1fr}.quick-card{border-radius:22px}.intro{grid-template-columns:1fr;padding-block:90px;gap:45px}.intro>div{grid-template-columns:1fr;gap:20px}.image-band{height:430px;border-radius:22px}.standards{padding-block:90px}.standards-grid{grid-template-columns:1fr}.standards article,.standards article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.standards h3{margin:40px 0 12px}.book{grid-template-columns:1fr;gap:45px;padding:28px;border-radius:22px;margin-bottom:70px}.book h2{margin-top:36px}.direct{margin-top:36px}.contact-strip .shell{grid-template-columns:1fr;gap:40px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>img{grid-column:1/-1}.disclaimer{display:grid;gap:24px}}
@media(max-width:560px){.hero-actions{align-items:flex-start;flex-direction:column}.quick-card{padding:25px}.field-row{grid-template-columns:1fr}.booking-form{padding:20px}.contact-strip form{display:grid;border:0;gap:12px}.contact-strip input{border-bottom:2px solid var(--ink)}.contact-strip button{text-align:left;padding:16px 0}.footer-main{grid-template-columns:1fr}.footer-main>img{width:190px}.proof-row{margin-top:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Custom U.S. time picker */
.strip-link{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--ink);padding:18px 0;font-size:20px;font-weight:650}.strip-link span{font-size:28px}.time-field{position:relative;display:grid;gap:8px}.field-label{font-size:13px;font-weight:600}.time-trigger{width:100%;min-height:50px;border:1px solid rgba(36,32,31,.28);background:rgba(255,253,250,.7);border-radius:10px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.time-trigger:hover,.time-trigger:focus{border-color:var(--ink)}.time-trigger.has-value{font-weight:650}.time-trigger.invalid{border-color:#a73a35;box-shadow:0 0 0 3px rgba(167,58,53,.12)}.time-popover{display:none;position:absolute;z-index:20;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 48px));padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px rgba(36,32,31,.2)}.time-field.open .time-popover{display:block}.time-popover-head{display:flex;align-items:center;justify-content:space-between}.time-popover-head b{font-size:18px}.time-popover p{margin:3px 0 15px;color:rgba(36,32,31,.6);font-size:12px}.time-close{width:34px;height:34px;border:0;border-radius:50%;background:var(--soft);font-size:24px;line-height:1;cursor:pointer}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:240px;overflow:auto;padding-right:3px}.time-slot{border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:10px 5px;font-size:13px;cursor:pointer}.time-slot:hover,.time-slot:focus,.time-slot.selected{background:var(--ink);color:var(--paper)}
@media(max-width:560px){.time-popover{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}.time-slots{grid-template-columns:repeat(3,1fr);max-height:42vh}}

/* Custom calendar and AJAX result modal */
.date-field{position:relative;display:grid;gap:8px}.date-trigger{width:100%;min-height:50px;border:1px solid rgba(36,32,31,.28);background:rgba(255,253,250,.7);border-radius:10px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.date-trigger:hover,.date-trigger:focus{border-color:var(--ink)}.date-trigger.has-value{font-weight:650}.date-trigger.invalid{border-color:#a73a35;box-shadow:0 0 0 3px rgba(167,58,53,.12)}.date-popover{display:none;position:absolute;z-index:21;top:calc(100% + 10px);left:0;width:min(340px,calc(100vw - 48px));padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px rgba(36,32,31,.2)}.date-field.open .date-popover{display:block}.calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;text-align:center;margin-bottom:15px}.calendar-head button{height:36px;border:0;border-radius:50%;background:var(--soft);cursor:pointer}.calendar-head button:disabled{opacity:.3;cursor:not-allowed}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-weekdays{margin-bottom:6px;color:rgba(36,32,31,.5);font-size:11px;font-weight:650}.calendar-day{aspect-ratio:1;border:0;border-radius:50%;background:transparent;font-size:13px;cursor:pointer}.calendar-day:hover,.calendar-day:focus,.calendar-day.selected{background:var(--ink);color:var(--paper)}.calendar-day:disabled{color:rgba(36,32,31,.24);cursor:not-allowed;background:transparent}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.result-modal[hidden]{display:none}.result-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px}.result-backdrop{position:absolute;inset:0;background:rgba(20,18,17,.45);backdrop-filter:blur(8px)}.result-card{position:relative;width:min(460px,100%);padding:42px;background:var(--paper);border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.25);text-align:center}.result-icon{width:64px;height:64px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;background:var(--blue);font-size:30px;font-weight:700}.result-modal.is-error .result-icon{background:#f1d1ce;color:#8e2f29}.result-card h2{margin:0;font-size:38px;line-height:1;letter-spacing:-.04em}.result-card p{margin:18px 0 28px;color:rgba(36,32,31,.68)}.result-close{margin:auto;min-width:150px}.modal-open{overflow:hidden}
@media(max-width:560px){.date-popover{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}.result-card{padding:30px 22px}.result-card h2{font-size:32px}}
.server-invalid{border-color:#a73a35!important;box-shadow:0 0 0 3px rgba(167,58,53,.12)!important}
.result-close{justify-content:center;text-align:center}

/* Brand pulse and anchor motion */
.eyebrow span{position:relative;animation:research-dot-pulse 1.8s ease-in-out infinite;will-change:transform}
.eyebrow span::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid var(--blue);animation:research-ring-pulse 1.8s ease-out infinite;pointer-events:none}
section[id],main[id]{scroll-margin-top:28px}
@keyframes research-dot-pulse{0%,100%{transform:scale(.9)}50%{transform:scale(1.3)}}
@keyframes research-ring-pulse{0%{transform:scale(1);opacity:.9}75%,100%{transform:scale(3.1);opacity:0}}
