*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--bg)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:400}h1{font-size:clamp(64px,7.5vw,124px);line-height:.99;letter-spacing:-.05em}h1 em,h2 em{font-weight:400}h2{font-size:clamp(44px,5vw,80px);line-height:1.07;letter-spacing:-.04em}h3{font-size:30px;letter-spacing:-.025em;line-height:1.15}p{line-height:1.7}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:26px}.lead{font-size:16px;line-height:1.75;max-width:420px;margin:28px 0 32px}.small-note{font-size:11px;line-height:1.7;opacity:.7}.header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:relative;z-index:30;background:var(--bg);transition:box-shadow .3s}.brand{font-family:var(--heading);font-size:27px;letter-spacing:-.045em;line-height:1.1}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:.22em;margin-top:9px}.header nav{display:flex;align-items:center;gap:35px;font-size:12px}.header nav>a{position:relative}.header nav>a:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav>a:hover:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 25px;background:var(--accent);color:var(--bg);font-size:12px;font-weight:600;min-height:52px;transition:transform .25s,box-shadow .25s,filter .25s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0002;filter:brightness(1.06)}.button>span{font-size:20px;transition:transform .25s}.button:hover>span{transform:translate(3px,-3px)}.nav-cta{padding:12px 20px;min-height:44px;font-size:11px}.text-button{padding:20px 0 0;background:none!important;color:inherit!important;box-shadow:none!important}.text-link{padding:8px 0;background:none;border-bottom:1px solid currentColor;font-size:12px;display:inline-block}.section{padding:110px 6vw}.section-head{margin-bottom:55px}.section-head>p:last-child:not(.eyebrow){max-width:470px;margin-top:24px;font-size:15px}.hero{position:relative}.hero-copy{position:relative;z-index:2}.hero-visual{position:relative;overflow:hidden}.hero-image{height:100%;transform:scale(1.045);animation:image-in 1.6s ease both;will-change:transform}.hero h1{animation:title-in 1s cubic-bezier(.16,1,.3,1) both}.hero .eyebrow{animation:title-in 1s .1s both}.hero .lead,.hero .button{animation:title-in 1s .2s both}.hero-foot{display:block;font-size:9px;letter-spacing:.2em;margin-top:65px}.image-label{position:absolute;bottom:24px;left:28px;color:#fff;font-size:9px;letter-spacing:.16em}.section img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.visible{opacity:1;transform:none}.progress-line{position:fixed;top:0;left:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:100;width:100%;pointer-events:none}.skip-link{position:fixed;top:-100px;background:var(--ink);color:var(--bg);padding:15px;z-index:200}.skip-link:focus{top:10px}.menu-toggle{display:none;width:44px;height:44px;background:none;padding:10px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.accordion details{border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.accordion details:last-child{border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}summary{list-style:none;display:flex;align-items:center;gap:22px;padding:27px 0;cursor:pointer;font-family:var(--heading);font-size:27px}summary::-webkit-details-marker{display:none}.serial{font:10px 'DM Sans',sans-serif;opacity:.6}.plus{margin-left:auto;font:24px 'DM Sans',sans-serif;transition:transform .3s}details[open] .plus{transform:rotate(45deg)}.answer{padding:0 30px 30px 38px;font-size:14px;line-height:1.8;max-width:620px;animation:title-in .35s ease}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding:28px 0}.card p{font-size:14px;margin:18px 0}.chip{border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);background:none;padding:12px 24px;font-size:12px;transition:background .25s,color .25s}.chip.active,.chip:hover{background:var(--ink);color:var(--bg)}.menu-switch,.day-tabs,.project-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.marquee{overflow:hidden;background:var(--accent);color:var(--bg);padding:18px 0;font-family:var(--heading);font-size:30px;white-space:nowrap}.marquee>div{width:max-content;animation:marquee 40s linear infinite}.marquee span{margin:0 45px}.contact-section{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}.contact-section h2{font-size:clamp(58px,6.5vw,104px)}.contact-section p{max-width:420px;margin:25px 0;font-size:14px}.contact-detail{align-self:center;border-left:1px solid color-mix(in srgb,var(--ink) 20%,transparent);padding-left:5vw}.contact-symbol{font-size:80px;display:block;color:var(--accent)}footer{border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent);margin:0 5vw;padding:35px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer button{font-size:10px!important}footer .brand{font-size:24px}.back-top{font-size:25px}dialog{color:var(--ink);background:var(--bg);border:0;width:min(620px,calc(100% - 28px));padding:45px;max-height:90dvh;overflow:auto;box-shadow:0 25px 120px #0005}dialog::backdrop{background:#101a19ab;backdrop-filter:blur(8px)}dialog[open]{animation:dialog-in .35s cubic-bezier(.16,1,.3,1)}.dialog-close{position:absolute;top:12px;right:15px;background:none;font-size:30px;width:40px;height:40px}.booking-intro h2{font-size:45px}.demo-notice{font-size:12px;opacity:.75;margin:20px 0 28px}.booking-intro .eyebrow{margin:0 0 20px}form label{display:block;font-size:12px}input,textarea,select{border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);border-radius:0;width:100%;background:transparent;color:var(--ink);padding:13px;margin:8px 0 22px;min-width:0}select option{background:var(--bg);color:var(--ink)}form label>span{opacity:.6}form .button{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.success-icon{display:block;font-size:50px;color:var(--accent);margin:20px 0}#booking-success p{font-size:14px;margin:20px 0}#detail-dialog img{max-height:340px;margin-bottom:25px}#detail-dialog h2{font-size:42px;margin:20px 0}#detail-dialog p{font-size:14px}.theme-hotel .button,.theme-fitness .button,.theme-restaurant .button{color:var(--ink)}
/* Restaurant: an oversized wordmark and a photographic diptych. */
.restaurant-hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px;padding:35px 5vw 155px;gap:7vw}.restaurant-hero .hero-copy{padding-top:40px}.restaurant-hero .hero-visual{height:520px;border-radius:190px 190px 0 0}.restaurant-hero h1{font-size:clamp(65px,7vw,112px)}.restaurant-hero em{color:var(--accent)}.giant-word{position:absolute;bottom:-.03em;left:4vw;font-family:var(--heading);font-size:24vw;letter-spacing:-.06em;line-height:.72;color:var(--accent);pointer-events:none;z-index:3}.round-note{position:absolute;bottom:35px;right:25px;width:130px;height:130px;border-radius:50%;display:grid;place-content:center;text-align:center;border:1px solid #ffffffaa;color:#fff;font-size:11px;line-height:1.8;backdrop-filter:blur(12px);transform:rotate(-12deg)}.menu-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:130px}.menu-photo{height:250px;max-width:350px;border-radius:2px}.menu-section .section-head{margin-bottom:35px}.dish{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff30;padding:28px 0}.dish h3{font-size:31px}.dish p{font-size:12px;opacity:.7;margin-top:8px}.dish>span{font-size:15px;margin-top:7px}.dish-list{min-height:380px}.menu-section .small-note{display:block;margin-top:25px}.story-section{display:grid;grid-template-columns:1.1fr 1fr;min-height:560px;background:#32392e}.story-image{height:100%;max-height:650px}.story-copy{padding:80px 6vw;align-self:center}.story-copy p:not(.eyebrow){font-size:14px;margin:25px 0 35px}.theme-restaurant footer{margin-top:20px}
/* Hotel: full-bleed landscape and a useful stay composer. */
.theme-hotel .header{position:absolute;inset:0 0 auto;background:transparent;color:white;border-bottom:1px solid #ffffff35}.theme-hotel .nav-cta{background:#f5f2e9;color:#29392f}.hotel-hero{height:min(850px,95svh);min-height:650px;color:white}.hotel-hero>.hero-image{position:absolute;inset:0}.image-shade{position:absolute;inset:0;background:linear-gradient(90deg,#15271c85,#15271c18),linear-gradient(0deg,#15271c70,transparent 55%)}.hotel-hero .hero-copy{padding:200px 9vw 90px}.hotel-hero h1{font-size:clamp(90px,10vw,155px);letter-spacing:-.045em}.hotel-hero .lead{font-size:18px;max-width:350px}.hotel-hero .hero-copy .button{background:#f5f2e9;color:#29392f}.scroll-link{position:absolute;right:6vw;bottom:65px;display:flex;align-items:center;gap:50px;font-size:9px;letter-spacing:.15em}.scroll-link span{font-size:25px}.stay-bar{position:relative;z-index:4;background:#fffdf5;display:grid;grid-template-columns:1fr 1fr .8fr 1.3fr;gap:25px;align-items:center;max-width:1080px;margin:-35px auto 0;padding:25px 35px;box-shadow:0 15px 55px #22372612}.stay-bar label{font-size:9px;letter-spacing:.1em}.stay-bar input,.stay-bar select{border:0;border-bottom:1px solid #29392f35;margin:5px 0 0;padding:8px 0;font-size:13px}.stay-bar .button{background:#29392f;color:#fffdf5}#stay-error:empty{display:none}#stay-error{grid-column:1/-1;font-size:12px;color:#9a342c}.hotel-intro{text-align:center;max-width:900px;margin:auto}.hotel-intro h2{font-size:85px}.hotel-intro>p:last-child{max-width:510px;margin:30px auto 0;font-size:15px}.hotel-intro em{color:#8b7656}.room-section{padding-top:0}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.room-card:nth-child(2){padding-top:60px}.room-card img{height:350px}.room-card>div{padding-top:25px}.room-card span{font-size:9px;letter-spacing:.1em}.room-card h3{font-size:37px;margin:12px 0}.room-card p{font-size:12px;margin-bottom:20px}.hotel-experience{background:#e5e8da;display:grid;grid-template-columns:1fr 1fr;gap:10%}
/* Beauty: magazine composition, round portrait and ritual selector. */
.theme-beauty .brand{font-size:42px}.theme-beauty .button{border-radius:50px}.beauty-hero{min-height:770px;padding:25px 6vw 70px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:10%;align-items:end}.beauty-top{grid-column:1/-1;display:flex;justify-content:space-between;margin-bottom:35px}.beauty-top .eyebrow{margin:0}.beauty-top>span{font-size:9px;letter-spacing:.15em}.beauty-hero h1{position:relative;grid-column:1/-1;z-index:3;font-size:clamp(82px,9.5vw,148px);padding-top:10px}.beauty-hero h1 br{display:none}.beauty-hero h1 em{display:block;margin-left:17vw;font-style:normal}.beauty-hero .hero-visual{grid-column:1;grid-row:3;height:430px;border-radius:220px 220px 15px 15px;margin-top:-30px;margin-left:4vw;max-width:440px}.beauty-aside{padding:60px 0;max-width:340px;position:relative;z-index:2}.beauty-aside .small-note{display:block;margin-top:40px}.beauty-circle{position:absolute;right:8vw;top:150px;border:1px solid #743b4d35;border-radius:50%;height:370px;width:370px;font-size:260px;line-height:1.2;text-align:center;font-family:var(--heading);opacity:.4;pointer-events:none}.ritual-section{background:#ede0db}.ritual-picker{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.ritual-option{display:flex;align-items:center;gap:20px;width:100%;background:none;padding:30px 0;text-align:left;font-family:var(--heading);font-size:30px;border-bottom:1px solid #743b4d40;transition:padding .3s,color .3s}.ritual-option span{font-family:'DM Sans',sans-serif;font-size:10px}.ritual-option span:last-child{margin-left:auto;font-size:24px}.ritual-option.active{padding-left:18px;color:var(--accent);border-bottom:2px solid var(--accent)}.ritual-result{background:var(--bg);display:grid;grid-template-columns:.7fr 1fr;min-height:350px}.ritual-result img{height:100%}.ritual-result>div{padding:35px 25px}.ritual-result h3{font-size:38px}.ritual-result p:not(.eyebrow){font-size:13px;margin:15px 0 25px}.ritual-result .button{gap:10px;padding:14px 17px;font-size:10px}.beauty-manifesto{text-align:center;position:relative}.beauty-manifesto h2{font-size:clamp(60px,7vw,105px)}.beauty-manifesto>p{max-width:380px;margin:30px auto;font-size:14px}.flower{font-size:60px;color:var(--accent);display:inline-block;animation:rotate 50s linear infinite;margin-bottom:30px}
/* Fitness: sharp lime contrasts, large condensed type and live schedule. */
.theme-fitness h1,.theme-fitness h2,.theme-fitness h3{font-weight:700;letter-spacing:-.025em}.theme-fitness .brand{font-weight:800;font-size:37px;letter-spacing:-.03em}.theme-fitness .button{font-weight:700}.fitness-hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;padding:0 5vw 45px;gap:20px}.fitness-hero .hero-copy{padding-top:35px}.fitness-hero h1{font-size:clamp(110px,11vw,173px);line-height:.83}.fitness-hero h1 em{font-style:normal;color:var(--accent)}.fitness-hero .lead{max-width:330px;font-size:14px}.fitness-hero .hero-visual{clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);height:650px}.fitness-hero img{filter:grayscale(1) brightness(.7);object-position:58% center}.fitness-stamp{position:absolute;right:2vw;top:100px;background:var(--accent);color:#151714;padding:22px;transform:rotate(8deg);font:700 22px var(--heading);z-index:3}.training-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.training-card{position:relative;height:450px;overflow:hidden;background:#282c23}.training-card img{height:100%;filter:grayscale(1) brightness(.65)}.training-card:hover img{transform:scale(1.06);filter:grayscale(.3) brightness(.7)}.training-card:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#111e)}.training-card>div{position:absolute;bottom:30px;left:25px;right:25px;z-index:2}.training-card h3{font-size:42px;text-transform:uppercase}.training-card p{font-size:12px;max-width:200px;margin-top:10px}.training-num{position:absolute;top:25px;left:25px;color:var(--accent);font:700 45px var(--heading)}.circle-button{position:absolute;right:0;bottom:0;border:1px solid #fff6;background:transparent;color:var(--accent);border-radius:50%;width:40px;height:40px;font-size:24px}.schedule-section{background:#22261e}.theme-fitness .chip.active{background:var(--accent);color:#151714}.schedule-row{display:grid;grid-template-columns:.5fr 1.3fr 1fr auto;gap:25px;align-items:center;border-bottom:1px solid #ffffff30;padding:25px 0}.schedule-row strong{font:700 36px var(--heading)}.schedule-row h3{font-size:30px}.schedule-row p{font-size:12px;opacity:.7}.schedule-row .button{padding:12px 18px;min-height:44px}#schedule{min-height:310px}.schedule-section .small-note{margin-top:25px}
/* Interior: horizontal editorial title, large projects and asymmetric grid. */
.theme-interior .header{border-bottom:1px solid #33372f30}.theme-interior .brand{font-size:34px;font-weight:500}.theme-interior .nav-cta{background:none;color:var(--ink);border:1px solid #33372f50}.interior-hero{padding:55px 5vw 0}.interior-title{display:grid;grid-template-columns:1.5fr .7fr;gap:5vw;align-items:end;margin-bottom:55px}.interior-title h1{font-size:clamp(80px,8.7vw,135px);line-height:1.08}.interior-title em{font-style:normal;color:#7c8074}.interior-title .lead{font-size:14px;margin:20px 0}.interior-title .eyebrow{margin:0}.interior-hero .hero-visual{height:560px}.project-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#182018aa);color:white;display:flex;justify-content:space-between;padding:60px 30px 30px;font-size:10px;letter-spacing:.1em}.portfolio-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:70px 5vw;align-items:start}.portfolio-card:nth-child(2){margin-top:120px}.portfolio-card:nth-child(3){grid-column:1/-1;max-width:75%}.portfolio-card button{display:block;padding:0;width:100%;background:none;overflow:hidden;position:relative;text-align:left}.portfolio-card img{height:450px}.portfolio-card:nth-child(3) img{height:500px}.portfolio-card button:hover img{transform:scale(1.035)}.project-open{position:absolute;right:25px;bottom:25px;background:var(--bg);border-radius:50%;width:48px;height:48px;display:grid;place-content:center;font-size:24px}.portfolio-card>div{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.portfolio-card h3{font-size:20px}.portfolio-card>div>span{font-size:9px;opacity:.7}.interior-method{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#dedbd0}.theme-interior .contact-section em{font-style:normal}
/* Industrial: engineering grid, process figures and orange signal color. */
.theme-industrial{font-family:'Manrope',sans-serif}.theme-industrial .brand{font-size:24px;font-weight:800}.theme-industrial h1,.theme-industrial h2,.theme-industrial h3{font-weight:600}.theme-industrial .button{color:#202e31}.theme-industrial .eyebrow,.technical-label,.tech-band{font-family:'IBM Plex Mono',monospace}.industrial-hero{margin:0 5vw;display:grid;grid-template-columns:1.2fr 1fr;background-image:linear-gradient(#202e3108 1px,transparent 1px),linear-gradient(90deg,#202e3108 1px,transparent 1px);background-size:45px 45px;border:1px solid #202e3125}.technical-label{grid-column:1/-1;display:flex;justify-content:space-between;padding:18px 25px;border-bottom:1px solid #202e3125;font-size:9px}.industrial-hero .hero-copy{padding:65px 25px 60px}.industrial-hero h1{font-size:clamp(65px,6vw,95px);line-height:1.1;position:relative;margin-right:-90px}.industrial-hero h1 em{font-style:normal;color:var(--accent)}.industrial-hero .hero-visual{margin:25px 25px 25px 0;min-height:480px}.industrial-hero img{filter:grayscale(1) brightness(.65)}.crosshair{position:absolute;inset:20%;border:1px solid #ff653caa;border-radius:50%;animation:rotate 30s linear infinite}.crosshair:before,.crosshair:after{content:'';position:absolute;background:var(--accent)}.crosshair:before{top:50%;left:-30%;width:160%;height:1px}.crosshair:after{top:-30%;left:50%;height:160%;width:1px}.tech-band{grid-column:1/-1;display:flex;justify-content:space-around;padding:25px 15px;font-size:10px;border-top:1px solid #202e3125;gap:10px}.tech-band i{color:var(--accent);font-style:normal}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #202e3130;border-left:1px solid #202e3130}.capability-card{padding:30px;border-right:1px solid #202e3130;border-bottom:1px solid #202e3130;transition:background .3s}.capability-card:hover{background:#fff9}.capability-card h3{font-size:25px}.capability-card p{font-size:13px;margin:18px 0}.technical-symbol{height:150px;position:relative;margin-bottom:35px;display:grid;place-content:center}.technical-symbol:before,.technical-symbol:after,.technical-symbol span{content:'';border:1px solid var(--ink);width:95px;height:95px;display:block;position:absolute;left:calc(50% - 48px);top:25px;transition:transform .7s}.technical-symbol:before{transform:rotate(30deg)}.technical-symbol:after{transform:rotate(60deg)}.capability-card:hover .technical-symbol span{transform:rotate(90deg)}.symbol-1:before,.symbol-1:after,.symbol-1 span{border-radius:50%}.symbol-1:before{transform:translateX(-25px)}.symbol-1:after{transform:translateX(25px)}.symbol-2:before{transform:translate(-15px,-15px)}.symbol-2:after{transform:translate(15px,15px)}.process-dark{background:#202e31;color:#f1f1e9}.process-track{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process-track article{border-top:1px solid #ffffff40;padding-top:25px}.process-track article>span{font:50px 'IBM Plex Mono',monospace;color:var(--accent);display:block;margin-bottom:40px}.process-track h3{font-size:24px}.process-track p{font-size:13px;margin-top:20px}
/* Legal: restrained, editorial, confident. */
.theme-legal .header{border-bottom:1px solid #283b3925}.theme-legal .brand{font-size:30px}.legal-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;padding:55px 6vw 0}.legal-hero .hero-copy{padding-top:25px}.legal-hero h1{font-size:clamp(76px,7.3vw,118px)}.legal-hero h1 em{color:var(--accent)}.legal-hero .hero-visual{height:600px;margin-top:0}.legal-hero img{filter:grayscale(.6) brightness(.65)}.legal-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--heading);font-size:145px;color:#ffffffb0;letter-spacing:-.12em}.legal-mark span{font-size:70px;padding:0 15px;font-style:italic;color:#efcfaa}.legal-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:30px 0;border-top:1px solid #283b3930;font-size:9px;letter-spacing:.2em}.legal-practice{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.legal-practice summary{font-size:33px}.legal-statement{background:#283b39;color:#f4f0e7;display:grid;grid-template-columns:1.5fr .7fr;gap:5vw;position:relative;padding-top:140px}.quote-mark{position:absolute;top:30px;left:6vw;font-family:var(--heading);font-size:130px;color:#b4a085;line-height:1}.legal-statement h2{font-size:clamp(48px,5vw,80px)}.legal-statement>div{align-self:end}.legal-statement p{font-size:14px;margin-bottom:30px}.legal-steps .card h3{font-size:34px}
/* Medical: soft modular surfaces, offset photo and immediate care selection. */
.theme-medical .brand{font-size:35px;font-weight:600;position:relative;padding-left:32px}.theme-medical .brand:before{content:'+';position:absolute;left:0;top:0;font-size:36px;color:var(--accent)}.theme-medical .button{border-radius:8px}.medical-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:4vw;padding:45px 6vw 85px;align-items:center}.medical-hero h1{font-size:clamp(61px,5.9vw,94px);line-height:1.13;font-weight:500}.medical-hero h1 em{font-style:normal;color:var(--accent)}.medical-hero .hero-visual{height:560px;overflow:visible}.medical-hero img{border-radius:140px 16px 16px 16px;position:relative;z-index:1}.care-note{font-size:11px;display:flex;align-items:center;gap:10px;margin-top:35px}.status-dot{width:7px;height:7px;background:#196958;border-radius:50%;box-shadow:0 0 0 5px #19695814}.care-card{position:absolute;bottom:35px;left:-55px;background:#fff;padding:25px;display:flex;align-items:center;gap:20px;border-radius:12px;box-shadow:0 15px 45px #183e3615;z-index:3;animation:float 8s ease-in-out infinite}.care-cross{background:#eaf2de;color:#196958;border-radius:50%;width:50px;height:50px;font-size:36px;display:grid;place-content:center}.care-card strong{font-size:14px}.care-card p{font-size:11px;margin-top:5px}.orb{position:absolute;top:-25px;right:-20px;width:190px;height:190px;border-radius:50%;background:#dbe9ba}.medical-services{background:#eaf0e2}.specialty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.specialty{background:#f8faf5;padding:30px 25px;text-align:left;border-radius:12px;position:relative;min-height:250px;transition:background .3s,transform .3s}.specialty:hover{background:#fff;transform:translateY(-6px)}.specialty-icon{font-size:40px;color:#196958;display:block;margin-bottom:35px}.specialty h3{font-size:21px;font-weight:500}.specialty p{font-size:12px;margin-top:14px;max-width:160px}.specialty-arrow{position:absolute;right:22px;top:28px;font-size:23px}.care-story{display:grid;grid-template-columns:.85fr 1fr;gap:9vw}.care-story>img{height:650px;border-radius:10px 10px 160px 10px}.care-story summary{font-size:20px}.care-story .section-head{margin-bottom:30px}
/* Local services: friendly oversized typography and service tiles. */
.theme-local-business .brand{font-size:44px;font-weight:700}.theme-local-business .button{border-radius:5px}.local-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:4vw;padding:35px 5vw 0}.local-hero .hero-copy{padding-top:35px}.local-hero h1{font-size:clamp(62px,6.7vw,106px);line-height:1.07;font-weight:500}.local-hero em{font-style:normal;color:var(--accent)}.local-hero .hero-visual{height:570px;border-radius:20px;transform:rotate(2deg);margin:10px 15px 0 0}.local-hero img{object-position:center}.local-sign{display:flex;align-items:center;gap:15px;margin:35px 0;font-size:11px}.local-sign>span{font-size:37px;border:1px solid #232d4430;border-radius:50%;width:50px;height:50px;text-align:center}.local-sticker{position:absolute;right:20px;bottom:25px;border-radius:50%;height:130px;width:130px;background:#edff8a;display:grid;place-content:center;text-align:center;font:700 27px var(--heading);transform:rotate(-12deg)}.local-band{grid-column:1/-1;display:flex;justify-content:space-around;background:#edff8a;padding:28px 20px;font-size:15px;margin-top:20px;gap:15px}.local-band span:before{content:'✓';margin-right:15px;color:var(--accent)}.local-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.local-service{background:#eceef6;border-radius:12px;text-align:left;padding:30px 25px;transition:background .3s,color .3s;min-height:250px}.local-service:hover{background:#3157de;color:white}.service-glyph{font-size:60px;line-height:1;display:block;margin-bottom:35px}.local-service h3{font-size:24px;font-weight:500;margin-bottom:20px}.local-service>span:last-child{font-size:10px}.local-process{background:#3157de;color:white}.local-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.step-circle{display:grid;place-content:center;width:65px;height:65px;border:1px solid #ffffff55;border-radius:50%;font-size:28px;margin-bottom:35px}.local-process-grid h3{font-size:30px}.local-process-grid p{font-size:14px;margin-top:20px;opacity:.85}.area-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.area-graphic{height:400px;position:relative;display:grid;place-content:center;background-image:linear-gradient(#3157de08 1px,transparent 1px),linear-gradient(90deg,#3157de08 1px,transparent 1px);background-size:30px 30px;overflow:hidden}.area-graphic>span{font:700 36px var(--heading);z-index:2;background:var(--bg);padding:15px}.area-ring{position:absolute;width:300px;height:300px;border:1px solid #3157de50;border-radius:50%;left:calc(50% - 150px);top:50px}.area-ring.two{width:190px;height:190px;left:calc(50% - 95px);top:105px}.pin{position:absolute;width:12px;height:12px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 8px #3157de14;animation:float 5s ease-in-out infinite}.pin.one{left:30%;top:20%}.pin.two{right:15%;bottom:30%;animation-delay:1s}.pin.three{left:25%;bottom:25%;animation-delay:2s}
@keyframes title-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes image-in{from{opacity:.5;transform:scale(1.12)}to{opacity:1;transform:scale(1.045)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-10px)}}@keyframes dialog-in{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}
@media(min-width:1600px){body{max-width:1920px;margin:auto}.section{padding-left:100px;padding-right:100px}}
@media(max-width:1100px){.header{padding:0 4vw;height:95px}.header nav{gap:20px}.nav-cta{font-size:10px}.section{padding:80px 5vw}.medical-hero h1{font-size:62px}.care-card{left:-20px;padding:16px}.specialty-grid,.local-service-grid{grid-template-columns:repeat(2,1fr)}.ritual-result{grid-template-columns:1fr}.ritual-result img{height:220px}.beauty-hero h1{font-size:10vw}.industrial-hero h1{font-size:63px}.fitness-hero h1{font-size:115px}.legal-hero h1{font-size:85px}.stay-bar{margin:-25px 4vw 0;gap:15px;padding:20px}.portfolio-card>div{display:block}.portfolio-card>div>span{display:block;margin-top:10px}.contact-section{gap:5%}}
@media(max-width:760px){html{scroll-padding-top:85px}h1{font-size:64px}h2{font-size:44px}.header{height:85px;padding:0 6vw}.header .brand{font-size:25px}.header .brand span{font-size:7px}.header nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--bg);color:var(--ink);padding:25px 6vw 35px;box-shadow:0 20px 30px #0002;align-items:stretch;gap:25px}.header nav.open{display:flex;flex-direction:column}.menu-toggle{display:block}.header .nav-cta{justify-content:space-between;font-size:12px}.section{padding:65px 6vw}.section-head{margin-bottom:35px}.eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:.13em}.lead{font-size:14px;margin:24px 0}.button{padding:16px 22px}.cards,.room-grid,.training-grid,.capability-grid,.process-track,.local-process-grid{grid-template-columns:1fr}.contact-section{grid-template-columns:1fr;gap:45px}.contact-section h2{font-size:61px}.contact-detail{padding-left:0;border-left:0;border-top:1px solid #8884;padding-top:20px}.contact-symbol{font-size:50px}footer{display:grid;grid-template-columns:1fr auto;padding:30px 0;gap:25px}footer p{grid-row:2;grid-column:1/-1}footer>button{grid-column:1;text-align:left;justify-self:start}footer>.back-top{grid-column:2;grid-row:1}.restaurant-hero{grid-template-columns:1fr;padding:20px 6vw 85px;gap:35px;min-height:0}.restaurant-hero .hero-copy{padding-top:15px}.restaurant-hero h1{font-size:74px}.restaurant-hero .hero-visual{height:420px;border-radius:150px 150px 0 0;margin-left:15vw}.hero-foot{margin-top:35px}.giant-word{font-size:30vw;bottom:0}.menu-section{grid-template-columns:1fr;gap:40px;padding-top:85px}.menu-photo{height:220px;max-width:100%}.dish-list{min-height:365px}.story-section{grid-template-columns:1fr}.story-image{height:350px}.story-copy{padding:60px 6vw}.hotel-hero{min-height:680px;height:90svh}.hotel-hero .hero-copy{padding:180px 7vw 100px}.hotel-hero h1{font-size:93px}.hotel-hero .lead{font-size:15px}.scroll-link{bottom:55px}.stay-bar{grid-template-columns:1fr 1fr;margin:-25px 5vw 0;padding:22px;gap:18px}.stay-bar .button{font-size:11px;gap:12px;padding:14px}.hotel-intro h2{font-size:65px}.room-section{padding-top:15px}.room-card:nth-child(2){padding-top:0}.room-card{margin-bottom:20px}.room-card img{height:360px}.hotel-experience{grid-template-columns:1fr;gap:5px}.beauty-hero{display:flex;flex-direction:column;align-items:stretch;padding:20px 6vw 40px;min-height:0}.beauty-top>span{display:none}.beauty-top{margin-bottom:25px}.beauty-hero h1{font-size:70px}.beauty-hero h1 em{margin-left:0}.beauty-hero .hero-visual{height:400px;max-width:none;width:78%;margin:30px 0 0}.beauty-aside{padding:30px 0 0;max-width:none}.beauty-aside .small-note{margin-top:20px}.beauty-circle{height:230px;width:230px;font-size:170px;top:190px;right:0}.ritual-picker{grid-template-columns:1fr;gap:30px}.ritual-option{font-size:27px;padding:24px 0}.ritual-result{grid-template-columns:.8fr 1fr}.ritual-result img{height:100%}.ritual-result>div{padding:25px 18px}.ritual-result .eyebrow{font-size:8px}.ritual-result h3{font-size:32px}.ritual-result .button{font-size:10px;padding:14px 12px}.beauty-manifesto h2{font-size:65px}.fitness-hero{display:block;padding:10px 6vw 35px}.fitness-hero .hero-copy{padding-top:20px}.fitness-hero h1{font-size:115px}.fitness-hero .hero-visual{height:360px;margin-top:35px;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}.fitness-stamp{top:auto;bottom:300px;right:6vw;font-size:20px;padding:15px}.marquee{font-size:25px}.training-card{height:430px}.schedule-row{grid-template-columns:70px 1fr auto;gap:12px}.schedule-row>p{display:none}.schedule-row strong{font-size:29px}.schedule-row h3{font-size:25px}.schedule-row .button{font-size:10px;padding:10px;gap:5px}.interior-hero{padding:35px 6vw 0}.interior-title{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.interior-title h1{font-size:81px}.interior-title .lead{max-width:300px}.interior-hero .hero-visual{height:390px}.project-caption{padding:50px 18px 20px;font-size:8px;gap:20px}.portfolio-grid{grid-template-columns:1fr;gap:40px}.portfolio-card:nth-child(2){margin:0}.portfolio-card:nth-child(3){max-width:none}.portfolio-card img,.portfolio-card:nth-child(3) img{height:360px}.interior-method{grid-template-columns:1fr;gap:0}.industrial-hero{grid-template-columns:1fr;margin:0 5vw}.technical-label{font-size:7px;padding:15px}.industrial-hero .hero-copy{padding:35px 18px 30px}.industrial-hero h1{font-size:55px;margin-right:0}.industrial-hero .hero-visual{margin:0 15px 20px;min-height:0;height:330px}.tech-band{font-size:7px;gap:5px;padding:22px 8px}.capability-card{padding:25px}.process-track{gap:30px}.process-track article{display:grid;grid-template-columns:70px 1fr;gap:10px}.process-track article>span{grid-row:1/3;margin:0;font-size:43px}.process-track p{margin:0;grid-column:2}.legal-hero{grid-template-columns:1fr;padding:30px 6vw 0;gap:35px}.legal-hero .hero-copy{padding:0}.legal-hero h1{font-size:82px}.legal-hero .hero-visual{height:410px}.legal-bottom{font-size:8px;gap:10px}.legal-practice{grid-template-columns:1fr;gap:0}.legal-practice summary{font-size:29px}.legal-statement{grid-template-columns:1fr;padding-top:125px;gap:30px}.legal-statement h2{font-size:49px}.medical-hero{grid-template-columns:1fr;padding:30px 6vw 65px;gap:45px}.medical-hero h1{font-size:55px}.medical-hero .hero-visual{height:410px;margin-right:10px;margin-left:10px}.medical-hero img{border-radius:100px 12px 12px 12px}.care-card{left:-10px;bottom:20px;gap:12px;padding:18px}.care-card strong{font-size:12px}.care-card p{font-size:10px}.orb{width:130px;height:130px;right:-10px}.specialty-grid{gap:12px}.specialty{padding:22px 17px;min-height:230px}.specialty h3{font-size:18px}.specialty p{font-size:11px}.specialty-arrow{right:18px;font-size:20px}.care-story{grid-template-columns:1fr;gap:40px}.care-story>img{height:400px}.local-hero{grid-template-columns:1fr;padding:20px 6vw 0;gap:25px}.local-hero .hero-copy{padding:10px 0 0}.local-hero h1{font-size:58px}.local-hero .hero-visual{height:390px;margin:0 8px}.local-band{font-size:10px;gap:10px;padding:23px 10px;justify-content:space-between;margin-top:15px}.local-band span:before{margin-right:5px}.local-service-grid{gap:12px}.local-service{padding:22px 18px;min-height:220px}.local-service h3{font-size:20px}.service-glyph{font-size:44px}.local-process-grid{gap:35px}.step-circle{margin-bottom:20px}.area-section{grid-template-columns:1fr;gap:15px}.area-graphic{height:330px}.area-ring{top:15px}.area-ring.two{top:70px}dialog{padding:40px 24px 28px}.booking-intro h2{font-size:35px}.form-row{grid-template-columns:1fr;gap:0}.chip{padding:12px 18px}.theme-medical .header .brand{font-size:30px}.theme-local-business .header .brand{font-size:35px}.theme-fitness .header .brand{font-size:31px}.theme-beauty .header .brand{font-size:36px}}
@media(max-width:380px){.medical-hero h1{font-size:49px}.local-hero h1{font-size:51px}.beauty-hero h1{font-size:60px}.fitness-hero h1{font-size:100px}.legal-hero h1{font-size:72px}.ritual-result{grid-template-columns:1fr}.ritual-result img{height:230px}.industrial-hero h1{font-size:48px}.stay-bar{padding:18px;gap:12px}.specialty h3{font-size:16px}.local-band{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-motion .reveal{opacity:1;transform:none}.hero-image{transform:none;will-change:auto}}

.theme-restaurant .button{color:#242922}.theme-fitness .button{color:#151714}.restaurant-hero .hero-foot{visibility:hidden}.hotel-hero{overflow:hidden}.hero-visual{isolation:isolate}.hero-image{animation-fill-mode:backwards}.hero-visual .hero-image{transition:transform .25s linear}.capability-card,.specialty,.local-service{position:relative;overflow:hidden}.capability-card:after,.specialty:after,.local-service:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(230px circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff35,transparent 70%);opacity:0;transition:opacity .35s}.capability-card:hover:after,.specialty:hover:after,.local-service:hover:after{opacity:1}

@media(max-width:760px){.hotel-hero h1{font-size:clamp(60px,18.5vw,84px)}.medical-hero h1{font-size:clamp(42px,12.3vw,53px)}.local-hero h1{font-size:clamp(44px,13.8vw,57px)}.restaurant-hero .hero-foot{display:none}}
@media(prefers-reduced-motion:reduce){.hero-visual .hero-image{transition:none!important}}
.serial{opacity:.85}.small-note,.portfolio-card>div>span{opacity:.85}.theme-legal .button:not(.text-button){background:#875630}.contact-section>div{min-width:0}@media(max-width:380px){.contact-section h2{font-size:49px}}
