:root{
  --cream:#f6eee8;
  --paper:#fffaf7;
  --ink:#211b1d;
  --ink-soft:#392f32;
  --muted:#756a69;
  --line:rgba(33,27,29,.15);
  --rose:#d98ca8;
  --rose-deep:#b86080;
  --rose-soft:#efd2dc;
  --cocoa:#8d634f;
  --sand:#d9bda9;
  --max:1380px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.nav-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
button{appearance:none;border:0;background:none;padding:0}
p{margin:0 0 1.2em;color:var(--muted)}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.055em;line-height:.94}
h1{font-size:clamp(76px,8.7vw,150px)}
h2{font-size:clamp(50px,6vw,94px)}
h3{font-size:clamp(28px,3vw,46px)}
h1 em,h2 em,h3 em{font-family:var(--serif);font-weight:400}
::selection{background:var(--rose);color:var(--ink)}
.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}
.section{padding:145px 0}
.eyebrow{margin:0 0 24px;color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.17em;line-height:1.35;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:56px;padding:0 23px;border-radius:999px;font-size:13px;font-weight:800;transition:background .3s,color .3s,border-color .3s,transform .18s ease}
.btn span{font-size:16px}
.btn--ink{background:var(--ink);color:#fff}.btn--ink:hover{background:var(--ink-soft)}
.btn--cream{background:var(--cream);color:var(--ink)}.btn--cream:hover{background:#fff}
.btn--line{border:1px solid var(--line)}.btn--line:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.text-link{display:inline-flex;align-items:center;gap:30px;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:13px;font-weight:800}
.text-link span{transition:transform .25s}.text-link:hover span{transform:translateX(5px)}

.site-header{position:fixed;z-index:100;inset:0 0 auto;padding:18px 0;transition:transform .35s ease,padding .3s ease}
.site-header.is-hidden{transform:translateY(-115%)}
.site-header.is-scrolled{padding:9px 0}
.header-inner{height:76px;padding:0 18px 0 24px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(246,238,232,.84);backdrop-filter:blur(18px);box-shadow:0 10px 40px rgba(73,46,50,.08)}
.brand{display:flex;gap:12px;align-items:baseline;white-space:nowrap}
.brand-word{font-family:var(--serif);font-size:29px;letter-spacing:-.055em}
.brand-sub{font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.custom-logo{max-height:44px;width:auto}
.site-nav{margin-left:auto}
.site-nav__list{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.site-nav__list a{font-size:12px;font-weight:800;position:relative}
.site-nav__list a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .25s}
.site-nav__list a:hover:after,.site-nav__list a.is-current:after{right:0}
.site-nav__list a.is-current{color:var(--rose-deep)}
.header-book{margin-left:26px;display:flex;align-items:center;gap:24px;padding:12px 16px 12px 20px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:800}
.header-book i{font-style:normal;width:31px;height:31px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center}
.nav-toggle{display:none;width:44px;height:44px;position:relative}
.nav-toggle span{position:absolute;left:10px;right:10px;height:1px;background:var(--ink);transition:.25s}.nav-toggle span:first-child{top:18px}.nav-toggle span:last-child{top:25px}.nav-toggle[aria-expanded="true"] span:first-child{top:22px;transform:rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{top:22px;transform:rotate(-45deg)}
.scroll-progress{position:fixed;z-index:150;left:0;right:0;top:0;height:2px;pointer-events:none}.scroll-progress span{display:block;height:100%;width:0;background:var(--rose-deep)}

/* HOME */
.home-hero{min-height:100svh;padding:150px 0 42px;position:relative;overflow:hidden;background:var(--cream)}
.home-hero:before{content:"";position:absolute;right:-17vw;top:-22vw;width:58vw;height:58vw;border-radius:50%;background:radial-gradient(circle at 45% 45%,var(--rose-soft) 0%,rgba(239,210,220,.5) 50%,rgba(239,210,220,0) 72%)}
.home-hero:after{content:"";position:absolute;left:-8vw;bottom:-28vw;width:48vw;height:48vw;border:1px solid rgba(184,96,128,.18);border-radius:50%}
.home-hero__grid{position:relative;z-index:2;min-height:calc(100svh - 192px);display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center}
.home-hero__copy{padding:38px 0 60px}.home-hero__copy h1{max-width:780px}.home-hero__lead{max-width:560px;margin:34px 0 32px;font-size:18px}
.home-hero__actions{display:flex;align-items:center;gap:30px}
.home-hero__meta{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:580px;border-top:1px solid var(--line);padding-top:20px}.home-hero__meta div{display:flex;flex-direction:column;gap:4px}.home-hero__meta span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.home-hero__meta strong{font-size:12px;font-weight:700}
.home-hero__art{height:720px;position:relative;align-self:end}.home-hero__main{position:absolute;right:4%;top:3%;width:62%;height:88%;margin:0;overflow:hidden;border-radius:300px 300px 24px 24px;box-shadow:0 35px 80px rgba(82,52,57,.16)}.home-hero__main img,.home-hero__small img{width:100%;height:100%;object-fit:cover}
.home-hero__small{position:absolute;margin:0;overflow:hidden;background:#ddd;box-shadow:0 22px 60px rgba(82,52,57,.14)}.home-hero__small--one{left:1%;bottom:4%;width:30%;height:38%;border:9px solid var(--cream);border-radius:14px}.home-hero__small--two{right:0;bottom:2%;width:25%;height:28%;border:7px solid var(--cream);border-radius:14px}
.home-hero__seal{position:absolute;left:6%;top:13%;width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--rose);box-shadow:0 18px 55px rgba(184,96,128,.2)}.home-hero__seal span{font-family:var(--serif);font-size:25px;letter-spacing:-.04em}.home-hero__seal small{margin-top:6px;max-width:100px;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

.infinite-band{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,250,247,.7)}
.infinite-band__track{display:flex;width:max-content;will-change:transform;animation:band-scroll 29s linear infinite}
.infinite-band__group{flex:none;display:flex;align-items:center;gap:30px;padding:21px 30px 20px 0;white-space:nowrap}.infinite-band__group span{font-size:11px;font-weight:900;letter-spacing:.17em}.infinite-band__group i{font-style:normal;color:var(--rose-deep);font-size:12px}
.infinite-band--dark{background:var(--ink);border-color:rgba(255,255,255,.12);color:#fff}.infinite-band--dark .infinite-band__group i{color:var(--rose)}.infinite-band__track--reverse{animation-direction:reverse;animation-duration:34s}
@keyframes band-scroll{to{transform:translate3d(-50%,0,0)}}

.home-manifesto{background:var(--paper)}.manifesto-grid{display:grid;grid-template-columns:.25fr 1fr .55fr;gap:5vw;align-items:start}.manifesto-index{display:flex;gap:16px;align-items:center}.manifesto-index span{font-family:var(--serif);font-size:38px}.manifesto-index p{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.manifesto-copy{padding-top:12px}.manifesto-copy p{font-size:18px;margin-bottom:30px}
.home-services{overflow:hidden;background:linear-gradient(180deg,#f0dedb 0%,#f8efe9 80%)}.home-services__head{display:flex;justify-content:space-between;align-items:end;margin-bottom:80px}.home-services__head h2{max-width:980px}.home-services__grid{display:grid;grid-template-columns:1fr .72fr;gap:7vw;align-items:center}.home-services__list{border-top:1px solid var(--line)}
.premium-service{display:grid;grid-template-columns:54px 1fr auto;gap:16px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}.premium-service>span{font-family:var(--serif);color:var(--muted)}.premium-service div{display:flex;flex-direction:column;gap:5px}.premium-service strong{font-size:clamp(23px,2.45vw,40px);font-weight:500;letter-spacing:-.04em}.premium-service small{font-size:11px;color:var(--muted)}.premium-service i{font-style:normal;font-size:20px;opacity:.38;transition:transform .3s,opacity .3s}.premium-service:hover,.premium-service.is-active{padding-left:16px}.premium-service:hover i,.premium-service.is-active i{opacity:1;transform:rotate(45deg)}
.home-services__visual{position:relative}.home-services__images{position:relative;height:650px;overflow:hidden;border-radius:290px 290px 20px 20px;background:#d9cec9}.service-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .5s ease,transform .8s ease}.service-image.is-active{opacity:1;transform:scale(1)}.home-services__note{position:absolute;right:-40px;bottom:50px;width:154px;height:154px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;box-shadow:0 20px 60px rgba(50,34,38,.2)}.home-services__note span{font-family:var(--serif);font-size:32px}.home-services__note p{margin:0;color:#d8cbd0;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.home-process{background:var(--ink);color:#fff}.home-process .eyebrow,.home-process p{color:#cbbdc1}.home-process__top{display:grid;grid-template-columns:1fr .42fr;gap:7vw;align-items:end}.home-process__intro{font-size:17px;max-width:500px}.home-process__steps{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16)}.home-process__steps article{min-height:360px;padding:25px 28px 25px 0;border-right:1px solid rgba(255,255,255,.16)}.home-process__steps article+article{padding-left:28px}.home-process__steps article:last-child{border-right:0}.home-process__steps span{font-family:var(--serif);color:var(--rose);font-size:22px}.home-process__steps h3{margin:145px 0 15px}.home-process__steps p{font-size:14px;max-width:240px}
.home-gallery{background:var(--cream)}.home-gallery__head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.home-gallery__mosaic{height:770px;display:grid;grid-template-columns:1.05fr .7fr .75fr;grid-template-rows:1fr 1fr;gap:18px}.mosaic-card{position:relative;overflow:hidden;border-radius:16px;cursor:zoom-in}.mosaic-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.mosaic-card:hover img{transform:scale(1.045)}.mosaic-card span{position:absolute;top:14px;left:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(246,238,232,.88);backdrop-filter:blur(10px);font-size:10px;font-weight:800}.mosaic-card--a{grid-row:1/3}.mosaic-card--b{grid-column:2/4}.mosaic-card--c{grid-column:2/4}
.home-dark{background:#33282c;color:#fff;overflow:hidden}.home-dark .eyebrow,.home-dark p{color:#d3c1c6}.home-dark__grid{display:grid;grid-template-columns:.78fr 1fr;gap:8vw;align-items:center}.home-dark__copy p:not(.eyebrow){max-width:560px;font-size:18px;margin:32px 0}.home-dark__art{position:relative;min-height:690px}.home-dark__art figure{position:absolute;right:0;top:0;width:70%;height:86%;margin:0;overflow:hidden;border-radius:280px 280px 18px 18px}.home-dark__art figure img{width:100%;height:100%;object-fit:cover}.home-dark__quote{position:absolute;left:2%;bottom:10%;width:330px;padding:28px 30px;background:var(--rose);color:var(--ink);font-family:var(--serif);font-size:30px;line-height:1.05;letter-spacing:-.04em;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.home-visit{background:var(--paper)}.home-visit__grid{display:grid;grid-template-columns:.75fr 1fr;gap:9vw;align-items:center}.home-visit__image{height:720px;overflow:hidden;border-radius:18px}.home-visit__image img{width:100%;height:100%;object-fit:cover}.home-visit__copy p:not(.eyebrow){max-width:550px;margin:30px 0;font-size:18px}.home-visit__actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}

/* INNER HEROES */
.inner-hero{padding:185px 0 115px;overflow:hidden;position:relative}.inner-hero:before{content:"";position:absolute;right:-15vw;top:-20vw;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,var(--rose-soft),rgba(239,210,220,0) 68%);opacity:.75}.premium-inner-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .72fr;gap:7vw;align-items:center}.premium-inner-copy h1{font-size:clamp(74px,8vw,132px)}.premium-inner-copy>p:not(.eyebrow){max-width:590px;margin:30px 0;font-size:18px}.premium-inner-art{height:650px;position:relative}.premium-inner-main{position:absolute;right:0;top:0;width:72%;height:93%;margin:0;overflow:hidden;border-radius:290px 290px 20px 20px;box-shadow:0 30px 80px rgba(72,48,52,.14)}.premium-inner-main img,.premium-inner-float img{width:100%;height:100%;object-fit:cover}.premium-inner-float{position:absolute;left:0;bottom:2%;width:36%;height:36%;margin:0;overflow:hidden;border:8px solid var(--cream);border-radius:15px;box-shadow:0 18px 55px rgba(72,48,52,.15)}.premium-inner-number{position:absolute;left:5%;top:5%;font-family:var(--serif);font-size:80px;color:var(--rose-deep);line-height:1}.premium-inner-stamp{position:absolute;left:0;bottom:7%;width:170px;height:170px;border-radius:50%;background:var(--rose);display:grid;place-items:center;text-align:center;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;box-shadow:0 20px 60px rgba(184,96,128,.22)}
.split-intro{display:grid;grid-template-columns:1fr .52fr;gap:8vw;align-items:start}.split-intro>div:last-child{padding-top:8px}.split-intro>div:last-child p{font-size:18px}

/* SERVICES */
.service-intro{background:var(--paper)}.service-chapters{background:var(--cream)}.service-chapter{padding:110px 0;border-top:1px solid var(--line)}.service-chapter__grid{display:grid;grid-template-columns:.7fr 1fr;gap:8vw;align-items:center}.service-chapter--alt .service-chapter__copy{order:2}.service-chapter--alt .service-chapter__image{order:1}.service-chapter__copy>span{display:block;font-family:var(--serif);font-size:50px;color:var(--rose-deep);margin-bottom:55px}.service-chapter__copy h2{font-size:clamp(56px,6vw,92px)}.service-chapter__copy>p:not(.eyebrow){margin:26px 0;font-size:17px;max-width:600px}.service-chapter__copy ul{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line)}.service-chapter__copy li{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.service-chapter__image{height:700px;margin:0;overflow:hidden;border-radius:18px}.service-chapter__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.service-chapter:hover .service-chapter__image img{transform:scale(1.025)}
.premium-process{background:var(--ink);color:#fff}.premium-process .eyebrow,.premium-process p{color:#cbbdc1}.premium-process__head{display:flex;justify-content:space-between;align-items:end}.premium-process__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.16)}.premium-process__grid article{min-height:340px;padding:25px 28px 25px 0;border-right:1px solid rgba(255,255,255,.16)}.premium-process__grid article+article{padding-left:28px}.premium-process__grid article:last-child{border-right:0}.premium-process__grid span{font-family:var(--serif);font-size:22px;color:var(--rose)}.premium-process__grid h3{margin:135px 0 15px}.premium-process__grid p{font-size:14px}
.premium-cta{background:var(--paper)}.premium-cta__grid{display:grid;grid-template-columns:.72fr 1fr;gap:9vw;align-items:center}.premium-cta__grid figure{height:690px;margin:0;overflow:hidden;border-radius:20px}.premium-cta__grid figure img{width:100%;height:100%;object-fit:cover}.premium-cta__grid>div>p:not(.eyebrow){max-width:560px;margin:28px 0;font-size:17px}

/* ABOUT */
.about-manifesto{background:var(--paper)}.about-manifesto__grid{display:grid;grid-template-columns:1fr .65fr;gap:9vw;align-items:start}.about-manifesto__lead{font-family:var(--serif);font-size:30px!important;line-height:1.18;color:var(--ink);letter-spacing:-.03em}.about-manifesto__grid>div:last-child p{font-size:17px}
.about-collage{background:var(--cream);padding-top:20px}.about-collage__grid{position:relative;height:900px;display:grid;grid-template-columns:1fr .7fr;grid-template-rows:1fr .7fr;gap:18px}.about-collage__grid figure{margin:0;overflow:hidden;border-radius:16px}.about-collage__grid img{width:100%;height:100%;object-fit:cover}.about-collage__one{grid-row:1/3}.about-collage__two{grid-column:2}.about-collage__three{grid-column:2}.about-collage__card{position:absolute;left:47%;top:40%;width:310px;min-height:220px;padding:30px;background:var(--rose);border-radius:16px;box-shadow:0 25px 75px rgba(78,48,55,.22)}.about-collage__card span{font-family:var(--serif);font-size:26px}.about-collage__card p{margin:65px 0 0;color:var(--ink);font-family:var(--serif);font-size:24px;line-height:1.1}
.about-values{background:#efe2dd}.about-values__head{display:flex;justify-content:space-between;align-items:end}.about-values__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line)}.about-values__grid article{min-height:360px;padding:26px 30px 26px 0;border-right:1px solid var(--line)}.about-values__grid article+article{padding-left:30px}.about-values__grid article:last-child{border-right:0}.about-values__grid span{font-family:var(--serif);font-size:22px;color:var(--rose-deep)}.about-values__grid h3{margin:135px 0 15px}.about-values__grid p{font-size:14px;max-width:300px}
.about-method{background:var(--paper)}.about-method__grid{display:grid;grid-template-columns:.65fr 1fr;gap:9vw;align-items:start}.about-method__sticky{position:sticky;top:130px}.about-method__sticky>p:not(.eyebrow){margin-top:28px;font-size:17px;max-width:480px}.about-method__steps{border-top:1px solid var(--line)}.about-method__steps article{position:relative;min-height:230px;padding:28px 0 28px 90px;border-bottom:1px solid var(--line)}.about-method__steps span{position:absolute;left:0;top:25px;font-family:var(--serif);font-size:30px;color:var(--rose-deep)}.about-method__steps h3{font-size:44px;margin-bottom:14px}.about-method__steps p{max-width:560px}
.about-location{background:var(--cream)}.about-location__grid{display:grid;grid-template-columns:.72fr 1fr;gap:9vw;align-items:center}.about-location__grid figure{height:690px;margin:0;overflow:hidden;border-radius:20px}.about-location__grid figure img{width:100%;height:100%;object-fit:cover}.about-location__grid>div p:not(.eyebrow){margin:28px 0;font-size:17px}

/* GALLERY */
.gallery-premium-hero{padding-bottom:90px}.gallery-premium-hero__grid{display:grid;grid-template-columns:1fr .45fr;gap:8vw;align-items:end}.gallery-premium-hero__grid p{font-size:18px}.gallery-showcase{padding:20px 0 130px;background:var(--cream)}.gallery-showcase__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:90px;gap:16px}.gallery-shot{position:relative;overflow:hidden;border-radius:15px;cursor:zoom-in}.gallery-shot img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .5s}.gallery-shot:hover img{transform:scale(1.04);filter:saturate(1.04)}.gallery-shot span{position:absolute;left:14px;top:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(246,238,232,.9);font-size:10px;font-weight:800}.gallery-shot strong{position:absolute;left:16px;right:16px;bottom:15px;color:#fff;font-size:12px;text-align:left;text-shadow:0 2px 15px rgba(0,0,0,.55)}.gallery-shot--a{grid-column:span 7;grid-row:span 6}.gallery-shot--b{grid-column:span 5;grid-row:span 4}.gallery-shot--c{grid-column:span 5;grid-row:span 5}.gallery-shot--d{grid-column:span 4;grid-row:span 5}.gallery-shot--e{grid-column:span 8;grid-row:span 6}.gallery-shot--f{grid-column:span 5;grid-row:span 5}.gallery-shot--g{grid-column:span 7;grid-row:span 6}.gallery-shot--h{grid-column:span 5;grid-row:span 5}.gallery-shot--i{grid-column:span 7;grid-row:span 5}.gallery-statement{background:var(--paper)}.gallery-statement__grid{display:grid;grid-template-columns:1fr .48fr;gap:8vw;align-items:end}.gallery-statement__grid>div:last-child p{font-size:18px;margin-bottom:30px}

/* FAQ */
.faq-intro{background:var(--paper)}.faq-main{background:var(--cream);padding-top:35px}.faq-main__grid{display:grid;grid-template-columns:.42fr 1fr;gap:9vw;align-items:start}.faq-main__aside{position:sticky;top:130px}.faq-main__number{display:block;font-family:var(--serif);font-size:118px;color:var(--rose-deep);line-height:1}.faq-main__aside>p{max-width:220px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.faq-main__aside figure{margin:40px 0 0;height:340px;overflow:hidden;border-radius:16px}.faq-main__aside figure img{width:100%;height:100%;object-fit:cover}.faq-accordion{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:58px 1fr auto;gap:15px;align-items:center;padding:30px 0}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-family:var(--serif);font-size:22px;color:var(--rose-deep)}.faq-item summary strong{font-size:clamp(20px,2.2vw,30px);font-weight:600;letter-spacing:-.03em}.faq-item summary i{font-style:normal;font-size:30px;font-weight:300;transition:transform .25s}.faq-item[open] summary i{transform:rotate(45deg)}.faq-item>div{padding:0 60px 30px 73px}.faq-item>div p{max-width:780px;font-size:16px}.faq-cta{background:var(--ink);color:#fff}.faq-cta .eyebrow,.faq-cta p{color:#cbbdc1}.faq-cta__grid{display:grid;grid-template-columns:1fr .45fr;gap:8vw;align-items:end}.faq-cta__grid>div:last-child p{font-size:17px;margin-bottom:28px}

/* CONTACT */
.contact-floating-card{position:absolute;left:0;bottom:6%;width:240px;padding:24px;border-radius:14px;background:var(--rose);box-shadow:0 20px 60px rgba(78,48,55,.2);display:flex;flex-direction:column}.contact-floating-card span{font-family:var(--serif);font-size:24px}.contact-floating-card strong{margin-top:38px;font-size:14px}.contact-floating-card small{color:#4b3840}
.contact-info{background:var(--paper);padding-top:80px}.contact-info__grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.contact-info__item{min-height:230px;padding:28px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background .3s}.contact-info__item:hover{background:#f2e2df}.contact-info__item span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.contact-info__item strong{margin-top:auto;font-size:clamp(22px,2.4vw,34px);font-weight:500;letter-spacing:-.035em}.contact-info__item i{position:absolute;right:25px;top:24px;font-style:normal;font-size:18px}
.contact-form-section{background:var(--cream)}.contact-form-section__grid{display:grid;grid-template-columns:.72fr 1fr;gap:8vw;align-items:start}.contact-form-intro{position:relative}.contact-form-intro>p:not(.eyebrow){margin:28px 0;font-size:17px;max-width:500px}.contact-form-intro figure{margin:45px 0 0;width:66%;height:330px;overflow:hidden;border-radius:16px}.contact-form-intro figure img{width:100%;height:100%;object-fit:cover}.contact-form-panel{padding:55px;background:var(--paper);border:1px solid rgba(33,27,29,.08);border-radius:18px;box-shadow:0 25px 70px rgba(72,48,52,.08)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;outline:0}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form .btn{justify-self:start;margin-top:8px}.form-note{margin:22px 0 0;font-size:11px}.form-status{padding:12px 14px;border-radius:8px;margin:0 0 26px;font-size:13px}.form-status.success{background:#dce8d5;color:#21331c}.form-status.error{background:#ead8d3;color:#4c2118}.contact-location{background:var(--cream);padding-top:10px}.contact-location__panel{padding:72px;border-radius:20px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr .4fr;gap:7vw;align-items:end}.contact-location__panel .eyebrow,.contact-location__panel p{color:#cbbdc1}.contact-location__panel h2{font-size:clamp(52px,6vw,90px)}

/* FOOTER */
.site-footer{background:#241d20;color:#fff;padding:115px 0 28px}.footer-kicker{margin-bottom:50px;color:#aa9ca1;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.footer-statement{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-bottom:72px;border-bottom:1px solid rgba(255,255,255,.14)}.footer-statement h2{font-size:clamp(56px,6.2vw,98px)}.footer-call{display:flex;align-items:center;gap:25px;padding:13px 14px 13px 21px;border:1px solid rgba(255,255,255,.32);border-radius:999px;white-space:nowrap}.footer-call i{font-style:normal;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink)}.footer-meta{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:45px;padding:45px 0}.footer-meta>div{display:flex;flex-direction:column;gap:4px}.footer-meta span{margin-bottom:10px;color:#9a8d92;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.footer-meta p,.footer-meta a{margin:0;color:#d0c5c8;font-size:13px}.footer-meta a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid rgba(255,255,255,.11);color:#82767a;font-size:10px;text-transform:uppercase;letter-spacing:.1em}

/* LIGHTBOX + GENERIC */
.lightbox{position:fixed;z-index:500;inset:0;display:none;align-items:center;justify-content:center;padding:60px;background:rgba(24,18,22,.96)}.lightbox.is-open{display:flex}.lightbox img{max-width:min(100%,1000px);max-height:82vh;object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;right:24px;top:18px;color:#fff;font-size:42px;cursor:pointer}.lightbox-caption{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.legal-page,.generic-page,.archive-page{padding:200px 0 120px}.legal-copy{max-width:860px}.legal-copy h1,.generic-page h1,.archive-page h1{font-size:clamp(62px,8vw,112px)}.legal-copy h2{font-size:50px;margin:44px 0 18px}.legal-copy h3{font-size:30px;margin:42px 0 12px}.legal-copy p{font-size:17px}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}.post-card{padding:28px;border:1px solid var(--line);border-radius:12px}.post-card h2{font-size:34px;margin:12px 0}.not-found{min-height:100svh;padding:180px 0 100px;display:flex;align-items:center}.not-found p{max-width:520px}

/* MOTION */
.motion-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.motion-ready .image-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.2,.8,.2,1),opacity .72s,transform .72s}.motion-ready .image-reveal.is-visible{clip-path:inset(0 0 0 0)}

@media(max-width:1150px){
  .container{width:min(calc(100% - 44px),var(--max))}.site-nav__list{gap:18px}.brand-sub{display:none}
  .home-hero__grid{gap:4vw}.home-hero__art{height:620px}.home-hero__seal{width:130px;height:130px}.manifesto-grid{grid-template-columns:.2fr 1fr}.manifesto-copy{grid-column:2}.home-services__grid{gap:4vw}.home-services__images{height:570px}.home-services__note{right:-12px}.home-process__steps,.premium-process__grid{grid-template-columns:1fr 1fr}.home-process__steps article:nth-child(2),.premium-process__grid article:nth-child(2){border-right:0}.home-process__steps article:nth-child(n+3),.premium-process__grid article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.16)}.home-gallery__mosaic{height:680px}.premium-inner-grid{gap:4vw}.premium-inner-art{height:590px}.about-collage__card{left:42%}.footer-meta{grid-template-columns:1fr 1fr}
}

@media(max-width:900px){
  .header-book{display:none}.site-nav{margin-left:auto}.section{padding:115px 0}
  .home-hero{padding-top:130px}.home-hero__grid,.home-services__grid,.home-process__top,.home-dark__grid,.home-visit__grid,.premium-inner-grid,.split-intro,.service-chapter__grid,.premium-cta__grid,.about-manifesto__grid,.about-method__grid,.about-location__grid,.gallery-premium-hero__grid,.gallery-statement__grid,.faq-main__grid,.faq-cta__grid,.contact-form-section__grid,.contact-location__panel{grid-template-columns:1fr}
  .home-hero__copy{padding-bottom:20px}.home-hero__art{height:650px;max-width:730px;width:100%;margin:auto}.home-hero__grid{min-height:auto}.home-hero__meta{margin-top:45px}.manifesto-grid{grid-template-columns:1fr}.manifesto-copy{grid-column:auto}.home-services__head,.home-gallery__head,.about-values__head{display:block}.home-services__head h2,.home-gallery__head h2,.about-values__head h2{margin-top:12px}.home-gallery__head .btn{margin-top:28px}.home-services__visual{max-width:650px;margin:30px auto 0;width:100%}.home-services__images{height:680px}.home-process__intro{margin-top:25px}.home-dark__copy{padding-bottom:30px}.home-dark__art{max-width:720px;width:100%;margin:auto}.home-visit__image{height:630px;max-width:680px}.premium-inner-copy{padding-bottom:15px}.premium-inner-art{height:640px;max-width:680px;width:100%;margin:auto}.service-chapter--alt .service-chapter__copy,.service-chapter--alt .service-chapter__image{order:initial}.service-chapter__image,.premium-cta__grid figure,.about-location__grid figure{height:620px;max-width:680px}.service-chapter__copy>span{margin-bottom:30px}.premium-process__head{display:block}.about-collage__grid{height:780px}.about-collage__card{left:38%;top:41%}.about-method__sticky,.faq-main__aside{position:static}.faq-main__aside{display:grid;grid-template-columns:.3fr .7fr;gap:30px;align-items:end;margin-bottom:40px}.faq-main__aside figure{grid-column:2;height:300px;margin:0}.contact-form-intro figure{max-width:420px}.contact-location__panel>div:last-child{margin-top:20px}.footer-statement{display:block}.footer-call{display:inline-flex;margin-top:34px}
}

@media(max-width:760px){
  .container{width:min(calc(100% - 28px),var(--max))}.section{padding:88px 0}h1{font-size:clamp(60px,17vw,90px)}h2{font-size:clamp(43px,12vw,67px)}p{font-size:15px}
  .site-header{padding:9px 0}.header-inner{height:62px;padding:0 9px 0 16px}.brand-word{font-size:24px}.nav-toggle{display:block;margin-left:auto;z-index:3}.js-nav .site-nav{display:none;position:fixed;inset:0;background:var(--cream);padding:120px 24px 40px}.js-nav .site-nav.is-open{display:block}.site-nav__list{flex-direction:column;align-items:flex-start;gap:20px}.site-nav__list a{font-size:40px;letter-spacing:-.04em;font-weight:500}
  .home-hero{padding-top:106px}.home-hero__copy{padding-top:20px}.home-hero__lead{font-size:16px;margin:24px 0}.home-hero__actions{flex-direction:column;align-items:flex-start;gap:20px}.home-hero__meta{grid-template-columns:1fr;margin-top:38px}.home-hero__art{height:530px}.home-hero__main{width:78%;height:88%;border-radius:180px 180px 14px 14px}.home-hero__small--one{width:39%;height:34%;border-width:6px}.home-hero__small--two{width:31%;height:24%;border-width:5px}.home-hero__seal{width:105px;height:105px;left:2%;top:10%}.home-hero__seal span{font-size:20px}.home-hero__seal small{font-size:7px}.infinite-band__group{gap:20px;padding:17px 20px 16px 0}.infinite-band__group span{font-size:9px}.manifesto-copy p,.split-intro>div:last-child p{font-size:16px}.home-services__head{margin-bottom:35px}.premium-service{grid-template-columns:38px 1fr auto;padding:19px 0}.premium-service strong{font-size:24px}.premium-service small{display:none}.home-services__images{height:520px}.home-services__note{width:118px;height:118px;right:-3px}.home-process__steps,.premium-process__grid{grid-template-columns:1fr}.home-process__steps article,.home-process__steps article+article,.premium-process__grid article,.premium-process__grid article+article{border-right:0;border-top:1px solid rgba(255,255,255,.16);padding:22px 0;min-height:230px}.home-process__steps article:first-child,.premium-process__grid article:first-child{border-top:0}.home-process__steps h3,.premium-process__grid h3{margin-top:68px}.home-gallery__mosaic{height:auto;display:grid;grid-template-columns:1fr;grid-template-rows:auto}.mosaic-card,.mosaic-card--a,.mosaic-card--b,.mosaic-card--c{grid-column:auto;grid-row:auto;height:470px}.home-dark__art{min-height:520px}.home-dark__art figure{width:78%;height:80%}.home-dark__quote{width:250px;font-size:24px;bottom:3%}.home-visit__image{height:520px}.inner-hero{padding:140px 0 75px}.premium-inner-copy h1{font-size:clamp(60px,16vw,88px)}.premium-inner-copy>p:not(.eyebrow){font-size:16px}.premium-inner-art{height:520px}.premium-inner-main{width:79%;height:90%;border-radius:190px 190px 14px 14px}.premium-inner-float{width:40%;height:34%;border-width:6px}.premium-inner-number{font-size:55px}.premium-inner-stamp{width:120px;height:120px;font-size:8px}.service-chapter{padding:82px 0}.service-chapter__image,.premium-cta__grid figure,.about-location__grid figure{height:520px}.service-chapter__copy h2{font-size:clamp(46px,13vw,68px)}.service-chapter__copy>span{font-size:38px}.about-manifesto__lead{font-size:25px!important}.about-collage__grid{height:auto;display:grid;grid-template-columns:1fr;grid-template-rows:auto}.about-collage__one,.about-collage__two,.about-collage__three{grid-column:auto;grid-row:auto;height:500px}.about-collage__card{position:relative;left:auto;top:auto;width:100%;min-height:190px}.about-values__grid{grid-template-columns:1fr}.about-values__grid article,.about-values__grid article+article{min-height:240px;padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.about-values__grid h3{margin-top:70px}.about-method__steps article{padding-left:58px}.about-method__steps h3{font-size:36px}.gallery-showcase__grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto}.gallery-shot,.gallery-shot--a,.gallery-shot--b,.gallery-shot--c,.gallery-shot--d,.gallery-shot--e,.gallery-shot--f,.gallery-shot--g,.gallery-shot--h,.gallery-shot--i{grid-column:auto;grid-row:auto;height:490px}.gallery-premium-hero__grid p{font-size:16px}.faq-main__aside{display:block}.faq-main__aside figure{height:300px;margin-top:25px}.faq-main__number{font-size:85px}.faq-item summary{grid-template-columns:42px 1fr auto;padding:23px 0}.faq-item summary strong{font-size:19px}.faq-item>div{padding:0 40px 24px 42px}.contact-info__grid{grid-template-columns:1fr}.contact-info__item{min-height:190px}.contact-form-panel{padding:30px 20px}.contact-form{grid-template-columns:1fr}.contact-form label.full{grid-column:auto}.contact-form-intro figure{width:100%;height:300px}.contact-location__panel{padding:42px 24px}.footer-statement h2{font-size:54px}.footer-meta{grid-template-columns:1fr;gap:28px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.lightbox{padding:45px 14px}.lightbox-caption{width:90%;text-align:center}.posts-grid{grid-template-columns:1fr}
}

@media(pointer:coarse){.magnetic{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.infinite-band__track{animation:none}.motion-ready .reveal,.motion-ready .image-reveal{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}.service-image{transition:none!important}}

/* =========================
   V5 CINEMATIC UPGRADE
   ========================= */
.cinematic-hero{min-height:820px;padding:190px 0 105px;background:#211b1d;color:#fff;isolation:isolate}
.cinematic-hero:before{display:none}
.cinematic-hero__backdrop{position:absolute;inset:0;z-index:-3;overflow:hidden}
.cinematic-hero__backdrop img{width:100%;height:112%;object-fit:cover;object-position:center 42%;filter:saturate(.88) contrast(1.03);transform:scale(1.035);will-change:transform}
.cinematic-hero__backdrop--gallery img{object-position:center 34%}
.cinematic-hero__shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(24,18,20,.88) 0%,rgba(24,18,20,.74) 37%,rgba(24,18,20,.38) 65%,rgba(24,18,20,.54) 100%)}
.cinematic-hero__shade:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,18,21,.18),rgba(25,18,21,.02) 38%,rgba(25,18,21,.5) 100%)}
.cinematic-hero__content{position:relative;z-index:2}
.cinematic-hero__word{position:absolute;z-index:-1;left:-.015em;bottom:-.14em;font-family:var(--serif);font-size:clamp(120px,18vw,320px);line-height:.75;letter-spacing:-.07em;color:rgba(255,255,255,.055);white-space:nowrap;pointer-events:none;user-select:none}
.cinematic-hero .premium-inner-copy h1,.cinematic-hero.gallery-premium-hero h1{color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.18)}
.cinematic-hero .premium-inner-copy>p:not(.eyebrow),.cinematic-hero.gallery-premium-hero p{color:rgba(255,255,255,.8);max-width:570px}
.cinematic-hero .eyebrow{color:#f5cad9}
.cinematic-hero .text-link{color:#fff}
.cinematic-hero .btn--ink{background:#fff;color:var(--ink)}
.cinematic-hero .btn--ink:hover{background:var(--rose);color:var(--ink)}
.cinematic-hero .premium-inner-art{height:620px}
.cinematic-hero .premium-inner-main{width:70%;height:88%;top:5%;border:1px solid rgba(255,255,255,.25);box-shadow:0 30px 90px rgba(0,0,0,.34)}
.cinematic-hero .premium-inner-float{border-color:rgba(255,250,247,.9);box-shadow:0 25px 70px rgba(0,0,0,.3)}
.cinematic-hero .premium-inner-number{color:rgba(255,255,255,.88);text-shadow:0 8px 40px rgba(0,0,0,.28)}
.cinematic-hero .premium-inner-stamp{background:rgba(217,140,168,.94);backdrop-filter:blur(10px)}
.cinematic-hero .contact-floating-card{background:rgba(217,140,168,.92);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.26)}
.gallery-premium-hero{padding-bottom:105px}
.gallery-premium-hero__grid{min-height:535px;align-items:end}
.gallery-hero__side{align-self:end;padding-bottom:6px}
.gallery-hero__mini{width:min(330px,85%);height:250px;position:relative;margin:0 0 34px auto;overflow:hidden;border-radius:180px 180px 18px 18px;border:1px solid rgba(255,255,255,.24);box-shadow:0 25px 70px rgba(0,0,0,.3);transform-style:preserve-3d}
.gallery-hero__mini img{width:100%;height:100%;object-fit:cover}
.gallery-hero__mini span{position:absolute;left:15px;bottom:15px;padding:9px 12px;border-radius:999px;background:rgba(30,23,26,.76);backdrop-filter:blur(10px);color:#fff;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* Immersive dark sections now use real HappyDog photography rather than empty flat fills */
.immersive-dark{position:relative;isolation:isolate;overflow:hidden;background:#211b1d;color:#fff;--mx:50%;--my:50%}
.immersive-dark:before{content:"";position:absolute;z-index:-3;inset:-8%;background-image:linear-gradient(90deg,rgba(24,18,20,.92),rgba(24,18,20,.78) 48%,rgba(24,18,20,.64)),var(--dark-bg);background-size:cover;background-position:center;filter:saturate(.78);transform:scale(1.03)}
.immersive-dark:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle 320px at var(--mx) var(--my),rgba(217,140,168,.16),transparent 72%);opacity:.9;transition:opacity .3s}
.dark-ambient{position:absolute;z-index:-2;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 22%,rgba(0,0,0,.12)),repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.045) 25%);mask-image:linear-gradient(to bottom,transparent,black 17%,black 84%,transparent)}
.immersive-dark>.container{position:relative;z-index:2}
.home-process.immersive-dark:before,.premium-process.immersive-dark:before{opacity:.46;background-position:center 38%}
.home-process.immersive-dark,.premium-process.immersive-dark{background:#241d20}
.home-process__steps article,.premium-process__grid article{position:relative;transition:background .35s ease,padding .35s ease}
.home-process__steps article:after,.premium-process__grid article:after{content:"";position:absolute;left:0;right:28px;bottom:0;height:2px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.home-process__steps article:hover,.premium-process__grid article:hover{background:rgba(255,255,255,.035)}
.home-process__steps article:hover:after,.premium-process__grid article:hover:after{transform:scaleX(1)}

.home-dark--cinematic{min-height:840px}
.home-dark--cinematic:before{opacity:.57;background-position:25% center}
.home-dark--cinematic .home-dark__grid{min-height:560px}
.home-dark--cinematic .home-dark__copy{padding:38px 0}
.home-dark--cinematic .home-dark__copy h2{max-width:760px}
.home-dark--cinematic .home-dark__copy p:not(.eyebrow){color:rgba(255,255,255,.76)}
.dark-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:36px 0 34px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);max-width:700px}
.dark-proof span{display:flex;flex-direction:column;gap:28px;padding:18px 17px;background:rgba(31,24,27,.48);backdrop-filter:blur(10px);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#dfd2d6}
.dark-proof strong{font-family:var(--serif);font-size:28px;font-weight:400;color:var(--rose)}
.home-dark--cinematic .home-dark__art{min-height:650px}
.home-dark--cinematic .home-dark__art>figure:first-child{right:2%;top:1%;width:68%;height:88%;border:1px solid rgba(255,255,255,.24);box-shadow:0 35px 100px rgba(0,0,0,.38)}
.home-dark__mini{position:absolute!important;left:0!important;right:auto!important;top:auto!important;bottom:3%!important;width:33%!important;height:34%!important;border-radius:16px!important;border:7px solid rgba(246,238,232,.92)!important;box-shadow:0 22px 70px rgba(0,0,0,.35)!important;z-index:3}
.home-dark__quote{z-index:4;left:7%;bottom:31%;background:rgba(217,140,168,.94);backdrop-filter:blur(12px)}
.home-dark__vertical{position:absolute;right:-6px;bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.55)}

.faq-cta.immersive-dark:before{opacity:.52;background-position:center 35%}
.faq-cta__grid{position:relative;min-height:300px}
.faq-cta__grid:before{content:"06";position:absolute;right:0;top:-78px;font-family:var(--serif);font-size:220px;line-height:1;color:rgba(255,255,255,.055);pointer-events:none}
.contact-location.immersive-dark{padding:92px 0}
.contact-location.immersive-dark:before{opacity:.55;background-position:center 38%}
.contact-location.immersive-dark .contact-location__panel{background:rgba(25,19,21,.62);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);box-shadow:0 35px 110px rgba(0,0,0,.28)}

/* Premium hover polish */
.service-chapter__image,.about-collage figure,.gallery-shot,.mosaic-card,.contact-form-intro figure,.about-location__grid figure,.home-visit__image{isolation:isolate}
.service-chapter__image:after,.about-collage figure:after,.gallery-shot:after,.mosaic-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-135%);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.service-chapter:hover .service-chapter__image:after,.about-collage figure:hover:after,.gallery-shot:hover:after,.mosaic-card:hover:after{transform:translateX(135%)}
.service-chapter__image,.about-collage figure,.gallery-shot,.mosaic-card{position:relative}
.btn{position:relative;overflow:hidden}
.btn:after{content:"";position:absolute;top:-70%;left:-35%;width:24%;height:240%;background:rgba(255,255,255,.25);transform:rotate(18deg) translateX(-260%);transition:transform .55s ease;pointer-events:none}
.btn:hover:after{transform:rotate(18deg) translateX(760%)}
[data-tilt]{transform-style:preserve-3d;will-change:transform;transition:transform .22s ease-out}

@media(max-width:900px){
  .cinematic-hero{min-height:auto;padding-top:145px}
  .cinematic-hero__shade{background:linear-gradient(180deg,rgba(24,18,20,.78),rgba(24,18,20,.62) 58%,rgba(24,18,20,.78))}
  .cinematic-hero__backdrop img{object-position:center center}
  .cinematic-hero .premium-inner-art{height:600px}
  .cinematic-hero__word{font-size:clamp(100px,24vw,220px);bottom:.02em}
  .gallery-premium-hero__grid{min-height:auto}
  .gallery-hero__side{margin-top:30px}
  .gallery-hero__mini{margin-left:0;width:280px}
  .home-dark--cinematic{min-height:auto}
  .dark-proof{max-width:none}
}
@media(max-width:760px){
  .cinematic-hero{padding:126px 0 72px}
  .cinematic-hero__shade{background:linear-gradient(180deg,rgba(24,18,20,.73),rgba(24,18,20,.65) 50%,rgba(24,18,20,.88))}
  .cinematic-hero .premium-inner-copy>p:not(.eyebrow){color:rgba(255,255,255,.84)}
  .cinematic-hero .premium-inner-art{height:470px}
  .cinematic-hero .premium-inner-main{width:80%;height:88%;right:0}
  .cinematic-hero__word{font-size:90px;bottom:.1em}
  .gallery-hero__mini{width:210px;height:180px;margin-bottom:24px}
  .immersive-dark:before{inset:0;background-position:center}
  .dark-ambient{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
  .dark-proof{grid-template-columns:1fr;margin:28px 0}
  .dark-proof span{flex-direction:row;align-items:center;gap:18px;padding:13px 15px}
  .home-dark--cinematic .home-dark__art{min-height:560px}
  .home-dark--cinematic .home-dark__art>figure:first-child{width:78%;height:78%}
  .home-dark__mini{width:42%!important;height:33%!important}
  .home-dark__quote{left:10%;bottom:26%;width:230px}
  .home-dark__vertical{display:none}
  .faq-cta__grid:before{font-size:125px;top:-30px}
  .contact-location.immersive-dark{padding:60px 0}
}
@media(pointer:coarse){[data-tilt]{transform:none!important}.immersive-dark:after{display:none}}
@media(prefers-reduced-motion:reduce){[data-tilt]{transform:none!important}.service-chapter__image:after,.about-collage figure:after,.gallery-shot:after,.mosaic-card:after,.btn:after{display:none}}

/* V6 refinement: services, gallery and contact */
.inner-hero--services .premium-inner-number{display:none}

/* Dense editorial gallery without empty grid holes */
.gallery-showcase{padding:36px 0 130px}
.gallery-showcase__grid{display:block;column-count:3;column-gap:18px}
.gallery-shot,.gallery-shot--a,.gallery-shot--b,.gallery-shot--c,.gallery-shot--d,.gallery-shot--e,.gallery-shot--f,.gallery-shot--g,.gallery-shot--h,.gallery-shot--i{
  display:block;width:100%;height:auto;grid-column:auto;grid-row:auto;margin:0 0 18px;break-inside:avoid;aspect-ratio:4/5;border-radius:18px;box-shadow:0 18px 52px rgba(62,42,47,.08)
}
.gallery-shot--b,.gallery-shot--e,.gallery-shot--g{aspect-ratio:1/1}
.gallery-shot--c,.gallery-shot--f,.gallery-shot--i,.gallery-shot--l{aspect-ratio:5/6}
.gallery-shot--j,.gallery-shot--m{aspect-ratio:4/5}
.gallery-shot--k{aspect-ratio:1/1}
.gallery-shot--wide{aspect-ratio:16/6}
.gallery-shot:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 52%,rgba(22,16,18,.48) 100%);pointer-events:none}
.gallery-shot span,.gallery-shot strong{z-index:2}
.gallery-shot strong{font-size:13px;letter-spacing:-.01em}

/* Contact v6 */
.contact-premium-hero .cinematic-hero__shade{background:linear-gradient(90deg,rgba(24,17,19,.84) 0%,rgba(24,17,19,.5) 46%,rgba(24,17,19,.18) 76%,rgba(24,17,19,.34) 100%)}
.contact-hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.contact-hero-link{color:#fff;border-color:rgba(255,255,255,.55)}
.contact-hero-art .premium-inner-float{left:-4%;bottom:4%;height:31%;width:34%;border-color:rgba(255,250,247,.95)}
.contact-hero-art .contact-floating-card{left:auto;right:-8%;bottom:13%;z-index:3;background:rgba(255,250,247,.88);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.65);color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.2)}
.contact-hero-art .contact-floating-card small{color:var(--muted)}

.contact-board{background:var(--paper);overflow:hidden}
.contact-board__grid{display:grid;grid-template-columns:.52fr 1fr;gap:8vw;align-items:start}
.contact-board__intro{position:sticky;top:130px;padding-right:4vw}
.contact-board__intro>p:not(.eyebrow){max-width:440px;margin:28px 0 38px;font-size:17px}
.contact-board__badge{width:130px;height:130px;border-radius:50%;background:var(--rose);display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 22px 55px rgba(184,96,128,.2);transform:rotate(-7deg)}
.contact-board__badge span{font-family:var(--serif);font-size:31px;line-height:1}.contact-board__badge small{margin-top:7px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.contact-board__cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-card{min-height:300px;padding:28px;position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--cream);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .35s}
.contact-card:hover{transform:translateY(-6px);box-shadow:0 26px 70px rgba(62,42,47,.11)}
.contact-card--phone{background:var(--ink);color:#fff}.contact-card--phone small,.contact-card--phone .contact-card__index{color:#cabcc0}.contact-card--phone strong{color:#fff}
.contact-card--address{background:linear-gradient(145deg,#efd2dc 0%,#f5e6e4 100%)}
.contact-card--hours{background:var(--cocoa);color:#fff}.contact-card--hours small,.contact-card--hours .contact-card__index,.contact-card--hours .contact-card__note{color:#eadfd9}.contact-card--hours strong{color:#fff}
.contact-card--mail{background:#efe2db}
.contact-card__index{font-family:var(--serif);font-size:25px;color:var(--rose-deep)}
.contact-card small{margin-top:22px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.contact-card strong{margin-top:auto;font-size:clamp(25px,2.4vw,38px);font-weight:550;letter-spacing:-.045em;line-height:1.04}
.contact-card i{position:absolute;right:28px;top:24px;font-style:normal;font-size:22px}
.contact-card__note{margin-top:13px;font-size:11px;color:var(--muted)}

.contact-form-section--premium{padding:0;background:var(--cream)}
.contact-form-shell{display:grid;grid-template-columns:1fr 1fr;min-height:820px;background:var(--ink);border-radius:28px;overflow:hidden;box-shadow:0 36px 110px rgba(53,35,40,.14)}
.contact-form-visual{position:relative;min-height:820px;overflow:hidden;color:#fff}
.contact-form-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,16,18,.08) 20%,rgba(22,16,18,.78) 100%)}
.contact-form-visual figure{position:absolute;inset:0;margin:0}.contact-form-visual figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.contact-form-visual:hover figure img{transform:scale(1.035)}
.contact-form-visual__overlay{position:absolute;z-index:2;left:52px;right:52px;bottom:52px}.contact-form-visual__overlay .eyebrow,.contact-form-visual__overlay p{color:#e8dde0}.contact-form-visual__overlay h2{font-size:clamp(52px,5.4vw,84px)}.contact-form-visual__overlay>p:last-child{max-width:460px;margin-top:22px;font-size:15px}
.contact-form-visual__stamp{position:absolute;z-index:2;right:30px;top:30px;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(23,17,19,.18);backdrop-filter:blur(12px);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.contact-form-panel--premium{border:0;border-radius:0;box-shadow:none;padding:64px;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
.contact-form-panel__head{display:flex;justify-content:space-between;gap:30px;margin-bottom:48px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.contact-form-panel__head span{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.contact-form-panel__head strong{font-size:11px;color:var(--muted);font-weight:600;text-align:right}
.contact-form-panel--premium .contact-form{gap:30px 24px}
.contact-form-panel--premium .contact-form label{font-size:9px;letter-spacing:.14em}
.contact-form-panel--premium .contact-form input,.contact-form-panel--premium .contact-form textarea{padding:16px 0;font-size:15px;border-bottom-color:rgba(33,27,29,.2)}
.contact-form-panel--premium .contact-form textarea{min-height:160px}
.contact-form-panel--premium .contact-form input::placeholder,.contact-form-panel--premium .contact-form textarea::placeholder{color:#a99b9e}

.contact-location--premium{padding:110px 0}
.contact-location--premium .contact-location__panel{padding:78px;background:rgba(25,19,21,.68);border-radius:26px}
.contact-location__side{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.contact-location__side p{font-size:15px}

@media(max-width:980px){
  .gallery-showcase__grid{column-count:2}
  .contact-board__grid,.contact-form-shell{grid-template-columns:1fr}
  .contact-board__intro{position:static;padding-right:0;margin-bottom:46px}
  .contact-form-shell,.contact-form-visual{min-height:auto}
  .contact-form-visual{height:640px}
  .contact-form-panel--premium{padding:48px 34px}
  .contact-hero-art .contact-floating-card{right:0}
}
@media(max-width:620px){
  .gallery-showcase__grid{column-count:1;column-gap:0}
  .gallery-shot,.gallery-shot--a,.gallery-shot--b,.gallery-shot--c,.gallery-shot--d,.gallery-shot--e,.gallery-shot--f,.gallery-shot--g,.gallery-shot--h,.gallery-shot--i{margin-bottom:14px;aspect-ratio:4/5;height:auto}
  .contact-board__cards{grid-template-columns:1fr}.contact-card{min-height:235px}
  .contact-board__badge{width:108px;height:108px}.contact-board__badge span{font-size:26px}
  .contact-form-visual{height:500px}.contact-form-visual__overlay{left:24px;right:24px;bottom:28px}.contact-form-visual__stamp{right:18px;top:18px}
  .contact-form-panel--premium{padding:38px 22px}.contact-form-panel__head{display:block}.contact-form-panel__head strong{display:block;text-align:left;margin-top:7px}
  .contact-location--premium .contact-location__panel{padding:42px 24px}
}

/* =========================
   V7 QA + spacing refinement
   ========================= */
/* Give the contact form room to breathe before the location block. */
.contact-form-section--premium{padding:0 0 clamp(64px,7vw,100px)}
.contact-location--premium{margin-top:0}

/* Small readability polish found during the full-site pass. */
.contact-card small,.contact-form-panel--premium .contact-form label{font-size:10px}
.contact-card strong{overflow-wrap:anywhere}
.service-chapter{scroll-margin-top:110px}

/* Premium fallback heroes for privacy, posts, generic pages and 404. */
.utility-cinematic-hero{min-height:640px;padding:185px 0 95px}
.utility-cinematic-hero .cinematic-hero__backdrop img{object-position:center 43%}
.utility-cinematic-hero .cinematic-hero__shade{background:linear-gradient(90deg,rgba(24,17,19,.88) 0%,rgba(24,17,19,.7) 45%,rgba(24,17,19,.34) 100%)}
.utility-hero__content{min-height:360px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;max-width:1180px}
.utility-hero__content h1{max-width:1000px}
.utility-hero__content>p:not(.eyebrow){max-width:600px;margin:26px 0 0;color:rgba(255,255,255,.82);font-size:17px}
.utility-hero__content .btn{margin-top:30px}
.utility-cinematic-hero--404{min-height:100svh}

/* Consistent focus states for keyboard navigation. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--rose-deep);outline-offset:4px}

@media(max-width:760px){
  .contact-form-section--premium{padding-bottom:56px}
  .utility-cinematic-hero{min-height:560px;padding:130px 0 70px}
  .utility-hero__content{min-height:350px}
  .utility-hero__content>p:not(.eyebrow){font-size:15px}
}

/* V8 FAQ hero image refinement */
.faq-premium-hero .cinematic-hero__backdrop img{object-position:center 38%;filter:saturate(.94) contrast(1.04) brightness(.82)}
.faq-premium-hero .premium-inner-main img{object-position:center 38%;transform:scale(1.01)}
.faq-premium-hero .premium-inner-float img{object-position:center 35%}
@media(max-width:760px){.faq-premium-hero .cinematic-hero__backdrop img{object-position:58% center}.gallery-shot--wide{aspect-ratio:4/3}}
