/* Kevia Santos — a signature in motion. Shared art direction and interaction states. */
:root{--ink:#211315;--espresso:#381d23;--brown:#663c42;--sand:#ddc8ba;--champagne:#eaded2;--ivory:#f6f1e9;--gold:#ab8051;--white:#fffaf2;--accent:#e0ba86;--wine:#481c2b;--ease:cubic-bezier(.2,.7,.2,1)}
.eyebrow{font-size:.75rem;letter-spacing:.16em}.btn,.text-link,.filter{font-size:.8125rem;letter-spacing:.08em}.btn{min-height:3.4rem}.brand span{font-size:1.6rem;letter-spacing:-.025em}.nav a{font-size:.75rem;letter-spacing:.09em}.demo-bar{font-size:.625rem;letter-spacing:.09em;background:var(--champagne)}
body .site-header,body .site-header:not(.scrolled){text-shadow:none;background:none}.site-header:not(.scrolled) .header-inner{border-bottom:1px solid #fff3}.site-header.scrolled .header-inner{background:#211315ed;border-radius:0;box-shadow:0 8px 30px #2113151a}.nav .btn{border-radius:0}.grain{opacity:.023}
.arrow-icon,.btn:after,.service-item:after{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E");display:inline-block;flex:none;width:1.15em;height:1.15em;background:currentColor;mask:var(--arrow) center/contain no-repeat;-webkit-mask:var(--arrow) center/contain no-repeat;vertical-align:middle;transition:transform .35s var(--ease)}
.btn:after,.service-item:after{content:"";width:1rem;height:1rem}.arrow-down{transform:rotate(135deg)}.arrow-left{transform:rotate(225deg)}.arrow-right{transform:rotate(45deg)}
.signature-hero{background:var(--wine);color:var(--white);padding:7rem var(--pad) 0;display:grid;grid-template-columns:1.03fr 1fr;column-gap:5%;position:relative;isolation:isolate;overflow:hidden;transition:background .8s;min-height:min(950px,calc(100svh - 2rem))}.signature-hero[data-world="studio"]{background:#292420}.hero-topline{grid-column:1/-1;display:flex;justify-content:space-between;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;padding:.5rem 0 1.8rem;color:#e4c8bc}.signature-copy{position:relative;z-index:2;padding:1.5rem 0 2rem;align-self:center}.signature-copy>.eyebrow{margin:0 0 1.3rem;color:var(--accent)}.signature-copy h1{font-size:clamp(5.5rem,10.5vw,10.8rem);line-height:.79;letter-spacing:-.06em;margin:0 0 1.7rem}.signature-copy h1 em{display:inline-block;color:var(--accent);font-weight:300;letter-spacing:-.075em;padding-right:.15em}.signature-intro{font-size:1.05rem;line-height:1.5;margin:1.5rem 0 1.8rem;color:#f0e1d6}.world-tabs{display:flex;gap:1.75rem;border-bottom:1px solid #fff4;width:min(23rem,100%)}.world-tabs button{font-family:var(--serif);font-size:1.7rem;display:flex;align-items:baseline;gap:.65rem;border:0;border-bottom:2px solid transparent;padding:.4rem 0 .7rem;background:none;color:#c8aca4;cursor:pointer;position:relative;transition:color .3s,border-color .3s}.world-tabs button span{font-family:var(--sans);font-size:.6875rem}.world-tabs button[aria-selected="true"]{color:var(--white);border-color:var(--accent)}.world-tabs button:hover{color:white}.world-copy{min-height:8.7rem;padding-top:.15rem}.world-copy p{font-size:.875rem;color:#e4c8bc;line-height:1.7;margin:.85rem 0 1rem}.world-cta{display:inline-flex;align-items:center;gap:2rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em}.world-cta .arrow-icon{width:1.7rem;height:1.7rem;color:var(--accent)}.world-cta:hover .arrow-icon{transform:translate(4px,-4px)}
.signature-visual{position:relative;align-self:stretch;min-width:0;margin:0 1.6rem 2rem 0;min-height:34rem}.hero-image-stack{position:absolute;inset:0 0 1.6rem;overflow:hidden;background:#b09a84;border-radius:46% 46% 0 0}.world-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;opacity:0;transform:scale(1.07);transition:opacity .7s,transform 1.3s var(--ease)}.world-image.is-active{opacity:1;transform:scale(1)}.image-side-note{position:absolute;right:-1.8rem;top:6rem;writing-mode:vertical-rl;text-transform:uppercase;font-size:.6875rem;letter-spacing:.2em;color:var(--accent)}.hero-detail{position:absolute;width:29%;max-width:10rem;left:-12%;bottom:4rem;transform:rotate(-7deg);background:var(--champagne);color:var(--ink);padding:.45rem;box-shadow:0 .8rem 2rem #0003;transition:transform .4s var(--ease)}.hero-detail img{width:100%;aspect-ratio:4/4.6;object-fit:cover}.hero-detail>span{display:flex;align-items:center;justify-content:space-between;padding:.4rem .2rem 0;font-size:.75rem}.hero-detail:hover{transform:rotate(0) translateY(-6px)}.hero-handwriting{position:absolute;right:-.2rem;bottom:3rem;color:white;text-shadow:0 2px 15px #21131560;font-family:var(--serif);font-style:italic;font-size:clamp(2.5rem,5vw,5.8rem);transform:rotate(-9deg)}.hero-image-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:#e4c8bc}.signature-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid #fff3;padding:1.2rem 0;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase}.signature-bottom>a{display:flex;align-items:center;gap:1.4rem}.motion-toggle{background:none;border:0;padding:.3rem 0;color:inherit;text-transform:uppercase;letter-spacing:inherit;font-size:inherit;cursor:pointer;display:flex;align-items:center;gap:.8rem;min-height:2rem}.motion-toggle:hover{color:var(--accent)}
.signature-ribbon{overflow:hidden;border-bottom:1px solid #21131530;background:var(--champagne);padding:1.05rem 0}.ribbon-track{width:max-content;display:flex;animation:ribbon 36s linear infinite}.ribbon-track>span{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.15;white-space:nowrap;letter-spacing:-.02em}.ribbon-track i{padding:0 .65em;color:var(--brown);font-weight:300}@keyframes ribbon{to{transform:translateX(-50%)}}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused{scroll-behavior:auto}.motion-paused [data-reveal]{transition:none}
@media(min-width:1500px){.signature-hero{padding-inline:max(var(--pad),calc((100vw - 1440px)/2));}.signature-copy{padding-top:3rem;padding-bottom:3rem}}
@media(max-width:1000px){.signature-hero{column-gap:3%;min-height:0}.signature-copy h1{font-size:clamp(5rem,11.8vw,8rem)}.signature-visual{min-height:33rem;margin-right:1rem}.hero-detail{left:-7%;bottom:5rem;width:32%}.signature-bottom>span{display:none}}
@media(max-width:650px){.signature-hero{padding:6.3rem 1.25rem 0;grid-template-columns:1fr;overflow:hidden}.hero-topline{font-size:.625rem;padding-bottom:1rem}.signature-copy{padding:.75rem 0 0;display:contents}.signature-copy>.eyebrow{display:none}.signature-copy h1{grid-column:1;grid-row:2;align-self:start;font-size:clamp(4.8rem,19vw,7rem);position:relative;z-index:2;margin:1.2rem 0 1.5rem;width:65%;pointer-events:none}.signature-visual{grid-column:1;grid-row:2;justify-self:end;width:51%;height:18rem;min-height:0;margin:0 0 1.5rem}.hero-image-stack{border-radius:48% 48% 0 0;inset:0 0 1.5rem}.signature-copy h1 em{padding-right:0;color:var(--accent);text-shadow:0 2px 15px #21131540}.image-side-note,.hero-detail,.hero-image-footer>span:last-child{display:none}.hero-image-footer{font-size:.625rem}.hero-handwriting{font-size:2.3rem;bottom:2rem;right:.1rem}.signature-intro{grid-column:1;grid-row:3;margin:-.2rem 0 1.4rem;font-size:1rem}.world-tabs{grid-column:1;grid-row:4;width:100%;gap:2.2rem}.world-tabs button{font-size:1.9rem;flex:1;justify-content:space-between}.world-copy{grid-column:1;grid-row:5;min-height:9rem;padding-bottom:1rem}.signature-bottom{grid-row:6;gap:.5rem;padding:.8rem 0}.signature-bottom a{font-size:.625rem;gap:.5rem;letter-spacing:.025em}.motion-toggle{font-size:.625rem;letter-spacing:0}.signature-ribbon{padding:.9rem 0}.brand span{font-size:1.35rem}.demo-bar{font-size:.5625rem;letter-spacing:.04em}.world-copy p{font-size:.9375rem}.signature-copy h1{line-height:.86}.signature-hero .world-copy[hidden]{display:none}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none}.world-image{transition:none}.hero-detail:hover{transform:none}}
/* Different rhythms for the artist, the two worlds and the work. */
.career-intro{padding:7rem 0 8rem}.career-grid{grid-template-columns:1fr .7fr .9fr;gap:3rem 4rem}.career-heading h2{font-size:clamp(3.5rem,6.7vw,7rem);max-width:14ch}.career-portrait img{min-height:34rem;border-radius:48% 48% 0 0}.career-portrait figcaption{left:-2rem;transform:rotate(-5deg);background:var(--wine)}.career-portrait figcaption span{font-size:.6875rem}.career-story{padding-left:0}.career-quote{left:-1rem;top:-3rem}.career-facts div{grid-template-columns:1fr;gap:.35rem;padding:1.2rem 0}.career-facts strong{font-size:3.4rem;color:var(--wine)}.career-facts span{font-size:.75rem;letter-spacing:.04em}.career-facts div:nth-child(2) strong{font-size:2.5rem}.text-link{display:inline-flex;gap:.8rem;align-items:center}.text-link:hover .arrow-icon{transform:translate(3px,-3px)}
.universes{background:var(--wine);padding:5rem 0}.universes>.container{max-width:1440px}.universe{gap:8%;min-height:0;padding:4rem 0 5rem;position:relative}.universe h3{font-size:clamp(3rem,5.3vw,6.2rem)}.universe-copy{position:relative}.universe-index{position:absolute;right:0;top:-1rem;font-size:7rem;opacity:.22}.universe-copy>p:not(.eyebrow){max-width:34rem;color:#e4c8bc}.universe-media img{height:37rem}.universe:nth-of-type(1) .universe-media{transform:rotate(2deg)}.universe:nth-of-type(2) .universe-media{order:-1;transform:rotate(-2deg)}.universe:nth-of-type(2) .universe-media img{height:30rem}.universe-media:after{display:none}.universe h3 em{color:var(--accent)}.universes .gold,.method .gold,.contact-band .gold,.dark-page .gold{color:var(--accent)}
.video-grid{grid-template-columns:.85fr 1fr;gap:12%}.video-shell{overflow:hidden;border-radius:50% 50% 0 0}.video-shell video{aspect-ratio:3/4;object-fit:cover}.video-copy h2{font-size:clamp(3.5rem,7vw,7.5rem)}.video-copy h2 em{color:var(--brown)}.video-control{width:3rem;height:3rem;display:grid;place-items:center}.video-control svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.6}.video-status{position:absolute;bottom:4.5rem;left:1rem;right:1rem;background:#211315cc;color:var(--white);font-size:.8125rem;padding:.75rem}.video-status:empty{display:none}
.method{background:var(--espresso)}.method-grid{grid-template-columns:.9fr 1.1fr;gap:8%}.method-intro h2{font-size:clamp(3.2rem,5.5vw,6rem)}.method-step{min-height:0;padding:0 0 0 4.5rem;transition:background .4s;counter-increment:steps}.method-step:before{counter-increment:none;content:"0" counter(steps);font-size:2.6rem;top:1.05rem;color:var(--accent)}.method-step summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:1.5rem .3rem 1.5rem 0;font-family:var(--serif);font-size:clamp(2rem,3vw,3rem);line-height:1.1}.method-step summary::-webkit-details-marker{display:none}.step-toggle{display:block;flex:0 0 1.3rem;position:relative;height:1.3rem;color:var(--accent)}.step-toggle:before,.step-toggle:after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:currentColor;transition:transform .3s}.step-toggle:after{transform:rotate(90deg)}.method-step[open] .step-toggle:after{transform:rotate(0)}.step-body{padding-bottom:1.5rem;animation:step-in .35s var(--ease)}.step-body p{margin:0;color:#e4c8bc}.method-step[open] summary{color:var(--accent)}@keyframes step-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.reviews-head h2{max-width:15ch;font-size:clamp(3rem,5.5vw,5.6rem)}.review{grid-template-columns:.25fr 1fr}.review blockquote{max-width:26ch;font-size:clamp(2.2rem,4.5vw,4.8rem)}.slider-nav button{border-radius:50%;width:3.25rem;height:3.25rem;display:grid;place-items:center;border-color:currentColor;transition:background .3s,color .3s}.slider-nav button:hover{background:var(--wine);color:var(--white)}.slider-nav button:disabled{opacity:.3;cursor:default}.review-count{font-size:.75rem;letter-spacing:.1em;align-self:center;margin-right:.5rem}.review cite{font-size:.75rem}.reviews .container{overflow:hidden}
.gallery{padding:6rem 0;background:var(--champagne)}.gallery-head{align-items:center;gap:3rem}.gallery-head h2{font-size:clamp(3.5rem,6.5vw,7rem)}.filters{max-width:29rem;justify-content:flex-end}.filter{border:1px solid #21131540;padding:.65rem 1rem;min-height:2.8rem;border-radius:2rem}.filter.active{color:var(--white);background:var(--wine);border-color:var(--wine)}.filter:hover{border-color:var(--wine)}.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #21131540;padding:1rem 0}.portfolio-toolbar p{font-size:.8125rem}.portfolio-toolbar .slider-nav{gap:.5rem}.gallery-grid{display:flex;align-items:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:0 0 1.2rem;gap:1.5rem;scroll-behavior:smooth}.gallery-item:nth-child(n){flex:0 0 37%;height:30rem;scroll-snap-align:start;isolation:isolate;background:var(--espresso)}.gallery-item:nth-child(even){height:26rem;margin-top:3rem}.gallery-item img{transition:transform .8s var(--ease),filter .8s}.gallery-item:hover img{transform:scale(1.055)}.gallery-item>span{left:0;bottom:0;right:0;padding:3rem 1.2rem 1rem;background:linear-gradient(transparent,#211315c9);font-size:.8125rem;text-align:left;display:flex;align-items:center;justify-content:space-between}.gallery-item>span:after{content:"+";display:grid;place-items:center;font-size:1.5rem;border:1px solid #fff8;width:2.2rem;height:2.2rem;border-radius:50%;font-weight:400}.gallery-count{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);color:var(--white);font-size:.8125rem;text-align:center;width:80%;pointer-events:none}.lightbox img{max-height:78svh}.lightbox button{border-radius:50%}.dark-page .gallery .portfolio-toolbar{border-color:#fff3}.dark-page .filter{border-color:#fff5}.dark-page .filter.active{background:var(--accent);color:var(--ink)}
.contact-band{background:var(--wine)}.contact-band h2{font-size:clamp(4rem,10vw,10rem);letter-spacing:-.05em}.contact-band h2 em{color:var(--accent)}.footer{background:var(--ink)}.footer-signature{display:block;font-family:var(--serif);font-size:clamp(4.1rem,15.3vw,16rem);line-height:1;letter-spacing:-.065em;padding:.3rem 0 3.5rem;color:var(--champagne);border-bottom:1px solid #fff2;margin-bottom:3rem;white-space:nowrap}.footer-signature em{font-weight:300}.footer-links{font-size:.75rem}.footer-small{font-size:.75rem}.footer-grid>.brand img{display:none}
.page-hero,.page-hero.bridal-hero{padding:9rem var(--pad) 4rem;grid-template-columns:1.1fr 1fr;gap:6%;background:var(--wine);color:var(--white);position:relative;min-height:calc(95svh - 2rem)}.page-hero>img,.page-hero.bridal-hero>img{height:38rem;min-height:0;max-height:68svh;border-radius:48% 48% 0 0;object-position:center 30%}.page-hero h1,.page-hero.bridal-hero h1{font-size:clamp(4rem,7.5vw,8rem);line-height:.9}.page-hero h1 em{color:var(--accent)}.page-hero.bridal-hero .page-hero-content>p:not(.eyebrow){color:var(--sand)}.page-hero .btn-solid{background:var(--champagne);color:var(--ink);border-color:var(--champagne)}.page-hero .btn{margin-top:1rem}.page-hero .eyebrow{color:var(--accent)}.page-hero-content>p:not(.eyebrow){font-size:1rem}.editorial-grid>*,.career-grid>*,.video-grid>*,.contact-layout>*,.process-grid>*{min-width:0}.editorial-grid h2{letter-spacing:-.045em}.service-item{transition:padding .35s var(--ease),color .35s}.service-item:hover{padding-left:.8rem;color:var(--brown)}.process-item{padding:2rem 1.5rem}.principle{transition:background .4s,color .4s}.principle:hover{background:var(--wine);color:var(--white)}.principle:hover b{color:var(--accent)}.contact-choice{min-height:33rem;border-radius:45% 45% 0 0;padding-top:8rem}.contact-choice:first-child{background:var(--wine)}.contact-choice:last-child{background:var(--champagne)}.contact-choice .giant-letter{font-size:24rem;top:-3rem;right:1rem}.contact-choice h2{font-size:clamp(3rem,5vw,5rem)}.contact-choice:hover .giant-letter{transform:rotate(-10deg);transition:transform .8s}.field label,.field legend,.form-note{font-size:.8125rem}.proposal-form>.full{grid-column:1/-1}.field input:focus,.field textarea:focus{border-color:var(--wine)}.reading-progress{position:fixed;left:0;top:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--accent);z-index:500;pointer-events:none}
/* Content is readable without JS; reveal is a progressive enhancement. */
[data-reveal]{opacity:1;transform:none}.js-motion [data-reveal]:not(.revealed){opacity:0;transform:translateY(1.5rem)}.motion-paused [data-reveal]{opacity:1!important;transform:none!important}
@media(min-width:901px){.nav a:not(.btn):after{font-family:inherit}.contact-band .container{position:relative}.contact-band .container:after{content:"KS";position:absolute;right:0;top:-4rem;font-family:var(--serif);font-size:25rem;line-height:1;opacity:.04;pointer-events:none}.career-heading{align-self:center}}
@media(max-width:1000px){.career-grid{grid-template-columns:1fr 1fr;gap:3rem}.career-portrait{grid-column:2;grid-row:2/4}.career-facts{grid-column:1}.universe-media img{height:30rem}.gallery-head{flex-direction:column;align-items:flex-start}.filters{max-width:none;justify-content:flex-start}.page-hero,.page-hero.bridal-hero{gap:4%;}.page-hero h1,.page-hero.bridal-hero h1{font-size:clamp(3.5rem,7.5vw,6rem)}}
@media(max-width:900px){.career-intro{padding:5rem 0}.universe{grid-template-columns:1fr 1fr;gap:6%;}.universe h3{font-size:3rem}.universe-copy>p:not(.eyebrow){font-size:.9375rem}.universe-media img{height:29rem}.universe:nth-of-type(2) .universe-media img{height:26rem}.video-grid,.video-grid.reverse,.method-grid{grid-template-columns:1fr;gap:3rem}.video-shell{width:100%;max-width:28rem;margin:auto}.video-copy .section-number{font-size:5rem}.method-intro{position:static}.review{grid-template-columns:1fr}.nav a{font-size:clamp(2.15rem,9vw,3.4rem);letter-spacing:-.02em}.nav a:not(.btn):after{content:"";width:1.1rem;height:1.1rem;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/contain no-repeat}.nav:before,.nav:after{font-size:.75rem}.nav .btn{font-size:.8125rem}.gallery-item:nth-child(n){flex-basis:55%;height:27rem}.gallery-item:nth-child(even){height:24rem}.career-portrait img{min-height:30rem}}
@media(max-width:760px){.page-hero,.page-hero.bridal-hero{display:grid;grid-template-columns:1fr;gap:0;padding:7rem var(--pad) 3rem;min-height:0;background:var(--wine)}.page-hero:before,.page-hero.bridal-hero:before{display:none}.page-hero>img,.page-hero.bridal-hero>img{grid-column:1;grid-row:1;width:75%;height:25rem;max-height:none;margin:0 0 0 auto;box-shadow:none;border-radius:48% 48% 0 0;object-position:center 30%}.page-hero-content,.page-hero.bridal-hero .page-hero-content{grid-column:1;grid-row:2;padding:2.5rem 0 0;background:none;color:var(--white);width:100%;margin:0;border-radius:0;box-shadow:none;max-width:none}.page-hero h1,.page-hero.bridal-hero h1{color:var(--white);font-size:clamp(3.8rem,12vw,5.6rem);line-height:.93}.page-hero-content>p:not(.eyebrow),.page-hero.bridal-hero .page-hero-content>p:not(.eyebrow){color:var(--sand)}.page-hero .btn,.page-hero.bridal-hero .btn{color:var(--white)}.page-hero.bridal-hero .btn-solid{background:var(--champagne);border-color:var(--champagne);color:var(--ink)}}
@media(max-width:620px){.career-grid{display:flex;gap:2rem}.career-heading h2{font-size:clamp(3.3rem,13vw,5rem)}.career-portrait{margin:1rem 1rem 1rem 2rem}.career-portrait img{min-height:0;aspect-ratio:4/5}.career-story{padding:0}.career-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.career-facts div{grid-template-columns:1fr;align-content:start;border-bottom:0;padding-top:1rem}.career-facts strong{font-size:2.5rem}.career-facts div:nth-child(2) strong{font-size:1.9rem;padding-top:.35rem}.career-facts span{font-size:.6875rem;letter-spacing:0}.universe{grid-template-columns:1fr;gap:2rem;padding:3rem 0}.universe h3{font-size:clamp(3rem,12vw,4.5rem)}.universe-media{margin:1rem .5rem}.universe-media img{height:30rem;max-height:115vw}.universe:nth-of-type(2) .universe-media{order:initial}.universe:nth-of-type(2) .universe-media img{height:22rem}.universes{padding:3rem 0}.video-editorial{padding:4.5rem 0}.video-copy h2{font-size:3.8rem}.method{padding:4.5rem 0}.method-step{padding-left:3rem}.method-step:before{font-size:2rem;top:1.4rem}.method-step summary{font-size:2rem}.method-intro h2{font-size:3.5rem}.gallery{padding:4.5rem 0}.gallery-head{gap:2rem}.gallery-head h2{font-size:3.7rem}.filter{font-size:.75rem;padding:.55rem .8rem}.gallery-item:nth-child(n){flex-basis:85%;height:26rem;margin-top:0}.gallery-item:nth-child(even){height:26rem}.gallery-grid{gap:1rem}.reviews{padding:4.5rem 0}.reviews-head{gap:1.5rem;margin-bottom:2.5rem}.reviews-head h2{font-size:3.2rem}.review blockquote{font-size:2.5rem}.quote-mark{font-size:6rem}.contact-band{padding:4.5rem 0}.contact-band h2{font-size:clamp(3.6rem,16vw,6rem)}.footer-signature{padding-bottom:2rem;font-size:15.2vw}.footer-small{padding-bottom:1rem}.contact-choice{min-height:31rem;padding:8rem 1.7rem 2.5rem}.contact-choices{gap:2rem}.contact-choice h2{font-size:3rem}.service-item{grid-template-columns:2rem 1fr auto;gap:.65rem}.service-item:after{display:block}.field.full{grid-column:1/-1}.body-large{font-size:1.5rem}.footer-links{gap:1rem}.address{padding-left:1.2rem}.lightbox img{max-width:100%;max-height:75svh}.gallery-count{font-size:.75rem;bottom:1rem}}
@media(prefers-reduced-motion:reduce){.js-motion [data-reveal]:not(.revealed){opacity:1;transform:none}.gallery-grid{scroll-behavior:auto}.step-body{animation:none}}
/* Long editorial headings must reflow within their own column. */
.display,.service-item h3,.method-step summary{overflow-wrap:anywhere}
.video-grid.reverse .video-copy h2{font-size:clamp(3.5rem,5.5vw,6rem)}
.motion-paused .world-image,.motion-paused .hero-detail,.motion-paused .btn{transition:none}
@media(max-width:360px){.signature-bottom{flex-wrap:wrap;row-gap:.4rem}.signature-bottom>a,.motion-toggle{min-height:2.2rem}.hero-topline{font-size:.5625rem;letter-spacing:.09em}.signature-copy h1{font-size:clamp(4rem,19vw,5rem)}}
/* Sculptural centrepiece: a real-time metallic loop and a second photographic layer. */
.signature-visual{--depth-x:0px;--depth-y:0px;--tilt-x:0deg;--tilt-y:0deg;perspective:1000px}
.hero-sculpture{position:absolute;z-index:3;left:-53%;top:9%;width:49%;aspect-ratio:1/1.14;pointer-events:none;transform:translate(var(--depth-x),var(--depth-y));transition:transform .7s var(--ease)}
.sculpture-canvas{position:relative;display:block;width:100%;height:100%;filter:drop-shadow(12px 22px 18px #10040766)}
.sculpture-halo{position:absolute;inset:15% 8% 13%;border:1px solid #d8b78a52;border-radius:50%;transform:rotate(-26deg) scaleX(.78);box-shadow:inset 2px 0 12px #e0ba861a,0 0 50px #e0ba8610}
.hero-sculpture.is-rendered .sculpture-halo{inset:4% -6% 0;transform:rotate(-28deg) scaleX(.68);border-color:#d8b78a26;box-shadow:none}
.sculpture-caption{position:absolute;bottom:-.8rem;left:0;right:0;text-align:center;font-size:.625rem;letter-spacing:.13em;text-transform:uppercase;color:#d7b997;white-space:nowrap}.sculpture-caption i{font-family:var(--serif);font-size:1.1rem;text-transform:none;margin:0 .3rem}
.hero-bts{position:absolute;left:-48%;bottom:5.5rem;z-index:4;width:26%;max-width:10rem;padding:.4rem;background:#eaded2;color:var(--ink);box-shadow:4px 8px 0 #bea998,14px 23px 30px #14050d55;transform:translate(calc(var(--depth-x)*-.6),calc(var(--depth-y)*-.6)) rotate(8deg) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .65s var(--ease),box-shadow .4s}
.hero-bts-image{overflow:hidden;aspect-ratio:4/4.4}.hero-bts img{width:100%;height:100%;object-fit:cover;object-position:42% center;transition:transform .7s var(--ease)}.hero-bts>span{display:flex;align-items:center;justify-content:space-between;font-size:.6875rem;padding:.55rem .1rem .2rem;gap:.4rem}.hero-bts:hover{transform:translateY(-8px) rotate(2deg);box-shadow:4px 8px 0 #bea998,15px 28px 35px #14050d66}.hero-bts:hover img{transform:scale(1.08)}
.hero-experience{position:absolute;left:-46%;top:-1.9rem;display:flex;align-items:center;gap:.7rem;border-top:1px solid #e0ba8650;padding-top:.55rem;color:var(--accent)}.hero-experience strong{font-family:var(--serif);font-size:2.9rem;font-weight:400;line-height:1;letter-spacing:-.06em}.hero-experience strong>span{font-size:1.5rem;vertical-align:top}.hero-experience>span{font-size:.625rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:#ddc8ba}
.signature-visual:before{content:"";position:absolute;inset:-1rem -.7rem 2.5rem 1rem;border:1px solid #e0ba8647;border-radius:47% 47% 0 0;transform:rotate(3deg);pointer-events:none}
.signature-hero:before{content:"";position:absolute;inset:15% 27% 12% 22%;z-index:-1;background:radial-gradient(ellipse at 60% 40%,#ce915b17,transparent 65%);pointer-events:none}
.signature-visual .hero-detail{transform:translate(calc(var(--depth-x)*.5),calc(var(--depth-y)*.5)) rotate(-7deg) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));box-shadow:3px 6px 0 #c4b09e,12px 20px 32px #14050d55;transition:transform .65s var(--ease)}.signature-visual .hero-detail:hover{transform:rotate(-2deg) translateY(-6px)}
@media(min-width:1700px){.hero-sculpture{width:46%;left:-52%;top:12%}.hero-bts{left:-48%;bottom:5rem}}
@media(min-width:1001px) and (max-width:1200px){.hero-sculpture{left:-45%;width:42%;top:15%}.hero-bts{left:-38%;width:24%;bottom:3rem}.hero-experience{left:-36%;top:-.5rem}.hero-experience strong{font-size:2.4rem}.hero-experience>span{font-size:.5625rem}.signature-visual .hero-detail{left:-6%}}
@media(min-width:651px) and (max-width:1000px){.hero-sculpture{left:-25%;width:42%;top:35%;z-index:1;opacity:.8}.hero-bts,.hero-experience,.sculpture-caption{display:none}.signature-visual .hero-detail{left:-7%}}
@media(max-width:650px){.hero-sculpture{left:-103%;top:50%;width:83%;aspect-ratio:1/1.1;z-index:1;transform:none}.sculpture-caption,.hero-bts,.hero-experience{display:none}.signature-visual:before{inset:-.4rem -.3rem 1.8rem .4rem;transform:rotate(3deg)}.hero-sculpture.is-rendered .sculpture-halo{inset:7% 0 4%}}
@media(max-width:360px){.hero-sculpture{left:-104%;top:45%;width:89%}}
@media(prefers-reduced-motion:reduce){.hero-sculpture,.hero-bts,.signature-visual .hero-detail{transition:none;transform:none}.hero-bts{transform:rotate(8deg)}.signature-visual .hero-detail{transform:rotate(-7deg)}}
.motion-paused .hero-sculpture,.motion-paused .hero-bts,.motion-paused .signature-visual .hero-detail{transition:none}
.hero-sculpture{left:-51%;width:45%}
.hero-bts{bottom:3rem}
/* Mobile is its own composition: a full-width title, a lower portrait and a compact choice. */
@media(max-width:650px){
  .signature-hero{padding:6rem 1.25rem 0;row-gap:0}
  .hero-topline{padding:.3rem 0 1.1rem;align-items:center;letter-spacing:.1em}
  .signature-copy h1{grid-row:2;grid-column:1;width:100%;max-width:none;font-size:clamp(4.8rem,20.5vw,7rem);line-height:.83;margin:.4rem 0 0;letter-spacing:-.055em;z-index:5;align-self:start}
  .signature-copy h1 em{font-size:1.08em;text-shadow:0 2px 15px #21131530}
  .signature-visual{grid-row:2;grid-column:1;width:67%;height:19.5rem;min-height:0;margin:6.3rem 0 1.25rem;align-self:start}
  .hero-image-stack{inset:0 0 1.5rem;border-radius:46% 46% 0 0}
  .world-image{object-position:center 32%}
  .signature-visual:before{inset:-.5rem -.35rem 2rem .5rem}
  .hero-handwriting{font-size:2.5rem;bottom:2.2rem;right:.2rem}
  .hero-image-footer{font-size:.625rem}
  .hero-sculpture{left:-56%;top:34%;width:58%;aspect-ratio:1/1.1;z-index:3;transform:none}
  .signature-visual .hero-detail{display:block;left:-43%;bottom:.1rem;width:40%;max-width:6.3rem;padding:.25rem;transform:rotate(-8deg);box-shadow:2px 4px 0 #c4b09e,5px 10px 16px #14050d40;z-index:4}
  .hero-detail img{aspect-ratio:1/1.05;object-position:center 25%}
  .hero-detail>span{font-size:.625rem;padding:.3rem .1rem .1rem}
  .hero-bts,.hero-experience,.sculpture-caption{display:none}
  .signature-intro{grid-row:3;margin:.2rem 0 1.25rem;max-width:100%;font-size:.9375rem;line-height:1.45}
  .signature-intro br{display:none}
  .signature-intro{max-width:25ch}
  .world-tabs{grid-row:4;gap:0;padding:.25rem;border:1px solid #fff4;border-radius:.3rem;width:100%;background:#21131522}
  .world-tabs button{justify-content:center;gap:.6rem;font-family:var(--sans);font-size:.875rem;letter-spacing:.05em;min-height:3rem;padding:.65rem .5rem;border:0;border-radius:.15rem;transition:color .3s,background .3s}
  .world-tabs button span{font-size:.625rem;opacity:.75}
  .world-tabs button[aria-selected="true"]{background:var(--champagne);color:var(--ink);box-shadow:0 2px 8px #14050d1a}
  .world-copy{grid-row:5;padding:.1rem 0 1.3rem;min-height:0}
  .world-copy p{font-size:.875rem;line-height:1.6;margin:.9rem 0 1rem;max-width:35ch}
  .world-copy p br{display:none}
  .world-cta{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid #e0ba8670;min-height:3.25rem;font-size:.75rem}
  .world-cta .arrow-icon{width:1.2rem;height:1.2rem}
  .signature-bottom{grid-row:6;padding:.6rem 0;gap:.75rem;flex-wrap:nowrap}
  .signature-bottom>a{font-size:.5625rem;letter-spacing:0;gap:.3rem}
  .motion-toggle{font-size:.5625rem;min-height:2.4rem}
}
@media(max-width:360px){
  .signature-copy h1{font-size:20vw}
  .signature-visual{width:69%;height:17.5rem;margin-top:5.7rem}
  .hero-sculpture{left:-50%;top:33%;width:55%}
  .signature-visual .hero-detail{left:-37%;width:39%}
  .hero-handwriting{font-size:2rem}
  .signature-bottom{gap:.4rem}
}
@media(min-width:651px) and (max-width:1000px){.hero-sculpture{left:-25%;width:42%}}
@media(max-width:650px){
  .hero-sculpture{top:17%}
  .hero-image-footer{justify-content:flex-end}
  .signature-intro{max-width:none}
  .signature-intro br{display:block}
}
@media(max-width:650px){
  .signature-visual{height:clamp(19.5rem,74vw,28rem)}
  .hero-experience{display:flex;left:auto;right:0;top:-4.9rem;gap:.4rem;border:0;padding:0}
  .hero-experience strong{font-size:2.4rem}
  .hero-experience strong>span{font-size:1.1rem}
  .hero-experience>span{font-size:.5625rem;letter-spacing:.04em}
}
@media(max-width:360px){.signature-visual{height:17.5rem}.hero-experience{top:-4.3rem}.hero-experience strong{font-size:2.1rem}.hero-experience>span{font-size:.5rem}}
/* The wedding band and its caption have separate vertical space. */
@media(min-width:1001px){
  .hero-sculpture .sculpture-canvas{height:calc(100% - 3.7rem)}
  .hero-sculpture .sculpture-caption{bottom:1.45rem;line-height:1.4;z-index:1}
  .hero-sculpture.is-rendered .sculpture-halo{bottom:3.7rem}
}
