@font-face{font-family:Editorial;src:url('./assets/editorial-latin.woff2') format('woff2');font-style:normal;font-weight:300 500;font-display:swap}
:root{--paper:#fcfbf8;--ink:#252720;--gold:#9b865b;--muted:#746c5e;--line:#ddd7ca;--serif:Editorial,Georgia,serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #7c633d;outline-offset:6px}img,video{display:block;max-width:100%}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:.87;letter-spacing:-.045em}h1{font-size:clamp(56px,8vw,132px)}h2{font-size:clamp(48px,6.8vw,110px)}p{margin-bottom:22px}::selection{background:#d8c59b;color:#252720}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:20px;top:-90px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:15px}[hidden]{display:none!important}
.site-header{position:absolute;inset:0 0 auto;height:100px;z-index:20;pointer-events:none}.site-header>a,.site-header>button{pointer-events:auto}.monogram{position:fixed;top:23px;left:6.25vw;font:46px/.8 var(--serif);letter-spacing:-.18em;color:var(--gold);padding:5px 12px 9px 0;z-index:22}.monogram span{font-style:italic}.monogram small{display:block;font:7px/1 Arial,sans-serif;letter-spacing:.2em;margin-top:8px;margin-left:3px}.header-book{position:fixed;right:6.25vw;top:26px;min-height:44px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;display:flex;align-items:center;gap:14px;background:var(--paper);padding:0 17px;border:1px solid var(--line);z-index:22}.header-book span{font-size:20px}.header-book:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none}.corner-nav{position:fixed;right:4.8vw;bottom:34px;z-index:21;display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px;background:#fcfbf8ed;border:1px solid transparent;backdrop-filter:blur(9px)}.corner-nav a{position:relative;display:flex;align-items:center;min-height:26px;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.045em}.corner-nav a:before{content:'';position:absolute;right:calc(100% + 7px);color:var(--gold);opacity:0;transform:translateX(-5px);transition:opacity .3s,transform .4s}.corner-nav a:hover:before,.corner-nav a[aria-current]:before{opacity:1;transform:none}.corner-nav a[aria-current]{color:#79613d}.mobile-book{display:none}
.eyebrow{font:10px/1.5 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.085em;margin-bottom:30px}.lead{font-size:16px;line-height:1.6;max-width:360px;margin:40px auto 0}.fine-print{font-size:10px;line-height:1.65;color:var(--muted);max-width:520px}.fine-print a{text-decoration:underline}.under-link{display:inline-block;min-height:40px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.roll-link{display:inline-block;position:relative;overflow:hidden;font-size:11px;text-transform:uppercase;letter-spacing:.055em;line-height:44px;min-height:44px;color:#78613f}.roll-link:before{content:'';margin-right:12px}.roll-link>span{display:inline-block;transition:transform .55s var(--ease)}.roll-link .roll-copy{position:absolute;left:19px;top:100%}.roll-link:hover>span,.roll-link:focus-visible>span{transform:translateY(-100%)}.chapter-links{display:flex;justify-content:center;gap:32px;align-items:center;flex-wrap:wrap;margin-top:30px}
.home-opening{height:108vw;min-height:850px;max-height:1550px;position:relative;padding-top:145px;overflow:hidden}.opening-note{text-align:center;font-size:10px;line-height:1.5;color:#806b46;letter-spacing:.035em;position:absolute;top:36px;left:25%;width:50%}.wordmark{font-weight:300;font-size:17.1vw;line-height:.8;white-space:nowrap;letter-spacing:-.075em;text-align:center;color:var(--gold);position:relative;z-index:3;margin:20px 4vw 0}.opening-year{position:absolute;top:39vw;left:6.25vw;font-size:9px;letter-spacing:.08em;color:#756243;writing-mode:vertical-rl}.opening-montage{position:absolute;inset:28vw 0 0}.photo{overflow:hidden;will-change:transform;background:#e8e4db}.photo img{width:100%;height:100%;object-fit:cover}.montage-one{position:absolute;left:0;top:29%;width:26%;height:37%}.montage-one img{object-position:50%}.montage-two{position:absolute;left:32%;top:0;width:27%;height:60%}.montage-two img{object-position:55% 40%}.montage-three{position:absolute;left:57%;top:42%;width:27%;height:32%}.montage-three img{object-position:60%}.scroll-note{position:absolute;bottom:8%;left:6.25vw;font-size:9px;letter-spacing:.08em;min-height:44px;padding-top:14px}.home-introduction{padding:70px 6.25vw 90px;text-align:center}.home-introduction h2{font-size:clamp(58px,8.2vw,132px);margin:0}.signature{display:block;width:350px;max-width:70%;height:auto;margin:-8px auto -12px;color:var(--gold);position:relative}.script-word{display:block;width:310px;max-width:68vw;height:auto;margin:-14px auto -26px;color:var(--gold);position:relative;overflow:visible}.chapter{padding:125px 8vw;text-align:center}.chapter h2{margin:0}.chapter .lead{margin-top:34px}.image-duet{position:relative;height:70vw;max-height:1000px;margin:40px 0 100px}.duet-tall{position:absolute;left:9%;top:0;width:35%;height:76%}.duet-wide{position:absolute;left:52%;top:39%;width:40%;height:42%}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;width:80%;margin:160px auto}.feature-split>.photo{height:48vw;max-height:700px}.feature-split h2{font-size:clamp(45px,5.5vw,92px);margin:0}.feature-split .script-word{margin-left:0;width:270px}.feature-split p:not(.eyebrow){max-width:320px}.feature-split .fine-print{margin-top:24px}.feature-split>div{padding-right:4vw}.next-page{text-align:center;padding:120px 8vw 100px;overflow:hidden}.next-page .eyebrow{margin-bottom:5px}.next-link{display:inline-block;position:relative;font-family:var(--serif);font-weight:300;font-size:clamp(90px,17vw,270px);letter-spacing:-.07em;line-height:1.1;color:var(--gold)}.next-link .roll-copy{display:none}.next-link:after{content:'';font:30px Arial,sans-serif;position:absolute;right:-50px;top:44%;opacity:0;transition:opacity .4s,transform .5s}.next-link:hover:after{opacity:1;transform:translate(8px,-8px)}footer{text-align:center;color:#79613f;padding:30px 16vw 65px;font-size:10px;line-height:1.5}footer p{margin-bottom:10px}.candidate-note{font-size:9px;margin-top:25px;color:var(--muted)}
.editorial-heading{text-align:center;padding:220px 8vw 100px}.editorial-heading h1{margin:0}.editorial-heading .lead{max-width:450px}.cover-page{position:relative;min-height:100svh;background:#272c29;color:white;display:grid;align-items:center;overflow:hidden}.cover-page>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.38)}.cover-page>.editorial-heading{position:relative;padding-top:165px;padding-bottom:130px}.cover-page .script-word{color:#d2ba85}.light-opening .monogram{color:#c8ac74}.film-story{display:grid;grid-template-columns:1fr .9fr;gap:11vw;align-items:center;width:78%;margin:40px auto 160px}.film-frame{position:relative}.film-frame video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#ddd4c5}.film-frame button{position:absolute;bottom:16px;right:16px;background:var(--paper);font-size:10px;padding:12px 17px}.film-story p{max-width:290px}.film-story h2{font-size:6vw}.recognition{width:76%;margin:100px auto}.recognition-grid{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:70px}.recognition-item{border-top:1px solid var(--line);padding-top:30px}.recognition-item h3{font-family:var(--serif);font-size:34px;line-height:1.1;margin:15px 0}.recognition-item p{font-size:13px}.recognition-item a{font-size:11px;text-decoration:underline}.recognition-label{font-size:11px}.recognition-item svg{display:none}
.people-story{width:76%;margin:auto}.team-bio{display:grid;grid-template-columns:230px 1fr;gap:9vw;align-items:center;padding:80px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}.team-bio:nth-child(even){margin-left:9vw}.bio-portrait{width:230px;height:230px;object-fit:contain}.team-bio h2{font-size:64px;line-height:1;margin-bottom:25px}.team-bio p{max-width:420px;font-size:14px}.team-bio .eyebrow,.training-label{font-size:10px!important;letter-spacing:.05em}.team-training{margin-top:28px}.credential-strip{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.credential-strip img{max-width:95px;width:auto;max-height:28px;object-fit:contain}.care-gallery{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:130px 10vw;width:80%;margin:0 auto 160px}.care-item{min-width:0}.care-item:first-child{grid-column:1/-1;width:48%;margin:0 auto}.care-item:nth-child(2n+3){padding-top:180px}.care-photo{display:block;position:relative;overflow:hidden;height:38vw;max-height:600px}.care-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}.care-photo:hover img{transform:scale(1.045)}.care-item .eyebrow{margin:22px 0 0;font-size:9px}.image-follow{position:absolute;width:90px;height:90px;border-radius:50%;background:#fcfbf8ed;display:grid;place-items:center;left:calc(50% - 45px);top:calc(50% - 45px);font-size:11px;opacity:0;transform:scale(.7);transition:opacity .4s,transform .5s var(--ease);pointer-events:none}.care-photo:hover .image-follow,.care-photo:focus-visible .image-follow{opacity:1;transform:scale(1)}.service-cover{width:65%;height:60vw;max-height:780px;margin:0 auto 100px}.service-copy{width:68%;margin:0 auto 80px}.service-copy section,.service-copy .content-grid{padding:35px 0}.service-copy h2{font-size:50px;line-height:1;margin:30px 0}.service-copy h3{font:32px/1.1 var(--serif)}.service-copy p,.service-copy li{max-width:650px}.service-copy .button{display:inline-block;padding:13px 25px;background:var(--ink);color:white}.service-copy .service-diagram,.service-copy svg{max-width:180px;max-height:180px}.service-copy .trust-strip,.service-copy .breadcrumb{display:none}.service-copy a:not(.button){text-decoration:underline}.service-copy .split{display:block}.service-copy .wrap{width:auto}.service-copy details{border-top:1px solid var(--line);padding:20px 0}
.insurance{padding:60px 8vw;text-align:center;overflow:hidden}.insurer-window{overflow:hidden;max-width:1000px;margin:auto;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.insurer-track{display:flex;width:max-content;animation:insurance-travel 30s linear infinite}.insurer-group{list-style:none;display:flex;flex-shrink:0;gap:50px;padding:10px 25px;margin:0;align-items:center}.insurer-group li{width:170px;flex:none;font-size:10px}.insurer-mark{height:65px;display:flex;align-items:center;justify-content:center;overflow:hidden}.insurer-mark img{max-height:55px;max-width:165px;object-fit:contain}.insurer-mark.manulife img,.insurer-mark.canada-life img{max-height:100px;max-width:190px}.insurance>.fine-print{margin:22px auto 0}.quiet{font-size:10px;min-height:44px;text-decoration:underline}.voices{text-align:center;width:74%;margin:110px auto 140px}.review-panels{display:grid;overflow:clip}.review-panels article{grid-area:1/1;min-width:0;padding:10px 0 20px}.review-panels article[hidden]{display:none!important}.review-panels blockquote{font:400 clamp(32px,4.7vw,72px)/1.08 var(--serif);letter-spacing:-.025em;margin:0 auto 30px;max-width:940px}.review-panels article p{font-size:11px}.review-controls{display:flex;justify-content:center;gap:28px;font-size:10px;align-items:center;margin:15px 0}.review-controls button{font-size:10px;min-height:44px;text-decoration:underline}.voices>.fine-print{margin:15px auto}body:not(.enhanced) .review-panels{display:block}.contact-heading{text-align:left;padding-left:14%;padding-bottom:60px}.contact-heading .script-word{margin-left:30%;width:330px}.contact-grid{width:72%;margin:0 auto 110px;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:50px;font-size:13px}.contact-grid h2{font:11px/1.5 Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;margin-bottom:22px}.contact-grid address{font-style:normal;margin-bottom:20px}.contact-grid a{display:block;overflow-wrap:anywhere}.contact-map{width:72%;margin:auto}.map-frame{position:relative;overflow:hidden;background:#e9eee9}.map-frame>img{width:100%;aspect-ratio:1000/780;object-fit:contain;filter:grayscale(.6)}.map-pin{position:absolute;background:var(--paper);box-shadow:0 2px 10px #34352a22;font-size:11px;padding:11px 15px;min-height:44px}.map-pin:hover{background:var(--ink);color:var(--paper)}.map-pin.burnaby{left:27.5297%;top:15.8261%}.map-pin.surrey{left:69.7508%;top:83.1332%;transform:translateX(-50%)}.contact-map>.fine-print{margin-top:15px}.questions{max-width:760px;width:80%;margin:0 auto 120px}.questions details{border-top:1px solid var(--line);padding:25px 0}.questions summary{cursor:pointer;font:30px/1.15 var(--serif);padding:7px 0}.questions details>p{font-size:14px;padding:15px 0 0}.community-gallery{width:82%;margin:auto}.community-large{width:60%;height:60vw;max-height:850px}.community-small{width:45%;height:28vw;margin:90px 0 0 55%}.community-wide{width:68%;height:43vw;margin:90px 0}.community-gallery>p{font-size:11px;margin-top:15px}.partners{text-align:center;padding:60px 8vw}.partners>p:last-child{font:32px/1.2 var(--serif)}
dialog{border:0;padding:65px;background:var(--paper);color:var(--ink);max-height:90svh;overflow:auto;width:min(650px,90vw)}dialog::backdrop{background:#1c211b75;backdrop-filter:blur(3px)}dialog[open]{animation:dialog-in .6s var(--ease)}dialog h2,.booking-page h2{font-size:64px;line-height:.95;letter-spacing:-.04em}.close-dialog{position:absolute;right:20px;top:16px;min-width:60px;min-height:44px;font-size:10px;text-transform:uppercase}.booking-page{width:min(600px,84%);margin:180px auto 100px}fieldset{border:0;padding:0;margin:25px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}fieldset label{border:1px solid var(--line);display:flex;gap:10px;padding:17px 12px;align-items:flex-start;cursor:pointer}fieldset small{display:block;font-size:10px;margin-top:5px}fieldset input{accent-color:#79613f;margin-top:6px}.solid-link{display:block;text-align:center;background:var(--ink);color:var(--paper);padding:16px 22px;font-size:13px}.booking-page .fine-print,#booking-dialog .fine-print{margin:20px 0 12px}#site-menu{position:fixed;inset:0;width:100%;height:100svh;max-width:none;max-height:none;margin:0;padding:80px 8vw;background:#efece4}#site-menu nav{display:flex;flex-direction:column;gap:5px}#site-menu nav a{font:50px/1.12 var(--serif);min-height:52px}#site-menu nav a[aria-current]{color:#806b46}.menu-contact{display:flex;flex-direction:column;gap:10px;margin-top:30px;font-size:12px}.type-word{display:inline-block;white-space:nowrap;perspective:600px}.type-char{display:inline-block;transform-origin:center bottom;backface-visibility:hidden}@keyframes insurance-travel{to{transform:translateX(-50%)}}@keyframes dialog-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.lead{font-size:19px;max-width:430px}.eyebrow{font-size:12px}.corner-nav a{font-size:12px;min-height:29px}}
@media(max-width:900px){.contact-grid{width:78%;gap:28px;grid-template-columns:1fr 1fr}.contact-grid article:last-child{grid-column:1/-1}.team-bio{gap:45px;grid-template-columns:180px 1fr}.bio-portrait{width:180px;height:180px}.team-bio h2{font-size:52px}.team-bio:nth-child(even){margin-left:0}.feature-split{gap:5vw}.editorial-heading{padding-top:180px}.corner-nav{right:18px}}
@media(max-width:600px){body{font-size:14px}.site-header{height:100px}.monogram{left:calc(50% - 23px);top:25px;font-size:43px}.header-book{display:none}.menu-toggle{display:block;position:fixed;right:22px;top:29px;min-height:44px;padding:8px 0 8px 15px;font-size:12px;text-transform:uppercase;color:#79613f;background:#fcfbf8ed;z-index:23}.corner-nav{display:none}.mobile-book{display:flex;position:fixed;bottom:0;left:0;width:100%;z-index:24;background:#fcfbf8f5;border-top:1px solid var(--line);padding:8px 14px calc(8px + env(safe-area-inset-bottom));gap:12px;align-items:center;backdrop-filter:blur(10px)}.mobile-book>a{display:flex;justify-content:center;align-items:center;min-height:44px;font-size:11px;width:40%}.mobile-book>a:last-child{background:var(--ink);color:white;width:60%}.home-opening{height:1060px;min-height:0;max-height:none;padding-top:190px}.opening-note{top:115px;font-size:9px;left:20%;width:60%}.wordmark{font-size:17.5vw;margin:4px 3vw 0}.opening-year{top:340px;left:18px;font-size:8px}.opening-montage{inset:310px 0 0}.montage-two{left:28%;width:49%;height:54%;top:0}.montage-one{width:40%;height:30%;top:37%;left:-7%}.montage-three{width:44%;height:27%;left:53%;top:58%}.scroll-note{bottom:0;left:8%;font-size:8px}.home-introduction{padding:90px 8% 60px}.home-introduction h2{font-size:15vw;line-height:.91}.signature{width:260px;margin:-4px auto -10px}.eyebrow{font-size:9px;margin-bottom:25px}.lead{font-size:14px;max-width:280px;margin-top:28px}.chapter-links{gap:17px;margin-top:22px}.roll-link{font-size:10px}.image-duet{height:600px;max-height:none;margin:30px 0 20px}.duet-tall{width:58%;left:0;top:5%;height:67%}.duet-wide{width:49%;left:49%;top:59%;height:27%}.chapter{padding:90px 8%}.chapter h2{font-size:14vw;line-height:.9}.script-word{width:260px;max-width:75vw;margin-top:-7px;margin-bottom:-20px}.feature-split{display:block;width:84%;margin:90px auto}.feature-split>.photo{height:105vw;margin-bottom:55px}.feature-split>div{padding:0 6%}.feature-split h2{font-size:14vw}.next-page{padding:90px 10% 55px}.next-link{font-size:27vw}.next-link:after{display:none}footer{padding:30px 8% 105px;font-size:9px}.editorial-heading{padding:175px 8% 70px}.editorial-heading h1{font-size:14vw;line-height:.9;letter-spacing:-.05em}.editorial-heading .lead{font-size:14px;max-width:290px}.cover-page{min-height:900px}.cover-page>img{object-position:45%}.cover-page>.editorial-heading{padding-top:190px;padding-bottom:130px}.cover-page .editorial-heading h1{font-size:17vw}.film-story{display:block;width:82%;margin:10px auto 90px}.film-story>div:last-child{margin-top:55px}.film-story h2{font-size:15vw}.recognition{width:82%;margin:60px auto}.recognition-grid{grid-template-columns:1fr;gap:35px}.people-story{width:82%}.team-bio{display:block;padding:50px 0}.bio-portrait{width:200px;height:200px;margin-bottom:35px}.team-bio h2{font-size:58px}.team-bio p{font-size:14px}.credential-strip{gap:15px}.credential-strip img{max-width:82px}.care-gallery{display:block;width:84%;margin-bottom:80px}.care-item,.care-item:first-child{width:100%;margin:0 0 75px}.care-item:nth-child(2n+3){padding-top:0}.care-item:nth-child(even){width:84%;margin-left:16%}.care-photo{height:105vw}.care-item:nth-child(even) .care-photo{height:85vw}.service-cover{width:84%;height:110vw;margin-bottom:50px}.service-copy{width:84%}.service-copy h2{font-size:42px}.service-copy h3{font-size:30px}.service-copy .content-grid{display:block}.service-copy .card{padding:20px 0}.insurance{padding:30px 6%}.insurer-group{gap:25px;padding-left:12.5px;padding-right:12.5px}.insurer-group li{width:145px}.insurer-mark img{max-width:140px}.insurer-mark.manulife img,.insurer-mark.canada-life img{max-width:170px}.voices{width:84%;margin:75px auto}.review-panels blockquote{font-size:36px}.review-controls{gap:15px}.contact-heading{text-align:center;padding-left:8%}.contact-heading .script-word{margin-left:auto;width:260px}.contact-grid{display:block;width:78%;text-align:center}.contact-grid article{margin-bottom:65px}.contact-grid h2{font-size:11px}.contact-grid a{font-size:14px}.contact-map{width:88%}.map-pin{font-size:9px;padding:10px 8px}.map-pin.surrey{top:79%}.questions{width:84%;margin-bottom:60px}.questions summary{font-size:27px}.community-large{width:88%;height:110vw}.community-small{width:72%;height:55vw;margin:55px 0 0 28%}.community-wide{width:100%;height:65vw;margin:55px 0}.partners>p:last-child{font-size:28px}dialog{width:94vw;padding:65px 25px 35px;max-height:86svh}dialog h2,.booking-page h2{font-size:55px}fieldset{grid-template-columns:1fr}#site-menu{padding-top:80px}.booking-page{margin-top:160px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.photo{transform:none!important}.insurer-track{width:100%}.insurer-group{flex-wrap:wrap;justify-content:center;width:100%;gap:20px}.insurer-group[aria-hidden]{display:none}.insurer-window{mask-image:none}.type-char{transform:none!important;opacity:1!important}}
@media(max-height:650px) and (min-width:601px){.corner-nav a{min-height:23px}.corner-nav{bottom:12px}#site-menu nav{display:grid;grid-template-columns:1fr 1fr}}
@media print{.site-header,.corner-nav,.mobile-book,dialog,.photo{transform:none!important}body{color:black;background:white}.home-opening{height:850px}.review-panels{display:block}.review-panels article[hidden]{display:block!important;visibility:visible!important}footer{padding-bottom:20px}}

/* Optical corrections from 320px and contrast review. */
.monogram small{color:#756243;background:var(--paper);padding:2px 0}
.booking-page h1{font-size:64px;line-height:.95;letter-spacing:-.04em}
.recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-item{min-width:0}
.service-copy .content-layout{display:grid;grid-template-columns:1fr .7fr;gap:6vw}.service-copy .page-aside{padding-top:60px}.service-copy .page-aside h2{font-size:35px}.service-copy .note-card{border-top:1px solid var(--line);padding:20px 0}.service-copy .related-link{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);font-size:13px}.service-copy .related-link svg{width:20px;height:20px}.questions summary svg,.service-copy summary svg{display:none}
@media(max-width:600px){.home-introduction h2{font-size:13.2vw}.chapter h2{font-size:12.2vw}.feature-split h2{font-size:11.3vw}.recognition-grid{grid-template-columns:minmax(0,1fr)}.recognition-item h3{font-size:30px}.service-copy .content-layout{display:block}.service-copy .page-aside{padding-top:20px}.booking-page h1{font-size:55px}}
/* Reference proportion pass: measured at 1440 x 1000; phone composition below. */
@font-face{font-family:Fine;src:url('./assets/fine-display.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Interface;src:url('./assets/interface-latin.woff2') format('woff2');font-style:normal;font-weight:300 500;font-display:swap}
:root{--paper:#fff;--ink:#1f1f1f;--gold:#b49764;--line:#e3dfd7;--serif:Fine,Georgia,serif}
body{font-family:Interface,Arial,sans-serif;font-weight:300}h1,h2{letter-spacing:-.035em;line-height:1.02;font-weight:400;font-optical-sizing:auto}.eyebrow{font-family:Interface,Arial,sans-serif;font-weight:400;letter-spacing:0}.title-line{display:block}.type-word{perspective:none}.type-char{display:inline-block;perspective:380px}.type-glyph{display:inline-block;transform-origin:50% 65%;backface-visibility:hidden}.script-word{stroke-width:1;width:29.833vw;max-width:430px;margin-top:-3.5vw;margin-bottom:-3vw}.script-word path{stroke-width:.9}.next-link{font-size:10.417vw;letter-spacing:-.045em}.header-book{background:transparent;border:0;padding:0 4px;gap:18px;font-size:10px;text-shadow:0 0 8px #fff9}.header-book:hover{background:transparent;color:#78613f}.header-book.over-cover{color:#fff;text-shadow:0 1px 8px #0006}.header-book.over-cover:hover{color:#dfc695}.monogram{top:2.7vw;font-size:39px}.corner-nav{right:6.25vw;bottom:5vh;padding:0;border:0;backdrop-filter:none;background:transparent}.corner-nav a{min-height:19px;font-size:10px;font-weight:400;letter-spacing:0;text-shadow:0 0 12px #fff,0 0 4px #fff}.corner-nav a[aria-current]{color:#78613f}.light-opening .corner-nav{background:#ffffffeb;padding:10px 12px}.editorial-heading{padding:28vh 6.25vw 4.86vw}.editorial-heading .eyebrow{font-size:.8333vw;line-height:1;margin-bottom:4.167vw}.editorial-heading h1{font-size:7vw;line-height:1.07143}.editorial-heading .script-word{margin-top:-3.5vw}.editorial-heading .lead{font-size:14px;margin-top:45px}.contact-heading{padding-left:13.6574vw;text-align:left}.contact-heading .title-line:nth-child(2){margin-left:14.5833vw}.contact-heading .script-word{margin-left:29.5833vw;width:29.833vw}.contact-grid{width:auto;margin:0 0 9vw 13.6574vw;grid-template-columns:repeat(3,13.426vw);gap:1.3889vw;font-size:.9722vw;line-height:1.5714}.contact-grid h2{font:500 .8333vw/1.3 Interface,Arial,sans-serif;letter-spacing:0;margin-bottom:15px}.contact-grid p{margin-bottom:20px}.contact-grid .under-link{font-size:.8333vw;min-height:36px;padding:6px 0}.contact-grid article:last-child{width:17vw}.contact-grid article:last-child a{overflow-wrap:normal}.home-opening{height:100vw;min-height:760px;max-height:none;padding-top:15.4167vw}.wordmark{font-size:13.5vw;letter-spacing:-.07em;line-height:1;margin:0 5vw;font-weight:400}.opening-montage{inset:29.2354vw 0 0}.montage-one{left:-8.61%;top:30.7vw;width:28.264vw;height:40.487vw}.montage-two{left:32.153%;width:35.625vw;height:51.567vw;top:0}.montage-three{left:57.431%;top:35.9vw;width:20.833vw;height:29.868vw}.home-introduction{padding-top:0;padding-bottom:7vw}.home-introduction h2{font-size:7vw;line-height:1.07143}.home-introduction .eyebrow{font-size:.8333vw;margin-bottom:4.167vw}.home-introduction .signature{width:31vw;max-width:440px}.home-introduction .lead{font-size:14px;margin-top:45px}.chapter{padding:9vw 8vw}.chapter h2{font-size:7vw;line-height:1.07143}.chapter .eyebrow{font-size:.8333vw;margin-bottom:4.167vw}.chapter .lead{font-size:14px;margin-top:50px}.care-gallery{display:block;width:100%;margin:0 0 11vw}.care-item,.care-item:first-child{position:relative;width:43.0556%;margin:0 0 13.889vw 28.4722%;padding:0}.care-item:nth-child(2){width:49.3056%;margin-left:0}.care-item:nth-child(3){width:50.463%;margin-left:21.065%;padding-top:0}.care-item:nth-child(4){margin-left:43.287%}.care-item:nth-child(5){padding-top:0}.care-photo{height:auto;aspect-ratio:620/809;max-height:none}.care-item:nth-child(5) .care-photo{aspect-ratio:620/385}.care-item>.roll-link{position:absolute;left:calc(100% + 10px);top:20%;writing-mode:vertical-rl;white-space:nowrap;line-height:24px;min-height:0;font-size:11px}.care-item>.roll-link .roll-copy{display:none}.care-item>.roll-link:hover>span{transform:translateY(5px)}.care-item>.roll-link:before{margin:0 0 12px}.care-item .eyebrow{font-size:10px;margin-top:15px}.cover-page>.editorial-heading{padding-top:15vh;padding-bottom:10vh}.cover-page .script-word{color:#d7bc86}.feature-split h2{font-size:4.8vw;line-height:1.02}.team-bio h2{font-size:54px}.questions summary{line-height:1.2}
@media(min-width:601px) and (max-width:1000px){.editorial-heading{padding-top:180px}.editorial-heading .eyebrow,.chapter .eyebrow,.home-introduction .eyebrow{font-size:10px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:70%;gap:35px;font-size:13px}.contact-grid h2,.contact-grid .under-link{font-size:11px}.contact-grid article:last-child{width:auto}.corner-nav a{min-height:24px}.home-opening{min-height:720px}}
@media(max-width:600px){.monogram{top:23px;font-size:39px}.header-book,.corner-nav{display:none}.home-opening{height:215vw;min-height:720px;padding-top:38vw}.wordmark{font-size:13.6vw;margin:0 4vw;letter-spacing:-.075em}.opening-montage{inset:65vw 0 0}.montage-two{left:28%;top:0;width:55%;height:88vw}.montage-one{left:-9%;top:65vw;width:38%;height:65vw}.montage-three{left:60%;top:95vw;width:35%;height:49vw}.opening-year{top:73vw}.scroll-note{bottom:5%}.home-introduction{padding:30px 7vw 70px}.home-introduction h2{font-size:11.5vw;line-height:1.07}.home-introduction .eyebrow{font-size:10px;margin-bottom:35px}.home-introduction .signature{width:68vw}.home-introduction .lead{font-size:14px;margin-top:30px}.editorial-heading{padding:170px 6vw 65px;text-align:center}.editorial-heading .eyebrow{font-size:10px;margin-bottom:36px}.editorial-heading h1{font-size:10.4vw;line-height:1.13;letter-spacing:-.035em}.editorial-heading .lead{font-size:14px;margin-top:35px}.script-word,.editorial-heading .script-word{width:59vw;max-width:68vw;margin:-7vw auto -6vw}.contact-heading{padding-top:175px;padding-bottom:65px}.contact-heading h1{font-size:11vw}.contact-heading .title-line:nth-child(2){margin-left:0}.contact-heading .script-word{width:60vw;margin-left:auto}.contact-grid{display:block;width:78%;margin:0 auto 80px;font-size:16px;line-height:1.65;text-align:center}.contact-grid h2{font-size:11px;margin-bottom:20px}.contact-grid article,.contact-grid article:last-child{width:auto;margin-bottom:65px}.contact-grid a{font-size:15px}.contact-grid .under-link{font-size:12px;min-height:44px;padding:10px 0}.chapter{padding:75px 7vw}.chapter h2{font-size:10.5vw;line-height:1.1}.chapter .eyebrow{font-size:10px;margin-bottom:35px}.chapter .lead{font-size:14px;margin-top:35px}.care-item,.care-item:first-child,.care-item:nth-child(2),.care-item:nth-child(3),.care-item:nth-child(4),.care-item:nth-child(5){width:74%;margin:0 0 90px 13%;padding:0}.care-item:nth-child(2n){width:79%;margin-left:0}.care-photo{height:auto;aspect-ratio:620/809}.care-item>.roll-link{font-size:10px;left:calc(100% + 4px);line-height:22px}.care-item .eyebrow{font-size:9px}.next-link{font-size:20vw}.feature-split h2{font-size:9.7vw;line-height:1.1}.feature-split .script-word{width:55vw}.team-bio h2{font-size:42px}.cover-page>.editorial-heading{padding-top:150px;padding-bottom:100px}.cover-page .editorial-heading h1{font-size:13vw}.booking-page h1{font-size:48px}.recognition-item h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){.type-glyph{transform:none!important;opacity:1!important}}

/* Large gold lettering maintains AA contrast on white. */ .wordmark,.next-link{color:#a58a58}
@media(min-width:1001px){.editorial-heading h1,.home-introduction h2,.chapter h2{font-size:8.1vw;line-height:.92593;transform:translateY(-.8vw)}.chapter h2{letter-spacing:-.045em}}

/* Colour step 1: the original Simply Smile accent, from baseline/styles.css. */
:root{--brand-blue:#0c4594;--gold:var(--brand-blue)}
.wordmark,.next-link,.monogram,.light-opening .monogram,.monogram small,.opening-note,.opening-year,.roll-link,.header-book,.header-book:hover,.menu-toggle,.corner-nav a[aria-current],#site-menu nav a[aria-current],footer{color:var(--brand-blue)}
.script-word,.signature{color:var(--brand-blue)}
.cover-page .script-word{color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--brand-blue)}
fieldset input{accent-color:var(--brand-blue)}
/* Keep fixed controls transparent. Their colours follow explicit section tones. */
.site-header{display:contents}
.monogram,.monogram small,.header-book,.header-book:hover,.menu-toggle,.corner-nav,.light-opening .corner-nav{background:transparent;border:0;backdrop-filter:none;text-shadow:none}
.light-opening .corner-nav{padding:0}
.corner-nav a{text-shadow:none}
/* Colour step 2: remaining original Simply Smile palette, colour only. */
:root{--navy:#123660;--ink:#233e56;--muted:#586b7a;--sky:#edf4fa;--line:#dce5ed;--paper:#fff}
h1,h2,h3,.review-panels blockquote,.questions summary{color:var(--navy)}
.wordmark,.next-link{color:var(--brand-blue)}
.cover-page h1,.cover-page h2,.cover-page h3{color:#fff}
::selection{background:var(--sky);color:var(--navy)}
.photo,.film-frame video,.map-frame{background:var(--sky)}
.cover-page{background:var(--navy)}
.image-follow{background:#edf4faed;color:var(--navy)}
.map-pin{box-shadow:0 2px 10px #12366022}
.map-pin:hover,.solid-link,.service-copy .button,.mobile-book>a:last-child{background:var(--navy);color:#fff}
.mobile-book{background:#edf4faf5}
dialog::backdrop{background:#12366075}
fieldset label:has(input:checked){background:var(--sky);border-color:var(--brand-blue)}
.header-book:hover{color:var(--navy)}
/* Give the corner navigation more breathing room on short landscape screens. */
@media(max-height:650px) and (min-width:601px){.corner-nav a{min-height:32px}}
@media(max-width:600px){.next-link{font-size:17vw}footer>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 6px}footer>div>a{display:inline-flex;align-items:center;min-height:36px;padding:0 4px}footer>div>span{display:none}}

/* Homepage review refinements: a first-screen cue and clearer trust signals. */
.scroll-note{top:min(calc(100svh - 85px),calc(100% - 50px));bottom:auto;transition:opacity .25s ease,visibility .25s;z-index:2}
.scroll-note.dismissed{opacity:0;visibility:hidden;pointer-events:none}
.insurance-heading{font:400 clamp(32px,4.4vw,64px)/1.12 var(--serif);letter-spacing:-.025em;margin:0 auto 36px;color:var(--navy)}
.insurance-heading span{display:inline-block}

@media(max-width:600px){.scroll-note{top:52vw;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap}.insurance-heading{font-size:clamp(30px,8.2vw,46px);margin-bottom:28px}.insurance-heading span{display:block}}
@media(prefers-reduced-motion:reduce){.scroll-note{transition:none}}
/* Languages are easy to scan without competing with portraits and achievements. */
.team-languages{margin:0 0 26px}
.team-languages>p{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.team-languages ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.team-languages li{font-size:13px;line-height:1.5;color:var(--navy);background:var(--sky);padding:7px 12px;border-radius:2px}
/* Promotions use the same open editorial rhythm as the care pages. */
.promotion-invite{text-align:center;margin:0 auto 90px;padding:0 8vw}
.promotion-feature{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;width:78%;margin:30px auto 130px}
.promotion-image .photo{height:42vw;max-height:650px}
.promotion-image>.fine-print{margin-top:12px}
.promotion-offer h2,.promotion-couple h2,.promotion-coverage h2{font:400 clamp(38px,4.8vw,72px)/1.06 var(--serif);margin:24px 0;color:var(--navy)}
.promotion-offer>p:not(.eyebrow):not(.promotion-saving){font-size:14px;max-width:360px;line-height:1.7}
.promotion-offer .under-link{display:table;margin:12px 0;min-height:44px;padding:10px 0}
.promotion-saving{font:400 clamp(60px,7vw,110px)/1 var(--serif);color:var(--brand-blue);margin:0 0 26px}
.promotion-offer .promotion-saving span{display:block;font:400 clamp(24px,2.5vw,36px)/1.25 Interface,Arial,sans-serif;letter-spacing:.01em;margin-top:16px}
.promotion-couple{width:72%;margin:0 auto 130px;display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:65px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.promotion-coverage{width:72%;margin:0 auto 90px}
.promotion-coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:55px}
.promotion-coverage-grid h3{font:400 clamp(30px,3vw,46px)/1.12 var(--serif);margin:18px 0}
.promotion-coverage-grid article>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:360px}
.promotion-coverage-grid .under-link{display:inline-block;min-height:44px;padding:10px 0}
.promotion-coverage>.fine-print{margin-top:40px;max-width:560px}
.promotion-help{width:72%;margin:0 auto 80px;font-size:14px;max-width:660px;text-align:center}
.promotion-help .under-link{display:inline-block;min-height:44px;padding:10px 0}
@media(max-width:600px){.promotion-feature{display:flex;flex-direction:column;width:84%;gap:40px;margin:0 auto 70px}.promotion-image{width:100%}.promotion-image .photo{height:95vw}.promotion-offer{width:100%}.promotion-saving{font-size:72px}.promotion-offer h2,.promotion-couple h2,.promotion-coverage h2{font-size:42px}.promotion-couple{width:84%;display:block;margin-bottom:65px;padding:40px 0}.promotion-couple>.promotion-offer{margin-top:40px}.promotion-coverage{width:84%;margin-bottom:55px}.promotion-coverage-grid{display:block;margin-top:35px}.promotion-coverage-grid article+article{margin-top:45px}.promotion-coverage-grid h3{font-size:34px}.promotion-help{width:84%}.promotion-invite{margin-bottom:60px}}
@media(max-width:600px) and (max-height:740px){#site-menu nav a{font-size:38px;min-height:44px}#site-menu{padding-top:70px}}
.service-parent{display:inline-block;margin-top:30px;min-height:44px;padding:10px 0;font-size:12px}
/* Verified Google figures, with explicit studio attribution. */
.google-rating-summary{display:block;max-width:620px;margin:0 auto 65px;padding:30px 20px 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--navy)}
.rating-location{font-size:11px;margin:0 0 18px;letter-spacing:.04em}
.rating-stars{display:block;color:var(--brand-blue);font:22px/1.4 Arial,sans-serif;letter-spacing:5px;padding-left:5px}
.rating-figures{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:22px 0 26px}
.rating-figures>div{display:flex;flex-direction:column-reverse;gap:8px}
.rating-figures>div+div{border-left:1px solid var(--line)}
.rating-figures dd{font:400 clamp(60px,6vw,86px)/1.1 var(--serif);margin:0;letter-spacing:-.03em}
.rating-figures dd small{font:14px/1.4 Interface,Arial,sans-serif;letter-spacing:0}
.rating-figures dt{font-size:12px}
.rating-source{font-size:11px;text-decoration:underline;text-underline-offset:5px}
.google-rating-summary:hover .rating-source{color:var(--brand-blue)}





@media(max-width:600px){.google-rating-summary{margin-bottom:45px;padding:25px 0 30px}.rating-figures{gap:16px}.rating-figures dd{font-size:58px}.rating-figures dd small{font-size:11px}.rating-figures dt{font-size:11px}}
/* Contact form: quiet outlined fields and the studio's navy/blue palette. */
/* Each original service is directly reachable in the fixed sidebar and menu. */
.service-nav{width:100%}.service-nav summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;color:inherit}
.service-nav summary::-webkit-details-marker{display:none}.service-nav summary>span{font:18px/1 Arial,sans-serif;transition:transform .25s}.service-nav[open] summary>span{transform:rotate(45deg)}
.service-subnav{display:flex;flex-direction:column;padding-left:14px;border-left:1px solid currentColor;margin:8px 0 12px}
.corner-nav{max-height:calc(100svh - 160px);overflow-y:auto;overflow-x:hidden;max-width:205px;padding-left:14px}
.corner-nav .service-nav summary{min-height:28px;font-size:10px;text-transform:uppercase}
.corner-nav .service-subnav a{min-height:32px;line-height:1.4;font-size:10px;max-width:170px;padding:5px 0;text-transform:none}
.corner-nav .service-subnav a:before{display:none}.corner-nav .service-subnav a[aria-current]{text-decoration:underline;text-underline-offset:4px}
#site-menu{overflow-y:auto;overscroll-behavior:contain;padding-bottom:55px;background:var(--sky);color:var(--ink);color-scheme:light}
#site-menu nav{display:flex;flex-direction:column}
#site-menu .service-nav summary{font:38px/1.12 var(--serif);min-height:52px;max-width:500px;color:var(--navy)}
#site-menu .service-subnav{max-width:500px;margin:10px 0 20px;padding-left:20px;border-color:#91a8be}
#site-menu .service-subnav a{font:400 16px/1.4 Interface,Arial,sans-serif;min-height:44px;padding:10px 0}
#site-menu .service-subnav a[aria-current]{text-decoration:underline;text-underline-offset:5px}
#site-menu nav a,#site-menu .close-dialog,#site-menu .menu-contact a{color:var(--ink)}
#site-menu nav a[aria-current]{color:var(--brand-blue)}
#site-menu :is(a,button,summary):focus-visible{outline-color:var(--brand-blue)}
.service-directory{width:60%;margin:0 0 100px 14%;border-top:1px solid var(--line)}
.service-directory>a{display:grid;grid-template-columns:28px 1fr 24px;align-items:center;gap:20px;min-height:75px;padding:20px 0;border-bottom:1px solid var(--line);font:28px/1.15 var(--serif);color:var(--navy)}
.service-directory .service-number{font:11px/1.4 Interface,Arial,sans-serif;color:var(--muted)}
.service-directory>a:hover,.service-directory>a[aria-current]{color:var(--brand-blue)}
.service-directory>a[aria-current]{background:var(--sky)}
.service-card-title{font:400 clamp(30px,3.5vw,48px)/1.1 var(--serif);margin:18px 0}
.service-card-summary{max-width:440px;font-size:14px;line-height:1.7}
.service-heading>.eyebrow{max-width:480px;margin-left:auto;margin-right:auto;line-height:1.6}
.service-copy{width:60%;max-width:860px;margin-left:14%;margin-right:auto}
.service-copy .service-detail{padding:20px 0}.service-detail h2{font-size:clamp(32px,3.7vw,48px);max-width:650px}
.service-copy .service-fees{padding:65px 0 40px;border-top:1px solid var(--line);margin-top:40px}
.service-fees h2{font-size:clamp(32px,3.7vw,48px)}.service-fees dl{margin:35px 0}
.service-fee{display:grid;grid-template-columns:1fr auto;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}
.service-fee dt{font-size:16px;line-height:1.5}.service-fee dt small{display:block;font-size:12px;color:var(--muted);margin-top:8px}
.service-fee dd{margin:0;font:28px/1.3 var(--serif);color:var(--navy);text-align:right}
.service-copy .service-visit{padding:40px 0 65px}.service-visit .under-link{display:table;min-height:44px;padding:12px 0;margin:10px 0}
.service-more>.eyebrow{width:60%;margin:0 0 25px 14%}
@media(max-width:900px){.service-copy{width:68%;margin-left:10%}.corner-nav{right:3vw;max-width:160px}}
@media(max-width:600px){.service-directory{width:84%;margin:0 auto 65px}.service-directory>a{font-size:23px;gap:12px;grid-template-columns:20px 1fr 18px;min-height:75px}.service-card-title{font-size:30px}.service-copy{width:84%;margin-left:auto;margin-right:auto}.service-copy h2{font-size:34px}.service-fee{gap:15px;grid-template-columns:1fr}.service-fee dd{text-align:left;font-size:27px}.service-more>.eyebrow{width:84%;margin:0 auto 25px}#site-menu nav>a,#site-menu .service-nav summary{font-size:34px;min-height:44px}#site-menu .service-subnav a{font-size:15px}#site-menu .menu-contact{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.service-nav summary>span{transition:none}}
.contact-enquiry{width:72%;max-width:960px;margin:100px auto 130px;scroll-margin-top:100px}
@media(min-width:601px){.contact-enquiry{width:60%;margin-left:14%;margin-right:0}}
.contact-enquiry>header{max-width:550px;margin-bottom:45px}
.contact-enquiry h2{font:400 clamp(44px,5.5vw,80px)/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 25px;color:var(--navy)}
.contact-enquiry>header>p:not(.eyebrow){font-size:14px;line-height:1.7}
.enquiry-form{width:100%}.enquiry-names{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.enquiry-field{min-width:0;margin-bottom:28px}.enquiry-field label{display:block;font-size:14px;margin-bottom:12px;color:var(--navy)}
.enquiry-field input,.enquiry-field textarea{display:block;width:100%;min-height:54px;border:1px solid #8097ad;border-radius:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 Interface,Arial,sans-serif;padding:12px 15px;box-shadow:none}
.enquiry-field textarea{min-height:180px;resize:vertical}.enquiry-field input:focus-visible,.enquiry-field textarea:focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px;border-color:var(--brand-blue)}
.enquiry-field .field-help{font-size:11px;color:var(--muted);margin:8px 0 0}
.enquiry-form>.fine-print{margin:0 0 25px}.enquiry-send{display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:54px;min-width:175px;padding:14px 25px;background:var(--brand-blue);color:white;font-size:16px;border:1px solid var(--brand-blue)}
.enquiry-send:disabled{cursor:not-allowed;background:var(--navy);border-color:var(--navy)}
.enquiry-status{font-size:12px;line-height:1.7;max-width:550px;margin-top:20px;color:var(--muted)}.enquiry-status a{text-decoration:underline;text-underline-offset:3px;color:var(--brand-blue)}
@media(max-width:600px){.contact-enquiry{width:84%;margin:70px auto 85px;scroll-margin-top:95px}.contact-enquiry>header{margin-bottom:30px}.contact-enquiry h2{font-size:44px}.enquiry-names{display:block}.enquiry-field{margin-bottom:24px}.enquiry-send{width:100%}.enquiry-field textarea{min-height:190px}}

/* A single centered service column, with consistent image and caption edges. */
body[data-page="services/"] .care-gallery{width:85%;margin-left:auto;margin-right:auto}
body[data-page="services/"] .care-item{width:43.0556%;margin:0 auto clamp(80px,13.889vw,200px);padding:0;text-align:center}
body[data-page="services/"] .care-item .care-photo{width:100%;height:auto}
body[data-page="services/"] .service-card-title{text-wrap:balance}
body[data-page="services/"] .service-card-summary{margin-left:auto;margin-right:auto;text-wrap:pretty}
@media(max-width:600px){body[data-page="services/"] .care-gallery{width:84%}body[data-page="services/"] .care-item{width:100%;margin:0 auto 90px}}
.footer-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 18px;margin:12px auto;font-size:13px}
.footer-navigation a{display:inline-flex;align-items:center;min-height:44px}
.footer-languages a{display:inline-flex;align-items:center;min-height:44px}
.next-page .next-link-long{font-size:clamp(32px,10vw,144px)}
.next-page .next-link-service{font-size:clamp(36px,8vw,115px);line-height:1.05}
.home-visit .contact-grid article>a:not(.under-link){min-height:32px;padding-block:4px}

/* A modest readability increase for desktop body copy, labels and navigation. */
@media(min-width:901px){
 body{font-size:16px}
 .editorial-heading .lead,.home-introduction .lead,.chapter .lead,.team-bio p,
 .questions details>p,.service-card-summary,.promotion-help,
 .promotion-offer>p:not(.eyebrow):not(.promotion-saving),.promotion-coverage-grid article>p:not(.eyebrow),
 .contact-enquiry>header>p:not(.eyebrow){font-size:16px}
 .contact-grid,.recognition-item p{font-size:15px}
 .eyebrow,.editorial-heading .eyebrow,.chapter .eyebrow,.home-introduction .eyebrow,
 .care-item .eyebrow,.opening-note,.team-languages>p{font-size:12px}
 .team-bio .eyebrow,.training-label{font-size:12px!important}
 .fine-print,.candidate-note,footer,.quiet,.film-frame button,.review-controls,.review-controls button,
 .close-dialog,fieldset small,.opening-year,.scroll-note{font-size:12px}
 .header-book,.roll-link,.recognition-item a,.recognition-label,.review-panels article p,
 .contact-grid h2,.map-pin,.rating-location,.rating-source,.service-directory .service-number,
 .enquiry-field .field-help{font-size:13px}
 .under-link,.contact-grid .under-link,.service-parent,.menu-contact,.rating-figures dt,
 .service-fee dt small,.promotion-saving span,.enquiry-status,.team-languages li{font-size:14px}
 .solid-link{font-size:15px}
 .corner-nav{width:190px;max-width:190px}
 .corner-nav>a,.corner-nav .service-nav summary{font-size:13px;min-height:28px}
 .corner-nav .service-subnav a{font-size:12px;min-height:34px;line-height:1.45}
}
@media(min-width:901px) and (max-width:1199px){.corner-nav{right:3vw}}

/* Shared vector link icons: consistent strokes and colour on every platform. */
.ui-icon{display:inline-block;width:16px;height:16px;max-width:none;max-height:none;vertical-align:-.15em;flex:none;pointer-events:none;transition:transform .35s var(--ease)}
.header-book .ui-icon{width:17px;height:17px}.header-book>span{display:flex;align-items:center}
.service-directory .ui-icon{width:18px;height:18px}.service-card-title .ui-icon{width:.55em;height:.55em;vertical-align:.02em}
.service-copy .ui-icon{width:16px;height:16px;max-width:none;max-height:none}
.mobile-book .ui-icon{width:14px;height:14px;margin-left:8px}.map-pin .ui-icon{width:13px;height:13px}
.image-follow .ui-icon{width:14px;height:14px}.scroll-note .ui-icon{width:13px;height:13px;margin-left:5px}
.corner-nav a:before{width:9px;height:1px;background:currentColor;top:50%}
.roll-link:before{display:inline-block;width:16px;height:16px;margin-right:12px;vertical-align:-.2em;background:currentColor;mask:url('./assets/icons/arrow-right.svg') center/contain no-repeat}
.roll-link .roll-copy{left:28px}
.next-link:after{width:26px;height:26px;background:currentColor;mask:url('./assets/icons/arrow-up-right.svg') center/contain no-repeat}
@media(hover:hover){a:hover .ui-icon-arrow-up-right,button:hover .ui-icon-arrow-up-right{transform:translate(2px,-2px)}}
@media(prefers-reduced-motion:reduce){.ui-icon{transition:none}a:hover .ui-icon,button:hover .ui-icon{transform:none}}

/* Canada Life supplies white artwork; render it in navy on the white insurer strip. */
.insurer-mark.canada-life img{filter:brightness(0) saturate(100%) invert(17%) sepia(27%) saturate(1610%) hue-rotate(175deg) brightness(92%) contrast(94%)}

/* Local spacing fix: preserve the handwritten overlap with the display heading,
   but leave a clear gap before the whitening description. */
body[data-page=""] .feature-split .script-word{margin-bottom:16px}
/* Deliberate brand colours; no pixel inversion, backdrop panel or gradient. */
.monogram,.header-book,.header-book:hover,.menu-toggle,.corner-nav,.corner-nav a,.corner-nav summary,.corner-nav a[aria-current]{color:var(--brand-blue);mix-blend-mode:normal}
.monogram small,.corner-nav a:before{color:inherit}
.monogram.over-dark,.header-book.over-dark,.header-book.over-dark:hover,.menu-toggle.over-dark,.corner-nav a.over-dark,.corner-nav a.over-dark[aria-current],.corner-nav summary.over-dark{color:#fff;mix-blend-mode:normal}
.monogram.over-dark small{color:inherit}
.corner-nav,.light-opening .corner-nav{padding:0 0 0 14px}
.corner-nav .service-subnav.over-dark{color:#fff}
.corner-nav a,.corner-nav summary,.corner-nav .service-subnav{transition:none}
a[href^="tel:"]:not(.mobile-book>a):not(.roll-link){font:inherit;letter-spacing:inherit;font-variant-numeric:normal;color:var(--brand-blue)}
.contact-grid a[href^="tel:"],.contact-grid a[href^="mailto:"]{font:inherit;letter-spacing:inherit;color:var(--brand-blue)}

/* Sidebar summary uses the same typography as the surrounding navigation links. */
.corner-nav .service-nav summary{font-family:Interface,Arial,sans-serif;font-weight:400;line-height:1.2;letter-spacing:0}
/* Hide only the enhanced title until its font is ready; no-JS remains visible. */
.wordmark-pending .wordmark{opacity:0}
@media(prefers-reduced-motion:reduce){.wordmark-pending .wordmark{opacity:1}}
/* Rating and individual voices form a single uninterrupted review section. */
.voices>h2.eyebrow{font:400 12px/1.5 Interface,Arial,sans-serif;letter-spacing:0;color:var(--navy);margin-bottom:20px}
.voices .google-rating-summary{border:0;padding:0 20px 8px;margin:0 auto 28px}
.voices .rating-location{margin-bottom:14px}
.voices .rating-figures{margin:18px 0 20px}
.voices .review-panels{padding-top:8px}
@media(max-width:600px){.voices>h2.eyebrow{font-size:10px}.voices .google-rating-summary{padding:0 0 8px;margin-bottom:24px}}

/* Blend actual pages instead of covering navigation with a coloured curtain. */
/* Home contains the full team and a single place to find and contact the studios. */
.home-team,.home-visit{scroll-margin-top:100px}
.home-team>.chapter{padding-bottom:25px}
.home-team .team-bio h3{font:400 54px/1 var(--serif);letter-spacing:-.035em;margin:0 0 25px}
.home-team .team-bio:last-child{border-bottom:0}
.home-visit{margin-top:100px}
.home-visit>.chapter{padding-bottom:55px}
.home-visit .contact-map,.home-visit .contact-grid,.home-visit .contact-enquiry{width:60%;margin-left:14%;margin-right:0}
.home-visit .contact-grid{grid-template-columns:1fr 1fr;gap:45px;margin-top:55px;margin-bottom:60px}
.home-visit .contact-grid article{scroll-margin-top:110px}
.home-visit .contact-grid article:last-child{grid-column:1/-1}
.home-visit .contact-grid h3{font:400 13px/1.5 Interface,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;margin:0 0 22px}
.home-visit .contact-enquiry{margin-top:0;padding-top:50px;border-top:1px solid var(--line)}
@media(max-width:900px){.home-team .team-bio h3{font-size:48px}}
@media(max-width:600px){.home-team,.home-visit{scroll-margin-top:95px}.home-team .team-bio h3{font-size:42px}.home-visit{margin-top:65px}.home-visit .contact-map,.home-visit .contact-grid,.home-visit .contact-enquiry{width:84%;margin-left:auto;margin-right:auto}.home-visit .contact-grid{display:block;margin-top:45px;margin-bottom:35px}.home-visit .contact-grid article{margin-bottom:40px}.home-visit .contact-enquiry{padding-top:40px}.home-visit .map-pin{font-size:11px;padding:9px 11px}}

/* Actual page panels move in one direction; the incoming page travels half as far. */
@property --page-edge{syntax:"<length>";inherits:true;initial-value:0px}
:root{--page-duration:2000ms;--page-ease:cubic-bezier(.87,0,.13,1);--leave-shift:-100svh;--arrive-shift:50svh}
:root[data-page-direction="back"]{--leave-shift:100svh;--arrive-shift:-50svh}
@view-transition{navigation:auto}
/* Give the compositor an opaque canvas while page snapshots move. */
html{background:var(--paper)}
.cover-page>img[data-render-preview]{background-size:cover;background-position:center;background-repeat:no-repeat}
@media(max-width:600px){.cover-page>img[data-render-preview]{background-position:45%}}
::view-transition{background:var(--paper)}
::view-transition-old(root),::view-transition-new(root){background:var(--paper);backface-visibility:hidden}
.transition-preparing::view-transition,.transition-preparing::view-transition-group(*),.transition-preparing::view-transition-old(*),.transition-preparing::view-transition-new(*){animation-play-state:paused!important}
::view-transition{animation:page-edge-up var(--page-duration) var(--page-ease) both}
:root[data-page-direction="back"]::view-transition{animation-name:page-edge-down}
::view-transition-group(*){animation:none}
.nav-indicator{view-transition-name:site-nav-indicator}
::view-transition-group(site-nav-indicator){animation-name:revert;animation-duration:var(--page-duration);animation-timing-function:var(--page-ease);animation-fill-mode:both}
::view-transition-old(site-nav-indicator),::view-transition-new(site-nav-indicator){animation-duration:var(--page-duration);mix-blend-mode:normal}
::view-transition-image-pair(root){isolation:isolate}
::view-transition-old(root){z-index:2;animation:page-depart var(--page-duration) var(--page-ease) both;mix-blend-mode:normal}
::view-transition-new(root){z-index:1;animation:page-arrive var(--page-duration) var(--page-ease) both;mix-blend-mode:normal}
.monogram{view-transition-name:site-logo}.header-book{view-transition-name:site-book}.menu-toggle{view-transition-name:site-menu-toggle}.corner-nav{view-transition-name:site-navigation}.mobile-book{view-transition-name:site-mobile-book}
::view-transition-group(site-logo){--control-bottom:var(--control-logo-bottom)}
::view-transition-group(site-book){--control-bottom:var(--control-book-bottom)}
::view-transition-group(site-menu-toggle){--control-bottom:var(--control-toggle-bottom)}
::view-transition-group(site-navigation){--control-bottom:var(--control-navigation-bottom)}
::view-transition-group(site-mobile-book){--control-bottom:var(--control-mobile-bottom)}
::view-transition-old(site-logo),::view-transition-old(site-book),::view-transition-old(site-menu-toggle),::view-transition-old(site-navigation),::view-transition-old(site-mobile-book){animation:none;mix-blend-mode:normal;height:auto;top:auto;bottom:0;clip-path:inset(0 0 clamp(0px,calc(100svh - var(--page-edge) - var(--control-bottom)),100%) 0)}
::view-transition-new(site-logo),::view-transition-new(site-book),::view-transition-new(site-menu-toggle),::view-transition-new(site-navigation),::view-transition-new(site-mobile-book){animation:none;mix-blend-mode:normal;height:auto;top:auto;bottom:0;clip-path:inset(clamp(0px,calc(var(--page-edge) - 100svh + var(--control-bottom) + 100%),100%) 0 0 0)}
:root[data-page-direction="back"]::view-transition-old(site-logo),:root[data-page-direction="back"]::view-transition-old(site-book),:root[data-page-direction="back"]::view-transition-old(site-menu-toggle),:root[data-page-direction="back"]::view-transition-old(site-navigation),:root[data-page-direction="back"]::view-transition-old(site-mobile-book){clip-path:inset(clamp(0px,calc(var(--page-edge) - 100svh + var(--control-bottom) + 100%),100%) 0 0 0)}
:root[data-page-direction="back"]::view-transition-new(site-logo),:root[data-page-direction="back"]::view-transition-new(site-book),:root[data-page-direction="back"]::view-transition-new(site-menu-toggle),:root[data-page-direction="back"]::view-transition-new(site-navigation),:root[data-page-direction="back"]::view-transition-new(site-mobile-book){clip-path:inset(0 0 clamp(0px,calc(100svh - var(--page-edge) - var(--control-bottom)),100%) 0)}
@keyframes page-edge-up{from{--page-edge:100svh}to{--page-edge:0px}}
@keyframes page-edge-down{from{--page-edge:0px}to{--page-edge:100svh}}
@keyframes page-depart{from{transform:translateY(0)}to{transform:translateY(var(--leave-shift))}}
@keyframes page-arrive{from{transform:translateY(var(--arrive-shift))}to{transform:translateY(0)}}
@keyframes page-content-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.page-fade-fallback main,.page-fade-fallback .next-page,.page-fade-fallback footer{animation:page-content-in 500ms ease both}
@media(max-width:600px){:root{--page-duration:1200ms}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition,::view-transition-old(*),::view-transition-new(*),::view-transition-group(*){animation:none!important}}

/* Room for addresses, hours and actions without crowding the fixed navigation. */
body[data-page="contact/"] .contact-heading{padding-bottom:90px}
body[data-page="contact/"] .contact-grid{width:60%;margin:0 0 110px 14%;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(45px,6vw,100px);row-gap:70px;font-size:16px;line-height:1.8}
body[data-page="contact/"] .contact-grid article:last-child{width:auto;grid-column:auto}
body[data-page="contact/"] .contact-grid h2{font-size:13px;line-height:1.5;margin-bottom:26px}
body[data-page="contact/"] .contact-grid address{margin-bottom:26px}
body[data-page="contact/"] .contact-grid p{margin-bottom:26px}
body[data-page="contact/"] .contact-grid a{width:fit-content;max-width:100%;overflow-wrap:anywhere}
body[data-page="contact/"] .contact-grid article:last-child>a{margin-bottom:12px}
body[data-page="contact/"] .contact-grid .under-link{font-size:14px;min-height:44px;margin-bottom:8px}
body[data-page="contact/"] .contact-map{width:60%;margin-left:14%;margin-right:0}
@media(max-width:600px){body[data-page="contact/"] .contact-heading{padding-bottom:65px}body[data-page="contact/"] .contact-grid{display:grid;grid-template-columns:1fr;width:84%;margin:0 auto 80px;gap:52px;font-size:15px;line-height:1.8}body[data-page="contact/"] .contact-grid article{margin:0}body[data-page="contact/"] .contact-grid a{margin-left:auto;margin-right:auto}body[data-page="contact/"] .contact-map{width:84%;margin:0 auto}}

/* A single navigation arrow moves between current destinations. */
.corner-nav a:before{display:none}
.nav-indicator{position:absolute;left:0;top:0;width:12px;height:12px;background:var(--brand-blue);mask:url('./assets/icons/arrow-right.svg') center/contain no-repeat;pointer-events:none}
.nav-indicator.over-dark{background:#fff}
.indicator-ready .nav-indicator{transition:transform 650ms cubic-bezier(.22,1,.36,1)}
/* Give the curly apostrophe its own space, including without JavaScript. */
.title-apostrophe{display:inline-block;margin-left:.07em;margin-right:.025em;letter-spacing:0}
/* Paired actions share one baseline, uppercase label and leading arrow. */
.chapter-links .roll-link:before{transition:transform .45s var(--ease),opacity .3s;vertical-align:-.2em}
.chapter-links .roll-link:after{content:'';position:absolute;left:0;top:calc(50% - 8px);width:16px;height:16px;background:currentColor;mask:url('./assets/icons/arrow-right.svg') center/contain no-repeat;opacity:0;transform:translateX(-12px);transition:transform .45s var(--ease),opacity .3s}
.chapter-links .roll-link:is(:hover,:focus-visible):before{opacity:0;transform:translateX(12px)}
.chapter-links .roll-link:is(:hover,:focus-visible):after{opacity:1;transform:translateX(0);transition-delay:.08s}
.ui-icon{overflow:hidden}
.ui-icon-arrow-up-right{--arrow-exit:translate(12px,-12px);--arrow-enter:translate(-12px,12px)}
.ui-icon-arrow-right{--arrow-exit:translateX(12px);--arrow-enter:translateX(-12px)}
a:is(:hover,:focus-visible) .ui-icon,button:is(:hover,:focus-visible) .ui-icon{transform:none}
a:is(:hover,:focus-visible) .ui-icon-arrow-up-right path,a:is(:hover,:focus-visible) .ui-icon-arrow-right path,button:is(:hover,:focus-visible) .ui-icon-arrow-up-right path{animation:action-arrow-pass .55s var(--ease)}
@keyframes action-arrow-pass{0%{transform:none;opacity:1}45%{transform:var(--arrow-exit);opacity:0}46%{transform:var(--arrow-enter);opacity:0}100%{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.indicator-ready .nav-indicator{transition:none}.chapter-links .roll-link:after{display:none}.chapter-links .roll-link:is(:hover,:focus-visible):before{opacity:1;transform:none}}

/* Policy documents retain the brand while prioritising comfortable reading. */
/* Preserve the profile layout; give text-bearing credential artwork its own rows. */
.home-team .credential-strip{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.home-team .credential-strip img{display:block;width:auto;max-width:min(100%,280px);height:auto;max-height:none;object-fit:contain}
.home-team .team-training{margin-top:32px}
.home-team .team-bio:nth-child(even){margin-left:0}
@media(min-width:1200px){
 .home-team .people-story{width:72%;max-width:1000px}
 .home-team .team-bio{grid-template-columns:230px minmax(0,1fr);gap:80px;align-items:start}
 .home-team .bio-portrait{margin-top:52px}
}
@media(max-width:600px){
 .home-team .team-bio{text-align:center}
 .home-team .bio-portrait{display:block;margin-left:auto;margin-right:auto}
 .home-team .team-bio p{margin-left:auto;margin-right:auto}
 .home-team .team-languages ul{justify-content:center}
 .home-team .credential-strip{align-items:center}
}
.footer-policies{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin-top:18px}
.footer-policies a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.policy-heading,.policy-copy{width:60%;max-width:760px;margin-left:14%;margin-right:auto}
.policy-heading{padding-top:190px;margin-bottom:64px}
.policy-heading h1{font:400 clamp(42px,5.5vw,76px)/1.08 var(--serif);letter-spacing:-.035em;margin-bottom:28px}
.policy-heading>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:620px}
.policy-heading .policy-date{font-size:13px!important;margin-top:22px;color:var(--muted)}
.policy-copy{padding-bottom:90px;font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.policy-copy section{margin-bottom:42px}
.policy-copy h2{font:400 32px/1.2 var(--serif);margin-bottom:20px}
.policy-copy p+p{margin-top:18px}
.policy-copy a{text-decoration:underline;text-underline-offset:4px;color:var(--brand-blue)}
.booking-policy{font-size:14px;line-height:1.65;padding:18px 0;margin-bottom:20px;border-top:1px solid var(--line)}
.booking-policy a{text-decoration:underline;text-underline-offset:3px}
.home-service-overview{width:60%;max-width:880px;margin:120px auto;text-align:center}
.home-service-overview header{margin-bottom:65px}
.home-service-overview h2{font:400 clamp(48px,7vw,100px)/1.07 var(--serif);letter-spacing:-.035em;margin:0}
.illustrated-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 48px}
.illustrated-service{display:flex;flex-direction:column;align-items:center;color:var(--navy);padding:12px 10px 26px;border-bottom:1px solid var(--line)}
.service-drawing{display:block;width:170px;height:170px;max-width:100%;margin-bottom:24px;color:var(--brand-blue);transition:transform .65s var(--ease)}
.illustrated-service h3{font:400 34px/1.15 var(--serif);letter-spacing:-.025em;margin:0 0 18px}
.illustrated-service p{font-size:16px;line-height:1.7;max-width:270px;margin:0 auto 22px}
.service-explore{font-size:12px;line-height:1.7;letter-spacing:.055em;text-transform:uppercase;color:var(--brand-blue);margin-top:auto;display:flex;align-items:center;gap:13px}
.illustrated-service:is(:hover,:focus-visible) .service-drawing{transform:translateY(-5px)}
.illustrated-service:is(:hover,:focus-visible) h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.home-service-overview>.chapter-links{margin-top:44px}
@media(max-width:1199px) and (min-width:601px){.home-service-overview{width:54%}.illustrated-services{gap:40px 24px}.illustrated-service h3{font-size:28px}.illustrated-service p{font-size:15px}.service-drawing{width:145px;height:145px}}
@media(max-width:600px){.home-service-overview{width:84%;margin:85px auto}.home-service-overview h2{font-size:11vw}.home-service-overview header{margin-bottom:35px}.illustrated-services{grid-template-columns:1fr;gap:32px}.service-drawing{width:155px;height:155px}.illustrated-service h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){.service-drawing{transition:none}.illustrated-service:is(:hover,:focus-visible) .service-drawing{transform:none}}
@media(max-width:600px){.policy-heading,.policy-copy{width:84%;margin-left:auto;margin-right:auto}.policy-heading{padding-top:160px;margin-bottom:42px}.policy-heading h1{font-size:44px}.policy-copy,.policy-heading>p:not(.eyebrow){font-size:16px}.policy-copy h2{font-size:29px}.footer-policies{gap:0 20px}}

/* The journal preserves the clinic's articles in the current editorial design. */
.journal-article,.journal-index{width:60%;max-width:900px;margin:0 auto 100px 14%;padding-top:180px;overflow-wrap:anywhere}
.journal-heading{margin-bottom:44px}.journal-heading h1{font:400 clamp(38px,4.4vw,68px)/1.1 var(--serif);letter-spacing:-.025em;margin:25px 0 28px}
.journal-heading>p{font-size:17px;line-height:1.75;max-width:650px}.journal-heading .journal-meta{font-size:13px;line-height:1.65;margin:6px 0}
.journal-feature{margin:0 0 32px}.journal-feature img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:var(--paper)}
.journal-feature figcaption{font-size:13px;line-height:1.7;margin-top:12px}.journal-archive-note{border-left:2px solid var(--brand-blue);padding:16px 22px;margin:0 0 40px;background:#edf5fb;font-size:14px;line-height:1.8}
.journal-body{font-size:18px;line-height:1.85;max-width:720px}.journal-body p,.journal-body ul,.journal-body ol,.journal-body blockquote{margin-bottom:24px}.journal-body ul,.journal-body ol{padding-left:25px}.journal-body li+li{margin-top:8px}
.journal-body h2,.journal-body h3,.journal-body h4{font-family:var(--serif);font-weight:400;line-height:1.22;margin:42px 0 20px}.journal-body h2{font-size:36px}.journal-body h3{font-size:30px}.journal-body h4{font-size:26px}.journal-body table{width:100%;border-collapse:collapse;font-size:16px}.journal-body td,.journal-body th{padding:12px;border:1px solid #c5d3e3;text-align:left}
.journal-body a,.journal-archive-note a,.journal-topics a{text-decoration:underline;text-underline-offset:4px;color:var(--brand-blue)}.journal-topics{display:flex;flex-wrap:wrap;gap:14px 24px;font-size:13px;line-height:1.6;margin:45px 0}
.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 32px}.journal-card a{display:block}.journal-card img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;margin-bottom:22px}.journal-card time{display:block;font-size:12px;margin-bottom:12px}.journal-card h2{font:400 clamp(26px,2.4vw,36px)/1.18 var(--serif);margin-bottom:22px}.journal-read{font-size:13px;text-transform:uppercase;letter-spacing:.06em;display:inline-flex;gap:12px;align-items:center}.journal-read .ui-icon{transition:transform .3s}.journal-card a:is(:hover,:focus-visible) .ui-icon{transform:translateX(5px)}
.journal-pagination{display:flex;flex-wrap:wrap;gap:10px;margin-top:60px}.journal-pagination a{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor}.journal-pagination a[aria-current]{background:var(--brand-blue);color:white}
@media(max-width:600px){.journal-article,.journal-index{width:84%;margin:0 auto 75px;padding-top:150px}.journal-heading h1{font-size:38px}.journal-heading>p,.journal-body{font-size:16px}.journal-body h2{font-size:30px}.journal-body h3{font-size:27px}.journal-archive-note{font-size:13px;padding:14px 16px}.journal-grid{grid-template-columns:1fr;gap:44px}.journal-card h2{font-size:30px}.journal-feature{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.journal-read .ui-icon{transition:none}}

/* Existing Korean passages use native Hangul fonts and their own language tags.
   These rules affect only the preserved language pages. */
.language-nav{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:48px;font-size:14px;line-height:1.8}
.language-nav a{padding:7px 0;border-bottom:1px solid transparent}
.language-nav a[aria-current],.language-nav a:hover{border-color:currentColor}
.language-page [lang="ko"]{font-family:system-ui,"Malgun Gothic",sans-serif;letter-spacing:normal;word-break:keep-all;overflow-wrap:anywhere}
.language-page h1[lang="ko"]{font-size:clamp(32px,3.6vw,54px);line-height:1.4}
.language-page .journal-body[lang="ko"] h2{font-family:inherit;font-size:28px;line-height:1.5}
.language-page .journal-body[lang="ko"]{line-height:1.95}
.language-page [lang="zh-Hans"]{font-family:system-ui,"Microsoft YaHei",sans-serif;letter-spacing:normal;line-height:1.95}
.language-page .journal-body[lang="zh-Hans"] h2{font-family:inherit;font-size:clamp(24px,2.5vw,28px);line-height:1.5}
.legacy-anchor{display:block;height:0;scroll-margin-top:100px}
/* Keep user-expanded text spacing readable without widening the page. */
.home-introduction h2,body[data-page="studio/"] .chapter h2,.review-panels blockquote{overflow-wrap:anywhere}
.home-introduction .type-word,body[data-page="studio/"] .chapter .type-word{max-width:100%;white-space:normal}
@media(max-width:1000px){.recognition-item h3{overflow-wrap:anywhere}}
.language-page .location-actions{margin-top:36px}
.language-intro{font-size:18px;line-height:1.8;margin-bottom:32px}
.language-questions.questions{width:100%;margin:0 0 40px}
.language-questions summary{font-family:inherit;font-size:21px;line-height:1.6}
.language-questions details p{font-size:17px;line-height:1.9}
.language-location{margin-top:60px}
.language-location .location-details,.language-location .location-services,.language-location .location-help{width:100%;margin-left:0;margin-right:0}
.language-gallery.results-gallery,.language-directory.site-directory{width:100%;margin:40px 0}
.language-gallery img{object-fit:contain}
.language-booking>p,.language-page>p{line-height:1.8;margin-bottom:24px}
.language-booking h2{font:400 42px/1.2 var(--serif);margin-bottom:28px}
.language-articles{list-style:none;padding:0;margin-top:36px}
.language-articles li{padding:20px 0;border-bottom:1px solid #c5d3e3;line-height:1.7}
.language-articles a{font-size:18px;text-decoration:underline;text-underline-offset:4px}
.language-articles time{display:block;font-size:13px;margin-top:8px}
@media(max-width:600px){.language-nav{gap:8px 18px;margin-bottom:32px}.language-questions summary{font-size:18px}.language-page .journal-body[lang="ko"] h2{font-size:24px}.language-intro,.language-questions details p{font-size:16px}}

/* Original location and results URLs, using the approved editorial rhythm. */
.editorial-heading:is(.location-heading,.results-heading) .script-word{margin:8px auto -10px}
.location-details,.location-services,.location-help,.results-gallery,.site-directory{width:60%;max-width:900px;margin:0 auto 90px 14%}
.location-details{display:grid;grid-template-columns:1.3fr 1fr;gap:50px}.location-details h2,.location-services>h2,.location-help h2,.site-directory h2{font:400 clamp(30px,3vw,42px)/1.2 var(--serif);margin-bottom:26px}.location-details p,.location-details address,.location-help p{font-size:17px;line-height:1.8;margin-bottom:24px}.location-details address{font-style:normal}.location-details .fine-print{font-size:13px;margin-top:22px}.location-actions{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}
.location-services ul{list-style:none;padding:0}.location-services li{border-bottom:1px solid #c5d3e3}.location-services li:first-child{border-top:1px solid #c5d3e3}.location-services li>a{display:block;position:relative;padding:28px 42px 28px 0}.location-services h3{font:400 28px/1.25 var(--serif);margin-bottom:10px}.location-services li p{font-size:16px;line-height:1.7;max-width:650px}.location-services li>a>span{position:absolute;right:0;top:35px;transition:transform .3s}.location-services li>a:is(:hover,:focus-visible)>span{transform:translateX(5px)}
.results-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 30px}.results-gallery figure{margin:0}.results-gallery img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.results-gallery figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;line-height:1.7;margin-top:18px}.results-gallery figcaption .under-link{font-size:12px}
.site-directory section{margin-bottom:50px}.site-directory ul{list-style:none;padding:0}.site-directory li{font-size:16px;line-height:1.7;margin-bottom:15px}.site-directory a{text-decoration:underline;text-underline-offset:4px;color:var(--brand-blue)}
@media(max-width:1000px){.location-details{grid-template-columns:1fr;gap:30px}.results-gallery{grid-template-columns:1fr}}
@media(max-width:600px){.location-details,.location-services,.location-help,.results-gallery,.site-directory{width:84%;margin:0 auto 65px}.location-details p,.location-details address,.location-help p{font-size:16px}.location-actions{align-items:flex-start;flex-direction:column}.results-gallery{gap:40px}.site-directory li{font-size:15px}}
@media(prefers-reduced-motion:reduce){.location-services li>a>span{transition:none}}

/* Short, medium-width windows include desktop browser zoom at 175–200%.
   Use the existing menu when the fixed sidebar would cover the hero. */
@media(min-width:601px) and (max-height:800px){
 .corner-nav{display:none}
 .menu-toggle{display:block;position:fixed;right:6.25vw;top:26px;min-height:44px;padding:8px 0 8px 15px;font-size:12px;text-transform:uppercase;z-index:23}
 .header-book{right:calc(6.25vw + 100px)}
 .home-opening{padding-top:max(15.4167vw,155px)}
 .opening-note{top:95px}
 .opening-year{writing-mode:horizontal-tb;top:max(39vw,260px)}
 .scroll-note{top:calc(max(39vw,260px) + 44px);bottom:auto}
}

/* Approved discovery navigation and promotion spotlight. */
.nav-utilities{width:100%}
.service-nav[data-expanded="false"] summary>span{transform:rotate(0)}
.service-nav[data-expanded="true"] summary>span{transform:rotate(45deg)}
.nav-utilities .service-nav{display:block;margin:0}
.nav-utilities summary{width:100%;box-sizing:border-box}
.service-nav summary>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px}
.corner-nav .nav-utilities{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.corner-nav .discovery-nav .service-subnav a{min-height:28px}
body[data-page=""] .corner-nav:has(.discovery-nav[open]),body[data-page=""] .corner-nav:has(.language-menu[open]){max-height:50svh}
.corner-nav .nav-utilities summary{font-size:13px;min-height:32px;text-transform:uppercase;letter-spacing:0}
.corner-nav .nav-utilities summary:focus-visible{outline-offset:-2px}
.footer-languages{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;font-size:13px;margin:22px auto}
.context-reading{width:60%;max-width:900px;margin:80px 0 110px 14%;color:var(--brand-blue)}
.context-reading>.eyebrow{margin-bottom:24px}
.context-reading>div{display:flex;gap:24px 44px;flex-wrap:wrap}
.context-reading a,.studio-detail-link a{display:inline-flex;align-items:center;gap:12px;font:300 16px/1.6 Interface,Arial,sans-serif;padding:10px 0;border-bottom:1px solid #d6e2ee}
.context-reading a span,.studio-detail-link a span{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.context-reading a:hover span,.context-reading a:focus-visible span,.studio-detail-link a:hover span,.studio-detail-link a:focus-visible span{transform:translateX(5px)}
.studio-detail-link{margin:0 0 24px!important}
.language-intro{font-size:14px!important;line-height:1.7}
#site-menu .nav-utilities{max-width:500px;margin-top:26px;padding-top:18px;border-top:1px solid #c5d3e3}
#site-menu .nav-utilities summary{font:400 28px/1.2 var(--serif);min-height:48px;color:var(--navy)}
#booking-dialog[open]{animation:none}
#booking-dialog[data-motion="opening"]::backdrop{animation:booking-backdrop-in 520ms cubic-bezier(.25,.8,.25,1) both}
#booking-dialog[data-motion="closing"]::backdrop{animation:booking-backdrop-out 220ms cubic-bezier(.4,0,1,1) both}
@keyframes booking-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes booking-backdrop-out{from{opacity:var(--backdrop-from,1)}to{opacity:0}}
@media(prefers-reduced-motion:reduce){#booking-dialog::backdrop{animation:none!important}}
@media(max-width:600px){.context-reading{width:84%;margin:55px auto 75px}.context-reading>div{gap:15px 28px}.footer-languages{width:84%;line-height:1.6}.context-reading a{font-size:15px}.journal-topics{gap:14px 22px}}
@media(prefers-reduced-motion:reduce){.context-reading a span,.studio-detail-link a span{transition:none}}

/* Promotion emphasis within the existing visual language. */
.promotion-spotlight{background:var(--sky,#edf4fa);color:var(--navy);padding:75px 0 85px;margin:25px 0 105px}
.promotion-spotlight>.eyebrow,.promotion-spotlight-layout{width:62%;margin-left:14%}
.promotion-spotlight>.eyebrow{margin-bottom:42px}
.promotion-spotlight-layout{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:5vw}
.promotion-spotlight-saving{font:400 clamp(105px,12vw,185px)/.85 var(--serif);letter-spacing:-.06em;margin:0;color:var(--brand-blue)}
.promotion-spotlight-saving .percent{font-size:.55em;vertical-align:top;line-height:1.1;letter-spacing:-.04em}
.promotion-spotlight-saving .saving-label{display:block;font:400 clamp(24px,2.5vw,36px)/1.25 Interface,Arial,sans-serif;letter-spacing:.02em;margin:22px 0 0 5px;text-transform:uppercase}
.promotion-spotlight-copy h2{font:400 clamp(38px,4.2vw,66px)/1.06 var(--serif);letter-spacing:-.025em;margin:0 0 25px}
.promotion-spotlight-copy>p{font:300 17px/1.7 Interface,Arial,sans-serif;max-width:350px;margin-bottom:25px}
.promotion-spotlight-copy .under-link{font-size:16px;min-height:44px;align-items:center;gap:15px}
.promotion-spotlight-copy .fine-print{font-size:12px;line-height:1.7;margin:24px 0 0}
@media(max-width:900px){.promotion-spotlight-layout{grid-template-columns:1fr;gap:45px}.promotion-spotlight>.eyebrow,.promotion-spotlight-layout{width:62%;margin-left:10%}.promotion-spotlight-saving{font-size:145px}}
@media(max-width:600px){.promotion-spotlight{padding:55px 0 60px;margin:0 0 65px}.promotion-spotlight>.eyebrow,.promotion-spotlight-layout{width:84%;margin-left:auto;margin-right:auto}.promotion-spotlight>.eyebrow{margin-bottom:35px}.promotion-spotlight-layout{gap:38px}.promotion-spotlight-saving{font-size:125px}.promotion-spotlight-copy h2{font-size:42px}.promotion-spotlight-copy>p{font-size:16px}.promotion-spotlight-copy .fine-print{font-size:12px}}
/* BRD-5: approved v1 artwork at 44px visible symbol height. Typography unchanged. */
.monogram{width:50px;height:64px;padding:0;letter-spacing:0}
.monogram .brand-logo{position:absolute;left:-20px;top:0;width:90px;height:76px;max-width:none}
.monogram .brand-logo-white{display:none}
.monogram.over-dark .brand-logo-blue{display:none}
.monogram.over-dark .brand-logo-white{display:block}
.footer-brand{display:block;width:90px;height:76px;margin:0 auto 18px}
.footer-brand img{display:block;width:90px;height:76px}
@media(max-width:760px){.monogram{left:calc(50% - 25px)}}

/* Owner-requested single-studio scope and readable promotion names. */
.promotion-label{font:400 clamp(24px,2.4vw,36px)/1.3 Interface,Arial,sans-serif!important;letter-spacing:0;text-transform:none;margin-bottom:28px}
.contact-map .map-frame{aspect-ratio:600/320}
.contact-map .map-frame img{width:100%;height:100%;object-fit:contain}
.contact-map .map-pin.burnaby{left:50%;top:62%;transform:translateX(-50%)}
.booking-address{font-size:22px;line-height:1.5;margin:26px 0}
@media(min-width:601px){.contact-grid{grid-template-columns:1fr 1fr}.contact-grid article:last-child,.home-visit .contact-grid article:last-child{grid-column:auto}}
@media(min-width:1001px){.corner-nav{width:210px;max-width:210px}}
@media(max-width:600px){.promotion-label{font-size:24px!important}.contact-map .map-frame{aspect-ratio:600/420}.contact-map .map-pin.burnaby{top:62%}}
