@font-face{font-family:Source Sans;src:url('../assets/fonts/SourceSans3-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Source Sans;src:url('../assets/fonts/SourceSans3-Semibold.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:Source Serif;src:url('../assets/fonts/SourceSerif4-Semibold.ttf') format('truetype');font-weight:500 800;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('../assets/fonts/IBMPlexMono-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--navy:#1b1f3b;--navy-deep:#15192f;--gold:#9c7a22;--gold-light:#dbb754;--cream:#fbfaf7;--white:#fff;--ink:#272c40;--muted:#626573;--line:#deded6;--soft:#f0eee7;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:Source Sans,Arial,sans-serif;font-size:18px;line-height:1.55;color:var(--ink);background:var(--cream)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Source Serif,Georgia,serif;font-weight:600}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}button{cursor:pointer}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.narrow{max-width:820px}.section{padding-block:100px}.eyebrow,.small-index{font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.eyebrow{margin-bottom:22px}.section h2{font-size:clamp(34px,4.4vw,56px);line-height:1.14;letter-spacing:-.035em}.section-intro{max-width:690px;color:var(--muted);font-size:20px;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;padding:15px 24px;border:1px solid transparent;border-radius:4px;font-size:17px;line-height:1.3;font-weight:600;text-decoration:none;min-height:54px}.button-gold{background:var(--gold-light);color:var(--navy)}.button-gold:hover{background:#e7c771}.text-link{text-decoration:none;text-underline-offset:6px;border-bottom:1px solid currentColor;padding-block:4px;font-weight:600;font-size:16px;display:inline-flex;gap:16px}.text-link.light{color:var(--cream)}.skip-link{position:absolute;left:20px;top:-100px;background:white;padding:10px 20px;z-index:10}.skip-link:focus{top:10px}.site-header{background:var(--navy);color:var(--cream)}.header-inner{min-height:90px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #383c55;gap:20px}.wordmark{width:128px;height:40px}.header-cta{font-size:15px;text-decoration:none;color:var(--cream);display:flex;gap:25px}.hero{background:var(--navy);color:var(--cream);padding:62px 0 85px}.hero .eyebrow{color:var(--gold-light)}.hero-grid{display:grid;grid-template-columns:1fr;gap:50px;align-items:center}.hero h1{font-size:clamp(52px,6.2vw,83px);line-height:1.02;letter-spacing:-.048em}.hero h1 em{font-style:normal;color:var(--gold-light)}.hero-intro{font-size:24px;line-height:1.4;margin-top:30px;max-width:540px}.hero-detail{color:#c9cad4;font-size:18px;margin-top:14px;max-width:490px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-fine{color:#c9cad4;font-size:14px;margin-top:16px}.pain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:55px}.pain-grid article{border-top:1px solid var(--line);padding-top:22px}.pain-grid h3{font-size:26px;line-height:1.2;margin:18px 0 15px;letter-spacing:-.02em}.pain-grid p{font-size:18px;color:var(--muted)}.pain-line{font-family:Source Serif,Georgia,serif;font-size:clamp(25px,3.4vw,40px);line-height:1.3;text-align:center;max-width:850px;margin:70px auto 0;color:var(--muted)}.pain-line strong{color:var(--navy);font-weight:600}.booking{background:var(--navy);color:var(--cream)}.booking .section-intro{color:#c9cad4;margin-bottom:24px}.booking .eyebrow{color:var(--gold-light)}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-block:64px}.header-inner{min-height:77px}.header-cta{font-size:14px;gap:12px}.wordmark{width:110px}.hero{padding:43px 0 65px}.hero h1{font-size:clamp(49px,10vw,74px)}.hero-intro{font-size:22px}.hero-grid{gap:35px}.hero-actions{gap:21px}.pain-grid{grid-template-columns:1fr;gap:32px;margin-top:38px}.pain-line{margin-top:48px}.section-intro{font-size:19px}.pain-grid h3{font-size:25px}.eyebrow,.small-index{font-size:12px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
