:root{
  --ivory:#f7f2e8;--paper:#fffdf8;--sand:#e7dccb;--sand-deep:#c9b79f;--sage:#869681;--sage-deep:#5f725c;--sage-soft:#dce5d9;--blush:#e4d0c8;--ink:#20231f;--ink-soft:#555b55;--gold:#ae8434;--white:#fff;--line:rgba(32,35,31,.13);--line-light:rgba(255,255,255,.3);--shadow:0 24px 70px rgba(38,42,36,.13);--shadow-soft:0 12px 36px rgba(38,42,36,.08);--serif:Baskerville,"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;--radius:30px;--header-h:92px;--announcement-h:36px;--assistant-w:430px
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 22px)}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}img,video{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--sage-soft);color:var(--ink)}.container{width:min(1240px,calc(100% - 48px));margin-inline:auto}.section{padding:clamp(76px,9vw,132px) 0}.eyebrow{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:18px}.eyebrow.light{color:#efe4d3}.lead{font-size:clamp(18px,2vw,22px);line-height:1.65;color:var(--ink-soft)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(54px,7vw,102px);line-height:.94;margin-bottom:28px}h2{font-size:clamp(40px,5vw,70px);line-height:1.02;margin-bottom:24px}h3{font-size:30px;line-height:1.08}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--ink);border-radius:999px;padding:12px 24px;background:transparent;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.button.primary{background:var(--ink);color:white}.button.sage{background:var(--sage-deep);border-color:var(--sage-deep);color:white}.button.paper{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.ghost-light{border-color:rgba(255,255,255,.7);color:white}.button.small{min-height:43px;padding:9px 20px}.button.full{width:100%}.text-link{border:0;background:transparent;padding:0;color:var(--ink);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:10px}.text-link span{font-size:15px}.button-reset{margin-top:18px}.inline-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.optional-note,.prototype-note{display:block;margin-top:18px;font-size:12px;color:var(--ink-soft)}
/* Announcement + header */
.announcement{height:var(--announcement-h);display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 18px;background:var(--sage-deep);color:white;font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center}.announcement a{text-decoration:underline;text-underline-offset:3px}.announcement-short{display:none}.site-header{position:sticky;top:0;z-index:70;height:var(--header-h);display:grid;grid-template-columns:180px 1fr 180px;align-items:center;padding:0 clamp(22px,4vw,66px);background:rgba(247,242,232,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);transition:padding-right .3s ease}.brand{display:inline-flex;align-items:center;width:150px;height:74px}.brand img{width:100%;height:100%;object-fit:contain;object-position:left center}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.2vw,34px)}.nav-link{position:relative;padding:12px 0;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--ink);transition:right .25s ease}.nav-link:hover::after,.nav-link.active::after{right:0}.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.icon-button{width:43px;height:43px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;background:transparent;cursor:pointer;transition:.2s ease}.icon-button:hover{background:var(--ink);color:white;transform:translateY(-1px)}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.menu-button{display:none;width:42px;height:42px;border:0;background:transparent;padding:11px;cursor:pointer}.menu-button span{display:block;height:1px;background:var(--ink);margin:5px 0}.mobile-drawer{position:fixed;inset:0;z-index:110;pointer-events:none;opacity:0;transition:opacity .25s ease}.mobile-drawer.open{pointer-events:auto;opacity:1}.drawer-scrim{position:absolute;inset:0;background:rgba(22,24,21,.36);backdrop-filter:blur(3px)}.drawer-panel{position:absolute;top:0;left:0;width:min(390px,90vw);height:100%;background:var(--paper);padding:32px 30px;transform:translateX(-100%);transition:transform .3s ease;box-shadow:var(--shadow)}.mobile-drawer.open .drawer-panel{transform:none}.drawer-close{position:absolute;right:20px;top:17px;border:0;background:none;font-size:34px;font-weight:200;cursor:pointer}.drawer-logo{width:130px;height:92px;object-fit:contain;object-position:left center;margin-bottom:35px}.drawer-panel nav{display:grid}.drawer-link{padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:30px;line-height:1.1}.drawer-link.active{color:var(--sage-deep)}.drawer-actions{display:grid;gap:10px;margin-top:28px}
/* Home hero */
.home-hero{position:relative;min-height:calc(100svh - var(--announcement-h) - var(--header-h));height:min(860px,calc(100svh - var(--announcement-h) - var(--header-h)));color:white;overflow:hidden;background:#344237}.hero-media,.hero-overlay,.hero-poster,.hero-video{position:absolute;inset:0;width:100%;height:100%}.hero-poster,.hero-video{object-fit:cover;object-position:center 40%}.hero-poster{transform:scale(1.01)}.hero-video{opacity:0;transition:opacity 1s ease}.hero-video.ready{opacity:1}.hero-overlay{background:linear-gradient(90deg,rgba(16,25,18,.74) 0%,rgba(16,25,18,.54) 43%,rgba(16,25,18,.2) 72%,rgba(16,25,18,.18) 100%),linear-gradient(0deg,rgba(16,25,18,.26),transparent 45%)}.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}.hero-copy{width:min(720px,62%);padding:50px 0 90px}.hero-copy h1{font-size:clamp(65px,7.8vw,112px);max-width:900px}.hero-copy h1 em{font-weight:400}.hero-copy>p{max-width:620px;font-size:clamp(17px,1.8vw,21px);color:rgba(255,255,255,.9)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:38px;padding-top:23px;border-top:1px solid rgba(255,255,255,.25);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.82)}.hero-scroll{position:absolute;z-index:3;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.8)}
/* Home blocks */
.welcome{background:var(--paper)}.welcome-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(70px,9vw,140px);align-items:center}.welcome-media{position:relative;min-height:700px}.welcome-media>img:first-child{position:absolute;left:0;top:0;width:77%;height:88%;object-fit:cover;border-radius:260px 260px 30px 30px;object-position:center 34%}.welcome-accent{position:absolute!important;right:0!important;bottom:0!important;width:38%!important;height:42%!important;object-fit:cover!important;border-radius:18px!important;box-shadow:var(--shadow)!important}.welcome-copy p{max-width:590px}.welcome-copy .text-link{margin-top:20px}.section-head{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end;margin-bottom:50px}.section-head>p{max-width:520px;color:var(--ink-soft);margin-bottom:5px}.specialize{background:var(--ivory)}.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.specialty-card{position:relative;min-height:610px;border-radius:22px;overflow:hidden;color:white;box-shadow:var(--shadow-soft);isolation:isolate}.specialty-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.specialty-card:hover img{transform:scale(1.035)}.specialty-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,22,18,.78),rgba(18,22,18,.06) 63%);z-index:1}.specialty-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px}.specialty-copy>span{font-size:11px;letter-spacing:.15em}.specialty-copy h3{font-size:39px;margin:12px 0 13px}.specialty-copy p{font-size:14px;line-height:1.55;color:rgba(255,255,255,.86);margin-bottom:18px}.specialty-copy b{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.first-visit{background:var(--sage-deep);color:white}.first-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(70px,9vw,130px);align-items:center}.first-grid>div:first-child p{color:rgba(255,255,255,.8);max-width:560px}.steps{border-top:1px solid var(--line-light)}.step{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:30px 0;border-bottom:1px solid var(--line-light)}.step>span{width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:18px}.step h3{font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.02em;margin:2px 0 7px}.step p{color:rgba(255,255,255,.72);font-size:14px;margin:0}.recent{background:var(--paper)}.recent-grid{display:grid;grid-template-columns:1.3fr .9fr 1.1fr .8fr;gap:12px;align-items:stretch}.recent-grid a{height:500px;overflow:hidden;border-radius:16px}.recent-grid a:nth-child(2),.recent-grid a:nth-child(4){height:430px;align-self:center}.recent-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.recent-grid a:hover img{transform:scale(1.03)}.studio{background:var(--ivory)}.studio-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(70px,8vw,120px);align-items:center}.studio-images{position:relative;min-height:690px}.studio-main{position:absolute;left:0;top:0;width:78%;height:88%;object-fit:cover;border-radius:30px}.studio-small{position:absolute;right:0;bottom:0;width:42%;height:43%;object-fit:cover;border:10px solid var(--ivory);border-radius:20px}.studio-copy p{max-width:520px;color:var(--ink-soft);font-size:18px;margin-bottom:28px}
/* Page heroes */
.page-hero{padding:clamp(55px,7vw,100px) 0;background:var(--paper);border-bottom:1px solid var(--line)}.page-hero.warm{background:linear-gradient(135deg,#f5eee3,#e8dfd1)}.page-hero-grid{display:grid;grid-template-columns:1fr .78fr;gap:clamp(70px,8vw,130px);align-items:center;min-height:600px}.page-hero-grid>div:first-child>p{max-width:650px;font-size:19px;color:var(--ink-soft)}.page-hero-photo{height:610px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft)}.page-hero-photo img{width:100%;height:100%;object-fit:cover}.services-hero .page-hero-photo img{object-position:center 30%}.about-hero .page-hero-photo img{object-position:center 35%}.visit-hero .page-hero-photo img{object-position:center 42%}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
/* New guests form */
.consultation-intro{padding-bottom:50px}.consultation-section{padding-top:45px}.consultation-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:26px;align-items:start}.form-side,.consultation-aside{background:var(--paper);border:1px solid var(--line);border-radius:26px}.form-side{padding:clamp(28px,5vw,56px)}.consultation-aside{padding:38px;position:sticky;top:calc(var(--header-h) + 24px)}.consultation-aside h2{font-size:44px}.consultation-aside>p{color:var(--ink-soft)}.aside-note{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.aside-note p{font-size:14px;color:var(--ink-soft)}.form-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:42px}.form-progress span{border-top:2px solid var(--line);padding-top:10px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8b8f89}.form-progress span.active{border-color:var(--sage-deep);color:var(--sage-deep)}fieldset{border:0;padding:0;margin:0}.form-step{display:none}.form-step.active{display:block}.form-step legend{font-family:var(--serif);font-size:clamp(34px,4vw,52px);line-height:1.08;margin-bottom:14px;width:100%}.form-step>p{color:var(--ink-soft);margin-bottom:30px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff;color:var(--ink);outline:none;text-transform:none;letter-spacing:normal;font-weight:400}input:focus,textarea:focus,select:focus{border-color:var(--sage-deep);box-shadow:0 0 0 3px rgba(95,114,92,.12)}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.upload-card{min-height:150px;border:1px dashed rgba(95,114,92,.55);border-radius:16px;padding:20px;place-content:center;text-align:center;background:var(--sage-soft);cursor:pointer}.upload-card input{display:none}.upload-card span{font-size:14px;letter-spacing:0;text-transform:none}.upload-card small{font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink-soft)}.upload-card.has-file{border-style:solid;background:#edf2ea}.review-card{background:var(--sage-soft);padding:24px;border-radius:18px;margin:22px 0}.review-card h3{font-family:var(--sans);font-size:15px;font-weight:700}.review-card p{margin:0;font-size:14px;color:var(--ink-soft)}.check-row{grid-template-columns:20px 1fr;align-items:start;gap:10px;text-transform:none;letter-spacing:0;font-weight:400;font-size:13px}.check-row input{width:18px;height:18px;margin:2px 0}.form-nav{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.form-success{text-align:center;padding:35px 0}.form-success>span{width:58px;height:58px;border-radius:50%;background:var(--sage-deep);color:white;display:grid;place-items:center;margin:0 auto 18px;font-size:25px}.form-success h2{font-size:48px}
/* Services */
.service-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:38px}.service-filter button{border:1px solid var(--line);border-radius:999px;background:transparent;padding:9px 16px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.service-filter button.active{background:var(--ink);color:white;border-color:var(--ink)}.services-grid{display:grid;gap:16px}.service-card{display:grid;grid-template-columns:310px 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--paper);transition:transform .2s ease,box-shadow .2s ease}.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.service-card[hidden]{display:none}.service-thumb{height:290px}.service-thumb img{width:100%;height:100%;object-fit:cover}.service-info{padding:30px 34px}.service-info>span{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--sage-deep)}.service-info h2{font-size:38px;margin:10px 0 12px}.service-info p{color:var(--ink-soft);max-width:720px}.service-info>div{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:16px;border-top:1px solid var(--line)}.service-info b{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
/* About */
.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:210px 1fr;gap:60px;padding:48px 0;border-top:1px solid var(--line)}.timeline-item:last-child{border-bottom:1px solid var(--line)}.timeline-item>strong{font-family:var(--serif);font-size:25px;font-weight:400}.timeline-item h2{font-size:48px;margin-bottom:12px}.timeline-item p{max-width:700px;color:var(--ink-soft)}.approach-section{background:var(--paper)}.about-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(70px,8vw,130px);align-items:center}.about-detail-photo{height:740px;border-radius:28px;overflow:hidden}.about-detail-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.about-detail>div:last-child>p{font-size:18px;color:var(--ink-soft)}.principle-list{margin-top:32px}.principle-list>div{display:grid;grid-template-columns:45px 180px 1fr;gap:18px;padding:19px 0;border-top:1px solid var(--line);align-items:start}.principle-list>div:last-child{border-bottom:1px solid var(--line)}.principle-list span{font-size:11px;color:var(--sage-deep)}.principle-list strong{font-size:13px}.principle-list p{font-size:13px;color:var(--ink-soft);margin:0}
/* Portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:12px}.portfolio-card{border:0;padding:0;overflow:hidden;border-radius:18px;background:#ddd;cursor:zoom-in}.portfolio-card:nth-child(1),.portfolio-card:nth-child(6){grid-row:span 2}.portfolio-card:nth-child(4){grid-column:span 2}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio-card:hover img{transform:scale(1.03)}.instagram-band{background:var(--sand)}.instagram-band>.container{display:flex;justify-content:space-between;gap:50px;align-items:end}.instagram-band h2{margin-bottom:12px}.instagram-band p{margin-bottom:0;color:var(--ink-soft)}
/* Visit */
.visit-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px}.contact-panel,.map-panel{border-radius:28px;min-height:690px;overflow:hidden}.contact-panel{background:var(--sage-deep);color:white;padding:clamp(38px,5vw,66px);display:flex;flex-direction:column;justify-content:space-between}.contact-panel p{color:rgba(255,255,255,.8)}.contact-details{margin:35px 0;border-top:1px solid rgba(255,255,255,.26)}.contact-details>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.26)}.contact-details span{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.62)}.contact-details strong,.contact-details a{font-size:14px;font-weight:500}.map-panel{background:linear-gradient(135deg,#ede5d8,#d9d2c4);display:grid;place-items:center;padding:60px;position:relative}.map-panel::before,.map-panel::after{content:"";position:absolute;border:1px solid rgba(95,114,92,.22);border-radius:50%;width:480px;height:480px}.map-panel::after{width:280px;height:280px}.map-art{position:relative;z-index:2;text-align:center;background:rgba(255,253,248,.82);backdrop-filter:blur(10px);padding:46px;border-radius:50%;width:380px;height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow-soft)}.map-art>span{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--sage-deep)}.map-art>strong{font-family:var(--serif);font-size:35px;font-weight:400;margin:10px 0}.map-art p{font-size:13px;color:var(--ink-soft)}
/* CTA / FAQ / footer */
.cta-band{background:var(--ink);color:white;padding:clamp(60px,7vw,88px) 0;transition:margin-right .3s ease}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}.cta-inner h2{font-size:clamp(40px,5vw,66px);max-width:780px;margin:0}.faq-section{background:var(--paper);padding:clamp(76px,8vw,115px) 0;border-bottom:1px solid var(--line);transition:margin-right .3s ease}.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,8vw,120px);align-items:start}.faq-intro{position:sticky;top:calc(var(--header-h) + 28px)}.faq-intro h2{font-size:48px}.faq-intro p{color:var(--ink-soft)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font-family:var(--serif);font-size:23px;line-height:1.2;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-family:var(--sans);font-size:22px;font-weight:300;transition:transform .2s}.faq-item[open] summary span{transform:rotate(45deg)}.faq-answer{padding:0 50px 23px 0}.faq-answer p{color:var(--ink-soft);margin:0;font-size:15px}.site-footer{background:#ece4d6;padding:75px 0 26px;transition:margin-right .3s ease}.footer-main{display:grid;grid-template-columns:1.5fr .7fr 1.1fr .7fr;gap:50px}.footer-brand img{width:170px;height:110px;object-fit:contain;object-position:left center}.footer-brand p{max-width:330px;color:var(--ink-soft);font-size:13px}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col h3{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}.footer-col a,.footer-button{font-size:13px;color:var(--ink-soft)}.footer-button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.footer-bottom{margin-top:54px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#777c76}
/* Assistant */
.assistant-panel{position:fixed;z-index:150;right:0;top:0;width:min(var(--assistant-w),100vw);height:100dvh;background:#fbfaf6;border-left:1px solid var(--line);box-shadow:-20px 0 70px rgba(30,33,29,.13);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .32s cubic-bezier(.2,.72,.2,1);visibility:hidden}.assistant-panel.open{transform:none;visibility:visible}.assistant-head{padding:22px 20px 18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;background:rgba(255,253,248,.97)}.assistant-head>div{display:grid}.assistant-head strong{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.2}.assistant-head small{font-size:10px;color:var(--ink-soft)}.assistant-status{font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-deep);display:flex;gap:6px;align-items:center;margin-bottom:7px}.assistant-status span{width:7px;height:7px;border-radius:50%;background:#68a06d}.assistant-close{width:36px;height:36px;border:0;border-radius:50%;background:#f0ece4;font-size:27px;font-weight:200;cursor:pointer}.assistant-messages{flex:1;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.ai-message{max-width:88%;padding:12px 14px;border-radius:17px;font-size:13px;line-height:1.5}.ai-message.assistant{align-self:flex-start;background:#edf0e8;border-bottom-left-radius:4px}.ai-message.user{align-self:flex-end;background:var(--ink);color:white;border-bottom-right-radius:4px}.ai-message small{display:block;margin-top:6px;opacity:.65}.ai-message img{width:120px;height:120px;object-fit:cover;border-radius:10px;margin-bottom:7px}.ai-message .message-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.ai-message .message-actions button{border:1px solid rgba(32,35,31,.18);background:white;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.assistant-quick{padding:0 18px 10px;display:flex;gap:7px;flex-wrap:wrap}.assistant-quick button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 10px;font-size:9px;cursor:pointer}.assistant-composer{border-top:1px solid var(--line);padding:10px 14px 12px;background:var(--paper)}.assistant-tools{display:flex;gap:5px;margin-bottom:6px}.assistant-tools button{width:31px;height:31px;border:0;border-radius:50%;background:#efede7;display:grid;place-items:center;cursor:pointer;font-size:19px}.assistant-tools svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.assistant-tools button.recording{background:#3c453c;color:white;animation:pulse 1s infinite}.assistant-input-row{display:grid;grid-template-columns:1fr 40px;gap:8px;align-items:end}.assistant-input-row textarea{resize:none;min-height:42px;max-height:115px;border-radius:16px;padding:10px 12px;font-size:13px}.assistant-send{width:40px;height:40px;border:0;border-radius:50%;background:var(--sage-deep);color:white;font-size:20px;cursor:pointer}.assistant-disclaimer{font-size:8px;line-height:1.35;color:#858a84;margin:7px 2px 0}.assistant-call{margin:0 14px 9px;background:#263129;color:white;border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px}.assistant-call[hidden]{display:none}.call-dot{width:9px;height:9px;background:#7bd083;border-radius:50%;box-shadow:0 0 0 5px rgba(123,208,131,.12);animation:pulse 1.2s infinite}.assistant-call strong{display:block;font-size:11px}.assistant-call small{font-size:8px;color:rgba(255,255,255,.65)}.assistant-call button{border:0;background:#e3d8cb;border-radius:999px;padding:6px 10px;font-size:9px;cursor:pointer}@keyframes pulse{50%{opacity:.55}}@media(min-width:1100px){body.assistant-open .site-main,body.assistant-open .cta-band,body.assistant-open .faq-section,body.assistant-open .site-footer{margin-right:var(--assistant-w)}.site-main{transition:margin-right .3s ease}}
/* Modals */
.modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(20,22,19,.52);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal-card{position:relative;width:min(860px,100%);max-height:92dvh;overflow:auto;background:var(--paper);border-radius:28px;box-shadow:var(--shadow);padding:clamp(32px,6vw,60px)}.modal-close{position:absolute;z-index:2;right:18px;top:15px;width:40px;height:40px;border:0;border-radius:50%;background:#f0ece4;font-size:29px;font-weight:200;cursor:pointer}.booking-choice>p,.booking-return>p{color:var(--ink-soft);max-width:680px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.choice-card{min-height:190px;border:1px solid var(--line);border-radius:20px;background:var(--ivory);padding:25px;text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start}.choice-card>span{font-size:10px;color:var(--sage-deep)}.choice-card strong{font-family:var(--serif);font-size:29px;font-weight:400;margin:18px 0 8px}.choice-card small{color:var(--ink-soft);font-size:12px}.text-back{border:0;background:transparent;padding:0;margin-bottom:22px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.square-preview{margin:27px 0;border-top:1px solid var(--line)}.square-row{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.square-row span{color:var(--ink-soft)}.service-modal{display:grid;grid-template-columns:.82fr 1.18fr;padding:0;overflow:hidden;max-width:970px}.service-modal-media{min-height:560px}.service-modal-media img{width:100%;height:100%;object-fit:cover}.service-modal-copy{padding:55px}.service-modal-copy h2{font-size:50px}.service-modal-copy>p{color:var(--ink-soft)}.service-modal-note{background:var(--sage-soft);padding:14px;border-radius:12px;font-size:12px}.lightbox{position:fixed;z-index:210;inset:0;background:rgba(14,16,14,.92);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .2s ease;color:white}.lightbox.open{opacity:1;pointer-events:auto}.lightbox figure{margin:0;text-align:center}.lightbox figure img{max-width:min(80vw,900px);max-height:84dvh;border-radius:12px;object-fit:contain}.lightbox figcaption{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:10px;color:rgba(255,255,255,.75)}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:rgba(255,255,255,.12);color:white;border-radius:50%;cursor:pointer}.lightbox-close{right:25px;top:20px;width:46px;height:46px;font-size:32px}.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:43px;line-height:1}.lightbox-nav.prev{left:25px}.lightbox-nav.next{right:25px}.toast{position:fixed;z-index:250;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--ink);color:white;border-radius:999px;padding:11px 18px;font-size:11px;opacity:0;pointer-events:none;transition:.25s ease;text-align:center;max-width:min(600px,90vw)}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Hero review lab */
.hero-lab{padding:70px 0 110px}.hero-lab h1{font-size:70px}.hero-lab>.container>p{color:var(--ink-soft);font-size:18px}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:45px 0}.lab-grid article{background:var(--paper);border-radius:22px;overflow:hidden;border:1px solid var(--line);padding-bottom:25px}.lab-grid article>h2,.lab-grid article>p{padding:0 24px}.lab-grid article>h2{font-size:30px;margin:24px 0 10px}.lab-grid article>p{font-size:13px;color:var(--ink-soft)}.lab-preview{height:470px;position:relative;overflow:hidden;background:#222}.lab-preview img,.lab-preview video{width:100%;height:100%;object-fit:cover}.lab-preview>span{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,18,15,.6),transparent 60%)}.lab-preview>b{position:absolute;left:20px;bottom:17px;color:white;z-index:2;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.lab-split{display:grid;grid-template-columns:1fr 1fr}.lab-split img{min-width:0}
/* Keep the mobile consultation progress scroller from defining the grid item's minimum width. */
.form-side,.consultation-aside{min-width:0}
/* Responsive */
@media(max-width:1120px){.site-header{grid-template-columns:150px 1fr 150px;padding-inline:24px}.desktop-nav{gap:15px}.nav-link{font-size:9px}.brand{width:132px}.header-book{padding-inline:16px}.welcome-grid,.studio-grid{gap:70px}.specialty-card{min-height:540px}.page-hero-grid{gap:60px}.page-hero-photo{height:560px}.lab-grid{grid-template-columns:1fr}.lab-preview{height:600px}}
@media(max-width:900px){:root{--header-h:72px}.announcement{font-size:9px;letter-spacing:.09em;height:34px}.site-header{grid-template-columns:56px 1fr 90px;height:var(--header-h);padding-inline:14px}.menu-button{display:block}.desktop-nav{display:none}.brand{width:126px;height:60px;justify-self:center}.header-actions{gap:7px}.header-book{display:none}.icon-button{width:40px;height:40px}.home-hero{height:auto;min-height:760px}.hero-content{align-items:flex-end}.hero-copy{width:100%;padding:110px 0 105px}.hero-copy h1{font-size:clamp(58px,11vw,82px);max-width:700px}.hero-overlay{background:linear-gradient(0deg,rgba(17,24,18,.82) 0%,rgba(17,24,18,.44) 68%,rgba(17,24,18,.22) 100%)}.hero-trust{gap:13px}.hero-scroll{display:none}.welcome-grid,.first-grid,.studio-grid,.page-hero-grid,.about-detail,.visit-grid,.faq-layout,.two-col,.consultation-shell{grid-template-columns:1fr}.welcome-media{min-height:650px}.section-head{grid-template-columns:1fr;gap:10px}.specialty-grid{grid-template-columns:1fr}.specialty-card{min-height:570px}.first-grid{gap:50px}.recent-grid{grid-template-columns:1fr 1fr}.recent-grid a,.recent-grid a:nth-child(2),.recent-grid a:nth-child(4){height:460px}.studio-grid{gap:50px}.studio-images{min-height:650px}.page-hero-grid{min-height:auto}.page-hero-photo{height:580px;order:-1}.consultation-aside{position:static;order:-1}.service-card{grid-template-columns:250px 1fr}.timeline-item{grid-template-columns:160px 1fr;gap:35px}.about-detail-photo{height:680px}.portfolio-grid{grid-template-columns:1fr 1fr}.portfolio-card:nth-child(4){grid-column:span 1}.instagram-band>.container,.cta-inner{align-items:flex-start;flex-direction:column}.faq-intro{position:static}.footer-main{grid-template-columns:1.3fr 1fr 1fr}.footer-col:last-child{grid-column:2}.service-modal{grid-template-columns:1fr}.service-modal-media{height:360px;min-height:0}.service-modal-copy{padding:38px}.lab-preview{height:520px}}
@media(max-width:620px){:root{--announcement-h:34px}.container{width:min(100% - 30px,1240px)}.announcement{padding-inline:8px;font-size:8.4px;line-height:1.15;letter-spacing:.055em;gap:5px}.announcement-long{display:none}.announcement-short{display:inline}.site-header{grid-template-columns:46px 1fr 46px;padding-inline:8px}.brand{width:115px}.menu-button{padding-inline:8px}.home-hero{min-height:690px}.hero-poster{object-position:53% 35%}.hero-video{display:none}.hero-copy{padding:88px 0 68px;text-align:left}.hero-copy h1{font-size:clamp(47px,14vw,65px);line-height:.96;margin-bottom:20px}.hero-copy>p{font-size:15px;max-width:94%}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:25px}.hero-actions .button{padding-inline:12px;font-size:9px;min-height:45px}.hero-trust{font-size:8px;gap:8px 14px;margin-top:25px;padding-top:17px}.section{padding:70px 0}.eyebrow{font-size:9px;margin-bottom:13px}h2{font-size:clamp(38px,11vw,51px)}.welcome-media{min-height:510px}.welcome-media>img:first-child{width:83%;height:88%}.welcome-accent{width:42%!important;height:40%!important}.welcome-copy .lead{font-size:18px}.section-head{margin-bottom:30px}.specialty-card{min-height:500px}.specialty-copy{left:22px;right:22px;bottom:22px}.specialty-copy h3{font-size:34px}.first-grid{gap:38px}.step{grid-template-columns:48px 1fr;padding:24px 0}.recent-grid{gap:8px}.recent-grid a,.recent-grid a:nth-child(2),.recent-grid a:nth-child(4){height:310px}.studio-images{min-height:500px}.studio-main{width:84%;height:86%}.studio-small{width:44%;height:38%;border-width:6px}.page-hero{padding:45px 0 60px}.page-hero h1{font-size:clamp(49px,14vw,68px)}.page-hero-grid>div:first-child>p{font-size:16px}.page-hero-photo{height:450px}.two-col{gap:18px}.consultation-intro{padding-bottom:25px}.consultation-section{padding-top:20px}.form-side{padding:24px 18px}.form-progress{overflow:auto;grid-template-columns:repeat(4,100px);padding-bottom:4px}.field-grid,.upload-grid{grid-template-columns:1fr}.form-step legend{font-size:37px}.form-nav .button{min-width:0;padding-inline:16px}.service-card{grid-template-columns:1fr}.service-thumb{height:260px}.service-info{padding:24px}.service-info h2{font-size:34px}.service-info>div{align-items:flex-start;flex-direction:column}.timeline-item{grid-template-columns:1fr;gap:10px;padding:35px 0}.timeline-item h2{font-size:39px}.about-detail-photo{height:540px}.principle-list>div{grid-template-columns:34px 1fr}.principle-list p{grid-column:2}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:390px}.portfolio-card:nth-child(1),.portfolio-card:nth-child(6){grid-row:span 1}.instagram-band>.container{align-items:flex-start;display:flex;flex-direction:column}.contact-panel,.map-panel{min-height:600px}.contact-panel{padding:35px 26px}.contact-details>div{grid-template-columns:85px 1fr;gap:12px}.map-panel{padding:25px}.map-art{width:330px;height:330px;padding:38px}.cta-band{padding:58px 0}.cta-inner h2{font-size:43px}.faq-section{padding:68px 0}.faq-intro h2{font-size:43px}.faq-item summary{font-size:20px;padding:19px 0}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:4px}.assistant-panel{width:100vw}.assistant-head{padding-top:max(18px,env(safe-area-inset-top))}.choice-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal-card{border-radius:22px;padding:30px 20px}.service-modal{padding:0}.service-modal-copy{padding:30px 20px}.service-modal-copy h2{font-size:40px}.lightbox figure img{max-width:90vw;max-height:78dvh}.lightbox-nav{top:auto;bottom:24px}.lightbox-nav.prev{left:calc(50% - 62px)}.lightbox-nav.next{right:calc(50% - 62px)}.lab-preview{height:500px}.hero-lab h1{font-size:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-video{display:none}}
.assistant-head-actions{display:flex;gap:6px;align-items:flex-start}.assistant-side{width:36px;height:36px;border:0;border-radius:50%;background:#f0ece4;font-size:18px;cursor:pointer}.assistant-panel.left{right:auto;left:0;border-left:0;border-right:1px solid var(--line);box-shadow:20px 0 70px rgba(30,33,29,.13);transform:translateX(-102%)}.assistant-panel.left.open{transform:none}@media(min-width:1100px){body.assistant-open.assistant-left .site-main,body.assistant-open.assistant-left .cta-band,body.assistant-open.assistant-left .faq-section,body.assistant-open.assistant-left .site-footer{margin-right:0;margin-left:var(--assistant-w)}}

.submission-reference{font:700 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin-top:12px}

/* v10 pre-launch consolidation */
.skip-link{position:fixed;left:14px;top:10px;z-index:9999;transform:translateY(-180%);background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;font-size:12px}.skip-link:focus{transform:none}
.reviews-preview{background:#f5eee5}.review-section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:42px}.review-section-head>div{max-width:760px}.review-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}.review-card{margin:0}.review-card img{width:100%;height:auto;border-radius:18px;box-shadow:0 16px 42px rgba(65,50,35,.10);background:#fff}.review-card figcaption{padding:14px 8px 0}.review-card strong{display:block;font-family:var(--serif);font-size:22px;font-weight:500}.review-card span{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--ink-soft)}
.reviews-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;align-items:start}.review-full{background:#fff;border:1px solid var(--line);border-radius:26px;padding:18px;box-shadow:var(--shadow-soft)}.review-full>img{width:100%;height:auto;border-radius:18px}.review-transcript{padding:20px 10px 6px}.review-transcript .stars{letter-spacing:.12em;color:var(--gold);font-size:15px;margin-bottom:8px}.review-transcript h2{font-size:34px;margin:0 0 12px}.review-transcript>p{color:var(--ink-soft);font-size:15px}.review-transcript details{border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.review-transcript summary{font-size:11px;text-transform:uppercase;letter-spacing:.10em;font-weight:800;cursor:pointer;color:var(--sage-deep)}.review-transcript details p{padding-top:14px;margin-bottom:0;color:var(--ink-soft)}
.square-menu{border-top:1px solid var(--line)}.square-service-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:20px 2px;border-bottom:1px solid var(--line)}.square-service-row h2{font-size:clamp(24px,2.4vw,34px);margin:0 0 4px}.square-service-row span{font-size:12px;color:var(--ink-soft);letter-spacing:.04em}.square-service-row>strong{font-family:var(--serif);font-size:25px;font-weight:500}.service-menu-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.privacy-copy{max-width:820px}.privacy-copy h2{font-size:clamp(31px,4vw,45px);margin:48px 0 12px}.privacy-copy h2:first-child{margin-top:0}.privacy-copy p{font-size:16px;line-height:1.75;color:var(--ink-soft)}.privacy-updated{margin-top:45px;font-size:12px!important;text-transform:uppercase;letter-spacing:.08em}.page-aside{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px}.page-aside a{text-decoration:underline;text-underline-offset:3px}
.not-found{min-height:80svh;display:grid;place-items:center;padding:70px 0}.not-found-inner{text-align:center;max-width:760px}.not-found-inner>img{width:180px;height:auto;margin:0 auto 20px}.not-found h1{font-family:var(--serif);font-size:clamp(55px,9vw,105px);line-height:.92;margin:10px 0 22px}.not-found p{font-size:18px;color:var(--ink-soft);margin-bottom:30px}.not-found .inline-actions{justify-content:center}
.check-row a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.review-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-page-grid{grid-template-columns:1fr}.review-section-head{align-items:flex-start;flex-direction:column}.square-service-row{padding:18px 0}}
@media(max-width:620px){.review-card-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-15px;padding:0 15px 14px}.review-card{flex:0 0 82vw;scroll-snap-align:start}.review-card figcaption{padding-inline:5px}.review-full{padding:12px;border-radius:20px}.review-transcript{padding:17px 7px 5px}.square-service-row{grid-template-columns:1fr auto;gap:12px}.square-service-row h2{font-size:25px}.square-service-row>strong{font-size:22px}.service-menu-actions{display:grid}.service-menu-actions .button{width:100%}}


