*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:16px/1.6 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);--paper:#f4f0e9;--ink:#302c27;--accent:#716d47;--line:#d1cbc0;--muted:#706b64;--soft:#e9e3d8}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;width:100%;height:auto;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.02;letter-spacing:-.05em;overflow-wrap:normal;hyphens:none}h1{font-size:clamp(75px,9.5vw,152px)}h2{font-size:clamp(42px,5.6vw,84px)}h3{font-size:28px;letter-spacing:-.035em}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}p{max-width:64ch}.wrap{width:min(1440px,calc(100% - 112px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:.17em;font-weight:700;text-transform:uppercase;margin-bottom:24px}.small{font:12px/1.6 Arial,sans-serif;color:var(--muted);margin-top:22px}.section-title>p:last-child:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:28px;max-width:460px}.section-title{margin-bottom:40px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:52px;padding:15px 23px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:12px;font-weight:700;transition:background .25s,color .25s,transform .25s}.btn span{font-size:21px;transition:transform .25s}.btn:hover span{transform:translate(3px,-3px)}.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.text-link{display:inline-flex;gap:35px;padding-block:10px;border-bottom:1px solid;font-size:13px}.text-link span{font-size:20px}.skip{position:fixed;top:-150px;left:12px;z-index:200;background:#fff;color:#111;padding:15px}.skip:focus{top:12px}.demo-toolbar{height:48px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px;background:#071524;color:#fff;font:10px Arial,sans-serif;letter-spacing:.03em;border-bottom:1px solid #34475b}.demo-toolbar .exit-demo{display:flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid #9ad6f5;border-radius:6px;background:#17364d;font-size:12px;font-weight:700}.demo-toolbar>a:last-child{color:#9ddfff}.site-nav{display:flex;justify-content:space-between;align-items:center;padding:0 56px;min-height:88px;border-bottom:1px solid var(--line);position:relative;z-index:5;gap:25px}.brand{font-weight:700;font-size:32px;letter-spacing:-.06em;white-space:nowrap}.brand span{font-size:8px;letter-spacing:.1em;font-weight:400;margin-left:10px}.site-nav nav{display:flex;align-items:center;gap:28px;font-size:12px}.nav-book{padding:10px 17px;border:1px solid;font-size:11px;display:flex;gap:22px;align-items:center;min-height:42px}.hero-image{position:absolute;inset:0;overflow:hidden}.hero-image img{height:100%;object-fit:cover}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#18150eb3,#18150e08 80%)}[data-parallax]{will-change:transform}.hero-topline,.hero-bottom{position:absolute;inset:32px 56px auto;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.13em;z-index:1}.hero-bottom{inset:auto 56px 27px}.beauty-hero{position:relative;height:min(780px,85vh);min-height:610px;color:#fff6e9}.beauty-head{position:absolute;left:8%;top:50%;transform:translateY(-42%);z-index:1}.beauty-head h1{font-family:Georgia,serif;font-weight:400}.beauty-head .btn{margin-top:34px;background:#f5eee2;color:#312a24;border:none}.beauty-head .eyebrow{font-size:9px}.beauty-hero img{object-position:60%}.intro{display:grid;grid-template-columns:.55fr 1.3fr .8fr;gap:50px;align-items:center}.intro h2{font-size:clamp(38px,4.2vw,65px);font-family:Georgia,serif}.intro>p:last-child{font-size:15px;color:var(--muted)}.beauty-services{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center;padding-block:50px}.service-photo{position:relative;max-height:660px;overflow:hidden}.service-photo img{height:640px;object-position:50% 25%}.service-photo>span{position:absolute;bottom:25px;left:25px;color:white;font-size:9px;letter-spacing:.15em}.site-beauty h2{font-family:Georgia,serif}.service-row{display:flex;align-items:center;gap:20px;width:100%;padding:26px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;transition:padding .25s}.service-row:hover{padding-left:10px}.service-row>span{font-size:10px}.service-row>div{flex:1}.service-row h3{font-family:Georgia,serif;font-size:29px}.service-row p{font-size:12px;color:var(--muted);margin-top:9px;max-width:32ch}.service-row strong{font-size:14px;font-weight:400;white-space:nowrap}.service-row>b{font-size:22px}.beauty-philosophy{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:center}.giant-asterisk{font-size:260px;font-family:Georgia,serif;color:#aaa583;text-align:center;line-height:1}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.three-steps p{font-size:13px;line-height:1.7;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}.three-steps b{display:block;font-size:12px;color:var(--ink);margin-bottom:14px}.booking{display:grid;grid-template-columns:1.1fr 1fr;gap:110px;border-top:1px solid var(--line);align-items:start}.booking form{display:flex;flex-direction:column;gap:20px}label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:700}input,select{width:100%;background:transparent;color:var(--ink);border:1px solid var(--line);padding:13px;min-height:50px;border-radius:0;font-size:14px}select option{background:var(--paper);color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-result:empty{display:none}.form-result{background:var(--soft);padding:18px;font-size:14px}.faq-section{padding-bottom:95px}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;list-style:none;font-size:16px}.faq summary::-webkit-details-marker{display:none}.faq details p{font-size:14px;color:var(--muted);padding-top:20px}.faq details[open] summary span{transform:rotate(45deg)}.footer{border-top:1px solid var(--line);padding-block:50px;display:flex;gap:35px;align-items:center;justify-content:space-between;flex-wrap:wrap}.footer p{font-size:11px;color:var(--muted);margin-top:8px}.footer b{font-size:12px}.footer-exit{flex-basis:100%;font-size:12px;padding-top:20px;border-top:1px solid var(--line)}
/* SHIFT: full-bleed athletic art direction. */
.site-fitness{--paper:#121414;--ink:#f0f0e5;--accent:#c8f543;--line:#373a34;--muted:#b2b8a8;--soft:#252b20}.site-fitness h1,.site-fitness h2{font-weight:900;letter-spacing:-.065em;line-height:.95}.site-fitness h2 em{font-family:inherit;color:var(--accent);font-style:normal;font-weight:900}.site-fitness .btn{background:var(--accent);color:#17210a;border-color:var(--accent)}.fitness-hero{height:min(820px,87vh);min-height:650px;position:relative}.fitness-hero .hero-image{left:31%}.fitness-hero .hero-image:after{background:linear-gradient(90deg,#121414 0%,#12141405 65%)}.fitness-hero img{object-position:65%}.fitness-copy{position:relative;padding:65px 0 100px 56px;z-index:1}.fitness-copy h1{font-size:clamp(105px,13.5vw,210px);line-height:.88}.fitness-copy h1 span:last-child{color:var(--accent)}.fitness-copy>p:not(.eyebrow){margin:30px 0;font-size:16px}.vertical-text{position:absolute;right:28px;top:40%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.18em}.hero-scroll{position:absolute;left:56px;bottom:22px;font-size:9px;letter-spacing:.16em}.motion-strip{overflow:hidden;background:var(--accent);color:#17210a;font-size:40px;font-weight:900;line-height:1;padding:22px 0;white-space:nowrap}.motion-strip>div{width:max-content;animation:marquee 30s linear infinite}.choice-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.choice-tabs button{padding:12px 21px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:40px;font-size:12px}.choice-tabs .active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.site-fitness .choice-tabs .active{background:var(--accent);color:#17210a;border-color:var(--accent)}.program-feature{padding:48px;background:#1b1e1a;display:grid;grid-template-columns:.5fr 1.4fr 1fr;gap:45px;align-items:center}.program-number{font-size:130px;font-weight:900;line-height:1;color:var(--accent)}.program-copy h3{font-size:38px;margin-bottom:20px}.program-copy>p:not(.eyebrow),.program-copy li{font-size:14px;color:var(--muted)}.program-copy ul{padding-left:20px;line-height:2}.program-price{border-left:1px solid var(--line);padding-left:35px}.program-price>span{font-size:9px;letter-spacing:.12em}.program-price strong{display:block;font-size:75px;letter-spacing:-.06em;line-height:1.2}.program-price p{font-size:12px;color:var(--muted);margin-bottom:22px}.program-price .btn{gap:15px}.method{display:grid;grid-template-columns:1fr 1fr;gap:120px}.method-list article{position:relative;padding:25px 0 25px 65px;border-top:1px solid var(--line)}.method-list article>span{position:absolute;top:25px;left:0;color:var(--accent);font-size:12px}.method-list h3{font-size:27px;margin-bottom:16px}.method-list p{font-size:14px;color:var(--muted)}
/* TORQ: technical precision, high contrast, useful quoting. */
.site-auto{--paper:#ebece6;--ink:#182422;--accent:#cfef36;--line:#bec7bd;--muted:#5b6861;--soft:#dce4d5}.site-auto h1,.site-auto h2{font-weight:900;letter-spacing:-.055em;line-height:.94}.site-auto h1 em,.site-auto h2 em{font-family:inherit;font-weight:900;font-style:normal}.site-auto h1 em{color:var(--accent)}.auto-hero{display:grid;grid-template-columns:.85fr 1.15fr;background:#172322;color:#f0f4df;position:relative}.auto-copy{padding:58px 0 65px 56px;position:relative;z-index:2}.auto-copy h1{font-size:clamp(70px,8.2vw,130px)}.auto-copy>p:not(.eyebrow){margin:28px 0;color:#b5c4ba;font-size:15px}.auto-copy .btn{background:var(--accent);color:#182422;border-color:var(--accent)}.auto-photo{position:relative;overflow:hidden;min-height:670px}.auto-photo img{height:100%;object-position:63%}.auto-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#17232290,transparent 45%)}.tech-label{position:absolute;bottom:35px;left:30px;z-index:1;font-size:10px;letter-spacing:.1em;background:#182422c9;padding:15px}.auto-strip{grid-column:1/-1;display:flex;justify-content:space-around;background:#cfef36;color:#182422;padding:22px;font-size:11px;font-weight:700}.auto-services{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.auto-services button{background:transparent;border:1px solid var(--line);padding:30px;text-align:left;display:flex;flex-direction:column;align-items:start;min-height:350px;transition:background .3s}.auto-services button:hover{background:#d5ed89}.auto-services button>span{font-size:11px;letter-spacing:.1em}.auto-services h3{font-weight:700;font-size:29px;margin-top:42px}.auto-services p{font-size:13px;margin:22px 0;color:var(--muted)}.auto-services strong{display:flex;justify-content:space-between;width:100%;margin-top:auto;font-size:14px}.estimate-section{display:grid;grid-template-columns:1fr 1fr;gap:100px}.estimate-panel{background:#172322;color:#f0f4df;padding:45px;display:flex;flex-direction:column;gap:22px}.estimate-panel select{color:#f0f4df;border-color:#496258}.estimate-panel option{background:#172322;color:#f0f4df}.estimate-total{border-top:1px solid #496258;padding-top:30px}.estimate-total span{display:block;font-size:10px;letter-spacing:.12em}.estimate-total output{font-size:84px;line-height:1.2;letter-spacing:-.06em;color:#cfef36}.estimate-panel .btn{background:#cfef36;color:#172322;border:none}.auto-process{padding-top:30px}.auto-process .three-steps{gap:50px}
/* BUONO: food, warmth, movement and a real bag interaction. */
.site-restaurant{--paper:#f8efd9;--ink:#873528;--accent:#bc442e;--line:#d9baa3;--muted:#8b6958;--soft:#ecdcc1}.site-restaurant .brand{font-family:Georgia,serif;font-style:italic}.restaurant-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:45px 56px 40px}.restaurant-top h1{font-family:Georgia,serif;font-weight:700;font-style:italic;font-size:clamp(110px,19vw,290px);line-height:.8;letter-spacing:-.08em}.restaurant-top p{font-size:9px;letter-spacing:.12em;line-height:1.7;max-width:170px}.restaurant-top p:last-child{text-align:right}.restaurant-media{height:570px;position:relative;overflow:hidden;margin:0 28px;border-radius:4px}.restaurant-media>img{height:100%;object-position:50% 60%}.restaurant-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#352018aa,transparent 90%)}.restaurant-overlay{position:absolute;left:8%;top:50%;transform:translateY(-50%);z-index:1;color:#fff6de}.restaurant-overlay h2{font:clamp(50px,6vw,90px)/.96 Georgia,serif;letter-spacing:-.05em}.restaurant-overlay .btn{background:#f8efd9;color:#873528;border:none;margin-top:28px}.food-seal{position:absolute;right:6%;bottom:40px;border:1px solid #fff1cf;border-radius:50%;width:126px;height:126px;display:grid;place-content:center;text-align:center;background:#873528;color:#f8efd9;font-size:11px;font-weight:700;line-height:1.5;transform:rotate(12deg);z-index:1}.site-restaurant h2{font-family:Georgia,serif}.restaurant-story{display:grid;grid-template-columns:1.2fr .8fr;gap:150px;align-items:center}.restaurant-story h2{font-size:clamp(56px,7vw,105px)}.restaurant-story>div>p:not(.eyebrow){margin-block:30px;font-size:16px;max-width:420px}.restaurant-story figure{transform:rotate(3deg);padding:13px;background:#fff9ed;box-shadow:0 20px 60px #87352816}.restaurant-story img{height:450px;object-position:50% 25%}.restaurant-story figcaption{font-size:9px;letter-spacing:.1em;text-align:center;padding:20px 0 8px}.nav-cart{border:0;background:none;padding:10px 0;font-size:12px}.nav-cart span{background:var(--ink);color:var(--paper);display:inline-grid;place-content:center;border-radius:50%;min-width:22px;height:22px;margin-left:4px}.menu-title{display:flex;justify-content:space-between;align-items:center;gap:30px}.bag-link{background:transparent;border:0;border-bottom:1px solid;font-size:14px;padding:12px 0}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.dish{display:flex;align-items:center;gap:22px;padding:30px 0;border-top:1px solid var(--line)}.dish>div{flex:1}.dish small{font-size:9px;letter-spacing:.1em}.dish h3{font:34px/1.1 Georgia,serif;letter-spacing:-.045em;margin-top:12px}.dish p{font-size:13px;margin:15px 0;max-width:33ch}.dish>div>span{font-size:10px;color:var(--muted)}.dish>strong{font:26px Georgia,serif;white-space:nowrap}.dish>button{width:40px;height:40px;flex-shrink:0;border:1px solid var(--line);background:transparent;border-radius:50%;font-size:24px;transition:background .25s,color .25s}.dish>button:hover{background:var(--ink);color:var(--paper)}.dish[hidden]{display:none}.cart-dialog h2{font:58px Georgia,serif;margin-bottom:30px}.cart-dialog label{margin-top:25px}.cart-line{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid var(--line);font-size:13px}.cart-line button{width:30px;height:30px;border:1px solid var(--line);background:transparent;margin-left:7px}.cart-total{display:flex;justify-content:space-between;margin-block:30px;font-size:24px}[data-cart-status]{font-size:14px;margin-top:20px}
/* NORD: architectural editorial. */
.site-estate{--paper:#f2f1eb;--ink:#253b31;--accent:#627d58;--line:#c8cfc1;--muted:#697567;--soft:#e0e5d9}.site-estate h1,.site-estate h2{font-family:Georgia,serif}.site-estate .brand{letter-spacing:.12em;font-size:25px}.estate-head{padding:55px 56px 60px;display:grid;grid-template-columns:1.3fr .7fr;gap:20px 80px;align-items:end}.estate-head>.eyebrow{grid-column:1/-1;margin-bottom:12px}.estate-head h1{font-size:clamp(75px,8.6vw,134px)}.estate-head>div{padding-bottom:9px}.estate-head>div>p{font-size:15px;margin-bottom:25px}.estate-photo{height:660px;position:relative;overflow:hidden}.estate-photo>img{height:100%;object-position:50% 55%}.estate-feature{position:absolute;bottom:25px;left:56px;background:#f2f1ebf2;padding:24px 32px;display:flex;flex-direction:column;gap:10px;max-width:calc(100% - 112px)}.estate-feature span{font-size:9px;letter-spacing:.1em}.estate-feature strong{font:24px Georgia,serif;letter-spacing:-.035em}.estate-feature a{font-size:9px;border-bottom:1px solid;width:max-content;padding-bottom:4px}.collection-title{display:flex;justify-content:space-between;gap:40px;align-items:center}.collection-title>p{font-size:13px;color:var(--muted)}.property-filters{display:flex;gap:20px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:40px}.property-filters label{min-width:170px}.property-filters p{margin-left:auto;font-size:12px}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.property-image{position:relative;height:280px;overflow:hidden}.property-image img{height:100%;transition:transform .7s}.property:hover img{transform:scale(1.05)}.property-view-0 img{object-position:0%}.property-view-1 img{object-position:50%}.property-view-2 img{object-position:100%}.property-image>span{position:absolute;top:14px;left:14px;font-size:9px;background:var(--paper);padding:7px 10px}.property-image button{position:absolute;right:14px;bottom:14px;border:0;background:var(--paper);color:var(--ink);width:38px;height:38px;font-size:24px;border-radius:50%}.property-image button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.property-info{padding-block:22px;border-bottom:1px solid var(--line)}.property-info .eyebrow{font-size:8px;margin-bottom:12px}.property-info h3{font:29px Georgia,serif;letter-spacing:-.04em}.property-info>p:not(.eyebrow){font-size:11px;margin-top:12px}.property-info>div{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.property-info strong{font-weight:400;font-size:15px}.property-info button{border:1px solid var(--line);border-radius:50%;background:transparent;width:38px;height:38px;font-size:22px}.property[hidden]{display:none}.estate-approach{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:30px}.estate-approach>div>p{font-size:16px;margin-bottom:25px}.estate-approach .three-steps{grid-template-columns:1fr}.estate-approach .three-steps p{padding:18px 0;margin:0}.estate-approach .three-steps b{margin-bottom:7px}.empty-result{padding:30px;background:var(--soft)}dialog{border:1px solid var(--line);padding:50px;width:min(640px,calc(100% - 32px));max-height:85dvh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#051011aa;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:30px;min-width:40px;min-height:40px}dialog h2{font-size:44px;margin:16px 0}dialog>p:not(.eyebrow){font-size:13px}.floor-plan{display:grid;grid-template-columns:1.6fr 1fr;height:190px;border:5px solid var(--ink);margin-top:24px;background:var(--soft)}.floor-plan span{display:grid;place-content:center;border:3px solid var(--ink);font-size:10px;letter-spacing:.08em}dialog .btn{margin-top:25px}
/* Motion is progressive enhancement: content remains visible without JS. */
.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s,transform .75s;transition-delay:var(--delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.hero-enter{animation:enter .85s cubic-bezier(.2,.7,.2,1) both}.hero-enter:nth-child(2){animation-delay:.12s}.hero-enter:nth-child(3){animation-delay:.22s}.site-nav a:not(.brand){transition:opacity .2s}.site-nav a:hover{opacity:.65}.btn.is-added{transform:scale(.95)}@keyframes enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes change{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}.content-change{animation:change .3s ease-out}
html.is-embedded .demo-toolbar{display:none}html.is-embedded{scroll-padding-top:70px}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-nav{padding-inline:32px}.intro{grid-template-columns:1fr 1fr;gap:35px}.intro>.eyebrow{grid-column:1/-1}.beauty-services{gap:45px}.beauty-philosophy{gap:40px}.booking{gap:60px}.program-feature{grid-template-columns:1.5fr 1fr;gap:30px;padding:35px}.program-number{display:none}.auto-services{grid-template-columns:1fr 1fr}.auto-services button{min-height:295px}.estimate-section{gap:50px}.restaurant-story{gap:65px}.restaurant-top{padding-inline:32px}.restaurant-top h1{font-size:20vw}.restaurant-top p{font-size:8px}.property-grid{gap:20px}.property-image{height:230px}.estate-approach{gap:50px}.estate-head{padding-inline:32px;gap:20px 40px}.method{gap:60px}.program-price{padding-left:25px}.fitness-copy{padding-left:32px}.auto-copy{padding-left:32px}}
@media(max-width:700px){html{scroll-padding-top:60px}.wrap{width:calc(100% - 40px)}.section{padding-block:65px}.demo-toolbar{height:46px;padding:0 10px;gap:8px}.demo-toolbar>span{display:none}.demo-toolbar .exit-demo{font-size:11px;padding-inline:10px}.demo-toolbar>a:last-child{font-size:10px}.site-nav{padding-inline:20px;min-height:75px;gap:15px}.site-nav nav{display:none}.brand{font-size:28px}.brand span{display:none}.nav-book{padding:8px 12px;gap:12px;font-size:10px;max-width:180px}.eyebrow{font-size:8px;margin-bottom:20px}h2{font-size:clamp(37px,10vw,58px)}.btn{gap:25px;font-size:11px;padding:14px 18px}.hero-topline{inset:22px 22px auto;font-size:7px}.hero-topline>span:last-child{display:none}.hero-bottom{inset:auto 22px 22px;font-size:7px}.hero-bottom>span{max-width:150px}.beauty-hero{height:670px;min-height:0;max-height:82svh}.beauty-head{left:25px;transform:translateY(-40%);top:50%}.beauty-head h1{font-size:clamp(73px,19vw,115px)}.beauty-head .eyebrow{font-size:7px}.beauty-hero .hero-image:after{background:linear-gradient(90deg,#221a13b3,#221a1330)}.intro{grid-template-columns:1fr;gap:25px}.intro h2{font-size:clamp(40px,11vw,62px)}.intro>.eyebrow{margin:0}.beauty-services{grid-template-columns:1fr;gap:45px;padding-top:0}.service-photo{height:370px}.service-photo img{height:100%;object-position:50% 25%}.service-row{gap:13px}.service-row h3{font-size:25px}.service-row p{font-size:11px;max-width:25ch}.service-row strong{font-size:12px}.service-row>span{display:none}.beauty-philosophy{grid-template-columns:1fr;gap:20px}.giant-asterisk{font-size:130px;text-align:left}.three-steps{grid-template-columns:1fr;gap:15px}.three-steps p{padding-top:16px}.booking{grid-template-columns:1fr;gap:35px}.booking .section-title{margin-bottom:20px}.form-row{gap:15px}.footer{padding-block:35px;gap:25px}.footer .brand{flex-basis:100%}.faq-section{padding-bottom:60px}.fitness-hero{height:720px;min-height:0;max-height:85svh}.fitness-hero .hero-image{left:0}.fitness-hero .hero-image:after{background:linear-gradient(90deg,#10140eba,#10140e40)}.fitness-copy{padding:60px 22px 70px}.fitness-copy h1{font-size:clamp(80px,21vw,142px)}.fitness-copy>p:not(.eyebrow){font-size:14px}.vertical-text{right:12px;font-size:8px}.hero-scroll{left:22px}.motion-strip{font-size:28px;padding:19px 0}.program-feature{grid-template-columns:1fr;padding:25px}.program-price{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.program-price strong{font-size:60px}.program-copy h3{font-size:32px}.choice-tabs{gap:8px}.choice-tabs button{font-size:11px;padding:10px 15px}.method{grid-template-columns:1fr;gap:40px}.method-list article{padding-left:40px}.auto-hero{grid-template-columns:1fr}.auto-copy{padding:40px 22px 45px}.auto-copy h1{font-size:clamp(67px,18vw,110px)}.auto-photo{min-height:0;height:360px}.auto-photo:after{background:linear-gradient(180deg,#17232280,transparent 40%)}.auto-strip{padding:20px 15px;gap:15px;font-size:8px}.auto-services button{padding:23px;min-height:310px}.auto-services h3{font-size:25px;margin-top:30px}.auto-services p{font-size:12px}.estimate-section{grid-template-columns:1fr;gap:35px}.estimate-panel{padding:25px}.estimate-total output{font-size:72px}.auto-process .three-steps{gap:18px}.restaurant-top{padding:35px 22px 32px;display:block}.restaurant-top h1{font-size:clamp(98px,28vw,170px);margin-top:24px;text-align:center}.restaurant-top>p:first-child{max-width:none;font-size:8px;text-align:center}.restaurant-top>p:first-child br{display:none}.restaurant-top>p:last-child{display:none}.restaurant-media{margin-inline:12px;height:510px}.restaurant-overlay{left:25px}.restaurant-overlay h2{font-size:65px}.food-seal{right:20px;bottom:22px;width:90px;height:90px;font-size:8px}.restaurant-story{grid-template-columns:1fr;gap:50px}.restaurant-story h2{font-size:58px}.restaurant-story figure{margin:0 10px}.restaurant-story img{height:370px}.restaurant-story>div>p:not(.eyebrow){font-size:15px}.menu-title{display:block}.bag-link{margin-bottom:25px}.menu-grid{grid-template-columns:1fr}.dish{gap:16px}.dish h3{font-size:30px}.dish>button{width:36px;height:36px}.dish>strong{font-size:24px}.estate-head{padding:38px 22px 40px;grid-template-columns:1fr;gap:25px}.estate-head>.eyebrow{grid-column:auto;margin:0;font-size:7px}.estate-head h1{font-size:clamp(63px,16vw,90px)}.estate-head>div>p{font-size:14px;margin-bottom:16px}.estate-photo{height:440px}.estate-feature{left:18px;bottom:18px;max-width:calc(100% - 36px);padding:20px}.estate-feature strong{font-size:21px}.estate-feature span{font-size:7px}.collection-title{display:block}.collection-title>p{margin-bottom:25px}.property-filters{gap:12px;flex-wrap:wrap;align-items:start}.property-filters label{min-width:0;flex:1}.property-filters p{flex-basis:100%;margin:0}.property-grid{grid-template-columns:1fr;gap:40px}.property-image{height:300px}.estate-approach{grid-template-columns:1fr;gap:15px}dialog{padding:40px 24px}dialog h2{font-size:34px}.cart-line{gap:10px;flex-wrap:wrap}.cart-line button{margin-left:5px}.floor-plan{height:170px}.floor-plan span{font-size:8px}}
@media(max-width:360px){.auto-services{grid-template-columns:1fr}.auto-services button{min-height:250px}.dish{gap:10px}.dish h3{font-size:26px}.service-row h3{font-size:23px}.restaurant-overlay h2{font-size:56px}.nav-book{font-size:9px;padding:8px}.site-nav{gap:10px}.program-copy h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}[data-parallax]{transform:none!important}}
@media(max-width:360px){.estate-head h1{font-size:55px}.estate-head>*{min-width:0}}
@media(max-width:700px){.restaurant-top h1{font-size:clamp(80px,25vw,170px)}}
/* V3: consistent native controls and individual conversion journeys. */
input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:0;background-color:transparent;color:var(--ink);font:400 15px/1.35 Arial,sans-serif;padding:16px;height:56px;min-height:56px;-webkit-appearance:none;appearance:none}
select{padding-right:45px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23888880' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
input[type=date]{line-height:22px}input::-webkit-date-and-time-value{text-align:left;min-height:22px}input::-webkit-datetime-edit{padding:0}textarea{height:auto;min-height:100px;resize:vertical}label{min-width:0;gap:10px;line-height:1.4}fieldset{min-width:0;border:0;padding:0;margin:0}legend{font:700 11px/1.4 Arial,sans-serif;margin-bottom:12px}.booking{min-width:0}.booking>*{min-width:0}.booking form{min-width:0;gap:24px}.booking-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.booking-intro{font-size:14px;color:var(--muted);margin:20px 0 30px}.booking-demo-note{font-size:10px;line-height:1.6;color:var(--muted);margin:0}.booking .btn{min-height:56px;align-self:stretch;white-space:normal;line-height:1.4}.booking h2{font-size:clamp(45px,5vw,80px)}.booking .form-result{margin:0;overflow-wrap:anywhere}
/* Atelier: a portrait and an appointment planner. */
.booking-beauty{grid-template-columns:.72fr 1.28fr;gap:85px;align-items:center}.atelier-appointment-photo{height:650px;position:relative;overflow:hidden}.atelier-appointment-photo img{height:100%;object-fit:cover;object-position:50% 28%}.atelier-appointment-photo span{position:absolute;bottom:25px;left:25px;right:25px;font-size:8px;letter-spacing:.15em;color:#fff}.atelier-appointment{padding-block:20px}.appointment-times>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.appointment-times button{min-height:48px;font-size:13px;border:1px solid var(--line);background:transparent;color:var(--ink);transition:background .2s,color .2s}.appointment-times button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.appointment-bottom{border-top:1px solid var(--line);padding-top:26px;display:flex;gap:25px;align-items:center;justify-content:space-between}.appointment-bottom>span{font:13px/1.6 Georgia,serif}.appointment-bottom .btn{font-size:11px;gap:30px;padding-inline:24px}
/* SHIFT: an introduction, not an appointment template. */
.booking-fitness{grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.fitness-start h2{font-size:clamp(62px,6vw,95px);line-height:.95}.fitness-start>p:not(.eyebrow){font-size:15px;max-width:33ch;margin:30px 0}.fitness-start ol{list-style:none;padding:0;margin:40px 0 0}.fitness-start li{padding:17px 0;border-top:1px solid var(--line);font-size:12px;display:flex;gap:22px}.fitness-start li b{color:var(--accent)}.fitness-consultation{background:var(--accent);color:#12180e;padding:40px;--paper:#d2ff3a;--ink:#12180e;--line:#12180e55;--muted:#34411f;--soft:#e4ff83}.consultation-heading{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:.1em;border-bottom:1px solid #12180e55;padding-bottom:20px}.fitness-consultation h3{font-size:32px;letter-spacing:-.045em;line-height:1.05}.experience-options{display:flex;flex-wrap:wrap;gap:8px}.experience-options legend{margin-bottom:12px}.experience-options label{display:block;position:relative;cursor:pointer}.experience-options input{position:absolute;opacity:0;width:1px;height:1px}.experience-options span{display:block;border:1px solid var(--line);padding:10px 12px;font-size:10px;font-weight:400}.experience-options input:checked+span{background:#12180e;color:#d2ff3a}.experience-options input:focus-visible+span{outline:3px solid #12180e;outline-offset:3px}.fitness-consultation .btn{background:#12180e;color:#d2ff3a}
/* TORQ: numbered service work order, full width. */
.booking-auto{display:block}.workshop-request-title{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:50px}.workshop-request-title>p{font-size:15px;max-width:26ch}.workshop-request{border:1px solid var(--line);padding:45px;gap:0!important}.workshop-stage{display:grid;grid-template-columns:85px minmax(0,1fr);gap:25px;padding-bottom:30px}.workshop-stage+.workshop-stage{border-top:1px solid var(--line);padding-top:30px}.stage-number{font:40px/1 Arial,sans-serif;color:#65736a}.workshop-stage h3{font-size:20px;margin-bottom:25px}.workshop-stage>div{min-width:0}.workshop-stage .booking-fields{margin-bottom:20px}.workshop-request-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:30px}.workshop-request-footer p{font-size:12px;line-height:1.6}.workshop-request .form-result{margin-top:24px}.workshop-request .booking-demo-note{margin-top:24px}
/* Buono: a reservation ticket under a centred invitation. */
.booking-restaurant{display:block}.table-invitation{text-align:center;max-width:800px;margin:0 auto 45px}.table-star{display:block;font:75px/1 Georgia,serif;margin-bottom:22px}.table-invitation h2{font-size:clamp(52px,6vw,88px)}.table-invitation>p:last-child{font-size:15px;margin-top:24px}.reservation-ticket{border:1px solid var(--line);padding:35px 45px;background:#fff8e9;box-shadow:0 14px 0 -6px #ecdcc1;gap:28px!important}.reservation-ticket-top{display:flex;justify-content:space-between;gap:15px;border-bottom:1px dashed var(--line);padding-bottom:22px;font-size:9px;letter-spacing:.15em}.reservation-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.reservation-note{display:flex;gap:18px;align-items:center;font-size:12px}.reservation-note>span{font-size:35px}.reservation-ticket-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px dashed var(--line);padding-top:25px}.reservation-ticket-bottom .btn{min-width:240px}
/* NORD: a quiet editorial enquiry. */
.booking-estate{grid-template-columns:1fr 1fr;gap:110px;align-items:center}.estate-enquiry-title>p:not(.eyebrow){max-width:36ch;font-size:15px;line-height:1.8;margin-top:30px}.estate-enquiry-line{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:45px;padding-top:20px;font-size:8px;letter-spacing:.13em}.estate-enquiry{padding-left:40px;border-left:1px solid var(--line)}.estate-enquiry input,.estate-enquiry select,.estate-enquiry textarea{border-width:0 0 1px;padding-left:0}.estate-enquiry .btn{background:transparent;color:var(--ink);border:1px solid var(--ink)}
@media(max-width:1100px){.booking-beauty,.booking-fitness,.booking-estate{gap:45px}.fitness-consultation{padding:30px}.atelier-appointment-photo{height:580px}.appointment-bottom{align-items:start;flex-direction:column}.appointment-bottom .btn{width:100%;justify-content:space-between}.workshop-request{padding:30px}}
@media(max-width:700px){.booking h2{font-size:clamp(40px,11vw,62px)}.booking-beauty,.booking-fitness,.booking-estate{grid-template-columns:minmax(0,1fr);gap:35px}.atelier-appointment-photo{height:280px}.atelier-appointment-photo img{object-position:50% 40%}.atelier-appointment{padding:0}.booking-fields{gap:15px}.booking form{gap:22px}.booking label{font-size:11px}.appointment-times>div{gap:7px}.appointment-times button{font-size:12px;min-height:48px}.appointment-bottom{gap:20px}.appointment-bottom>span br{display:none}.appointment-bottom>span b{margin-left:5px}.booking-intro{margin-bottom:25px}.fitness-start h2{font-size:66px}.fitness-start>p:not(.eyebrow){margin:25px 0}.fitness-start ol{margin-top:25px}.fitness-consultation{padding:25px 20px}.fitness-consultation .booking-fields{grid-template-columns:minmax(0,1fr)}.fitness-consultation h3{font-size:30px}.experience-options{gap:7px}.experience-options span{padding:10px;font-size:10px}.workshop-request-title{display:block;margin-bottom:30px}.workshop-request-title>p{margin-top:25px;font-size:14px}.workshop-request{padding:25px 20px}.workshop-stage{grid-template-columns:minmax(0,1fr);gap:15px}.stage-number{font-size:25px}.workshop-stage h3{font-size:18px;margin-bottom:20px}.workshop-stage:first-child .booking-fields{grid-template-columns:minmax(0,1fr)}.workshop-request-footer{flex-direction:column;align-items:stretch;gap:20px}.workshop-request-footer .btn{width:100%;justify-content:space-between}.table-star{font-size:55px;margin-bottom:20px}.table-invitation{margin-bottom:30px}.table-invitation>p:last-child{font-size:14px}.reservation-ticket{padding:25px 20px;gap:22px!important}.reservation-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 15px}.reservation-fields>label:first-child{grid-column:1/-1}.reservation-ticket-top{font-size:7px;letter-spacing:.1em}.reservation-note{font-size:11px;align-items:start}.reservation-ticket-bottom{flex-direction:column-reverse;align-items:stretch;gap:20px}.reservation-ticket-bottom .btn{min-width:0;width:100%;justify-content:space-between}.estate-enquiry{padding:0;border:0}.estate-enquiry-line{margin-top:30px;gap:10px;font-size:7px}.booking .btn{gap:20px;font-size:11px;padding:15px 18px}.booking-fields input,.reservation-fields input,.booking-fields select,.reservation-fields select{padding-inline:12px}.booking-fields select,.reservation-fields select{padding-right:32px;background-position:right 10px center}input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea{font-size:16px}}
@media(max-width:360px){.booking-fields,.reservation-fields{grid-template-columns:minmax(0,1fr)}.reservation-fields>label:first-child{grid-column:auto}.appointment-times>div{grid-template-columns:repeat(2,minmax(0,1fr))}.fitness-start h2{font-size:58px}}
/* Each concept has its own motion language. */
.niche-motion .site-beauty .hero-enter{animation:atelier-type 1.25s cubic-bezier(.16,1,.3,1) both}.niche-motion .site-beauty .niche-reveal{clip-path:inset(12% 0 12% 0);opacity:.4;transition:clip-path 1.35s cubic-bezier(.16,1,.3,1),opacity 1.2s}.niche-motion .site-beauty .niche-visible{clip-path:inset(0);opacity:1}.site-beauty .service-photo img{transition:transform 1.5s}.site-beauty .service-photo:hover img{transform:scale(1.04)}
.niche-motion .site-fitness .hero-enter{animation:shift-type .85s cubic-bezier(.16,1,.3,1) both}.niche-motion .site-fitness .hero-enter:nth-last-child(1){animation-delay:.14s}.niche-motion .site-fitness .niche-reveal{clip-path:inset(0 100% 0 0);transition:clip-path .8s cubic-bezier(.16,1,.3,1)}.niche-motion .site-fitness .niche-visible{clip-path:inset(0)}.site-fitness .program-copy.content-change{animation:shift-program .4s cubic-bezier(.16,1,.3,1)}
.niche-motion .site-auto .auto-copy h1{animation:torq-type 1s cubic-bezier(.16,1,.3,1) both}.niche-motion .site-auto .niche-reveal{opacity:0;transform:translateX(-20px);transition:opacity .6s,transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--niche-delay,0ms)}.niche-motion .site-auto .niche-visible{opacity:1;transform:none}.site-auto .auto-services button{position:relative;overflow:hidden}.site-auto .auto-services button:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .3s}.site-auto .auto-services button:hover:before{transform:scaleY(1)}
.niche-motion .site-restaurant .restaurant-top h1{animation:buono-type 1.2s cubic-bezier(.2,.8,.2,1) both}.niche-motion .site-restaurant .niche-reveal{opacity:0;transform:translateY(30px) rotate(-2deg);transition:opacity .8s,transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--niche-delay,0ms)}.niche-motion .site-restaurant .niche-visible{opacity:1;transform:none}.niche-motion .site-restaurant .restaurant-story figure.niche-visible{transform:rotate(3deg)}.site-restaurant .food-seal{animation:buono-seal 12s ease-in-out infinite alternate}.site-restaurant .dish>button:hover{transform:rotate(90deg);transition:transform .3s,background .3s}
.niche-motion .site-estate .estate-head h1{animation:nord-type 1.2s cubic-bezier(.16,1,.3,1) both}.niche-motion .site-estate .niche-reveal{clip-path:inset(0 0 20% 0);opacity:.4;transition:clip-path 1.3s cubic-bezier(.16,1,.3,1),opacity 1s}.niche-motion .site-estate .niche-visible{clip-path:inset(0);opacity:1}.site-estate .property-image img{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.site-estate .property:hover .property-image img{transform:scale(1.05)}
@keyframes atelier-type{from{clip-path:inset(100% 0 0);transform:translateY(25px);opacity:0}to{clip-path:inset(0);transform:none;opacity:1}}@keyframes shift-type{from{transform:translateX(-45px) skewX(-8deg);clip-path:inset(0 100% 0 0)}to{transform:none;clip-path:inset(0)}}@keyframes shift-program{from{transform:translateX(25px);opacity:0}to{transform:none;opacity:1}}@keyframes torq-type{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes buono-type{from{transform:translateY(35px) rotate(-3deg);opacity:0}to{transform:none;opacity:1}}@keyframes buono-seal{from{transform:rotate(4deg)}to{transform:rotate(18deg)}}@keyframes nord-type{from{filter:blur(8px);transform:translateY(18px);opacity:0}to{filter:none;transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.niche-reveal{clip-path:none!important;opacity:1!important;transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
