:root{--ink:#282820;--muted:#6e6d63;--gold:#8a682d;--line:#e6e1d6;--ivory:#f8f6f0;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,.serif{font-family:var(--serif)}h1{font-size:clamp(3.4rem,5.5vw,5.8rem);line-height:1.08;letter-spacing:-.055em}h2{font-size:clamp(2.5rem,4vw,4.3rem);line-height:1.13;letter-spacing:-.04em}h3{font-size:1.4rem;line-height:1.3}em{color:var(--gold);font-weight:400}p{color:var(--muted)}.wrap{max-width:1400px;margin-inline:auto;padding-inline:5.5%}.eyebrow{display:block;color:var(--gold);font-size:.75rem;letter-spacing:.2em;font-weight:600;text-transform:uppercase}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:10px}.skip:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.topline{background:var(--ink);color:#f5f2e9;display:flex;justify-content:space-between;padding:7px 5.5%;font-size:.75rem;letter-spacing:.07em}.site-header{position:sticky;top:0;background:#fffffffa;z-index:30;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%}.brand b{font-family:var(--serif);font-weight:400;letter-spacing:.08em;font-size:1.55rem}.brand small{display:block;color:var(--gold);font-size:.65rem;letter-spacing:.35em;line-height:1.3}.nav{display:flex;align-items:center;gap:25px;font-size:.875rem}.nav a{padding:12px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:var(--gold);color:var(--gold)}.header-tools{display:flex;align-items:center;gap:20px;font-size:.8rem}.lang{letter-spacing:.08em}.header-contact{border-bottom:1px solid var(--gold);padding-block:8px}.menu-toggle{display:none;background:none;border:1px solid var(--line);height:44px;width:48px;font-size:20px}.hero{background:var(--ivory);display:grid;grid-template-columns:1.04fr 1fr;min-height:660px}.hero-copy{padding:80px 10% 60px 11%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{margin:28px 0}.hero p{max-width:470px;font-size:1.02rem;line-height:1.8}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--gold);color:white;min-height:54px;padding:14px 25px;font-size:.875rem;border:1px solid var(--gold);transition:background .2s}.button:hover{background:#6c501f}.button.outline{background:transparent;color:var(--ink);border-color:#b9a887}.text-link{font-size:.875rem;padding:12px 0;border-bottom:1px solid var(--gold)}.hero-media{position:relative;overflow:hidden;min-height:600px;margin:0}.hero-media img{height:100%;width:100%;object-fit:cover;object-position:center 35%;position:absolute}.hero-media figcaption{position:absolute;right:20px;bottom:12px;font-size:.7rem;color:#45443a;background:#ffffffe5;padding:3px 8px}.hero-foot{display:flex;gap:35px;font-size:.7rem;letter-spacing:.12em;color:var(--muted);margin-top:46px}.hero-foot span{border-left:1px solid #c9b68e;padding-left:14px}.principle-bar{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding-block:24px;gap:20px;font-size:.85rem}.principle-bar span{display:flex;align-items:center;gap:13px}.principle-bar i{font-style:normal;color:var(--gold);font-size:.7rem}.section{padding-block:100px}.intro{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px}.intro h2{max-width:740px}.intro p{max-width:620px;margin-top:28px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-head h2{margin-top:18px}.muted-section{background:var(--ivory)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.method{border-top:1px solid #c5af80;padding-top:23px;display:flex;flex-direction:column}.method .num{font-family:var(--serif);color:var(--gold);font-size:1.2rem}.method h3{font-family:var(--serif);font-size:2rem;margin:36px 0 15px}.method p{font-size:.95rem;flex:1}.method a{align-self:start;margin-top:28px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split h2{margin:20px 0 25px}.split p+p{margin-top:15px}.editorial{margin:0;position:relative}.editorial img{width:100%;aspect-ratio:1.05;object-fit:cover}.editorial figcaption{font-size:.7rem;color:var(--muted);margin-top:8px}.steps{margin-top:33px}.step{display:grid;grid-template-columns:40px 1fr;gap:18px;border-top:1px solid var(--line);padding:21px 0}.step>span{color:var(--gold);font-family:var(--serif);font-size:1.2rem}.step h3{font-size:1rem;margin:0 0 4px}.step p{font-size:.875rem}.journey{background:var(--ink);color:white}.journey .eyebrow{color:#d4b87b}.journey h2 em{color:#d4b87b}.journey p{color:#d4d2c8}.journey-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;align-items:start}.journey p{margin-top:26px}.journey .text-link{display:inline-block;margin-top:20px;color:white;border-color:#d4b87b}.journey .step{border-color:#59594f}.journey .step p{margin:0}.journey .step>span{color:#d4b87b}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:12%}.faq-layout h2{margin-top:20px}.faqs details{border-bottom:1px solid var(--line);padding:20px 0}.faqs details:first-child{border-top:1px solid var(--line)}.faqs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:1rem}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';color:var(--gold)}.faqs details[open] summary:after{content:'−'}.faqs details p{margin-top:15px;font-size:.95rem;max-width:620px}.cta{border-block:1px solid var(--line);padding-block:70px;text-align:center;background:var(--ivory)}.cta h2{max-width:750px;margin:20px auto}.cta p{max-width:590px;margin:auto}.cta .actions{justify-content:center}.site-footer{padding-top:55px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:40px}.footer-grid p{font-size:.875rem;max-width:310px;margin-top:20px}.footer-grid h3{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}.footer-grid>a,.footer-links a{display:block;font-size:.875rem;margin:8px 0;overflow-wrap:anywhere}.footer-base{border-top:1px solid var(--line);padding-block:24px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}.footer-note{font-size:.75rem;max-width:950px;padding-bottom:30px}.subhero{padding-block:70px 65px;background:var(--ivory)}.subhero h1{font-size:clamp(3rem,5vw,5rem);margin:24px 0}.subhero p{max-width:660px;font-size:1.05rem}.breadcrumb{font-size:.8rem;margin-bottom:28px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:240px 1fr;gap:9%;padding-block:65px 95px}.article-nav{align-self:start;position:sticky;top:130px;font-size:.875rem;display:grid;gap:15px}.article-nav a{border-bottom:1px solid var(--line);padding-bottom:12px}.article-body{max-width:800px}.article-body h2{font-size:2.3rem;margin:45px 0 22px}.article-body h2:first-child{margin-top:0}.article-body h3{margin:28px 0 12px}.article-body p+p{margin-top:18px}.article-body ul{padding-left:21px;color:var(--muted)}.article-body li{padding:6px 0}.note{background:var(--ivory);border-left:2px solid var(--gold);padding:22px 25px;margin-top:25px;color:var(--muted);font-size:.9rem}.comparison{width:100%;border-collapse:collapse;font-size:.92rem;margin:25px 0}.comparison th,.comparison td{text-align:left;padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:top}.comparison th{font-weight:500;background:var(--ivory)}.sources{border-top:1px solid var(--line);padding-top:23px;margin-top:40px;font-size:.8rem;color:var(--muted)}.sources a{text-decoration:underline;display:inline-block;margin-right:15px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;padding-block:75px}.contact-layout h2{font-size:2.6rem}.contact-details{margin-top:30px}.contact-details a{display:block;padding:20px 0;border-bottom:1px solid var(--line);font-size:1.2rem;overflow-wrap:anywhere}.contact-details small{display:block;color:var(--gold);font-size:.7rem;letter-spacing:.1em}.contact-form{background:var(--ivory);padding:40px}.contact-form h2{font-size:2.3rem;margin-bottom:12px}.contact-form>p{font-size:.9rem;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:.85rem;margin:17px 0}input,select,textarea{background:white;color:var(--ink);border:1px solid #c8c2b5;border-radius:0;padding:12px;width:100%;margin-top:7px;font-size:1rem}textarea{resize:vertical;min-height:110px}input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:2px}.contact-form small{font-size:.75rem;color:var(--muted);display:block;margin:15px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.guide-card{padding:28px;border:1px solid var(--line)}.guide-card h3{font-family:var(--serif);font-size:1.9rem;margin:20px 0}.guide-card p{font-size:.95rem}.guide-card a{display:inline-block;margin-top:18px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.timeline>article{border-top:1px solid var(--gold);padding-top:24px}.timeline h3{font-family:var(--serif);font-size:1.7rem;margin:12px 0}.timeline p{font-size:.9rem}.mobile-contact{display:none}.reveal{animation:enter .7s ease both}@keyframes enter{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:1120px){.nav{gap:16px}.header-contact{display:none}.hero-copy{padding-left:10%;padding-right:7%}.header-inner{gap:20px}.hero{min-height:600px}.hero-media{min-height:580px}.brand b{font-size:1.3rem}.method-grid{gap:22px}.article-layout{gap:6%;grid-template-columns:190px 1fr}}@media(max-width:900px){.nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;border-bottom:1px solid var(--line);padding:20px 6%;flex-direction:column;align-items:stretch}.nav.open{display:flex}.menu-toggle{display:block}.header-inner{min-height:84px}.header-tools{gap:15px}.hero h1{font-size:3.9rem}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-block:50px}.hero-media{min-height:590px}.hero-foot{gap:20px}.hero-foot span{font-size:.65rem}.section{padding-block:70px}.intro{grid-template-columns:1fr;gap:25px}.split{gap:6%}.journey-grid{gap:8%}.faq-layout{gap:6%}.article-layout{grid-template-columns:1fr;gap:35px}.article-nav{position:static;display:flex;flex-wrap:wrap;gap:20px}.contact-layout{gap:5%}.contact-form{padding:25px}.timeline{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:25px}}@media(max-width:650px){.topline{font-size:.65rem;padding-inline:6%}.topline>span:last-child{display:none}.wrap{padding-inline:6%}.brand img{width:43px;height:43px}.brand b{font-size:1.17rem}.brand small{font-size:.55rem}.header-inner{min-height:76px;gap:8px}.header-tools{gap:10px}.lang{font-size:.75rem}.menu-toggle{width:42px;height:42px}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 6% 35px}.hero h1{font-size:3.65rem;margin:23px 0}.hero p{font-size:.95rem;max-width:95%}.hero .actions{gap:20px;margin-top:24px}.button{font-size:.85rem;padding:13px 19px;gap:20px}.hero-media{min-height:0;height:410px}.hero-media img{object-position:center 30%}.hero-foot{margin-top:28px}.principle-bar{grid-template-columns:1fr;gap:10px;padding-block:20px;font-size:.8rem}.principle-bar span{gap:20px}.principle-bar i{width:16px}.section{padding-block:55px}.section-head{align-items:start;flex-direction:column;margin-bottom:30px;gap:20px}h2{font-size:2.6rem}.intro{gap:22px}.intro p{margin-top:22px}.method-grid{grid-template-columns:1fr;gap:28px}.method h3{margin-top:18px}.method a{margin-top:16px}.split,.journey-grid,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.split .editorial{order:2}.editorial img{aspect-ratio:1.2}.journey .steps{margin-top:0}.faq-layout{gap:28px}.cta{padding-block:48px}.cta h2{font-size:2.7rem}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-base{flex-direction:column;gap:8px}.footer-note{padding-bottom:80px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:29;background:#fffffffa;border-top:1px solid var(--line);padding:9px 6%;padding-bottom:max(9px,env(safe-area-inset-bottom));gap:15px;align-items:center;justify-content:space-between}.mobile-contact>a{font-size:.8rem}.mobile-contact .button{min-height:40px;padding:8px 18px}.subhero{padding-block:40px}.subhero h1{font-size:3.1rem}.article-layout{padding-block:40px 55px}.article-body h2{font-size:2.1rem}.comparison{font-size:.82rem}.comparison th,.comparison td{padding:13px 8px}.contact-layout{padding-block:45px}.contact-form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.cards{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr;gap:25px 20px}.timeline h3{font-size:1.45rem}html{scroll-padding-top:90px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}*{transition:none!important}}
.contact-choice{display:grid;gap:15px}.contact-choice .button{justify-content:space-between}.article-body section{scroll-margin-top:130px}.intro .text-link{display:inline-block;margin-top:20px}.article-body section+section{margin-top:45px}@media(max-width:650px){.article-body section{scroll-margin-top:95px}.hero h1{font-size:clamp(3rem,12vw,3.65rem)}}

/* September 2026: editorial sections and progressive interaction. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
::selection{background:#e5d8bc;color:var(--ink)}
html{scrollbar-gutter:stable}
body{overflow-wrap:break-word}
main,section,.wrap,.split>*,.enquiry-layout>*,.location-grid>*,.contact-layout>*,.form-row>*{min-width:0}
.site-header{transition:box-shadow .3s ease,background .3s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header.is-scrolled{background:#fffffff2;box-shadow:0 5px 24px #2828200b}
.brand b{letter-spacing:.045em}
.nav{gap:clamp(15px,1.65vw,25px);white-space:nowrap}
.nav a,.header-contact,.text-link{transition:color .2s ease,border-color .2s ease}
.button{transition:background .25s ease,border-color .25s ease,transform .3s var(--ease-out),box-shadow .3s ease}
.button.outline:hover{background:#eee8db;border-color:var(--gold)}
.button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.button>span,.text-link>span{display:inline-block;transition:transform .3s var(--ease-out)}
.text-link{display:inline-block}
.hero-media:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 1px 0 0 #28282008}
.hero-media img{animation:image-arrive 1.3s var(--ease-out) both}
.hero-media figcaption{z-index:1;max-width:calc(100% - 40px)}
.section-lead{max-width:560px;margin-top:24px;font-size:1rem;line-height:1.85}
.section-head>.text-link{flex-shrink:0}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 28px}
.case-card{min-width:0}
.case-open{position:relative;display:block;background:#f1eee7;overflow:hidden;border:1px solid var(--line)}
.case-open img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;transition:transform .6s var(--ease-out)}
.case-zoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #e6e1d6b3;background:#ffffffed;color:var(--gold);font-size:1.25rem;transition:background .2s ease,transform .3s ease}
.case-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:19px 0 16px;border-bottom:1px solid var(--line)}
.case-caption h3{font-family:var(--serif);font-size:1.5rem}
.case-caption>span{font-size:.77rem;color:var(--muted);text-align:right}
.case-note{max-width:800px;border-left:2px solid #c6b181;padding-left:17px;margin-top:29px;font-size:.8rem;line-height:1.75}
.team-section{background:var(--ivory)}
.team-media{margin:0;min-width:0}
.team-media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.team-media figcaption{font-size:.69rem;line-height:1.6;color:var(--muted);margin-top:12px;max-width:540px}
.team-points{display:grid;margin-top:30px;border-top:1px solid var(--line)}
.team-points span{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.85rem}
.team-points span:before{content:'';width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0}
.enquiry-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start}
.enquiry-layout h2{margin-top:20px}
.enquiry-aside{border-top:1px solid var(--line);margin-top:39px;padding-top:25px;display:grid;justify-items:start;gap:7px}
.enquiry-aside>span{font-size:.67rem;letter-spacing:.16em;color:var(--gold)}
.enquiry-aside>a{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1.4}
.enquiry-aside>small{color:var(--muted);font-size:.77rem}
.enquiry-section .contact-form{border-top:2px solid #c4ad7b;padding:34px 36px 32px}
.enquiry-form label{margin:0 0 20px;font-size:.8rem;line-height:1.6}
.enquiry-form input,.enquiry-form select{min-height:49px;padding:12px 13px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}
.enquiry-form select{max-width:100%}
.enquiry-form input:hover,.enquiry-form select:hover{border-color:#978869}
.enquiry-form .consent{display:flex;align-items:flex-start;gap:11px;font-size:.74rem;line-height:1.7;margin:5px 0 24px;cursor:pointer}
.enquiry-form .consent input{width:18px;height:18px;min-height:0;padding:0;margin:3px 0 0;flex:0 0 18px;accent-color:var(--gold)}
.consent a{text-decoration:underline;text-underline-offset:3px}
.enquiry-form>.button{width:100%;justify-content:space-between;text-align:left}
.form-help{font-size:.72rem;line-height:1.7;margin-top:16px}
.form-status:empty{display:none}
.form-status{font-size:.8rem;line-height:1.8;margin-top:18px;padding-top:16px;border-top:1px solid #d3cbb8;color:var(--ink)}
.form-continue{display:inline-block;font-weight:600;color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.location-section{background:var(--ivory);border-top:1px solid var(--line)}
.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center}
.location-grid h2{margin-top:20px}
.location-grid address{font-style:normal;color:var(--muted);max-width:430px;margin:25px 0 15px;line-height:1.9}
.google-card{background:#fff;padding:39px 40px 40px;border:1px solid var(--line)}
.google-mark{display:flex;align-items:center;gap:10px;font-size:.82rem;letter-spacing:.02em}
.google-mark>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font-size:1.15rem;font-weight:600;color:var(--gold)}
.google-card h3{font-family:var(--serif);font-size:2.25rem;line-height:1.18;letter-spacing:-.025em;margin:26px 0 18px}
.google-card p{font-size:.88rem;line-height:1.85}
.google-card .button{margin-top:25px;gap:15px;max-width:100%;font-size:.8rem;text-align:left}
.gallery-open{overflow:hidden}
.gallery-dialog{padding:52px 24px 20px;border:1px solid #ffffff25;background:#1d1e1a;color:#fff;width:min(1050px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain}
.gallery-dialog:not([open]){display:none}
.gallery-dialog::backdrop{background:#10110fe8;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.gallery-dialog figure{margin:0;display:grid;justify-items:center;gap:13px}
.gallery-dialog figure img{height:auto;width:auto;max-width:100%;max-height:calc(100dvh - 206px);object-fit:contain;min-height:0}
.gallery-dialog figcaption{color:#e7e3d8;font-size:.84rem;text-align:center}
.gallery-close{position:absolute;right:13px;top:8px;width:38px;height:38px;display:grid;place-items:center;background:transparent;color:#fff;border:1px solid #ffffff35;font-size:1.8rem;line-height:1}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:14px}
.gallery-controls button{width:44px;height:40px;border:1px solid #ffffff35;background:transparent;color:white;font-size:1.2rem;transition:background .2s ease}
.gallery-controls button:disabled{opacity:.35;cursor:default}
.gallery-controls span{font-size:.75rem;color:#e7e3d8;min-width:45px;text-align:center;font-variant-numeric:tabular-nums}
.gallery-close:hover,.gallery-controls button:not(:disabled):hover{background:#ffffff15}
.gallery-dialog[open]{animation:dialog-arrive .22s ease both}
.reveal{animation:none}
.is-revealed{animation:section-arrive .8s var(--ease-out) both}
@keyframes section-arrive{from{opacity:.55;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes image-arrive{from{opacity:.65;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes dialog-arrive{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
  .button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #76561f15}
  .button:hover>span,.text-link:hover>span{transform:translate(2px,-2px)}
  .case-open:hover .case-zoom{background:#fff;transform:translate(2px,-2px)}
  .method,.guide-card{transition:transform .4s var(--ease-out)}
  .method:hover,.guide-card:hover{transform:translateY(-4px)}
}
@media(max-width:1120px){
  .header-inner{min-height:86px;flex-wrap:wrap}
  .nav{display:flex;position:static;order:3;width:100%;padding:0 0 18px;gap:4px;align-items:stretch;flex-direction:column;border:0}
  .nav a{padding:10px 0}
  .menu-toggle{display:none}
  .js .header-inner{flex-wrap:nowrap}
  .js .nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;max-height:calc(100dvh - 86px);overflow-y:auto;background:#fff;border-bottom:1px solid var(--line);padding:18px 5.5% 25px;box-shadow:0 15px 25px #2828200b}
  .js .nav.open{display:flex}
  .js .menu-toggle{display:block}
  .header-contact{display:none}
  .enquiry-layout{gap:6%;grid-template-columns:.85fr 1.15fr}
  .enquiry-section .contact-form{padding:28px}
  .location-grid{gap:7%}
  .google-card{padding:30px}
  .case-grid{gap:27px 20px}
  .case-caption{align-items:start;flex-direction:column;gap:5px}
  .case-caption>span{text-align:left}
}
@media(max-width:850px){
  .team-section .split,.enquiry-layout,.location-grid{grid-template-columns:1fr;gap:36px}
  .team-section .split{align-items:start}
  .team-media{max-width:680px}
  .team-section h2{margin-top:16px}
  .team-section .split>div{max-width:650px}
  .team-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .team-points span{font-size:.78rem;align-items:start}
  .team-points span:before{margin-top:8px}
  .enquiry-layout>.contact-form{width:100%;max-width:700px}
  .enquiry-aside{margin-top:26px;padding-top:20px}
  .location-grid>.google-card{max-width:650px}
  .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-caption{flex-direction:row;align-items:baseline}
}
@media(max-width:650px){
  .header-inner{min-height:76px}
  .brand{gap:8px}
  .brand b{font-size:1.15rem;letter-spacing:.02em}
  .brand small{letter-spacing:.3em}
  .js .nav{max-height:calc(100dvh - 76px);padding-inline:6%}
  .section-lead{font-size:.93rem;margin-top:20px}
  .case-grid{gap:28px 18px}
  .case-caption{flex-direction:column;gap:5px;padding:15px 0 13px}
  .case-caption h3{font-size:1.3rem}
  .case-caption>span{font-size:.72rem}
  .case-zoom{height:33px;width:33px;right:9px;bottom:9px}
  .case-note{font-size:.74rem;margin-top:25px}
  .team-section .split,.enquiry-layout,.location-grid{gap:30px}
  .team-points{grid-template-columns:1fr;gap:0;margin-top:24px}
  .team-points span{font-size:.83rem;align-items:center}
  .team-points span:before{margin-top:0}
  .team-media figcaption{font-size:.66rem}
  .enquiry-section .contact-form{padding:25px 20px}
  .enquiry-form label{margin-bottom:18px}
  .google-card{padding:27px 24px}
  .google-card h3{font-size:2rem;margin-top:22px}
  .location-grid address{font-size:.93rem}
  .gallery-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:50px 10px 17px}
  .gallery-dialog figure img{max-height:calc(100dvh - 180px)}
  .gallery-dialog figcaption{font-size:.76rem}
  .footer-base{padding-bottom:24px}
}
@media(max-width:430px){
  .case-grid{grid-template-columns:1fr;gap:28px}
  .case-caption{flex-direction:row;align-items:baseline}
  .case-caption>span{text-align:right}
  .hero-foot{gap:13px;letter-spacing:.08em}
  .hero-foot span{padding-left:10px}
  .brand img{width:36px;height:36px}
  .brand b{font-size:1.03rem}
  .brand small{font-size:.5rem}
  .header-tools{gap:8px}
  .menu-toggle{width:38px;height:40px}
  .contact-details a{font-size:1.05rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .is-revealed,.hero-media img{opacity:1;transform:none}
}

/* Second revision: single language, full-frame cases, clinic and reviews. */
.menu-toggle{color:var(--ink);appearance:none;-webkit-appearance:none}
.header-contact{display:none}
.nav{gap:clamp(13px,1.5vw,22px);font-size:.82rem}
.footer-links address{font-style:normal;font-size:.8rem;line-height:1.7;margin-top:22px;max-width:280px;color:var(--muted)}
.case-open{aspect-ratio:4/5;background:var(--ivory)}
.case-open img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.clinic-section{background:var(--ivory);border-block:1px solid var(--line)}
.clinic-section .split{align-items:stretch;gap:8%}
.clinic-section h2{font-size:clamp(2.4rem,3.5vw,3.7rem)}
.clinic-details{display:grid;gap:6px;margin:30px 0}
.clinic-details>span{color:var(--gold);font-size:.68rem;letter-spacing:.13em;margin-top:12px}
.clinic-details address{font-style:normal;font-size:.9rem;max-width:380px;line-height:1.8}
.clinic-details>a{font-family:var(--serif);font-size:1.5rem}
.clinic-address-card{background:#e9e1d0;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,5vw,70px);border:1px solid #d7cab0;min-height:480px}
.clinic-address-card:after{content:'';position:absolute;inset:14px;border:1px solid #ffffff9c;pointer-events:none}
.clinic-building{font:clamp(3rem,5vw,5rem)/1.1 var(--serif);letter-spacing:-.05em;color:var(--ink);margin:30px 0}
.clinic-line{height:1px;width:60px;background:var(--gold);margin-bottom:24px}
.clinic-address-card>.text-link{margin-top:22px}
.clinic-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:center}
.clinic-gallery figure{margin:0}
.clinic-gallery figure:first-child{grid-column:1/-1}
.clinic-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.location-map{border:1px solid var(--line);width:100%;height:360px;background:var(--ivory)}
.reviews-section{background:#f8f7f4;overflow:hidden}
.reviews-section .section-head{margin-bottom:30px}
.review-summary{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-block:1px solid var(--line);padding:20px 0;margin-bottom:30px}
.review-summary strong{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1}
.review-summary>a{font-size:.82rem;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.google-g{font:bold 1.4rem Arial,sans-serif;color:#4285f4}
.review-stars{color:#a87b20;letter-spacing:.08em;font-size:1.25rem}
.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c9b991 transparent;padding:2px 2px 18px;overscroll-behavior-x:contain;scroll-behavior:smooth}
.review-track:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.review-card{flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start;background:#fff;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;box-shadow:0 4px 16px #3f342005}
.review-card-top{display:flex;gap:12px;align-items:center;min-height:52px}
.review-card-top>div{flex:1;min-width:0}
.review-card h3{font-size:.94rem;font-weight:600;overflow-wrap:anywhere}
.review-avatar{height:44px;width:44px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#ede6d9;color:#84652d;font-family:var(--serif);font-size:1.3rem}
.review-date{font-size:.73rem;color:var(--muted)}
.review-card .review-stars{margin-top:23px}
.review-card blockquote{margin:16px 0 24px;font:1.13rem/1.75 var(--serif);color:var(--ink);flex:1;overflow-wrap:anywhere;white-space:pre-line}
.review-card .text-link{font-size:.77rem;align-self:start;margin-top:auto}
.review-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.review-source{font-size:.7rem;max-width:520px}
.review-controls>div{display:flex;gap:8px;flex-shrink:0}
.review-controls button{background:white;border:1px solid #c8b996;min-height:42px;min-width:44px;color:var(--ink);font-size:1.1rem;padding:5px 12px}
.review-controls [data-review-play]{font-size:.7rem;min-width:88px}
.review-controls button:hover{background:#eae3d5}
@media(min-width:1121px) and (max-width:1280px){.header-inner{gap:14px}.nav{gap:12px;font-size:.75rem}.brand b{font-size:1.3rem}.brand img{width:46px;height:46px}}
@media(max-width:1000px){.review-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:850px){.clinic-section .split{grid-template-columns:1fr;gap:35px}.clinic-address-card{min-height:370px}.location-map{height:330px}}
@media(max-width:650px){.review-track{gap:16px}.review-card{flex-basis:90%;padding:25px}.review-controls{align-items:flex-start;flex-direction:column;gap:15px}.review-controls>div{align-self:flex-end}.review-card blockquote{font-size:1.14rem}.review-summary{gap:12px}.review-summary>a{flex-basis:100%}.clinic-address-card{min-height:360px}.clinic-section h2{font-size:2.5rem}.editorial img{height:auto;aspect-ratio:4/5;object-position:center}.case-grid{grid-template-columns:1fr}.case-caption{flex-direction:row}.location-map{height:300px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.review-track{scroll-behavior:auto}}

/* Real clinic photo collages — preserve every frame on all screen sizes. */
.clinic-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:10%;align-items:center;margin-bottom:42px}
.clinic-intro h2{margin:18px 0 22px}
.clinic-intro p{max-width:620px}
.clinic-intro>div>.text-link{margin-top:24px}
.clinic-visit{border-left:1px solid #d7c9ac;padding:14px 0 14px 35px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.clinic-visit address{font-style:normal;font-size:.9rem;line-height:1.9;max-width:320px}
.clinic-visit>a[href^="tel:"]{font:1.5rem var(--serif)}
.clinic-intro>.clinic-visit>.text-link{margin-top:0}
.clinic-gallery{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:22px}
.clinic-gallery figure:first-child{grid-column:auto}
.clinic-gallery-full .clinic-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1080px;margin-inline:auto;gap:36px}
.clinic-photo-open{position:relative;display:block;line-height:0;border:1px solid var(--line);background:#eae7df;overflow:hidden}
.clinic-gallery img{display:block;aspect-ratio:auto;object-fit:contain;width:100%;height:auto}
.clinic-photo-zoom{position:absolute;bottom:12px;right:12px;height:36px;width:36px;background:#fffffff2;border:1px solid var(--line);display:grid;place-items:center;font-size:1.2rem;color:var(--ink);line-height:1;transition:transform .2s}
.clinic-photo-open:hover .clinic-photo-zoom{transform:translate(2px,-2px)}
.clinic-photo figcaption{display:flex;align-items:baseline;gap:12px;font:.95rem/1.5 var(--serif);padding:17px 0;border-bottom:1px solid #ded5c4}
.clinic-photo figcaption>span{font:.65rem var(--sans);color:var(--gold)}
.clinic-gallery-help{font-size:.76rem;margin-top:24px;color:var(--muted);text-align:center}
@media(max-width:900px){.clinic-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.clinic-intro{gap:6%;grid-template-columns:1.1fr .9fr}.clinic-visit{padding-left:24px}}
@media(max-width:650px){.clinic-intro{grid-template-columns:1fr;gap:30px;margin-bottom:32px}.clinic-visit{border-left:0;border-top:1px solid #d7c9ac;padding:24px 0 0}.clinic-gallery{gap:24px 14px}.clinic-photo figcaption{font-size:.92rem;gap:8px;align-items:start}.clinic-photo-zoom{width:28px;height:28px;right:7px;bottom:7px;font-size:1rem}.clinic-gallery-full .clinic-gallery{grid-template-columns:1fr;gap:30px;max-width:430px}.clinic-gallery-full .clinic-photo figcaption{font-size:1.15rem}}

/* September 26: persistent direct contact and bilingual navigation. */
.whatsapp-float{position:fixed;right:22px;bottom:24px;z-index:28;display:flex;align-items:center;gap:10px;background:#168b4b;color:#fff;padding:14px 19px;border-radius:99px;box-shadow:0 5px 22px #0002;font:600 14px/1.2 Arial,sans-serif;transition:transform .2s,background .2s}.whatsapp-float:hover{background:#106b39;transform:translateY(-3px)}.whatsapp-float svg{width:25px;height:25px}.gallery-open .whatsapp-float{visibility:hidden}.lang{font-weight:700;padding:8px 5px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:650px){.whatsapp-float{right:16px;bottom:calc(78px + env(safe-area-inset-bottom));padding:15px}.whatsapp-float span{display:none}}@media(min-width:1121px){.header-contact{display:none}.nav{gap:17px}.header-inner{gap:18px}}