/* v10.1 hardening: accessibility, validation and resilient UI */
.nav-link[aria-current="page"]::after{right:0}.drawer-link[aria-current="page"]{color:var(--sage-deep)}
:focus-visible{outline:3px solid #9d7b37;outline-offset:3px}.icon-button:focus-visible,.button:focus-visible,.text-link:focus-visible,.footer-button:focus-visible{outline-offset:4px}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-status{min-height:1.4em;margin:14px 0 0;color:var(--sage-deep);font-size:13px;font-weight:650}.form-status.error{color:#8c332b}
.intake-availability{margin:-18px 0 28px;padding:14px 16px;border:1px solid #d7c5a7;border-radius:14px;background:#fff7e9;color:#694d26;font-size:13px;line-height:1.55}.intake-availability.ready{border-color:#b9c8b4;background:#edf2ea;color:var(--sage-deep)}.turnstile-shell{min-height:0;margin:18px 0}.turnstile-shell:not(:empty){min-height:70px}
.assistant-consent{display:flex;gap:8px;align-items:flex-start;padding:9px 12px 0;font-size:10px;line-height:1.45;color:var(--ink-soft)}.assistant-consent input{margin-top:2px;accent-color:var(--sage-deep)}.assistant-consent a{text-decoration:underline;text-underline-offset:2px}
.button[disabled],button[disabled]{cursor:not-allowed;opacity:.58;transform:none!important;box-shadow:none!important}
@media(max-width:620px){.assistant-consent{padding-inline:10px}.drawer-panel{overflow-y:auto;padding-bottom:max(32px,env(safe-area-inset-bottom))}}

/* Final interface pass: approved hero composition, clean galleries and green actions. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.home-hero{height:min(76svh,820px);min-height:620px;background:#1d251f}
.home-hero .hero-media{position:absolute;inset:0;width:100%;height:100%;background:#1d251f}
.home-hero .hero-media::before{content:none}
.home-hero .hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 34%;transform:none}
.home-hero .hero-overlay{background:linear-gradient(90deg,rgba(16,25,18,.82) 0%,rgba(16,25,18,.58) 42%,rgba(16,25,18,.18) 72%,rgba(16,25,18,.08) 100%),linear-gradient(0deg,rgba(16,25,18,.30),transparent 50%)}
.home-hero .hero-content{position:relative;z-index:2;height:100%;width:100%;max-width:none;margin:0;padding-inline:clamp(48px,4.2vw,80px);display:flex;align-items:flex-start}
.home-hero .hero-copy{width:min(940px,62vw);padding:clamp(68px,8vh,92px) 0 0;text-align:left}
.home-hero .hero-copy h1{max-width:900px;font-size:clamp(62px,6.6vw,104px);line-height:.93;margin-bottom:22px}
.home-hero .hero-copy h1 em{display:block}
.home-hero .hero-copy>p{max-width:660px;font-size:clamp(16px,1.35vw,20px)}
.home-hero .hero-actions{margin-top:27px}
.home-hero .hero-trust{display:none}
.hero-scroll{display:none}
.header-book{background:var(--sage)!important;border-color:var(--sage)!important;color:var(--ink)!important}
.assistant-launch{background:var(--sage-soft);border-color:rgba(95,114,92,.34);color:var(--sage-deep);box-shadow:0 8px 22px rgba(35,45,36,.13),inset 0 0 0 1px rgba(255,255,255,.34)}
.assistant-launch svg{width:22px;height:22px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.32))}
.assistant-launch:hover{background:var(--sage-deep);border-color:var(--sage-deep);color:var(--paper)}
.cta-band{background:var(--sage);color:var(--ink)}
.cta-band .eyebrow.light{color:var(--ink)}
.cta-band .button.paper{background:var(--paper);border-color:var(--ink);color:var(--ink)}
.portfolio-section,.reviews-gallery{padding-top:clamp(34px,4vw,58px)}
.review-full{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.studio-main{filter:none}
button.specialty-card{width:100%;border:0;padding:0;background:transparent;text-align:left;font:inherit;cursor:pointer}
.service-group-card{width:min(880px,100%)}
.service-group-card>p{max-width:720px;color:var(--ink-soft)}
.service-group-list{margin-top:28px}
.service-group-section+ .service-group-section{margin-top:30px}
.service-group-section>h3{margin:0 0 6px;font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep)}
.service-group-list .square-service-row h4{margin:0 0 4px;font-family:var(--sans);font-size:clamp(18px,2vw,24px);font-weight:600}
.service-group-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.assistant-composer{display:grid;grid-template-columns:max-content minmax(0,1fr) 40px;gap:8px;align-items:end;padding:12px 14px}
.assistant-tools{grid-column:1;grid-row:1;margin:0}
.assistant-tools button{width:auto;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:0;font-weight:700;letter-spacing:.02em}
.assistant-tools button::before{content:"Add photo";font-size:11px}
.assistant-input-row{display:contents}
.assistant-input-row textarea{grid-column:2;grid-row:1;min-width:0;border-radius:14px;padding:10px 12px}
.assistant-input-row textarea:focus{box-shadow:0 0 0 2px rgba(95,114,92,.18)}
.assistant-send{grid-column:3;grid-row:1}
.assistant-consent{grid-column:1/-1;margin:0;padding:2px 2px 0;text-transform:none;letter-spacing:normal;font-weight:400;font-size:10px;line-height:1.4}
.assistant-consent input{width:16px;height:16px;min-height:0;padding:0;flex:0 0 auto}
.assistant-disclaimer{grid-column:1/-1;margin:0 2px;font-size:8px}
@media(max-width:900px){
  .site-header{grid-template-columns:56px 1fr max-content}
  .header-book{display:inline-flex;min-height:42px;padding-inline:15px;font-size:9px}
  .assistant-launch{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:145;width:52px;height:52px;background:var(--sage-deep);border-color:var(--sage-deep);color:var(--paper);box-shadow:0 12px 30px rgba(20,31,22,.28),inset 0 0 0 1px rgba(255,255,255,.18)}
  .assistant-launch:hover{background:#4f624d;border-color:#4f624d;color:white}
  .home-hero{height:min(78svh,760px);min-height:620px}
  .home-hero .hero-poster{object-position:52% 38%}
  .home-hero .hero-content{align-items:flex-end;padding-inline:40px}
  .home-hero .hero-copy{width:min(700px,76vw);padding:0 0 48px;text-align:left}
  .home-hero .hero-copy h1{max-width:720px;font-size:clamp(50px,8vw,68px);line-height:.96;margin-bottom:19px}
  .home-hero .hero-copy h1 em{display:block}
  .home-hero .hero-copy>p{max-width:640px;font-size:16px}
  .home-hero .hero-actions{margin-top:24px}
}
@media(max-width:620px){
  body[data-page="home"]{--announcement-h:0px}
  body[data-page="home"]>.announcement{display:none}
  body[data-page="home"] .assistant-launch{bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))}
  .site-header{grid-template-columns:46px 1fr max-content}
  .header-book{padding-inline:13px}
  .home-hero{height:calc(100svh - var(--header-h));min-height:0}
  .home-hero .hero-poster{object-position:56% 50%;transform:none}
  .home-hero .hero-overlay{background:linear-gradient(90deg,rgba(16,25,18,.58) 0%,rgba(16,25,18,.27) 70%,rgba(16,25,18,.08) 100%),linear-gradient(0deg,rgba(16,25,18,.72) 0%,rgba(16,25,18,.22) 68%,rgba(16,25,18,.18) 100%)}
  .home-hero .hero-content{align-items:flex-start;padding:24px 24px 18px}
  .home-hero .hero-copy{width:100%;padding:0;text-align:left}
  .home-hero .eyebrow{margin-bottom:22px}
  .home-hero .hero-copy h1{max-width:340px;font-size:clamp(40px,11.2vw,45px);line-height:.94;margin-bottom:18px}
  .home-hero .hero-copy h1 em{display:block}
  .home-hero .hero-copy>p{max-width:342px;padding-right:0;font-size:13px;line-height:1.45;margin-bottom:0}
  .home-hero .hero-actions{position:absolute;left:50%;bottom:max(80px,calc(env(safe-area-inset-bottom) + 72px));display:grid;grid-template-columns:1fr;gap:8px;width:min(calc(100% - 48px),400px);margin:0;transform:translateX(-50%)}
  .home-hero .hero-actions .button{width:100%;min-height:42px;padding-block:10px}
  .assistant-composer{grid-template-columns:max-content minmax(0,1fr) 40px;padding:10px 12px 12px}
  .assistant-tools button{padding-inline:10px}
  .assistant-tools button::before{content:"Photo"}
  .service-group-actions{display:grid}
  .service-group-actions .button{width:100%}
}
@media(max-width:620px) and (max-height:720px){
  .home-hero .hero-content{padding:12px 20px}
  .home-hero .hero-copy{padding:0}
  .home-hero .eyebrow{font-size:8px;margin-bottom:14px}
  .home-hero .hero-copy h1{font-size:clamp(36px,10.5vw,40px);margin-bottom:12px}
  .home-hero .hero-copy>p{font-size:11.5px;line-height:1.35}
  .home-hero .hero-actions{gap:6px;width:calc(100% - 40px)}
  .home-hero .hero-actions .button{min-height:38px;padding-block:8px}
}

.new-guest-hero .page-hero-photo img{object-position:center 38%}
