:root{--navy:#093665;--blue:#1365b8;--ink:#122d49;--muted:#546778;--light:#f1f6fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.6rem,5.3vw,4.8rem);line-height:1.08;letter-spacing:-.035em;font-weight:700;margin-bottom:26px}h2{font-size:clamp(2rem,3.1vw,3rem);line-height:1.15;letter-spacing:-.025em;margin-bottom:24px}h3{font-size:1.4rem;line-height:1.3}p{color:var(--muted)}header{min-height:112px;max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:1px;font-size:17px;line-height:1.25}.brand small{display:block;font-size:12px;letter-spacing:2px;margin-top:5px}.mark{display:grid;place-items:center;background:var(--navy);color:white;border-radius:8px;width:46px;height:46px;flex-shrink:0;font-size:17px}nav{display:flex;gap:20px;margin-left:auto}nav a{font-size:14px;white-space:nowrap}nav a:hover,.textlink:hover{color:var(--blue)}.button{display:inline-block;background:var(--blue);color:white;padding:15px 26px;border-radius:5px;font-weight:700;text-align:center}.button:hover{background:#084a91}.small{padding:11px 20px;white-space:nowrap}.hero{background:var(--navy);color:white;display:grid;grid-template-columns:1.05fr 1fr;min-height:610px}.hero-copy{padding:84px 8% 74px 11%;align-self:center}.eyebrow{font-size:13px;font-weight:700;letter-spacing:2px;margin-bottom:25px;color:var(--blue)}.hero .eyebrow{color:#afcdec}.lead{font-size:21px;line-height:1.6}.hero p{color:#d6e4f1}.hero .button{background:white;color:var(--navy);margin-top:15px}.hero-note{font-size:14px;margin:20px 0 0}.hero-image{position:relative;min-height:100%}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:35% center;position:absolute}.image-caption{position:absolute;bottom:24px;left:24px;right:24px;background:#093665d9;padding:18px 22px;font-size:15px}.intro-strip{padding:24px 6%;display:flex;justify-content:space-between;gap:20px;background:var(--light);font-size:14px}.intro-strip span:first-child{font-weight:700}.section{padding:88px 7%;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.section-heading p:last-child{max-width:380px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards article{background:var(--light);padding:30px;display:flex;flex-direction:column;align-items:start;border-top:3px solid #bdd3e8}.cards article p{flex:1}.number{color:var(--blue);font-size:14px;font-weight:700;margin-bottom:25px}.textlink{font-weight:700;font-size:15px;border-bottom:1px solid;padding-bottom:3px}.process{background:var(--navy);color:white;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-left:9%;padding-right:9%}.process p{color:#d4e3f1}.process .eyebrow{color:#afd0ed}.process ol{margin:0;padding-left:30px}.process li{padding:0 0 20px 15px}.process b{font-size:21px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}details{border-bottom:1px solid #d5e0e9;padding:20px 0}summary{cursor:pointer;font-size:18px;font-weight:700}details p{margin:14px 0 0}.consult{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--light);max-width:none;padding-left:9%;padding-right:9%}.booking{background:white;padding:34px;border:1px solid #d6e1ec;border-radius:6px}.booking-note{font-size:14px;color:var(--muted);border-top:1px solid #e0e7ed;display:block;padding-top:18px}footer{background:#072847;color:white;padding:55px 7% 25px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}footer p{color:#b8cede}footer b{display:block;margin-bottom:15px}footer a:not(.brand){display:block;margin-bottom:7px;color:#d1e1ee;font-size:14px}.fine{grid-column:1/-1;border-top:1px solid #35516d;padding-top:25px;font-size:12px;margin:8px 0 0}.product-hero{background:var(--navy);color:white;max-width:none;padding-left:10%;padding-right:10%}.product-hero .eyebrow{color:#b7d5ef}.product-hero .lead{color:#d4e5f3;max-width:820px}.back{display:block;font-size:14px;margin-bottom:40px;color:#d4e5f3}.product-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:70px}.product-grid h2{font-size:2rem}.product-grid aside{background:var(--light);padding:35px;align-self:start}.legal{max-width:950px}.menu{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:4px;left:4px;background:white;padding:10px;z-index:10}:focus-visible{outline:3px solid #e29927;outline-offset:5px}@media(max-width:1150px){header{flex-wrap:wrap;gap:18px}nav{order:3;width:100%;justify-content:center}.small{margin-left:auto}.hero-copy{padding:55px 8%}.intro-strip{flex-wrap:wrap}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){header{padding:20px;min-height:90px}.brand{font-size:14px}.mark{width:38px;height:38px}.brand small{font-size:11px}.small{display:none}.menu{display:block;margin-left:auto;background:white;border:1px solid #b8cad8;border-radius:4px;padding:7px 12px}nav{display:none;flex-direction:column;gap:14px;align-items:start}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 25px}.hero-image{height:340px;min-height:340px}.hero h1{font-size:3.2rem}.lead{font-size:19px}.intro-strip{padding:22px 25px;gap:12px 25px}.intro-strip span:first-child{width:100%}.section{padding:58px 25px}.section-heading{display:block}.section-heading p:last-child{max-width:none}.cards,.process,.faq,.consult,.product-grid{grid-template-columns:1fr;gap:25px}.cards article{padding:26px}.process ol{padding-left:25px}footer{grid-template-columns:1fr 1fr;padding:40px 25px;gap:25px}footer>div:first-child{grid-column:1/-1}.booking{padding:25px}.product-hero h1{font-size:3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-image img{object-position:center 25%}.about-hero{display:grid;grid-template-columns:320px 1fr;gap:65px;align-items:center}.portrait{width:100%;border-radius:6px}.about-hero h1{font-size:3.7rem}@media(max-width:700px){.about-hero{grid-template-columns:1fr;gap:30px}.portrait{max-width:280px}.about-hero h1{font-size:3rem}}

.consult{grid-template-columns:1fr;gap:30px}.consult>div:first-child{max-width:700px}.booking-calendar{width:100%;height:850px;border:0;display:block;background:white}.calendar-fallback{margin:20px 0}.booking{min-width:0}@media(max-width:700px){.booking{padding:18px 8px}.booking-calendar{height:950px}.booking h3,.booking>p{margin-left:12px;margin-right:12px}}
