:root{--ink:#142c40;--text:#3b4a58;--muted:#627282;--bg:#f6fafc;--surface:#fff;--tint:#e8f3f8;--line:#d8e6ee;--navy:#173a52;--teal:#1580a0;--teal-ink:#0f6d8c;--teal-soft:#e2f1f8;--accent:#1995ad;--accent-light:#a1d6e2;--navy-gradient:linear-gradient(160deg, #245a7d, var(--navy) 55%, #0e2638);--sky:#a1d6e2;--sky-pale:#d6edf4;--sky-gradient:linear-gradient(160deg, #e2f2f8, #c3e4ee 55%, var(--sky));--radius:18px;--radius-lg:28px;--shadow:0 2px 4px #1026380a, 0 16px 40px -12px #1026382e;--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--header-h:76px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:var(--teal-ink)}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:500;line-height:1.15}h1{font-size:clamp(1.9rem,1.4rem + 2vw,2.8rem)}h2{font-size:clamp(1.5rem,1.25rem + 1vw,2rem)}h3{font-size:1.15rem}p{margin:0}address{font-style:normal}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}[id]{scroll-margin-top:calc(var(--header-h) + 24px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.protected body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.protected .allow-copy,.protected input,.protected textarea{-webkit-user-select:text;user-select:text}.protected img{-webkit-user-drag:none}@media print{.protected body{display:none}}.container{width:min(1160px,100% - 40px);margin-inline:auto}.section{padding-block:clamp(64px,8vw,112px)}.section-tight{padding-block:clamp(24px,4vw,48px)}.section-flush{padding-top:0}.section-alt{background:var(--tint)}.section-head{max-width:660px;margin-bottom:clamp(36px,5vw,56px)}.section-head.center{text-align:center;margin-inline:auto}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink);align-items:center;gap:10px;margin-bottom:18px;font-size:.76rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:24px;height:1px}.aka{color:var(--teal-ink);margin-top:4px;font-size:.95rem;font-weight:600}.lead{color:var(--muted);margin-top:16px;font-size:1.05rem}.prose>p+p{margin-top:16px}.skip-link{z-index:100;background:var(--navy);color:#fff;border-radius:999px;padding:10px 18px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.btn{min-height:48px;font:600 .94rem/1 var(--sans);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--navy)}.btn-outline{border-color:var(--line);background:var(--surface);color:var(--ink)}.btn-outline:hover{border-color:var(--teal)}.btn-row{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.text-link{color:var(--teal-ink);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.text-link svg{transition:transform .2s}.text-link:hover svg,.service-card:hover .text-link svg{transform:translate(3px)}.text-link.spaced{margin-top:28px}.text-link.spaced-sm{margin-top:12px}.center-link{text-align:center;margin-top:40px}.icon-tile{background:var(--teal-soft);width:52px;height:52px;color:var(--teal-ink);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.icon-tile-sm{border-radius:12px;width:42px;height:42px}.icon-tile-lg{border-radius:18px;width:64px;height:64px}.site-header{z-index:50;-webkit-backdrop-filter:saturate(1.4)blur(12px);background:#f6fafce6;border-bottom:1px solid #0000;transition:border-color .2s,box-shadow .2s;position:sticky;top:0}.site-header.is-scrolled{border-color:var(--line);box-shadow:0 6px 24px -16px #10263859}.header-inner{height:var(--header-h);justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{background:var(--teal);color:#fff;width:44px;height:44px;font:500 1.45rem/1 var(--serif);border-radius:12px;place-items:center;display:grid}.brand-mark-light{color:var(--teal);background:#fff}.brand-text{flex-direction:column;line-height:1.25;display:flex}.brand-name{font:500 1.22rem var(--serif);color:var(--ink)}.brand-sub{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.site-nav{align-items:center;gap:24px;display:flex}.site-nav ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.site-nav ul a{color:var(--text);border-radius:999px;padding:8px 14px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:block}.site-nav ul a:hover{color:var(--ink);background:#173a520f}.site-nav ul a.active{background:var(--teal-soft);color:var(--teal-ink)}.nav-call{min-height:44px;padding:0 20px;font-size:.92rem}.menu-toggle{display:none}.hero{padding-block:clamp(20px,2vw,32px) clamp(64px,8vw,112px);position:relative;overflow:hidden}.hero:before{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#1995ad1f,#0000 65%);border-radius:50%;width:60%;position:absolute;top:-20%;right:-10%}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(40px,6vw,96px);display:grid;position:relative}.hero .lead{max-width:560px}.hero-copy>*{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.hero-copy>:nth-child(2){animation-delay:60ms}.hero-copy>:nth-child(3){animation-delay:.12s}.hero-copy>:nth-child(4){animation-delay:.18s}.hero-copy>:nth-child(5){animation-delay:.24s}.hero-copy>:nth-child(6){animation-delay:.3s}.hero-services{margin-top:22px}.hero-services-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.72rem;font-weight:700}.hero-services ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hero-services a{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s;display:block}.hero-services a:hover{border-color:var(--teal-ink);color:var(--teal-ink)}.hero-services+.btn-row{margin-top:24px}.btn-or{color:var(--muted);align-self:center;font-size:.9rem}.hero-visual{animation:.9s cubic-bezier(.2,.7,.2,1) .1s both rise;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.hero-meta{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:10px 28px;margin-top:28px;padding-top:20px;font-size:.93rem;display:flex}.hero-meta span{align-items:center;gap:8px;display:inline-flex}.hero-meta svg{color:var(--accent)}.hero-badge{background:var(--surface);box-shadow:var(--shadow);border-radius:18px;align-items:center;gap:14px;padding:14px 20px 14px 14px;display:flex;position:absolute;top:36px;left:-36px}.hero-badge small{color:var(--muted);font-size:.74rem;font-weight:600;display:block}.hero-badge strong{color:var(--ink);font-size:1rem}.portrait{aspect-ratio:4/5;border-radius:var(--radius-lg);background:var(--navy-gradient);box-shadow:var(--shadow);margin:0;position:relative;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.practice-gallery{margin-top:clamp(56px,7vw,88px)}.gallery-grid{grid-template-rows:clamp(280px,32vw,400px);grid-template-columns:1.3fr .8fr 1.3fr;gap:16px;display:grid}.gallery-item{border-radius:var(--radius);background:var(--tint);margin:0;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.gallery-item:hover img{transform:scale(1.03)}.gallery-item figcaption{color:var(--ink);background:#ffffffeb;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:700;position:absolute;bottom:14px;left:14px}.service-photo{aspect-ratio:4/3;border-radius:var(--radius);background:var(--tint);max-width:460px;margin:28px 0 0;overflow:hidden}.service-photo img{object-fit:cover;width:100%;height:100%}.contact-photo{aspect-ratio:16/9;flex-shrink:0}@media (width>=961px){.hero-visual{container-type:inline-size}.hero-visual .portrait{aspect-ratio:auto;height:min(125cqw, max(420px, calc(100vh - var(--header-h) - 72px)));height:min(125cqw, max(420px, calc(100svh - var(--header-h) - 72px)))}}.portrait-rings{background:repeating-radial-gradient(circle at 50% 40%,#ffffff12 0 1px,#0000 1px 36px);position:absolute;inset:0}.portrait-initial{font:400 clamp(7rem, 13vw, 10rem) / 1 var(--serif);color:#ffffffeb;place-items:center;padding-bottom:20%;display:grid;position:absolute;inset:0}.portrait-caption{background:#fffffff2;border-radius:16px;flex-direction:column;gap:2px;padding:16px 20px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.portrait-caption strong{font:500 1.2rem var(--serif);color:var(--ink)}.portrait-caption span{color:var(--muted);font-size:.86rem}.trust{background:var(--accent-light)}.trust-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding-block:28px;display:grid}.trust-item{color:var(--navy);justify-content:center;align-items:center;gap:12px;font-size:.95rem;font-weight:600;display:flex}.trust-item svg{color:var(--teal-ink);flex-shrink:0}.card-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.service-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;flex-direction:column;gap:14px;padding:30px;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex}.service-card:hover{box-shadow:var(--shadow);border-color:#0000;transform:translateY(-4px)}.service-card h3{margin-top:8px}.service-card p{color:var(--muted);flex:1;font-size:.97rem}.split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,96px);display:grid}.split-about{grid-template-columns:.8fr 1.2fr;align-items:start}.portrait-about{top:calc(var(--header-h) + 32px);position:sticky}.motto{border-radius:var(--radius-lg);background:var(--sky-gradient);box-shadow:var(--shadow);margin:0;padding:clamp(32px,4vw,48px);position:relative;overflow:hidden}.motto:after{content:"";aspect-ratio:1;pointer-events:none;background:repeating-radial-gradient(circle,#173a5212 0 1px,#0000 1px 32px);border-radius:50%;width:420px;position:absolute;bottom:-200px;right:-140px}.motto>svg{color:var(--teal-ink)}.motto blockquote{z-index:1;margin:18px 0 0;position:relative}.motto blockquote p{font:italic 400 clamp(1.1rem, 1rem + .5vw, 1.35rem) / 1.55 var(--serif);color:var(--ink)}.motto figcaption{z-index:1;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-top:22px;font-size:.72rem;font-weight:700;position:relative}.motto-inline{box-shadow:none;margin-block:28px}.philosophy{max-width:780px}.philosophy .section-head{margin-bottom:24px}.philosophy-closing{font:italic 500 1.2rem/1.5 var(--serif);color:var(--ink)}.credentials{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:0;margin:36px 0 0;display:grid}.credentials div{border-bottom:1px solid var(--line);padding:18px 0}.credentials div:nth-child(odd){padding-right:20px}.credentials dt{letter-spacing:.12em;text-transform:uppercase;color:var(--teal-ink);margin-bottom:4px;font-size:.74rem;font-weight:700}.credentials dd{color:var(--ink);margin:0;font-weight:600}.list-heading{align-items:center;gap:10px;margin-bottom:16px;font-size:1.15rem;display:flex}.list-heading svg{color:var(--accent)}.list-heading-spaced{margin-top:clamp(40px,5vw,56px)}.after-list{max-width:760px;color:var(--muted);margin-top:28px}.member-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.member{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);align-items:center;gap:14px;padding:20px 22px;font-weight:600;display:flex}.member svg{color:var(--accent);flex-shrink:0}.steps{grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none;display:grid}.step{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:32px}.step-top{justify-content:space-between;align-items:center;display:flex}.step-num{font:italic 500 1.6rem/1 var(--serif);color:var(--accent-light)}.step h3{margin:22px 0 10px}.step p{color:var(--muted);font-size:.97rem}.aid-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:1fr 1.1fr;align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(32px,5vw,60px);display:grid}.aid-panel+.aid-panel{margin-top:20px}.note{color:var(--muted);margin-top:16px;font-size:.88rem}.cta{border-radius:var(--radius-lg);background:var(--sky-gradient);color:var(--text);grid-template-columns:1.35fr 1fr;align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(36px,6vw,72px);display:grid;position:relative;overflow:hidden}.cta:after{content:"";aspect-ratio:1;pointer-events:none;background:repeating-radial-gradient(circle,#173a5212 0 1px,#0000 1px 34px);border-radius:50%;width:520px;position:absolute;bottom:-220px;right:-160px}.cta>*{z-index:1;position:relative}.cta h2{color:var(--ink)}.cta .eyebrow{color:var(--navy)}.cta-text{max-width:520px;margin-top:16px;font-size:1.06rem}.cta-details{gap:16px;margin:0;padding:0;list-style:none;display:grid}.cta-details li{border-radius:var(--radius);color:var(--ink);background:#fff9;border:1px solid #fffc;align-items:flex-start;gap:16px;padding:22px;display:flex}.cta-details svg{color:var(--teal-ink);flex-shrink:0;margin-top:2px}.cta-details small{letter-spacing:.12em;text-transform:uppercase;color:var(--teal-ink);margin-bottom:4px;font-size:.72rem;font-weight:700;display:block}.cta-details a{color:var(--ink);text-decoration:none}.cta-details a:hover{text-underline-offset:3px;text-decoration:underline}.page-hero{background:var(--sky-gradient);padding-block:clamp(40px,5vw,64px) clamp(32px,4vw,48px);position:relative;overflow:hidden}.page-hero:after{content:"";aspect-ratio:1;pointer-events:none;background:repeating-radial-gradient(circle,#173a5212 0 1px,#0000 1px 32px);border-radius:50%;width:480px;position:absolute;top:-180px;right:-140px}.page-hero .container{position:relative}.page-hero .eyebrow{color:var(--navy)}.page-hero .lead{max-width:640px;color:var(--text)}.page-hero-note{color:var(--navy);margin-top:10px;font-size:.95rem;font-weight:600}.jump-nav{top:var(--header-h);z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);background:#f6fafcf2;position:sticky}.jump-nav ul{scrollbar-width:none;gap:6px;margin:0;padding:12px 0;list-style:none;display:flex;overflow-x:auto}.jump-nav ul::-webkit-scrollbar{display:none}.jump-nav a{border:1px solid var(--line);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s;display:block}.jump-nav a:hover{border-color:var(--teal-ink);color:var(--teal-ink)}.service-block{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 72px);grid-template-columns:1fr 1.3fr;gap:clamp(28px,5vw,72px);padding-block:clamp(40px,5vw,64px);display:grid}.service-block:first-of-type{padding-top:0}.service-block:last-child{border-bottom:0}.service-block h2,.service-block h3{margin:22px 0 12px;font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem)}.service-block-solo{border-bottom:0;padding-block:0}.list-intro{color:var(--ink);margin-bottom:12px;font-weight:600}.service-block p{max-width:420px;color:var(--muted)}.condition-list{grid-template-columns:repeat(2,1fr);align-content:start;gap:12px;margin:0;padding:0;list-style:none;display:grid}.condition-list li{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;align-items:center;gap:12px;padding:16px 18px;font-size:.97rem;font-weight:600;display:flex}.condition-list li:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.condition-list-single{grid-template-columns:1fr}.condition-table{border:1px solid var(--line);border-collapse:separate;border-spacing:0;border-radius:var(--radius);background:var(--surface);width:100%;font-size:.95rem;overflow:hidden}.condition-table th,.condition-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px 20px}.condition-table tbody tr:last-child>*{border-bottom:0}.condition-table thead th{background:var(--tint);letter-spacing:.12em;text-transform:uppercase;color:var(--teal-ink);font-size:.72rem;font-weight:700}.condition-table tbody th{width:42%;color:var(--ink);font-weight:600}.red-flags{margin-top:20px;padding:22px 24px;font-size:.95rem}.red-flags p{max-width:none;color:inherit}#in-rooms,#theatre,#conditions,#theatre .info-card{scroll-margin-top:calc(var(--header-h) + 72px)}.item-list{margin:0;padding:0;list-style:none}.item-list li{border-bottom:1px dashed var(--line);color:var(--ink);align-items:flex-start;gap:12px;padding:10px 0;font-size:.95rem;display:flex}.item-list li:last-child{border-bottom:0}.item-list li:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:.62em}.theatre-note{background:var(--surface);margin-top:20px}.testimonial{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:16px;margin:0;padding:28px;display:flex}.stars{color:var(--accent-light);gap:3px;display:flex}.stars .is-filled{color:var(--accent);fill:currentColor}.star-half{display:inline-flex;position:relative}.star-half .is-filled{position:absolute;inset:0}.testimonial blockquote{flex:1;margin:0}.testimonial blockquote p{color:var(--text);font-size:.97rem}.testimonial figcaption{border-top:1px solid var(--line);flex-direction:column;padding-top:14px;display:flex}.testimonial figcaption strong{font:500 1.05rem var(--serif);color:var(--ink)}.testimonial figcaption span{color:var(--muted);font-size:.82rem}.testimonial-quote{color:var(--accent)}.testimonial blockquote p+p{margin-top:12px}.read-more{font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.92rem;font-weight:700}.read-more:hover svg{transform:translate(3px)}.testimonial-dialog{border-radius:var(--radius-lg);width:min(640px,100% - 32px);max-height:min(85vh,100% - 32px);box-shadow:var(--shadow);background:0 0;border:0;padding:0}.testimonial-dialog::backdrop{-webkit-backdrop-filter:blur(3px);background:#142c408c}html:has(.testimonial-dialog[open]){overflow:hidden}.testimonial-full{border-radius:var(--radius-lg);border:0;padding:clamp(28px,5vw,44px);position:relative}.testimonial-full blockquote p{font-size:1.02rem;line-height:1.7}.dialog-close{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.dialog-close:hover{background:var(--teal-soft)}.testimonial-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;display:grid}.carousel{gap:20px;display:grid}.carousel-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.carousel-track{width:max-content;animation:carousel-slide var(--duration,80s) linear infinite;display:flex}.carousel-track.is-reverse{animation-direction:reverse}.carousel-viewport:hover .carousel-track{animation-play-state:paused}@keyframes carousel-slide{to{transform:translate(-50%)}}.carousel-track .testimonial{width:clamp(260px,78vw,340px);margin-right:20px}.carousel-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px;margin-top:12px;display:flex}@media (prefers-reduced-motion:reduce){.carousel-viewport{scroll-snap-type:x mandatory;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.carousel-track{padding-inline:20px}.carousel-track .testimonial{scroll-snap-align:center}.carousel-track>[aria-hidden=true]{display:none}}.booking-info{margin-bottom:clamp(40px,5vw,56px);scroll-margin-top:110px}.booking-info:last-child{margin-bottom:0}.info-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.info-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(28px,4vw,40px)}.info-card h3{margin:20px 0 14px}.info-card p{color:var(--muted)}.info-card p+p{margin-top:12px}.check-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.check-list li{align-items:flex-start;gap:12px;display:flex}.check-list svg{box-sizing:content-box;background:var(--teal-soft);color:var(--teal-ink);border-radius:50%;flex-shrink:0;margin-top:3px;padding:4px}.faq{gap:12px;max-width:820px;margin-inline:auto;display:grid}.faq details{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:0 26px;transition:box-shadow .2s}.faq details[open]{box-shadow:var(--shadow)}.faq summary{color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:1.04rem;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{color:var(--teal-ink);flex-shrink:0;transition:transform .25s}.faq details[open] summary svg{transform:rotate(180deg)}.faq details p{color:var(--muted);padding-bottom:24px}.alert{border-radius:var(--radius);color:#6b3420;background:#fbf0ea;border:1px solid #efd2c3;align-items:flex-start;gap:18px;padding:26px 30px;display:flex}.alert svg{color:#b4532e;flex-shrink:0}.alert strong{color:#5a2716}.alert a{color:#8d3a1d;font-weight:700}.contact-grid{grid-template-columns:1fr 1.15fr;align-items:stretch;gap:24px;display:grid}.contact-cards{gap:16px;display:grid}.contact-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:18px;padding:24px;display:flex}.contact-card>div{flex:1;min-width:0}.contact-card small{letter-spacing:.12em;text-transform:uppercase;color:var(--teal-ink);margin-bottom:4px;font-size:.72rem;font-weight:700;display:block}.contact-list{color:var(--ink);gap:4px;margin:0;padding:0;font-weight:600;list-style:none;display:grid}.contact-value{font:500 1.3rem var(--serif);color:var(--ink);overflow-wrap:anywhere;text-decoration:none}.contact-value:hover{color:var(--teal-ink)}.map{border:1px solid var(--line);border-radius:var(--radius);background:var(--tint);min-height:480px;overflow:hidden}.map iframe{border:0;width:100%;height:100%;min-height:480px;display:block}.hours{margin:4px 0 0;padding:0;list-style:none}.hours li{border-bottom:1px dashed var(--line);justify-content:space-between;gap:16px;padding:9px 0;font-size:.95rem;display:flex}.hours li:last-child{border-bottom:0}.hours .closed{color:var(--muted);text-align:right}.hours-booking{color:var(--muted);margin:12px 0 0;font-size:.9rem}.hours .is-today{color:var(--ink);font-weight:700}.hours .is-today .day:after{content:"Today";background:var(--teal-soft);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);vertical-align:2px;border-radius:999px;margin-left:8px;padding:3px 8px;font-size:.66rem}.map-col{flex-direction:column;gap:16px;display:flex}.map-col .map{flex:1}.map-note{border:1px solid var(--line);border-radius:var(--radius);background:var(--tint);align-items:flex-start;gap:14px;padding:20px 22px;font-size:.95rem;display:flex}.map-note svg{color:var(--accent);flex-shrink:0;margin-top:2px}.map-note strong{color:var(--ink)}.location{grid-template-columns:1fr 1.15fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}.location-list{gap:18px;margin:32px 0 0;padding:0;list-style:none;display:grid}.location-list li{align-items:flex-start;gap:14px;display:flex}.location-list svg{color:var(--accent);flex-shrink:0;margin-top:3px}.location-list strong{color:var(--ink);display:block}.location-list a{color:var(--teal-ink);font-weight:600;text-decoration:none}.location-list a:hover{text-underline-offset:3px;text-decoration:underline}.map-home,.map-home iframe{min-height:420px}.map-home{box-shadow:var(--shadow);border:0}.affil-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.affil{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:18px;padding:26px;display:flex}.affil h3{margin-bottom:6px;font-size:1.12rem}.affil p{color:var(--muted);font-size:.93rem}.year-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.year-list li{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr;gap:20px;padding:20px 0;display:grid}.year{font:italic 500 1.25rem/1.2 var(--serif);color:var(--teal-ink)}.year-list-title{color:var(--ink);font-weight:700;text-decoration:none;display:inline}a.year-list-title:hover{color:var(--teal-ink);text-underline-offset:3px;text-decoration:underline}.year-list-title svg{vertical-align:-2px;color:var(--teal-ink);margin-left:4px}.year-list-meta{color:var(--muted);margin-top:4px;font-size:.92rem;display:block}.not-found{align-items:center;min-height:60vh;display:grid}.site-footer{background:var(--sky-pale);color:var(--text);padding-top:clamp(56px,7vw,80px);font-size:.95rem}.footer-grid{grid-template-columns:1.5fr .8fr 1.3fr;gap:40px;padding-bottom:56px;display:grid}.site-footer h4{font:700 .74rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:18px}.site-footer a{color:var(--ink);text-decoration:none}.site-footer a:hover{color:var(--teal-ink)}.footer-brand .brand-sub{color:var(--text)}.footer-brand p{max-width:300px;margin-top:20px}.footer-brand p+p{margin-top:12px}.footer-links,.footer-contact{gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer-contact li{align-items:flex-start;gap:10px;display:flex}.footer-contact svg{color:var(--teal-ink);flex-shrink:0;margin-top:4px}.footer-bottom{color:var(--text);border-top:1px solid #173a521f;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:24px;font-size:.82rem;display:flex}@media (width<=1080px){.site-nav{gap:12px}.site-nav ul a{padding:8px 10px}}@media (width<=960px){.menu-toggle{border:1px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;display:grid}.site-nav{border-bottom:1px solid var(--line);background:var(--bg);flex-direction:column;align-items:stretch;gap:16px;padding:12px 20px 24px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 24px 40px -24px #10263859}.site-nav.is-open{display:flex}.site-nav ul{flex-direction:column}.site-nav ul a{border-radius:12px;padding:14px 16px;font-size:1.05rem}.nav-call{min-height:52px}.hero-grid,.split,.split-about,.aid-panel,.cta,.service-block,.contact-grid,.location,.affil-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.hero-visual{width:100%;max-width:440px;margin-inline:auto}.hero-badge{left:-12px}.portrait-about{width:100%;max-width:420px;position:relative;top:0}.card-grid{grid-template-columns:repeat(2,1fr)}.card-grid>:last-child:nth-child(odd){grid-column:1/-1}.gallery-grid{grid-template-rows:none;grid-template-columns:1fr 1fr;grid-auto-rows:clamp(190px,46vw,320px);gap:12px}.gallery-item:first-child{grid-column:1/-1}.steps{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item{justify-content:flex-start}.map,.map iframe{min-height:360px}}@media (width<=640px){body{font-size:15px}.container{width:calc(100% - 32px)}.brand-sub{font-size:.64rem}.btn-row .btn{flex:auto}.btn-or{text-align:center;flex-basis:100%}.hero-badge{top:16px;left:16px}.card-grid,.condition-list,.info-grid,.member-grid,.credentials,.footer-grid{grid-template-columns:1fr}.credentials div:nth-child(odd){padding-right:0}.trust-grid{gap:14px;padding-block:22px}.trust-item{font-size:.88rem}.service-card,.step,.testimonial{padding:24px}.faq details{padding:0 20px}.alert{flex-direction:column;gap:12px;padding:22px}.condition-table th,.condition-table td{padding:12px 14px}.year-list li{grid-template-columns:1fr;gap:4px}.map-home,.map-home iframe{min-height:320px}}
