@font-face{font-family:Bodoni;src:url('../fonts/BodoniModaSC-VariableFont_opsz,wght.ttf')}@font-face{font-family:Lora;src:url('../fonts/Lora/Lora-VariableFont_wght.ttf')}@font-face{font-family:Parisienne;src:url('../fonts/Parisienne-Regular.ttf')}
:root{--paper:#f7f4ee;--paper-2:#eee9df;--ink:#28251f;--muted:#716b61;--line:rgba(56,50,42,.14);--olive:#626657;--bronze:#9a7d55;--white:#fffdf8;--ease:cubic-bezier(.22,.78,.18,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.75 Lora,serif;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:8;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}.sr-only,.skip-link{position:absolute;clip:rect(0,0,0,0)}.skip-link:focus{clip:auto;z-index:20;top:1rem;left:1rem;padding:.7rem 1rem;background:#fff}.site-header{position:sticky;top:14px;z-index:7;width:min(calc(100% - 32px),1240px);height:70px;margin:14px auto 0;padding:0 16px 0 22px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(247,244,238,.88);border:1px solid rgba(69,61,51,.09);border-radius:999px;box-shadow:0 18px 60px rgba(76,62,43,.08),inset 0 1px rgba(255,255,255,.75);backdrop-filter:blur(16px)}.wordmark{display:inline-flex;align-items:center;gap:9px;width:max-content}.wordmark span{font:500 1.7rem/1 Bodoni;color:var(--bronze)}.wordmark small{font:600 .62rem/1.25 Lora;text-transform:uppercase;letter-spacing:.2em}.desktop-nav{display:flex;gap:2rem}.desktop-nav a,footer div a{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;transition:color .45s var(--ease)}.desktop-nav a:hover,footer a:hover{color:var(--bronze)}.site-header>.button{justify-self:end}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1.35rem;border:0;border-radius:999px;background:var(--ink);color:var(--white);text-transform:uppercase;letter-spacing:.13em;font:600 .63rem Lora;box-shadow:inset 0 1px rgba(255,255,255,.12);transition:transform .55s var(--ease),background .55s var(--ease),box-shadow .55s var(--ease)}.button:after{content:"↗";display:grid;place-items:center;width:24px;height:24px;margin-left:.7rem;border-radius:50%;background:rgba(255,255,255,.1);font-size:.72rem;transition:transform .55s var(--ease)}.button:hover{background:var(--olive);transform:translateY(-2px);box-shadow:0 12px 30px rgba(68,70,58,.14)}.button:hover:after{transform:translate(2px,-2px)}.button:active{transform:scale(.98)}.button-small{min-height:40px;padding:.45rem .55rem .45rem 1.15rem}.button-outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.button-light{background:var(--white);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;padding-bottom:4px;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:color .4s var(--ease),background-size .4s var(--ease)}.text-link:hover{color:var(--bronze);background-size:35% 1px}.menu-toggle,.mobile-nav{display:none}
.hero{width:min(calc(100% - 32px),1320px);min-height:680px;margin:28px auto 0;padding:clamp(36px,6vw,82px);display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);align-items:center;gap:clamp(40px,7vw,100px);position:relative;background:#ebe5d9;border-radius:38px;overflow:hidden}.hero>img{grid-column:2;width:100%;height:560px;object-fit:cover;object-position:center;border-radius:220px 220px 24px 24px;box-shadow:0 28px 80px rgba(73,58,40,.13)}.hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(154,125,85,.22);border-radius:50%;left:-110px;bottom:-130px}.hero-copy{grid-column:1;grid-row:1;position:relative;z-index:1;padding:0;color:var(--ink);max-width:530px}.eyebrow,.section-label,.hero-note,.announcement{font-size:.62rem;text-transform:uppercase;letter-spacing:.18em}.hero h1,.section h2,.contact h2{font:500 clamp(3.1rem,5.2vw,5.3rem)/.98 Bodoni;margin:1.35rem 0;letter-spacing:-.025em;text-wrap:balance}.hero h1 em{font-family:Parisienne;font-size:.88em;font-weight:400;color:var(--bronze)}.hero-copy>p:not(.eyebrow){max-width:420px;color:var(--muted);font-size:.96rem}.actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.hero-note{position:absolute;right:clamp(50px,7vw,100px);bottom:34px;color:var(--white);display:flex;gap:.8rem;padding:.65rem .9rem;border-radius:14px;background:rgba(43,39,32,.7);backdrop-filter:blur(8px)}.hero-note p{margin:0}.announcement{width:min(calc(100% - 48px),1120px);min-height:auto;margin:18px auto 0;padding:13px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;border-bottom:1px solid var(--line);color:var(--muted)}.announcement p{margin:0;color:var(--bronze);font-weight:600}.announcement span{text-align:center;text-transform:none;letter-spacing:.04em}.announcement a{color:var(--ink)}
.section{width:min(100%,1240px);margin:auto;padding:clamp(76px,9vw,120px) 24px}.about{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(300px,.72fr);gap:clamp(30px,5vw,72px);align-items:center}.section-label{align-self:start;display:flex;gap:.7rem;color:var(--muted);padding-top:.55rem}.section-label span{color:var(--bronze)}.section-label p{margin:0}.script{font:400 clamp(1.6rem,2.5vw,2.35rem) Parisienne;color:var(--bronze);margin:0 0 -.15rem}.about h2,.section-heading h2{font-size:clamp(2.55rem,4vw,4rem);margin:.35rem 0 1.4rem}.about-copy>p:not(.script){max-width:570px;color:var(--muted)}.about-image{margin:0;padding:8px;background:rgba(120,105,85,.07);border-radius:170px 170px 24px 24px;box-shadow:inset 0 0 0 1px rgba(80,69,55,.06)}.about-image img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:162px 162px 18px 18px}.about-image figcaption{font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;padding:10px 8px 4px;color:var(--muted)}
.services{width:min(calc(100% - 32px),1320px);padding:clamp(64px,8vw,104px) clamp(20px,5vw,70px);background:var(--paper-2);border-radius:38px}.section-heading{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(30px,5vw,72px);margin-bottom:2.4rem}.section-heading>div:last-child{max-width:620px}.section-heading h2{margin:.25rem 0 .8rem}.section-heading p:last-child{color:var(--muted);margin-bottom:0}.menu-tools{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,2fr);gap:2rem;align-items:start;padding:1.2rem;border-radius:22px;background:rgba(255,253,248,.55);box-shadow:inset 0 0 0 1px rgba(58,49,39,.06)}.menu-tools label{padding:0 .85rem}.menu-tools input{width:100%;padding:.75rem 0;background:transparent;border:0;border-bottom:1px solid rgba(48,43,35,.25);outline:none;color:var(--ink);font-size:.82rem}.menu-tools input:focus{border-color:var(--bronze)}.menu-filter{display:flex;flex-wrap:wrap;gap:.45rem;max-height:96px;overflow:auto;scrollbar-width:thin}.filter-button{border:0;border-radius:999px;background:rgba(70,62,51,.07);padding:.65rem .9rem;color:var(--muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.09em;cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),transform .4s var(--ease)}.filter-button:hover{transform:translateY(-1px);background:rgba(98,102,87,.13)}.filter-button.active{background:var(--olive);color:var(--white)}.filter-button:focus-visible,.service-card .book:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}.menu-status{text-align:center;padding:2.5rem;color:var(--muted)}.menu-stage{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);gap:clamp(28px,4vw,56px);align-items:start;margin-top:2.2rem}.category-feature{position:sticky;top:102px;margin:0;padding:7px;background:rgba(103,92,76,.08);border-radius:26px;box-shadow:inset 0 0 0 1px rgba(58,49,39,.06)}.category-feature img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}.category-feature figcaption{padding:1.45rem 1.2rem 1.25rem}.category-feature figcaption>span,.category-feature small{font-size:.56rem;text-transform:uppercase;letter-spacing:.15em;color:var(--bronze)}.category-feature h3{font:500 clamp(1.5rem,2.3vw,2.15rem)/1.08 Bodoni;margin:.5rem 0}.category-feature p{color:var(--muted);max-width:34ch;margin:0 0 .8rem;font-size:.82rem}.menu-grid{display:grid;grid-template-columns:1fr;margin-top:0}.service-card{display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;padding:1.15rem .25rem;border-bottom:1px solid var(--line)}.service-card:first-child{border-top:1px solid var(--line)}.service-card h3{font:500 1.05rem Bodoni;margin:0}.service-card .meta{font-size:.68rem;color:var(--muted)}.service-card .price{font:600 .85rem Lora;text-align:right;font-variant-numeric:tabular-nums}.service-card .book{grid-column:2;font-size:.57rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid;align-self:end}.service-card .description{font-size:.75rem;line-height:1.6;color:var(--muted);margin:.3rem 0}.menu-footer,.gallery-footer{display:flex;justify-content:space-between;align-items:center;margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}.menu-footer p{font-size:.7rem;color:var(--muted)}
.values{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(30px,5vw,72px)}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.values article{min-height:170px;padding:1.8rem;border-radius:22px;background:rgba(238,233,223,.68);transition:transform .55s var(--ease),background .55s var(--ease)}.values article:hover{transform:translateY(-4px);background:#ece5da}.values article>span{color:var(--bronze);font-size:.6rem}.values h3{font:500 1.3rem Bodoni;margin:.8rem 0 .4rem}.values p{color:var(--muted);max-width:34ch;margin:0;font-size:.82rem}.quote{width:min(calc(100% - 32px),1120px);margin:0 auto;padding:clamp(64px,8vw,96px) clamp(24px,7vw,90px);text-align:center;background:#e9e5db;color:var(--ink);border-radius:38px;position:relative;overflow:hidden}.quote:before{content:"“";position:absolute;left:4%;top:-4rem;font:12rem Bodoni;color:rgba(154,125,85,.1)}.quote blockquote{font:500 clamp(1.8rem,3.5vw,3.2rem)/1.18 Bodoni;max-width:820px;margin:1.2rem auto 1.8rem}.quote a{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:var(--bronze)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:7.5vw;max-height:690px;gap:10px}.gallery-item{overflow:hidden;cursor:zoom-in;border:0;padding:0;background:transparent;border-radius:18px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s var(--ease)}.gallery-item:hover img{transform:scale(1.045);filter:saturate(.9)}.gallery-item:nth-child(1){grid-column:1/6;grid-row:1/5}.gallery-item:nth-child(2){grid-column:6/9;grid-row:1/4}.gallery-item:nth-child(3){grid-column:9/13;grid-row:1/5}.gallery-item:nth-child(4){grid-column:6/9;grid-row:4/7}.gallery-item:nth-child(5){grid-column:1/4;grid-row:5/8}.gallery-item:nth-child(6){grid-column:4/6;grid-row:5/8}.gallery-item:nth-child(7){grid-column:9/13;grid-row:5/8}.gallery-item:nth-child(8){grid-column:6/9;grid-row:7/10}.gallery-footer p{color:var(--muted)}
.contact{width:min(calc(100% - 32px),1240px);margin:20px auto 80px;padding:8px;display:grid;grid-template-columns:.86fr 1.14fr;background:#dde0d7;color:var(--ink);border-radius:34px}.contact-copy{padding:clamp(40px,6vw,76px)}.contact h2{font-size:clamp(2.5rem,4vw,3.8rem);margin:1rem 0}.contact address{font:500 1.15rem/1.5 Bodoni;margin:1.4rem 0}.contact-copy>p:not(.script){max-width:420px;color:#62665a;font-size:.83rem}.contact iframe{border:0;width:100%;height:100%;min-height:500px;border-radius:26px;filter:sepia(.18) saturate(.65) contrast(.95)}.light{color:#6a6d61}footer{width:min(calc(100% - 32px),1240px);margin:auto;padding:3rem 1rem 2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:end;color:var(--muted);border-top:1px solid var(--line)}footer div{display:flex;justify-content:flex-end;gap:1.4rem}footer>small{grid-column:1/-1;padding-top:1.2rem;font-size:.62rem}.wordmark-light span{color:var(--bronze)}dialog{width:min(92vw,860px);border:0;padding:8px;border-radius:24px;background:rgba(247,244,238,.96);color:var(--ink);box-shadow:0 40px 120px rgba(31,27,21,.26)}dialog::backdrop{background:rgba(30,27,23,.82)}dialog img{width:100%;max-height:78vh;object-fit:contain;border-radius:18px}dialog button{position:absolute;right:18px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:var(--white);font-size:1.3rem;cursor:pointer}dialog p{padding:0 .8rem}.legal{max-width:820px}.legal h1{font:500 clamp(2.8rem,5vw,4.4rem) Bodoni}.legal h2{font:500 1.45rem Bodoni;margin-top:2.2rem}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:960px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.site-header>.button{display:none}.menu-toggle{display:grid;position:relative;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:rgba(70,62,51,.07)}.menu-toggle span{position:absolute;width:19px;height:1px;background:var(--ink);transition:transform .6s var(--ease)}.menu-toggle span:first-child{transform:translateY(-4px)}.menu-toggle span:last-child{transform:translateY(4px)}.menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}.mobile-nav{position:fixed;z-index:6;top:0;inset:0;display:flex;visibility:hidden;opacity:0;transform:translateY(-16px);padding:120px 28px 40px;flex-direction:column;gap:.9rem;background:rgba(247,244,238,.96);backdrop-filter:blur(20px);transition:opacity .6s var(--ease),transform .6s var(--ease),visibility .6s}.mobile-nav.open{visibility:visible;opacity:1;transform:translateY(0)}.mobile-nav a{font:500 2rem Bodoni;padding:.5rem 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:.85fr 1.15fr;min-height:610px}.hero>img{height:490px}.about{grid-template-columns:110px 1.2fr .8fr}.section-heading,.values{grid-template-columns:110px 1fr}.menu-stage{grid-template-columns:minmax(245px,.7fr) minmax(0,1.3fr);gap:28px}.category-feature{position:static}.gallery-grid{grid-auto-rows:12vw}.contact iframe{min-height:430px}}
@media(max-width:720px){body{font-size:14px}.site-header{top:8px;width:calc(100% - 20px);height:62px;margin-top:8px;padding-left:17px}.wordmark span{font-size:1.45rem}.hero{width:calc(100% - 20px);min-height:auto;margin-top:16px;padding:18px;display:flex;flex-direction:column;gap:0;border-radius:26px}.hero>img{order:0;width:100%;height:42vh;min-height:300px;max-height:410px;border-radius:150px 150px 18px 18px}.hero-copy{order:1;padding:26px 5px 12px}.hero h1{font-size:clamp(2.55rem,12vw,3.6rem);margin:1rem 0}.hero-copy>p:not(.eyebrow){font-size:.88rem}.hero-note{display:none}.actions{align-items:center;flex-direction:row;flex-wrap:wrap;gap:1rem;margin-top:1.4rem}.announcement{width:calc(100% - 28px);grid-template-columns:1fr;gap:.25rem;padding:16px 4px}.announcement span{text-align:left}.section{padding:72px 18px}.about,.section-heading,.values{grid-template-columns:1fr}.section-label{margin-bottom:.5rem}.about{gap:24px}.about-image{width:min(88%,380px);margin:10px auto 0}.services{width:calc(100% - 20px);padding:60px 14px;border-radius:26px}.menu-tools{grid-template-columns:1fr;gap:1rem;padding:10px}.menu-filter{flex-wrap:nowrap;overflow-x:auto;max-height:none;padding-bottom:6px}.filter-button{flex:0 0 auto}.menu-stage{grid-template-columns:1fr;margin-top:1.4rem}.category-feature img{aspect-ratio:16/10}.category-feature figcaption{padding:1.2rem}.service-card{padding:1rem .25rem}.menu-footer,.gallery-footer{align-items:flex-start;flex-direction:column;gap:1.2rem}.values-grid{grid-template-columns:1fr}.values article{min-height:auto;padding:1.5rem}.quote{width:calc(100% - 20px);border-radius:26px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:56vw;max-height:none;gap:7px}.gallery-item{border-radius:12px}.gallery-item:nth-child(n){grid-column:auto;grid-row:auto}.gallery-item:nth-child(1){grid-column:1/-1}.contact{width:calc(100% - 20px);grid-template-columns:1fr;margin-bottom:50px;border-radius:26px}.contact-copy{padding:42px 22px}.contact iframe{min-height:320px;border-radius:20px}footer{grid-template-columns:1fr;padding:2.5rem .5rem}footer div{justify-content:flex-start;flex-wrap:wrap}footer>small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.reveal{opacity:1;transform:none}}
[hidden]{display:none!important}.gallery-grid{max-height:none}.gallery-actions{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;flex-wrap:wrap}.gallery-actions .button{cursor:pointer}.gallery-grid.is-expanded{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(190px,19vw,280px)}.gallery-grid.is-expanded .gallery-item:nth-child(n){grid-column:auto;grid-row:auto}.gallery-grid.is-expanded .gallery-item:nth-child(5n+1){grid-row:span 2}.gallery-grid.is-expanded .gallery-item:nth-child(7n+3){grid-column:span 2}
@media(max-width:720px){.gallery-actions{justify-content:flex-start}.gallery-grid.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:58vw}.gallery-grid.is-expanded .gallery-item:nth-child(n){grid-column:auto;grid-row:auto}.gallery-grid.is-expanded .gallery-item:nth-child(5n+1){grid-row:span 2}.gallery-grid.is-expanded .gallery-item:nth-child(7n+3){grid-column:span 2}}

/* Refined brand footer */
footer{position:relative;isolation:isolate;overflow:hidden;width:min(calc(100% - 32px),1320px);min-height:320px;margin:0 auto 16px;padding:clamp(54px,7vw,88px) clamp(30px,7vw,92px) 34px;display:grid;grid-template-columns:1.25fr .95fr .7fr;grid-template-rows:1fr auto;gap:40px 56px;align-items:start;background:#ebe5d9;color:#5f594f;border:0;border-radius:38px;box-shadow:inset 0 0 0 1px rgba(82,70,54,.055)}footer:before{content:"";position:absolute;z-index:-1;width:310px;height:310px;right:-72px;top:-88px;opacity:.58;background:radial-gradient(ellipse at 50% 22%,transparent 0 27%,rgba(154,125,85,.2) 28% 28.7%,transparent 29.5%),radial-gradient(ellipse at 78% 48%,transparent 0 27%,rgba(154,125,85,.17) 28% 28.7%,transparent 29.5%),radial-gradient(ellipse at 50% 76%,transparent 0 27%,rgba(154,125,85,.16) 28% 28.7%,transparent 29.5%),radial-gradient(ellipse at 22% 48%,transparent 0 27%,rgba(154,125,85,.17) 28% 28.7%,transparent 29.5%);transform:rotate(18deg)}footer:after{content:"";position:absolute;z-index:-1;width:260px;height:150px;left:-95px;bottom:-70px;border:1px solid rgba(98,102,87,.2);border-radius:50% 50% 0 0;transform:rotate(12deg)}footer>.wordmark{grid-column:1;align-self:start}.wordmark-light span{color:var(--bronze)}footer>p{grid-column:2;margin:0;max-width:320px;font:500 clamp(1.15rem,1.6vw,1.45rem)/1.5 Bodoni;color:#4e4a42;text-wrap:balance}footer>p:before{content:"A quiet ritual";display:block;margin-bottom:.5rem;font:400 1.45rem Parisienne;color:var(--bronze)}footer>div{grid-column:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.8rem;padding-left:28px;border-left:1px solid rgba(74,65,53,.13)}footer div a{position:relative;font-size:.6rem;color:#5d584f}footer div a:after{content:"↗";margin-left:.45rem;color:var(--bronze);opacity:0;transform:translate(-4px,3px);display:inline-block;transition:opacity .45s var(--ease),transform .45s var(--ease)}footer div a:hover:after{opacity:1;transform:translate(0,0)}footer>small{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid rgba(74,65,53,.12);font-size:.58rem;letter-spacing:.06em;color:#7b7469}footer>small:before{content:"";width:26px;height:1px;background:var(--bronze)}
@media(max-width:760px){footer{width:calc(100% - 20px);min-height:auto;margin-bottom:10px;padding:48px 24px 28px;grid-template-columns:1fr;grid-template-rows:auto;gap:28px;border-radius:26px}footer>.wordmark,footer>p,footer>div,footer>small{grid-column:1}footer>p{max-width:270px;font-size:1.12rem}footer>div{padding:22px 0 0;border-left:0;border-top:1px solid rgba(74,65,53,.12);flex-direction:row;flex-wrap:wrap;gap:14px 22px}footer>small{margin-top:4px}footer:before{width:220px;height:220px;right:-85px;top:-70px}footer:after{width:190px;height:110px}}

/* Signature why-us editorial feature */
.why-us{position:relative;isolation:isolate;width:min(calc(100% - 32px),1320px);min-height:780px;padding:clamp(68px,8vw,112px) clamp(28px,6vw,84px);display:grid;grid-template-columns:minmax(270px,.78fr) minmax(330px,.9fr) minmax(280px,.75fr);gap:clamp(30px,4vw,64px);align-items:center;overflow:hidden;border-radius:38px;background:#2d2925;color:var(--white)}
.why-us:before{content:"ST";position:absolute;z-index:-1;left:-.04em;bottom:-.2em;font:500 clamp(13rem,25vw,25rem)/.8 Bodoni;color:rgba(255,253,248,.025);letter-spacing:-.08em}
.why-us:after{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:-250px;top:-210px;border:1px solid rgba(187,154,108,.22);border-radius:50%;box-shadow:0 0 0 48px rgba(187,154,108,.025),0 0 0 96px rgba(187,154,108,.018)}
.why-us .section-label{color:rgba(255,253,248,.52);margin-bottom:clamp(48px,7vw,92px)}
.why-us .script{color:#c5a574}.why-intro{align-self:start}
.why-us h2{font-size:clamp(2.8rem,4.6vw,4.8rem);margin:.65rem 0 1.6rem;color:var(--white)}
.why-us h2 em{display:inline-block;font:400 .72em/1.1 Parisienne;color:#c5a574;letter-spacing:0}
.why-lede{max-width:42ch;margin:0 0 2rem;color:rgba(255,253,248,.64);font-size:.86rem}
.why-us .text-link{color:#e4d4bb}
.why-portrait{position:relative;align-self:stretch;margin:0;padding:8px;border:1px solid rgba(255,253,248,.12);border-radius:190px 190px 28px 28px}
.why-portrait:before{content:"";position:absolute;inset:24px -18px -18px 24px;z-index:-1;border:1px solid rgba(197,165,116,.28);border-radius:180px 180px 26px 26px}
.why-portrait img{width:100%;height:100%;min-height:570px;object-fit:cover;object-position:center;border-radius:181px 181px 21px 21px}
.why-portrait figcaption{position:absolute;left:-28px;bottom:36px;max-width:220px;padding:15px 18px;background:#eee8dc;color:#423d36;border-radius:2px;font:500 .72rem/1.5 Bodoni;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.why-portrait figcaption span{display:block;margin-bottom:3px;font:600 .5rem Lora;text-transform:uppercase;letter-spacing:.16em;color:#9a7d55}
.why-reasons{align-self:end}
.why-reasons article{display:grid;grid-template-columns:34px 1fr;gap:18px;padding:1.45rem 0;border-top:1px solid rgba(255,253,248,.12);transition:border-color .5s var(--ease),transform .5s var(--ease)}
.why-reasons article:last-child{border-bottom:1px solid rgba(255,253,248,.12)}
.why-reasons article:hover{border-color:rgba(197,165,116,.65);transform:translateX(7px)}
.why-reasons article>span{padding-top:4px;font-size:.54rem;letter-spacing:.12em;color:#c5a574}
.why-reasons h3{margin:0 0 .35rem;font:500 1.25rem/1.15 Bodoni;color:var(--white)}
.why-reasons p{margin:0;color:rgba(255,253,248,.54);font-size:.72rem;line-height:1.65}
@media(max-width:1020px){.why-us{grid-template-columns:minmax(260px,.8fr) minmax(300px,1fr);min-height:auto}.why-reasons{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px}.why-us .section-label{margin-bottom:50px}.why-portrait img{min-height:520px}}
@media(max-width:720px){.why-us{width:calc(100% - 20px);padding:58px 22px 46px;grid-template-columns:1fr;gap:40px;border-radius:26px}.why-us .section-label{margin-bottom:38px}.why-us h2{font-size:clamp(2.65rem,12vw,3.7rem)}.why-portrait{width:min(92%,430px);min-height:500px;margin:0 auto;border-radius:170px 170px 24px 24px}.why-portrait img{min-height:500px;border-radius:162px 162px 18px 18px}.why-portrait figcaption{left:-12px;bottom:24px}.why-reasons{grid-column:auto;grid-template-columns:1fr}.why-reasons article:hover{transform:none}.why-us:after{width:300px;height:300px;right:-210px;top:-150px}}

/* What matters — image-led editorial quote */
.values{display:block;width:min(100%,1320px);padding-inline:24px}.values-heading{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(30px,5vw,72px);align-items:start;margin-bottom:clamp(34px,5vw,64px)}
.values-heading>.section-label{grid-row:1/4}.values-heading .script{grid-column:2}.values-heading h2{grid-column:2;margin:.25rem 0 0;font-size:clamp(2.8rem,4.7vw,4.8rem)}
.values-story{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.56fr);grid-template-rows:minmax(450px,54vw) auto;gap:18px;isolation:isolate}
.values-wide{grid-column:1;grid-row:1;margin:0;padding:8px;border-radius:32px;background:rgba(83,72,58,.07);box-shadow:inset 0 0 0 1px rgba(70,60,48,.05)}
.values-wide img{width:100%;height:100%;object-fit:cover;border-radius:25px}
.values-detail{grid-column:2;grid-row:1;margin:0;padding:7px 7px 0;background:#2f2a25;border-radius:170px 170px 24px 24px;color:var(--white)}
.values-detail img{width:100%;height:calc(100% - 50px);object-fit:cover;border-radius:164px 164px 18px 18px}
.values-detail figcaption{height:50px;display:flex;align-items:center;justify-content:center;font-size:.54rem;text-transform:uppercase;letter-spacing:.16em;color:#cdb68f}
.values-story blockquote{position:absolute;z-index:2;left:clamp(28px,5vw,72px);top:clamp(34px,6vw,84px);max-width:590px;margin:0;padding:clamp(28px,4vw,54px);font:500 clamp(2rem,3.7vw,4rem)/1.08 Bodoni;color:#342f29;background:rgba(247,244,238,.92);box-shadow:0 24px 70px rgba(58,45,31,.1);text-wrap:balance}
.values-story blockquote:after{content:"";position:absolute;inset:8px;border:1px solid rgba(154,125,85,.24);pointer-events:none}.values-story blockquote>span{display:block;height:.45em;margin-bottom:.15em;font:500 3.4em/.75 Bodoni;color:var(--bronze)}
.values-notes{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.values .values-notes article{min-height:0;padding:1rem clamp(16px,2.2vw,32px);border-radius:0;background:transparent;border-right:1px solid var(--line);transition:transform .55s var(--ease)}
.values .values-notes article:first-child{padding-left:0}.values .values-notes article:last-child{padding-right:0;border-right:0}.values .values-notes article:hover{transform:translateY(-4px);background:transparent}
.values-notes article>span{color:var(--bronze);font-size:.55rem;letter-spacing:.12em}.values-notes h3{margin:.65rem 0 .35rem;font-size:1.2rem}.values-notes p{font-size:.72rem;line-height:1.65}
@media(max-width:960px){.values-heading{grid-template-columns:110px minmax(0,1fr)}.values-story{grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);grid-template-rows:600px auto}.values-story blockquote{max-width:470px}.values-notes{grid-template-columns:repeat(2,1fr)}.values .values-notes article:nth-child(2){border-right:0}.values .values-notes article:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:720px){.values{padding-inline:18px}.values-heading{grid-template-columns:1fr;margin-bottom:30px}.values-heading>.section-label{grid-row:auto}.values-heading .script,.values-heading h2{grid-column:1}.values-story{display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:12px}.values-wide{grid-column:1;grid-row:1;height:560px;border-radius:24px}.values-wide img{border-radius:18px;object-position:58% center}.values-story blockquote{position:absolute;left:22px;right:22px;top:36px;max-width:none;padding:30px 25px;font-size:clamp(1.8rem,8.5vw,2.55rem)}.values-detail{grid-column:1;grid-row:2;width:min(78%,330px);height:440px;margin:-72px 12px 0 auto;z-index:3}.values-notes{grid-column:1;grid-template-columns:1fr;margin-top:24px}.values .values-notes article,.values .values-notes article:first-child,.values .values-notes article:last-child{padding:1.3rem 0;border-right:0;border-top:1px solid var(--line)}.values .values-notes article:first-child{border-top:0}}

/* Compact editorial composition */
.values{padding-top:clamp(72px,7vw,96px);padding-bottom:clamp(72px,7vw,96px)}
.values-story{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:620px auto;gap:18px;position:relative}
.values-heading{grid-column:1/5;grid-row:1;z-index:2;align-self:center;display:block;margin:0;padding:clamp(38px,4vw,58px);background:#302b26;color:var(--white);border-radius:28px;box-shadow:0 26px 70px rgba(54,43,31,.13)}
.values-heading .section-label{display:flex;margin:0 0 clamp(44px,5vw,70px);color:rgba(255,253,248,.55)}
.values-heading .script{display:block;color:#c6a777}.values-heading h2{display:block;margin:.35rem 0 1.25rem;font-size:clamp(2.55rem,3.7vw,4rem);line-height:.98;color:var(--white)}
.values-intro{max-width:34ch;margin:0;color:rgba(255,253,248,.58);font-size:.76rem;line-height:1.7}
.values-wide{grid-column:4/13;grid-row:1;height:100%;padding:8px}.values-wide img{object-position:center}
.values-story blockquote{left:29%;top:auto;bottom:34px;max-width:440px;padding:30px 38px;font-size:clamp(1.65rem,2.4vw,2.65rem);box-shadow:0 22px 60px rgba(52,40,28,.16)}
.values-story blockquote>span{position:absolute;left:18px;top:18px;font-size:3.2em;opacity:.35}
.values-detail{grid-column:10/13;grid-row:1;align-self:end;justify-self:end;z-index:3;width:88%;height:330px;margin:0 24px -54px 0;border-radius:130px 130px 20px 20px;box-shadow:0 22px 55px rgba(45,35,25,.18)}
.values-detail img{height:calc(100% - 42px);border-radius:124px 124px 15px 15px}.values-detail figcaption{height:42px}
.values-notes{grid-column:1/13;grid-row:2;margin-top:58px}
@media(max-width:1050px){.values-story{grid-template-rows:570px auto}.values-heading{grid-column:1/6}.values-wide{grid-column:4/13}.values-story blockquote{left:34%;max-width:390px}.values-detail{grid-column:10/13;width:100%;margin-right:10px}}
@media(max-width:720px){.values{padding-top:62px;padding-bottom:62px}.values-story{grid-template-columns:1fr;grid-template-rows:auto 430px auto auto;gap:10px}.values-heading{grid-column:1;grid-row:1;align-self:auto;padding:38px 28px;border-radius:24px}.values-heading .section-label{margin-bottom:36px}.values-heading h2{font-size:clamp(2.55rem,11vw,3.45rem)}.values-wide{grid-column:1;grid-row:2;height:430px;margin-top:0}.values-story blockquote{position:relative;grid-column:1;grid-row:3;left:auto;right:auto;top:auto;bottom:auto;max-width:none;margin:-52px 18px 0;padding:28px 26px;font-size:clamp(1.65rem,7vw,2.2rem)}.values-detail{display:none}.values-notes{grid-column:1;grid-row:4;margin-top:18px}}

/* Keep the quote anchored inside the image row */
@media(min-width:721px){.values-story blockquote{position:relative;grid-column:5/10;grid-row:1;align-self:end;justify-self:start;left:auto;right:auto;top:auto;bottom:auto;z-index:4;width:min(100%,440px);margin:0 0 26px -10px}.values-notes{position:relative;z-index:1}}

/* New ST signature logo */
.wordmark img{width:104px;height:54px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 2px rgba(86,58,26,.08))}
footer>.wordmark img{width:168px;height:auto;max-height:104px}
@media(max-width:720px){.site-header .wordmark img{width:88px;height:47px}footer>.wordmark img{width:148px;max-height:92px}}

/* Balanced gallery preview — eight images, no dangling final row */
@media(min-width:961px){.gallery-grid:not(.is-expanded){grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:clamp(260px,22vw,330px) clamp(230px,19vw,290px);grid-auto-rows:0;gap:10px}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(1){grid-column:1/4;grid-row:1}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(2){grid-column:4/7;grid-row:1}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(3){grid-column:7/10;grid-row:1}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(4){grid-column:10/13;grid-row:1}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(5){grid-column:1/3;grid-row:2}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(6){grid-column:3/6;grid-row:2}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(7){grid-column:6/9;grid-row:2}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(8){grid-column:9/13;grid-row:2}}
@media(min-width:721px) and (max-width:960px){.gallery-grid:not(.is-expanded){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:clamp(240px,40vw,350px)}.gallery-grid:not(.is-expanded) .gallery-item:nth-child(n){grid-column:auto;grid-row:auto}}

/* Live promotions from Dash Booking */
.promotions{width:min(calc(100% - 32px),1320px);margin:18px auto 0;padding:clamp(36px,5vw,64px) clamp(24px,5vw,70px) clamp(28px,4vw,48px);display:grid;gap:1.4rem;background:#2d2925;color:var(--white);border-radius:38px;position:relative;overflow:hidden;isolation:isolate}
.promotions:before{content:"";position:absolute;z-index:-1;width:280px;height:280px;right:-120px;top:-140px;border:1px solid rgba(197,165,116,.22);border-radius:50%;box-shadow:0 0 0 36px rgba(197,165,116,.04)}
.promotions[hidden]{display:none!important}
.promotions>.promo-intro,.promotions>.promo-grid,.promotions>.text-link{position:relative;z-index:1}
.promo-splash{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.promo-splash-shine{position:absolute;top:-20%;bottom:-20%;left:0;width:46%;background:linear-gradient(108deg,transparent 0 32%,rgba(255,236,196,.08) 42%,rgba(255,248,230,.46) 50%,rgba(197,165,116,.22) 58%,transparent 70%);transform:translateX(-120%) rotate(8deg);animation:promoShine 5.2s var(--ease) infinite}
.promo-splash-blob{position:absolute;top:8%;left:0;width:210px;height:210px;border-radius:46% 54% 42% 58%;background:radial-gradient(circle at 32% 30%,rgba(255,236,196,.55),rgba(197,165,116,.18) 42%,transparent 70%);filter:blur(1.5px);mix-blend-mode:screen;animation:promoSplash 6.8s var(--ease) infinite}
.promo-splash-blob-2{top:auto;bottom:-40px;width:160px;height:160px;animation-duration:9.4s;animation-delay:1.6s;opacity:.7}
.promo-intro{display:flex;flex-direction:column;gap:.15rem}
.promotions .script{color:#c5a574;margin:0}
.promotions h2{font:500 clamp(2.1rem,3.6vw,3.4rem)/1 Bodoni;margin:0;color:var(--white)}
.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.promo-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.2rem 1.6rem;align-items:center;padding:1.4rem 1.6rem;border:1px solid rgba(255,253,248,.12);border-radius:24px;background:rgba(255,253,248,.04);animation:promoCardSlide 1.1s var(--ease) both}
.promo-value{width:76px;height:76px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#eee8dc;color:#423d36;box-shadow:inset 0 0 0 1px rgba(154,125,85,.28)}
.promo-value strong{font:500 1.35rem/1 Bodoni}
.promo-value span{display:block;font:600 .48rem Lora;letter-spacing:.16em;text-transform:uppercase;color:#9a7d55}
.promo-copy h3{font:500 clamp(1.2rem,2vw,1.7rem)/1.15 Bodoni;margin:0 0 .35rem;color:var(--white)}
.promo-copy p,.promo-copy small{margin:.2rem 0 0;color:rgba(255,253,248,.62);font-size:.78rem}
.promo-book{font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;color:#e4d4bb;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}
.promotions>.text-link{justify-self:start;width:max-content;color:#e4d4bb}
.contact .phone{display:inline-block;margin:.2rem 0 0;font:500 1.15rem/1.5 Bodoni;color:var(--ink)}

/* Floating Call Us / Book Now */
.floating-button{position:fixed;z-index:9;right:22px;bottom:22px;display:flex;flex-direction:column;align-items:stretch;gap:8px;pointer-events:none}
.floating-button .btn-call-us,.floating-button .btn-book-now{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:148px;padding:.7rem 1.4rem;border-radius:999px;font:600 .63rem Lora;text-transform:uppercase;letter-spacing:.13em;color:var(--white);box-shadow:0 14px 34px rgba(45,41,37,.22);transition:transform .55s var(--ease),background .55s var(--ease)}
.floating-button .btn-call-us{background:var(--olive)}
.floating-button .btn-book-now{background:var(--ink)}
.floating-button .btn-call-us:hover{background:#4f5448;transform:translateY(-2px)}
.floating-button .btn-book-now:hover{background:var(--olive);transform:translateY(-2px)}
.floating-button .btn-call-us:active,.floating-button .btn-book-now:active{transform:scale(.98)}
body.menu-open .floating-button{opacity:0;visibility:hidden;pointer-events:none}
@keyframes promoShine{0%{transform:translateX(-120%) rotate(8deg)}100%{transform:translateX(280%) rotate(8deg)}}
@keyframes promoSplash{0%{transform:translateX(-240px) rotate(0) scale(.75);opacity:0}14%{opacity:.95}82%{opacity:.7}100%{transform:translateX(1180px) rotate(48deg) scale(1.2);opacity:0}}
@keyframes promoCardSlide{0%{opacity:0;transform:translateX(-36px)}100%{opacity:1;transform:translateX(0)}}

/* Meet our team */
.team{width:min(calc(100% - 32px),1320px);margin:0 auto;padding:clamp(76px,9vw,120px) 24px;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,72px);align-items:start}
.team[hidden]{display:none!important}
.team-intro{position:sticky;top:108px}
.team-intro h2{font:500 clamp(2.55rem,4vw,4rem)/.98 Bodoni;margin:.35rem 0 1.2rem}
.team-intro>p:not(.script){max-width:36ch;color:var(--muted);margin:0}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.team-card{min-width:0}
.team-icon-wrap{width:108px;height:108px;margin:0;display:grid;place-items:center;border-radius:50%;background:#2d2925;color:#c5a574;box-shadow:inset 0 0 0 1px rgba(197,165,116,.3)}
.team-icon-wrap svg{width:60px;height:60px;display:block}
.team-photo{margin:0;padding:7px;background:rgba(103,92,76,.08);border-radius:160px 160px 22px 22px;box-shadow:inset 0 0 0 1px rgba(58,49,39,.06)}
.team-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 12%;border-radius:154px 154px 16px 16px}
.team-card h3{font:500 1.35rem/1.1 Bodoni;margin:1.05rem 0 .2rem}
.team-role{margin:0;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze)}
.team-card p:not(.team-role){margin:.7rem 0 1rem;color:var(--muted);font-size:.78rem;line-height:1.65}
.team-card .text-link{font-size:.58rem}

@media(max-width:960px){.promo-card{grid-template-columns:auto minmax(0,1fr);gap:1rem 1.2rem}.promo-book{grid-column:2;justify-self:start}.team{grid-template-columns:1fr}.team-intro{position:static}.team-card:nth-child(n){margin-top:0}}
@media(max-width:720px){body:has(.floating-button){padding-bottom:92px}.promotions{width:calc(100% - 20px);padding:32px 22px 26px;border-radius:26px}.promo-card{grid-template-columns:1fr;padding:1.2rem 1.15rem}.promo-value{width:64px;height:64px}.promo-book{grid-column:auto}.team{width:calc(100% - 20px);padding:72px 18px}.team-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;-webkit-overflow-scrolling:touch}.team-card{flex:0 0 78%;scroll-snap-align:start}.floating-button{left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.floating-button .btn-call-us,.floating-button .btn-book-now{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.floating-button .btn-call-us,.floating-button .btn-book-now{transition:none}.promo-splash-shine,.promo-splash-blob,.promo-card{animation:none}}
