
:root{--ink:#181814;--paper:#f2efe8;--paper2:#e8e3d9;--white:#fff;--accent:#b87949;--line:rgba(24,24,20,.16);--muted:#6b675e;--radius:4px;--pad:clamp(1.25rem,3vw,3rem);--display:clamp(3.2rem,8vw,8.6rem);--display2:clamp(2.4rem,5.5vw,6.2rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.cover{width:100%;height:100%;object-fit:cover}.topline{height:32px;background:var(--ink);color:#ddd7ca;font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center}.topline a{color:#fff}.site-header{position:absolute;top:32px;left:0;width:100%;z-index:60;padding:18px 0;color:#fff;transition:.35s ease}.site-header.is-scrolled{position:fixed;top:0;background:rgba(242,239,232,.88);backdrop-filter:blur(16px);color:var(--ink);box-shadow:0 1px 0 var(--line)}.brand{display:inline-flex;align-items:center;gap:11px}.brand-mark{width:42px;height:42px;border:1px solid currentColor;display:grid;place-items:center;font-family:Georgia,serif;font-size:23px}.brand-name{font-weight:800;font-size:15px;letter-spacing:.18em;line-height:1}.brand-name small{display:block;font-size:7px;font-weight:500;letter-spacing:.22em;margin-top:5px;text-transform:uppercase}.nav-link{font-size:12px;text-transform:uppercase;letter-spacing:.11em;position:relative;padding:8px 0!important}.nav-link:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:currentColor;transition:.25s}.nav-link:hover:after{width:100%}.langs{gap:8px}.lang-link{font-size:10px;letter-spacing:.12em;opacity:.55}.lang-link.active{opacity:1}.btn{border-radius:0!important;padding:12px 18px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;gap:14px;align-items:center;justify-content:center;transition:.25s ease}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover{background:#96603a;border-color:#96603a;color:#fff;transform:translateY(-2px)}.btn-glass{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.btn-glass:hover{background:#fff;color:#111}.btn-dark{background:var(--ink);color:#fff;border:1px solid var(--ink)}.btn-dark:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn-outline-dark{border:1px solid var(--ink);color:var(--ink)}.btn-outline-dark:hover{background:var(--ink);color:#fff}.menu-btn{width:48px;height:42px;background:transparent;border:0;color:inherit;display:flex;flex-direction:column;gap:7px;align-items:flex-end;justify-content:center}.menu-btn span{width:28px;height:1px;background:currentColor}.menu-btn span:last-child{width:19px}.menu-overlay{position:fixed;inset:0;background:var(--ink);color:#fff;z-index:200;transform:translateY(-100%);visibility:hidden}.menu-inner{padding:clamp(3rem,8vw,7rem);height:100%;display:flex;flex-direction:column}.menu-kicker{font-size:11px;letter-spacing:.15em;color:#aaa48f;text-transform:uppercase}.menu-overlay nav{margin:auto 0}.menu-overlay nav a{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,6vw,6.8rem);line-height:1.02;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);padding:.08em 0}.menu-overlay nav a span{font-family:Arial,sans-serif;font-size:.25em;margin-top:.9em}.menu-close{position:absolute;right:3vw;top:2vw;border:0;background:transparent;color:#fff;font-size:44px;font-weight:200}.menu-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;color:#bdb7aa;font-size:12px}.hero,.page-hero,.project-hero{position:relative;color:#fff}.hero-home{min-height:calc(100svh - 0px);display:flex;align-items:flex-end}.hero-media,.page-hero-media,.project-hero-media{position:absolute;inset:0;overflow:hidden}.hero-img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,8,.7) 0%,rgba(10,10,8,.25) 60%,rgba(10,10,8,.15)),linear-gradient(0deg,rgba(10,10,8,.5),transparent 45%)}.hero-content{position:relative;z-index:2;padding-bottom:clamp(4rem,8vw,8rem);padding-top:12rem;display:flex;justify-content:space-between;align-items:flex-end}.hero-copy{max-width:1050px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.17em;text-transform:uppercase;margin-bottom:1.3rem;font-weight:700}.hero h1,.page-hero h1,.project-hero h1,.plain-hero h1,.contact-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:.9;margin:0 0 2rem;font-size:var(--display)}.hero-copy>p,.page-hero-copy>p,.project-hero-copy>p,.plain-hero p,.contact-hero p{font-size:clamp(1rem,1.4vw,1.35rem);max-width:720px;color:rgba(255,255,255,.82);margin-bottom:2rem}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-side-note{font-size:9px;letter-spacing:.18em;text-align:right}.hero-side-note span{font-size:14px}.scroll-cue{position:absolute;right:3vw;bottom:2rem;z-index:2;font-size:9px;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.scroll-cue span{display:inline-block;width:50px;height:1px;background:#fff}.image-badge{position:absolute;left:14px;bottom:14px;background:rgba(24,24,20,.88);color:#fff;padding:7px 9px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;z-index:3}.stock-badge{background:rgba(242,239,232,.92);color:var(--ink)}.section{padding:clamp(5rem,10vw,10rem) 0}.intro-section{border-bottom:1px solid var(--line)}.display-title{font-family:Georgia,'Times New Roman',serif;font-size:var(--display2);line-height:.95;letter-spacing:-.04em;font-weight:400;margin:0}.lead-copy{font-size:clamp(1.05rem,1.6vw,1.4rem);max-width:760px;margin:2rem 0 0}.stat{display:flex;align-items:flex-end;gap:14px}.stat strong{font-family:Georgia,serif;font-size:clamp(4rem,8vw,8rem);font-weight:400;line-height:.8}.stat span{font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.1em}.section-dark{background:var(--ink);color:#fff}.light{color:#fff}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,450px);gap:4rem;align-items:end;margin-bottom:4rem}.section-head p{color:#aaa59a;margin:0}.project-track{display:flex;gap:24px;will-change:transform}.project-card{flex:0 0 min(68vw,760px)}.project-image-wrap{height:min(65vh,660px);position:relative;display:block;overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.project-card:hover .project-image{transform:scale(1.025)}.project-meta{display:flex;gap:1rem;margin:18px 0 10px;color:#918b7e;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.project-card h3{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3.7rem);font-weight:400;margin:0}.project-card p{color:#aaa59a;max-width:560px;margin-top:12px}.project-more{flex:0 0 280px;display:flex;align-items:stretch}.project-more a{width:100%;border:1px solid rgba(255,255,255,.18);padding:28px;display:flex;flex-direction:column;justify-content:space-between}.project-more strong{font-family:Georgia,serif;font-size:6rem;font-weight:400}.project-more i{font-size:3rem;font-style:normal}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border-top:1px solid var(--line)}.service-img{height:430px;position:relative;overflow:hidden}.service-body{padding:24px 0}.service-index{font-size:9px;letter-spacing:.15em;color:var(--muted)}.service-card h3{font-family:Georgia,serif;font-size:2.2rem;font-weight:400;margin:12px 0}.service-card p{color:var(--muted);min-height:72px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px}.process-section{background:var(--paper2)}.sticky-copy{position:sticky;top:120px}.process-list{border-top:1px solid var(--line)}.process-step{display:grid;grid-template-columns:70px 1fr;column-gap:20px;padding:34px 0;border-bottom:1px solid var(--line)}.process-step span{font-size:10px;letter-spacing:.15em}.process-step h3{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,3rem);font-weight:400;margin:0}.process-step p{grid-column:2;color:var(--muted);max-width:540px;margin:10px 0 0}.showroom-card{display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.showroom-media{min-height:620px;position:relative}.showroom-copy{padding:clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center}.showroom-copy p{margin:2rem 0}.site-footer{background:#11110f;color:#d8d2c5;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem}.brand-footer{color:#fff;margin-bottom:25px}.footer-grid p{font-size:13px;color:#969083;max-width:320px}.footer-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:16px}.footer-bottom{margin-top:60px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#716d63}.page-hero,.project-hero{height:min(78svh,850px);min-height:650px;display:flex;align-items:flex-end}.page-hero-copy,.project-hero-copy{position:relative;z-index:2;padding-bottom:clamp(4rem,8vw,7rem)}.page-hero h1,.project-hero h1{font-size:clamp(3.5rem,7vw,8rem);max-width:1100px}.content-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(3rem,7vw,8rem);align-items:center}.content-split.reverse{grid-template-columns:.95fr 1.05fr}.content-copy p{color:var(--muted);font-size:1.05rem;max-width:680px;margin-top:1.5rem}.editorial-figure{height:650px;position:relative;margin:0;overflow:hidden}.editorial-figure.tall{height:780px}.editorial-figure figcaption{position:absolute;right:14px;bottom:14px;background:rgba(242,239,232,.9);padding:7px 10px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.section-soft{background:var(--paper2)}.mini-grid,.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini-card a{display:block}.mini-image{height:440px;position:relative;overflow:hidden}.mini-copy{padding:16px 0 34px}.mini-copy span{font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.mini-copy h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:8px 0}.plain-hero,.contact-hero{padding:clamp(10rem,18vw,16rem) 0 6rem;background:var(--ink);color:#fff}.plain-hero h1,.contact-hero h1{max-width:1200px}.plain-hero p,.contact-hero p{color:#aaa59a}.project-number{font-size:10px;letter-spacing:.16em;margin-bottom:20px}.project-spec-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.spec-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.spec-list li{padding:16px 0;border-bottom:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:2rem}.gallery-item{border:0;padding:0;background:transparent;height:520px;overflow:hidden;cursor:zoom-in}.gallery-item:nth-child(4n+1){grid-column:span 7}.gallery-item:nth-child(4n+2){grid-column:span 5}.gallery-item:nth-child(4n+3){grid-column:span 5}.gallery-item:nth-child(4n+4){grid-column:span 7}.project-cta{background:var(--ink);color:#fff;padding:clamp(5rem,10vw,10rem) 0}.project-cta .container-fluid{display:flex;align-items:end;justify-content:space-between;gap:2rem}.project-cta h2{font-family:Georgia,serif;font-size:var(--display2);font-weight:400;letter-spacing:-.04em;line-height:.95;max-width:1000px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:300;display:none;place-items:center;padding:4vw}.lightbox.is-open{display:grid}.lightbox img{max-width:92vw;max-height:88vh}.lightbox button{position:absolute;right:2vw;top:1vw;background:none;border:0;color:#fff;font-size:44px}.showroom-info,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.contact-card{border-top:1px solid rgba(255,255,255,.2)}.contact-card>div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:120px 1fr}.contact-card span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#898579}.contact-card strong,.contact-card a{font-weight:400}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form label{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #9b9589;background:transparent;padding:12px 0;font-size:16px;outline:0;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check{display:flex;align-items:flex-start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}.check input{width:auto;margin-top:4px}.contact-form .btn{align-self:flex-start;margin-top:10px}
@media(max-width:1199px){.desktop-nav{display:none!important}.project-card{flex-basis:78vw}}
@media(max-width:991px){.hero-side-note{display:none}.section-head{grid-template-columns:1fr;gap:1.5rem}.services-grid,.mini-grid,.project-grid{grid-template-columns:1fr 1fr}.showroom-card,.content-split,.content-split.reverse,.showroom-info,.contact-layout,.project-spec-layout{grid-template-columns:1fr}.editorial-figure,.editorial-figure.tall{height:620px}.sticky-copy{position:relative;top:auto;margin-bottom:2rem}.footer-grid{grid-template-columns:1fr 1fr}.menu-bottom{grid-template-columns:1fr 1fr}.project-cta .container-fluid{align-items:flex-start;flex-direction:column}.gallery-item{height:430px}.hero-home{min-height:880px}}
@media(max-width:767px){.topline{display:none}.site-header{top:0;padding:14px 0}.brand-mark{width:36px;height:36px}.brand-name{font-size:13px}.menu-btn{width:36px}.hero-home{min-height:780px}.hero-content{padding-top:10rem;padding-bottom:5rem}.hero h1{font-size:clamp(3.1rem,15vw,5.6rem)}.hero-copy>p{font-size:1rem}.section{padding:5.5rem 0}.display-title{font-size:clamp(2.8rem,12vw,4.8rem)}.project-track{display:block}.project-card{margin-bottom:4rem}.project-image-wrap{height:62vh}.project-more{height:300px}.services-grid,.mini-grid,.project-grid{grid-template-columns:1fr}.service-img,.mini-image{height:62vh}.showroom-media{min-height:55vh}.page-hero,.project-hero{height:82svh;min-height:620px}.page-hero h1,.project-hero h1{font-size:clamp(3.1rem,14vw,5.4rem)}.editorial-figure,.editorial-figure.tall{height:62vh}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.menu-inner{padding:5rem 1.4rem 2rem}.menu-overlay nav a{font-size:clamp(2.2rem,12vw,4rem)}.menu-bottom{grid-template-columns:1fr;font-size:11px}.gallery-grid{display:block}.gallery-item{display:block;width:100%;height:58vh;margin-bottom:14px}.form-row{grid-template-columns:1fr}.contact-card>div{grid-template-columns:1fr;gap:5px}.plain-hero,.contact-hero{padding-top:10rem}.scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v04: calmer premium hero + scroll focus */
.hero-home h1{font-size:clamp(2.55rem,5.25vw,5.9rem);line-height:.98;max-width:900px;letter-spacing:-.038em}
.hero-home .hero-copy{max-width:900px}
.hero-home .hero-copy>p{font-size:clamp(.98rem,1.12vw,1.15rem);max-width:680px}
.hero-home .hero-shade{background:linear-gradient(90deg,rgba(10,10,8,.54) 0%,rgba(10,10,8,.24) 47%,rgba(10,10,8,.08) 76%),linear-gradient(0deg,rgba(10,10,8,.36),transparent 48%)}
.hero-home .hero-img{transform-origin:center center;will-change:transform}
.hero-home .hero-media{will-change:transform}
.scroll-dim-section{position:relative;isolation:isolate;--section-dim:0}
.scroll-dim-section::after{content:"";position:absolute;inset:0;background:#000;opacity:var(--section-dim);pointer-events:none;z-index:25;will-change:opacity}
.scroll-dim-section .scroll-cue{z-index:26}
@media(max-width:767px){.hero-home h1{font-size:clamp(2.65rem,12vw,4.45rem);line-height:1}.hero-home .hero-copy>p{max-width:92%}}
@media(prefers-reduced-motion:reduce){.scroll-dim-section::after{display:none}.hero-home .hero-img{transform:none!important}}


/* v05: fullscreen stock carousel on home */
.hero-slider{overflow:hidden;isolation:isolate}
.hero-slider .hero-media{z-index:0;transform-origin:center center;will-change:transform}
.hero-slides,.hero-slide,.hero-slide picture{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{opacity:0;visibility:hidden;pointer-events:none;z-index:1;transition:opacity .75s ease,visibility 0s linear .75s;will-change:opacity,clip-path,transform}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2;transition-delay:0s}
.hero-slide picture{display:block;overflow:hidden}
.hero-slide .hero-img{width:100%;height:100%;object-fit:cover;transform:scale(1.055);transform-origin:center center;will-change:transform}
.hero-slide.is-active .hero-img{animation:hero-slide-drift 8.5s cubic-bezier(.2,.65,.2,1) both}
@keyframes hero-slide-drift{0%{transform:scale(1.055) translate3d(-.55%,0,0)}100%{transform:scale(1.095) translate3d(.65%,-.45%,0)}}
.hero-slider .hero-shade{z-index:3}
.hero-slider .stock-badge{z-index:4}
.hero-slider .hero-content{z-index:5}
.hero-arrow{position:absolute;top:50%;z-index:8;width:54px;height:54px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(16,16,13,.16);color:#fff;display:grid;place-items:center;font-size:22px;line-height:1;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);transform:translateY(-50%);transition:background .25s ease,border-color .25s ease,transform .25s ease;cursor:pointer}
.hero-arrow:hover,.hero-arrow:focus-visible{background:rgba(242,239,232,.94);border-color:rgba(242,239,232,.94);color:var(--ink);outline:none}
.hero-arrow-prev{left:clamp(12px,2vw,32px)}
.hero-arrow-next{right:clamp(12px,2vw,32px)}
.hero-slider-progress{position:absolute;left:50%;bottom:2rem;z-index:8;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero-slider-progress i{display:block;width:clamp(90px,11vw,170px);height:1px;background:rgba(255,255,255,.35);overflow:hidden}
.hero-slider-progress b{display:block;width:100%;height:100%;background:#fff;transform:scaleX(.166667);transform-origin:left center;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.hero-slider .scroll-cue{right:3vw}
@media(max-width:991px){.hero-arrow{width:46px;height:46px;font-size:19px}.hero-slider-progress{bottom:1.55rem}}
@media(max-width:767px){.hero-arrow{top:46%;width:42px;height:42px;background:rgba(16,16,13,.28)}.hero-arrow-prev{left:10px}.hero-arrow-next{right:10px}.hero-slider-progress{bottom:1.25rem}.hero-slider-progress i{width:72px}.hero-slide .hero-img{object-position:center center}}
@media(prefers-reduced-motion:reduce){.hero-slide.is-active .hero-img{animation:none}.hero-slide{transition:none}.hero-slider-progress b{transition:none}}


/* v06: softer UI, framed slider hero, white header */
:root{--radius:18px;--radius-sm:12px;--radius-lg:24px;--radius-xl:32px}
body{background:linear-gradient(180deg,#f6f3ee 0%,#f2efe8 36%,#efe9e0 100%)}
.topline{background:rgba(255,255,255,.94);color:var(--muted);border-bottom:1px solid var(--line)}
.topline a{color:var(--ink)}
.site-header{position:fixed;top:32px;left:0;width:100%;padding:16px 0;color:var(--ink);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(24,24,20,.08);box-shadow:0 8px 24px rgba(24,24,20,.04)}
.site-header.is-scrolled{top:0;background:rgba(232,229,221,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 16px 44px rgba(24,24,20,.08)}
.brand-mark{border-radius:14px}
.btn{border-radius:999px!important;padding:13px 20px}
.btn-glass{border-color:rgba(255,255,255,.54);background:rgba(255,255,255,.1)}
.btn-glass:hover{background:#fff;color:#111}
.image-badge,.editorial-figure figcaption{border-radius:999px}
.showroom-card,.project-image-wrap,.service-img,.mini-image,.editorial-figure,.gallery-item,.project-more a{border-radius:var(--radius-lg)}
.showroom-card,.project-more a{overflow:hidden}
.service-img,.mini-image,.project-image-wrap,.editorial-figure,.gallery-item{box-shadow:0 18px 42px rgba(24,24,20,.08)}
.hero-home{min-height:auto;padding-top:clamp(6.2rem,10vw,8rem)}
.hero-slider{padding-bottom:0}
.hero-slider .hero-shell{position:relative;min-height:calc(100svh - 8.4rem);margin:0 clamp(12px,1.8vw,28px) clamp(1rem,2vw,1.6rem);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 26px 64px rgba(24,24,20,.16);background:#d8d4cd}
.hero-slider .hero-media,.hero-slider .hero-slides,.hero-slider .hero-slide,.hero-slider .hero-slide picture{position:absolute;inset:0;width:100%;height:100%}
.hero-slider .hero-shade{background:linear-gradient(90deg,rgba(10,10,8,.54) 0%,rgba(10,10,8,.24) 48%,rgba(10,10,8,.08) 78%),linear-gradient(0deg,rgba(10,10,8,.34),transparent 44%)}
.hero-slider .hero-content{min-height:calc(100svh - 8.4rem);padding-top:clamp(7rem,11vw,10rem);padding-bottom:clamp(3.6rem,6vw,5.4rem);display:flex;justify-content:space-between;align-items:flex-end}
.hero-slider .hero-copy{max-width:860px}
.hero-slider .hero-copy>p{max-width:700px}
.hero-slider .hero-side-note{padding-bottom:.25rem}
.hero-slider .stock-badge{left:18px;top:18px;bottom:auto;padding:9px 13px;background:rgba(255,255,255,.92);color:var(--ink)}
.hero-slider .hero-arrow{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.44)}
.hero-slider .hero-arrow:hover,.hero-slider .hero-arrow:focus-visible{transform:translateY(-50%) scale(1.04)}
.hero-slider .hero-arrow-prev{left:clamp(12px,1.8vw,22px)}
.hero-slider .hero-arrow-next{right:clamp(12px,1.8vw,22px)}
.hero-slider .hero-slider-progress{bottom:clamp(1.25rem,2vw,1.8rem)}
.hero-slider .scroll-cue{right:clamp(1rem,1.8vw,1.8rem);bottom:clamp(1.15rem,2vw,1.7rem)}
.showroom-card{border:1px solid rgba(24,24,20,.08);box-shadow:0 18px 44px rgba(24,24,20,.07)}
@media(max-width:767px){.site-header{top:0;padding:14px 0}.hero-home{padding-top:4.8rem}.hero-slider .hero-shell{min-height:calc(100svh - 5.5rem);margin:0 10px 10px;border-radius:24px}.hero-slider .hero-content{min-height:calc(100svh - 5.5rem);padding-top:6.2rem;padding-bottom:4rem}.hero-slider .hero-slider-progress{bottom:1.15rem}.hero-slider .stock-badge{top:12px;left:12px}.showroom-card,.project-image-wrap,.service-img,.mini-image,.editorial-figure,.gallery-item,.project-more a{border-radius:20px}}


/* v07: perfectly aligned frame + floating rounded header */
:root{--frame-gap:clamp(14px,1.65vw,26px);--frame-radius:28px}
.topline{position:fixed;top:8px;left:var(--frame-gap);right:var(--frame-gap);width:auto;height:28px;z-index:72;border:1px solid rgba(24,24,20,.07);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(24,24,20,.035);overflow:hidden}
.site-header{position:fixed;top:44px;left:var(--frame-gap);right:var(--frame-gap);width:auto;padding:14px 0;border:1px solid rgba(24,24,20,.08);border-radius:var(--frame-radius);background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(24,24,20,.065);overflow:hidden}
.site-header.is-scrolled{top:12px;left:var(--frame-gap);right:var(--frame-gap);width:auto;border-radius:var(--frame-radius);background:rgba(226,223,214,.78);border-color:rgba(24,24,20,.07);backdrop-filter:blur(20px) saturate(115%);-webkit-backdrop-filter:blur(20px) saturate(115%);box-shadow:0 16px 48px rgba(24,24,20,.10)}
.site-header>.container-fluid,.topline>.container-fluid{padding-left:clamp(18px,2.2vw,34px)!important;padding-right:clamp(18px,2.2vw,34px)!important}
.hero-slider .hero-shell{margin-left:var(--frame-gap);margin-right:var(--frame-gap);width:auto;border-radius:var(--frame-radius)}
.hero-home{padding-top:clamp(7.3rem,11vw,9rem)}
.hero-slider .hero-shell,.site-header,.topline{max-width:none}
@media(max-width:767px){:root{--frame-gap:10px;--frame-radius:22px}.topline{display:none}.site-header{top:10px;left:var(--frame-gap);right:var(--frame-gap);border-radius:22px;padding:11px 0}.site-header.is-scrolled{top:10px;left:var(--frame-gap);right:var(--frame-gap);border-radius:22px}.site-header>.container-fluid{padding-left:14px!important;padding-right:14px!important}.hero-home{padding-top:5.5rem}.hero-slider .hero-shell{margin-left:var(--frame-gap);margin-right:var(--frame-gap);border-radius:22px}}


/* v08: mathematically equal left/right frame + sharper hero assets */
:root{--frame-gap:clamp(14px,1.65vw,26px)}
.hero-slider .hero-shell{
  box-sizing:border-box;
  width:calc(100% - (2 * var(--frame-gap)))!important;
  flex:0 0 calc(100% - (2 * var(--frame-gap)));
  margin-left:auto!important;
  margin-right:auto!important;
}
.site-header,.topline{
  left:50%!important;
  right:auto!important;
  width:calc(100% - (2 * var(--frame-gap)))!important;
  transform:translateX(-50%);
  box-sizing:border-box;
}
.site-header.is-scrolled{
  left:50%!important;
  right:auto!important;
  width:calc(100% - (2 * var(--frame-gap)))!important;
  transform:translateX(-50%);
}
.hero-slider .hero-media{inset:0!important;width:100%!important;height:100%!important}
.hero-slider .hero-slide,.hero-slider .hero-slide picture,.hero-slider .hero-img{width:100%!important;height:100%!important}
.hero-slider .hero-img{max-width:none!important;object-fit:cover}
@media(max-width:767px){
  :root{--frame-gap:10px}
  .hero-slider .hero-shell{width:calc(100% - 20px)!important;flex-basis:calc(100% - 20px)}
  .site-header{width:calc(100% - 20px)!important}
  .site-header.is-scrolled{width:calc(100% - 20px)!important}
}


/* v09: narrower floating header placed inside the hero frame */
:root{
  --header-inset:clamp(34px,4.5vw,78px);
  --header-top-gap:clamp(16px,1.7vw,26px);
}
.home-page .topline{display:none!important}
.home-page .hero-home{padding-top:var(--frame-gap)!important}
.home-page .hero-slider .hero-shell{
  min-height:calc(100svh - (2 * var(--frame-gap)))!important;
  margin-top:0!important;
  margin-bottom:var(--frame-gap)!important;
}
.home-page .hero-slider .hero-content{
  min-height:calc(100svh - (2 * var(--frame-gap)))!important;
  padding-top:clamp(8.8rem,12vw,11rem)!important;
}
.home-page .site-header{
  top:calc(var(--frame-gap) + var(--header-top-gap))!important;
  left:50%!important;
  right:auto!important;
  width:calc(100% - (2 * var(--frame-gap)) - (2 * var(--header-inset)))!important;
  max-width:1480px!important;
  transform:translateX(-50%)!important;
  padding:13px 0!important;
  color:var(--ink)!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:24px!important;
  box-shadow:0 14px 38px rgba(20,20,18,.12)!important;
  backdrop-filter:blur(12px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(112%)!important;
  overflow:hidden;
}
.home-page .site-header.is-scrolled{
  top:12px!important;
  width:calc(100% - (2 * var(--frame-gap)) - (2 * var(--header-inset)))!important;
  max-width:1480px!important;
  background:rgba(224,222,214,.78)!important;
  border-color:rgba(255,255,255,.42)!important;
  box-shadow:0 18px 48px rgba(20,20,18,.14)!important;
  backdrop-filter:blur(22px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(120%)!important;
}
.home-page .site-header>.container-fluid{
  padding-left:clamp(18px,2vw,30px)!important;
  padding-right:clamp(18px,2vw,30px)!important;
}
.home-page .hero-slider .stock-badge{
  top:calc(var(--header-top-gap) + 88px)!important;
  left:clamp(16px,2vw,28px)!important;
}
@media(max-width:1199px){
  :root{--header-inset:clamp(24px,3vw,44px)}
}
@media(max-width:767px){
  :root{--header-inset:12px;--header-top-gap:10px}
  .home-page .hero-home{padding-top:var(--frame-gap)!important}
  .home-page .hero-slider .hero-shell{min-height:calc(100svh - 20px)!important}
  .home-page .hero-slider .hero-content{min-height:calc(100svh - 20px)!important;padding-top:6.8rem!important}
  .home-page .site-header,
  .home-page .site-header.is-scrolled{
    top:calc(var(--frame-gap) + var(--header-top-gap))!important;
    width:calc(100% - (2 * var(--frame-gap)) - (2 * var(--header-inset)))!important;
    border-radius:20px!important;
    padding:10px 0!important;
  }
  .home-page .site-header.is-scrolled{top:10px!important}
  .home-page .site-header>.container-fluid{padding-left:12px!important;padding-right:12px!important}
  .home-page .hero-slider .stock-badge{top:82px!important;left:12px!important}
}


/* v10: stronger capsule header + larger inset inside hero */
:root{
  --header-inset:clamp(48px,5.8vw,96px);
}
.home-page .site-header,
.home-page .site-header.is-scrolled{
  width:calc(100% - (2 * var(--frame-gap)) - (2 * var(--header-inset)))!important;
  max-width:1360px!important;
  border-radius:999px!important;
}
.home-page .site-header{
  box-shadow:0 14px 38px rgba(20,20,18,.105)!important;
}
.home-page .site-header.is-scrolled{
  border-radius:999px!important;
}
.home-page .site-header>.container-fluid{
  padding-left:clamp(22px,2.4vw,38px)!important;
  padding-right:clamp(22px,2.4vw,38px)!important;
}
@media(max-width:1199px){
  :root{--header-inset:clamp(30px,4vw,58px)}
}
@media(max-width:767px){
  :root{--header-inset:16px}
  .home-page .site-header,
  .home-page .site-header.is-scrolled{
    border-radius:999px!important;
  }
  .home-page .site-header>.container-fluid{
    padding-left:15px!important;
    padding-right:15px!important;
  }
}


/* v11: word-by-word scroll dimming replaces full-section dim overlay */
.scroll-dim-section::after{display:none!important;opacity:0!important}
.word-dim-token{opacity:1;will-change:opacity}
@media(prefers-reduced-motion:reduce){.word-dim-token{opacity:1!important}}


/* v12: streamlined one-line navigation + reversible word-by-word darkening */
.desktop-nav{white-space:nowrap;gap:clamp(14px,1.55vw,26px)!important;flex-wrap:nowrap!important}
.desktop-nav .nav-link{white-space:nowrap}
.header-actions{flex-shrink:0;white-space:nowrap}
.word-dim-token{opacity:.24;will-change:opacity}
@media(prefers-reduced-motion:reduce){.word-dim-token{opacity:1!important}}


/* v13: expanded service/process sections, hover corner CTA, illustrated steps */
.section-head-rich{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;margin-bottom:2rem}
.services-lead{margin:0;color:var(--muted);font-size:1.05rem;max-width:640px}
.service-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1.4rem}
.benefit-pill{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid rgba(24,24,20,.12);border-radius:999px;background:rgba(255,255,255,.7);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink)}
.services-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 2rem}
.services-copy-grid p{margin:0;color:var(--muted);font-size:1.03rem;line-height:1.75;background:rgba(255,255,255,.55);padding:1.15rem 1.2rem;border-radius:18px;border:1px solid rgba(24,24,20,.06)}
.services-grid-expanded{grid-template-columns:repeat(4,1fr);gap:20px}
.service-card-rich{position:relative;border-top:0;border-radius:24px;background:rgba(255,255,255,.5);padding:0;border:1px solid rgba(24,24,20,.06);overflow:hidden;transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease}
.service-card-rich:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(24,24,20,.10);border-color:rgba(24,24,20,.12)}
.service-card-rich .service-img{height:340px;border-radius:24px 24px 0 0}
.service-card-rich .service-body{padding:22px 22px 24px}
.service-card-rich h3{font-size:2rem;margin:10px 0 12px}
.service-card-rich p{min-height:126px}
.service-corner-cta{position:absolute;right:14px;bottom:14px;height:54px;min-width:54px;padding:0 18px 0 16px;border-radius:22px 22px 22px 999px;background:rgba(255,255,255,.94);color:var(--ink);display:inline-flex;align-items:center;gap:10px;box-shadow:0 12px 30px rgba(24,24,20,.14);overflow:hidden;width:54px;transition:width .35s cubic-bezier(.2,.8,.2,1),border-radius .35s ease,transform .35s ease,background .35s ease;z-index:4}
.service-corner-cta em{font-style:normal;font-size:18px;line-height:1;flex:0 0 auto}
.service-corner-cta span{white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity .25s ease,transform .25s ease;font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.service-card-rich:hover .service-corner-cta,.service-corner-cta:focus-visible{width:138px;border-radius:999px;transform:translate(-2px,-2px)}
.service-card-rich:hover .service-corner-cta span,.service-corner-cta:focus-visible span{opacity:1;transform:translateX(0)}
.service-card-rich:hover .service-corner-cta{background:#fff}
.process-intro{margin:1.5rem 0 2rem;color:var(--muted);max-width:520px;font-size:1.03rem}
.process-list-illustrated{border-top:1px solid var(--line)}
.process-step-illustrated{grid-template-columns:108px 1fr;align-items:center;column-gap:26px;padding:26px 0}
.process-figure{width:92px;height:92px;border-radius:26px;background:rgba(255,255,255,.75);border:1px solid rgba(24,24,20,.06);display:grid;place-items:center;box-shadow:0 16px 32px rgba(24,24,20,.05)}
.process-icon-art{width:92px;height:92px;object-fit:contain}
.process-copy{display:block}
.process-copy span{display:block;margin-bottom:10px;color:var(--muted)}
.process-copy h3{margin:0}
.process-copy p{grid-column:auto;max-width:560px;margin:10px 0 0}
@media(max-width:1199px){.services-grid-expanded{grid-template-columns:repeat(2,1fr)}.section-head-rich{grid-template-columns:1fr}.services-copy-grid{grid-template-columns:1fr}.service-card-rich p{min-height:0}}
@media(max-width:767px){.service-benefits{gap:8px}.benefit-pill{font-size:9px;padding:9px 12px}.services-copy-grid p{padding:1rem;border-radius:16px}.services-grid-expanded{grid-template-columns:1fr}.service-card-rich .service-img{height:58vh}.process-step-illustrated{grid-template-columns:1fr;row-gap:14px}.process-figure{width:84px;height:84px}.process-icon-art{width:84px;height:84px}.process-copy p{margin-top:8px}}


/* v15: stronger opening contrast for the long company paragraph */
.services-lead{color:var(--ink)!important;font-weight:500}
.services-lead .word-dim-token{will-change:opacity}


/* v18: simplified process steps without illustrations */
.process-step-illustrated{grid-template-columns:1fr!important;column-gap:0!important;align-items:start;padding:30px 0}
.process-step-illustrated .process-copy{width:100%;max-width:none}
.process-step-illustrated .process-copy p{max-width:780px;margin-top:10px}
.process-step-illustrated .process-copy h3{max-width:900px}
.process-figure,.process-icon-art{display:none!important}
@media(max-width:767px){.process-step-illustrated{padding:24px 0}.process-step-illustrated .process-copy p{max-width:none}}


/* v20: cleaner stock photography + wider process copy */
.stock-badge{display:none!important}
.service-corner-cta{display:none!important}
.process-section .process-step-illustrated .process-copy{width:100%;max-width:none}
.process-section .process-step-illustrated .process-copy h3{max-width:none}
.process-section .process-step-illustrated .process-copy p{max-width:none!important;width:100%;font-size:1.04rem;line-height:1.68}
@media(min-width:992px){
  .process-section .col-lg-8{padding-left:clamp(1.5rem,3vw,3.5rem)}
}


/* v21: rebuilt wide process section */
.process-section-wide{overflow:hidden}
.process-head-wide{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:clamp(2.5rem,6vw,7rem);align-items:end;margin-bottom:clamp(3rem,6vw,5.5rem)}
.process-head-wide .display-title{max-width:1050px}
.process-head-copy{min-width:0;padding-bottom:.4rem}
.process-head-copy .process-intro{max-width:720px;margin:0 0 1.6rem;font-size:1.08rem;line-height:1.75}
.process-list-wide{border-top:1px solid var(--line);width:100%}
.process-step-wide{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,6rem);align-items:start;padding:clamp(2rem,4vw,3.2rem) 0;border-bottom:1px solid var(--line);width:100%}
.process-step-label{min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;align-items:start}
.process-step-label>span{padding-top:.55rem;font-size:10px;letter-spacing:.16em;color:var(--muted)}
.process-step-label h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,2.7vw,3.15rem);line-height:1.02;font-weight:400;letter-spacing:-.025em;margin:0;max-width:none}
.process-step-wide>p{margin:0;max-width:none!important;width:100%!important;color:var(--muted);font-size:clamp(1rem,1.15vw,1.14rem);line-height:1.75;grid-column:auto!important}
@media(max-width:991px){.process-head-wide{grid-template-columns:1fr;gap:1.5rem}.process-head-copy .process-intro{max-width:820px}.process-step-wide{grid-template-columns:1fr;gap:1rem}.process-step-label{grid-template-columns:48px minmax(0,1fr)}.process-step-wide>p{padding-left:66px}}
@media(max-width:767px){.process-head-wide{margin-bottom:2.5rem}.process-step-wide{padding:1.75rem 0}.process-step-label{grid-template-columns:38px minmax(0,1fr);gap:12px}.process-step-wide>p{padding-left:50px;font-size:1rem}.process-step-label h3{font-size:clamp(1.65rem,8vw,2.4rem)}}


/* v22: remove the narrow top information bar on every page */
.topline{display:none!important}
.site-header{top:12px!important}
.site-header.is-scrolled{top:12px!important}
@media(max-width:767px){.site-header,.site-header.is-scrolled{top:10px!important}}


/* v23: light editorial footer */
.site-footer.site-footer-light{position:relative;overflow:hidden;background:linear-gradient(180deg,#f2eee6 0%,#ece6dc 100%);color:var(--ink);padding:clamp(4rem,7vw,7rem) 0 1.6rem;border-top:1px solid rgba(24,24,20,.08)}
.site-footer-light .brand-footer{color:var(--ink);margin:0 0 1.6rem}
.footer-top-v23{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(3rem,8vw,9rem);align-items:start}
.footer-brand-v23 p{max-width:620px;margin:0;color:#5e5a52;font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.72}
.footer-family{display:inline-flex;margin-top:1.55rem;padding:9px 13px;border:1px solid rgba(24,24,20,.1);border-radius:999px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;background:rgba(255,255,255,.7);box-shadow:0 10px 30px rgba(36,31,24,.03)}
.site-footer-light .footer-label{margin-bottom:1.15rem;color:#777269;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.footer-showroom-v23{padding:clamp(1.4rem,2.6vw,2.2rem);background:rgba(255,255,255,.82);border:1px solid rgba(24,24,20,.08);border-radius:26px;box-shadow:0 22px 60px rgba(36,31,24,.05)}
.footer-showroom-title{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.75rem,2.6vw,3rem);line-height:1;letter-spacing:-.03em;margin-bottom:1rem}
.footer-showroom-title span{font-family:Arial,sans-serif;font-size:1rem}
.footer-showroom-v23 address{font-style:normal;color:#68635a;font-size:13px;margin:0 0 1.2rem}
.footer-contact-inline{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:1rem;border-top:1px solid rgba(24,24,20,.08)}
.footer-contact-inline a{font-size:12px;border-bottom:1px solid rgba(24,24,20,.28);padding-bottom:2px}
.footer-divider{height:1px;background:rgba(24,24,20,.1);margin:clamp(3rem,5vw,5rem) 0 2.3rem}
.footer-grid-v23{display:grid;grid-template-columns:1.35fr .75fr .9fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.footer-nav-v23 nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 28px;max-width:720px}
.footer-nav-v23 nav a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(24,24,20,.09);font-size:12px}
.footer-nav-v23 nav a span{font-size:10px;opacity:.5;transition:transform .25s ease,opacity .25s ease}
.footer-nav-v23 nav a:hover span{transform:translate(2px,-2px);opacity:1}
.footer-lang-list{display:flex;flex-wrap:wrap;gap:8px}
.footer-lang{width:46px;height:40px;border:1px solid rgba(24,24,20,.13);border-radius:999px;display:grid;place-items:center;font-size:10px;letter-spacing:.12em;transition:.25s ease;background:rgba(255,255,255,.55)}
.footer-lang:hover,.footer-lang.active{background:var(--ink);border-color:var(--ink);color:#fff}
.footer-social-list{display:grid;gap:8px}
.footer-social-link{min-height:48px;padding:8px 12px;border:1px solid rgba(24,24,20,.11);border-radius:999px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;background:rgba(255,255,255,.58);box-shadow:0 10px 24px rgba(36,31,24,.03)}
.footer-social-link i{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.78);display:grid;place-items:center;font-style:normal}
.footer-social-link i svg{width:17px;height:17px}
.footer-social-link b{font-size:11px;font-weight:500;letter-spacing:.06em}
.footer-social-link em{font-style:normal;font-size:11px;opacity:.38}
.footer-social-link.is-pending{cursor:default}
.footer-social-link:not(.is-pending){transition:transform .2s ease,border-color .2s ease,background .2s ease}
.footer-social-link:not(.is-pending):hover{transform:translateY(-1px);border-color:rgba(24,24,20,.22);background:rgba(255,255,255,.82)}
.footer-social-link:not(.is-pending):focus-visible{outline:2px solid currentColor;outline-offset:3px}
.footer-wordmark{font-family:Arial,Helvetica,sans-serif;font-size:clamp(5.3rem,15.8vw,14.8rem);line-height:.72;letter-spacing:-.082em;font-weight:900;color:rgba(24,24,20,.14);text-shadow:0 1px 0 rgba(255,255,255,.2);white-space:nowrap;margin:clamp(4rem,8vw,8rem) 0 2rem;transform:translateX(-.02em);user-select:none}
.site-footer-light .footer-bottom-v23{margin:0;padding-top:1.25rem;border-top:1px solid rgba(24,24,20,.1);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;color:#6e695f;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.site-footer-light .footer-bottom-v23 span:nth-child(2){text-align:center}
.site-footer-light .footer-bottom-v23 span:last-child{text-align:right}
@media(max-width:991px){.footer-top-v23{grid-template-columns:1fr}.footer-grid-v23{grid-template-columns:1fr 1fr}.footer-social-v23{grid-column:1/-1}.footer-social-list{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-nav-v23 nav{max-width:none}}
@media(max-width:767px){.site-footer.site-footer-light{padding-top:4rem}.footer-top-v23{gap:2.5rem}.footer-showroom-v23{border-radius:20px}.footer-grid-v23{grid-template-columns:1fr;gap:2.5rem}.footer-social-v23{grid-column:auto}.footer-social-list{grid-template-columns:1fr}.footer-nav-v23 nav{grid-template-columns:1fr}.footer-wordmark{font-size:clamp(4.8rem,25vw,8rem);margin:4.5rem 0 1.5rem}.site-footer-light .footer-bottom-v23{grid-template-columns:1fr;gap:.55rem}.site-footer-light .footer-bottom-v23 span:nth-child(2),.site-footer-light .footer-bottom-v23 span:last-child{text-align:left}}


/* v26: circular emblem, inspirations page and expanded showroom */
.brand-mark{border-radius:50%;}
.footer-hours-inline{margin-top:12px;font-size:11px;letter-spacing:.08em;color:#8f897d;text-transform:uppercase}
.inspirations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.inspiration-card{background:rgba(255,255,255,.75);border:1px solid rgba(24,24,20,.07);border-radius:24px;overflow:hidden;box-shadow:0 18px 42px rgba(24,24,20,.05)}
.section-dark .inspiration-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);box-shadow:none}
.inspiration-media{position:relative;height:320px;overflow:hidden}
.inspiration-body{padding:22px 22px 24px}
.inspiration-body h3{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;line-height:1.05;margin:0 0 12px}
.inspiration-body p{margin:0;color:var(--muted);line-height:1.7}
.section-dark .inspiration-body p{color:#d2cdbc}
.cta-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:clamp(1.8rem,4vw,3rem);border:1px solid rgba(24,24,20,.08);border-radius:28px;background:#fff;box-shadow:0 16px 44px rgba(24,24,20,.06)}
.cta-panel h3{font-family:Georgia,serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:400;margin:0 0 .7rem}
.cta-panel p{margin:0;max-width:760px;color:var(--muted)}
.showroom-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.showroom-copy-block{background:rgba(255,255,255,.72);border:1px solid rgba(24,24,20,.07);padding:clamp(2rem,4vw,3rem);border-radius:28px;box-shadow:0 18px 42px rgba(24,24,20,.05)}
.showroom-copy-block p{max-width:760px;color:var(--muted);font-size:1.05rem;line-height:1.75}
.showroom-side-stack{display:grid;gap:22px}
.hours-card{background:#fff;border:1px solid rgba(24,24,20,.08);padding:clamp(1.4rem,3vw,2rem);border-radius:24px;box-shadow:0 16px 42px rgba(24,24,20,.05)}
.hours-row{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(24,24,20,.08);font-size:.96rem}
.hours-row:last-of-type{border-bottom:0}
.hours-row span{color:var(--muted)}
.hours-card p{margin:1rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.65}
.info-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.info-card{padding:1.6rem 1.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:24px}
.info-card h3{font-family:Georgia,serif;font-size:1.55rem;font-weight:400;margin:0 0 .8rem;color:#fff}
.info-card p{margin:0;color:#d2cdbc;line-height:1.72}
.gallery-masonry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gallery-item{margin:0;position:relative;border-radius:24px;overflow:hidden;height:360px;box-shadow:0 16px 38px rgba(24,24,20,.06)}
.gallery-item:nth-child(2),.gallery-item:nth-child(4){height:420px}
.gallery-item figcaption{position:absolute;left:16px;bottom:16px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.88);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.showroom-figure{box-shadow:0 16px 38px rgba(24,24,20,.06)}
@media(max-width:1199px){.inspirations-grid{grid-template-columns:1fr 1fr}.gallery-masonry{grid-template-columns:1fr 1fr}.showroom-layout{grid-template-columns:1fr}.info-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.inspirations-grid,.gallery-masonry,.info-card-grid{grid-template-columns:1fr}.cta-panel{grid-template-columns:1fr}.inspiration-media,.gallery-item,.gallery-item:nth-child(2),.gallery-item:nth-child(4){height:280px}.showroom-copy-block,.hours-card,.inspiration-card,.cta-panel,.info-card{border-radius:22px}}


/* v26-final */
.brand-mark{border-radius:50%!important;}
.inspiration-meta{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8a8478;margin-bottom:10px;font-weight:700}
.section-dark .inspiration-meta{color:#aaa59a}


/* v27: simplified navigation + news/blog */
.blog-hero .page-hero-copy,.article-hero .page-hero-copy{max-width:1120px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.blog-card{background:rgba(255,255,255,.72);border:1px solid rgba(24,24,20,.07);border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(24,24,20,.055);transition:transform .35s ease,box-shadow .35s ease}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(24,24,20,.09)}
.blog-card-media{display:block;height:300px;overflow:hidden}
.blog-card-media img{transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.blog-card:hover .blog-card-media img{transform:scale(1.025)}
.blog-card-body{padding:22px 22px 24px}
.blog-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:14px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.blog-card h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.65rem,2.1vw,2.35rem);line-height:1.06;margin:0 0 1.3rem}
.article-section{background:var(--paper)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(3rem,7vw,7rem);align-items:start;max-width:1260px;margin:0 auto}
.article-copy{max-width:820px}
.article-lead{font-family:Georgia,serif;font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.25;margin:0 0 3rem;color:var(--ink)}
.article-block{padding:2rem 0;border-top:1px solid var(--line)}
.article-block h2{font-family:Georgia,serif;font-size:clamp(1.8rem,2.8vw,2.8rem);font-weight:400;line-height:1.05;margin:0 0 1rem}
.article-block p{margin:0;color:var(--muted);font-size:1.06rem;line-height:1.85}
.article-aside{position:sticky;top:120px}
.article-aside-card{padding:1.5rem;border:1px solid rgba(24,24,20,.08);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 16px 40px rgba(24,24,20,.045)}
.article-related{display:grid;gap:0;margin-top:1.5rem;border-top:1px solid var(--line)}
.article-related-link{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.95rem;line-height:1.35}
.article-related-link span{font-size:12px}
@media(max-width:1199px){.blog-grid{grid-template-columns:1fr 1fr}.article-layout{grid-template-columns:1fr}.article-aside{position:relative;top:auto;max-width:720px}}
@media(max-width:767px){.blog-grid{grid-template-columns:1fr}.blog-card-media{height:270px}.blog-card{border-radius:20px}.article-block p{font-size:1rem}.article-aside-card{border-radius:20px}}


/* v28: B2B for architects and interior designers */
.b2b-home-section{background:#e9e4da}
.b2b-home-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:clamp(2rem,6vw,6rem);align-items:stretch}
.b2b-home-media{min-height:620px;border-radius:28px;overflow:hidden;box-shadow:0 22px 56px rgba(24,24,20,.08)}
.b2b-home-copy{padding:clamp(1rem,4vw,4rem) 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.b2b-lead{font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.8;color:var(--muted);max-width:720px;margin:2rem 0 1.4rem}
.b2b-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2rem}
.b2b-pills span{border:1px solid rgba(24,24,20,.13);border-radius:999px;padding:9px 12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.55)}
.b2b-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.b2b-benefit{padding:clamp(1.4rem,2.6vw,2.2rem);background:#fff;border:1px solid rgba(24,24,20,.07);border-radius:24px;box-shadow:0 16px 40px rgba(24,24,20,.045)}
.b2b-benefit>span{font-size:9px;letter-spacing:.15em;color:var(--muted)}
.b2b-benefit h3{font-family:Georgia,serif;font-size:clamp(1.55rem,2vw,2.15rem);font-weight:400;line-height:1.05;margin:1rem 0}
.b2b-benefit p{margin:0;color:var(--muted);line-height:1.75}
.b2b-audience-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,8rem);align-items:center}
.b2b-dark-lead{color:#c9c3b6;font-size:1.08rem;line-height:1.8;max-width:720px;margin:2rem 0 0}
.b2b-audience-image{height:620px;border-radius:28px;overflow:hidden}
.b2b-cta{background:#f7f4ee}
@media(max-width:1199px){.b2b-home-grid{grid-template-columns:1fr 1fr}.b2b-benefits-grid{grid-template-columns:1fr 1fr}.b2b-audience-grid{grid-template-columns:1fr 1fr}}
@media(max-width:991px){.b2b-home-grid,.b2b-audience-grid{grid-template-columns:1fr}.b2b-home-media,.b2b-audience-image{min-height:0;height:520px}.b2b-home-copy{padding:1rem 0}}
@media(max-width:767px){.b2b-benefits-grid{grid-template-columns:1fr}.b2b-home-media,.b2b-audience-image{height:340px;border-radius:22px}.b2b-benefit{border-radius:20px}}


/* v31: interactive fluted-front colour palette */
.color-kitchen-section{background:linear-gradient(180deg,#f3efe7 0%,#ece6dc 100%)}
.color-kitchen-head{margin-bottom:clamp(2rem,4vw,3.5rem)}
.color-kitchen-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(300px,.58fr);gap:clamp(1.5rem,3vw,3rem);align-items:stretch}
.color-kitchen-stage{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:30px;background:#d8d1c6;box-shadow:0 28px 70px rgba(24,24,20,.12)}
.color-kitchen-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.003);transition:opacity .52s cubic-bezier(.2,.75,.25,1),transform .7s ease;pointer-events:none}
.color-kitchen-img.is-active{opacity:1;transform:scale(1)}
.color-palette-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.7rem,3vw,2.7rem);border-radius:28px;background:rgba(255,255,255,.78);border:1px solid rgba(24,24,20,.08);box-shadow:0 20px 52px rgba(24,24,20,.07)}
.color-palette-card h3{font-family:Georgia,serif;font-size:clamp(2rem,2.6vw,3rem);font-weight:400;line-height:1.05;margin:.9rem 0 1.4rem}
.color-current{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:12px 0 18px;border-bottom:1px solid rgba(24,24,20,.1);margin-bottom:1.6rem}
.color-current span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.color-current strong{font-size:13px;font-weight:600;letter-spacing:.04em}
.color-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
.color-choice{display:flex;align-items:center;gap:11px;min-width:0}
.color-choice small{font-size:11px;letter-spacing:.04em;line-height:1.2;color:#575249}
.color-swatch{appearance:none;-webkit-appearance:none;width:54px;height:54px;min-width:54px;border-radius:50%;border:0;background:var(--swatch);position:relative;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(24,24,20,.14),0 4px 14px rgba(24,24,20,.08);transition:transform .22s ease,box-shadow .22s ease}
.color-swatch span{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,0) 45%,rgba(0,0,0,.08));pointer-events:none}
.color-swatch:hover,.color-swatch:focus-visible{transform:scale(1.08);outline:none}
.color-swatch.is-active{transform:scale(1.07);box-shadow:0 0 0 3px #f7f3ec,0 0 0 5px #181814,0 7px 18px rgba(24,24,20,.12)}
.color-palette-note{font-size:.88rem;line-height:1.6;color:var(--muted);margin:1.8rem 0 0}
.color-palette-ai{font-size:10px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#8d877b;margin:.85rem 0 0}
@media(max-width:1199px){.color-kitchen-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr)}.color-swatch{width:50px;height:50px;min-width:50px}}
@media(max-width:991px){.color-kitchen-grid{grid-template-columns:1fr}.color-palette-card{max-width:none}.color-palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.color-kitchen-stage{border-radius:22px}.color-palette-card{border-radius:22px}.color-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.color-swatch{width:48px;height:48px;min-width:48px}.color-choice small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.color-kitchen-img,.color-swatch{transition:none!important}}


/* v32: dedicated fluted-front visualizer */
.desktop-nav{gap:clamp(9px,1vw,17px)!important}
.visualizer-hero .page-hero-media{filter:saturate(.94)}
.visualizer-tool-section{background:linear-gradient(180deg,#f7f4ee 0%,#f1ede5 100%)}
.visualizer-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(330px,.72fr);gap:22px;align-items:stretch}
.visualizer-stage{min-height:620px;border-radius:28px;box-shadow:0 22px 54px rgba(24,24,20,.09)}
.visualizer-panel{display:flex;flex-direction:column;padding:clamp(1.5rem,2.5vw,2.35rem);border-radius:28px;background:#fff;border:1px solid rgba(24,24,20,.08);box-shadow:0 20px 52px rgba(24,24,20,.07)}
.visualizer-panel h3{font-family:Georgia,serif;font-size:clamp(2rem,3vw,3.5rem);font-weight:400;line-height:1;margin:.7rem 0 1rem}
.visualizer-ral{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 0 16px;border-bottom:1px solid rgba(24,24,20,.1);font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.visualizer-ral strong{font-size:.95rem;letter-spacing:.04em;text-transform:none}
.visualizer-desc{color:var(--muted);line-height:1.7;margin:1rem 0 1.35rem;min-height:76px}
.visualizer-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 10px}
.visualizer-palette .color-choice{display:grid;justify-items:center;gap:6px}
.visualizer-palette .color-choice em{font-style:normal;font-size:8px;letter-spacing:.08em;color:#9a9489}
.visualizer-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:2rem}
.visualizer-feature{padding:1.55rem 1.45rem;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11)}
.visualizer-feature span{font-size:9px;letter-spacing:.13em;color:#aaa59a}
.visualizer-feature h3{font-family:Georgia,serif;font-size:1.55rem;font-weight:400;color:#fff;margin:.8rem 0}
.visualizer-feature p{margin:0;color:#d2cdbc;line-height:1.7}
@media(max-width:1199px){.visualizer-grid{grid-template-columns:1fr}.visualizer-stage{min-height:56vw}.visualizer-panel{max-width:none}.visualizer-features{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.visualizer-stage{min-height:70vw;border-radius:22px}.visualizer-panel{border-radius:22px}.visualizer-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.visualizer-features{grid-template-columns:1fr}.visualizer-panel h3{font-size:2.3rem}.visualizer-desc{min-height:0}}


/* v36: AI inspiration -> real production capability */
.inspiration-capability-section{background:#f0eee8;border-top:1px solid rgba(24,24,20,.06);border-bottom:1px solid rgba(24,24,20,.06)}
.inspiration-capability-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(42px,7vw,110px);align-items:start}
.inspiration-capability-copy{max-width:860px}
.inspiration-capability-copy .display-title{max-width:820px;margin-bottom:28px}
.inspiration-capability-copy>p{font-size:clamp(1.02rem,1.3vw,1.18rem);line-height:1.78;color:#4f4c45;max-width:790px;margin:0 0 18px}
.inspiration-capability-claim{margin-top:32px;padding:22px 26px;border-left:3px solid #181814;background:rgba(255,255,255,.62);font-family:Georgia,serif;font-size:clamp(1.28rem,2vw,1.85rem);line-height:1.28;color:#181814}
.inspiration-capability-points{display:grid;gap:0;border-top:1px solid rgba(24,24,20,.13)}
.inspiration-capability-point{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid rgba(24,24,20,.13)}
.inspiration-capability-point>span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(24,24,20,.18);border-radius:50%;font-size:10px;letter-spacing:.12em;color:#6d685f}
.inspiration-capability-point h3{margin:0 0 9px;font-family:Georgia,serif;font-weight:400;font-size:clamp(1.35rem,1.8vw,1.75rem);line-height:1.1;color:#181814}
.inspiration-capability-point p{margin:0;color:#625e56;line-height:1.7;font-size:.98rem}
@media(max-width:991px){.inspiration-capability-grid{grid-template-columns:1fr;gap:44px}.inspiration-capability-copy{max-width:none}.inspiration-capability-points{max-width:none}}
@media(max-width:575px){.inspiration-capability-point{grid-template-columns:38px 1fr;gap:14px}.inspiration-capability-point>span{width:36px;height:36px}.inspiration-capability-claim{padding:20px 20px}}

/* v37: discreet AI disclosure on inspiration pages */
.ai-disclosure-wrap{padding-top:0!important;padding-bottom:1.25rem!important}
.ai-disclosure-note{margin:0;text-align:right;font-size:10px;line-height:1.45;letter-spacing:.02em;color:rgba(24,24,20,.42)}
@media(max-width:767px){.ai-disclosure-note{text-align:left;font-size:9.5px}}

/* v38 — premium editorial portfolio / own Stolbuk projects */
.portfolio-page{overflow:hidden;background:var(--paper)}
.portfolio-hero-premium{position:relative;overflow:hidden;background:#141411;color:#fff;padding:clamp(10rem,15vw,14rem) 0 clamp(5.5rem,9vw,8rem)}
.portfolio-hero-premium::after{content:"";position:absolute;inset:auto -10vw -18vw auto;width:48vw;height:48vw;border:1px solid rgba(255,255,255,.055);border-radius:50%;pointer-events:none}
.portfolio-hero-word{position:absolute;left:-.025em;top:clamp(7rem,11vw,10rem);font-family:Arial,Helvetica,sans-serif;font-size:clamp(5.6rem,17vw,17rem);line-height:.72;font-weight:900;letter-spacing:-.075em;color:rgba(255,255,255,.035);white-space:nowrap;pointer-events:none;user-select:none}
.portfolio-hero-inner{position:relative;z-index:2}
.portfolio-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(3rem,7vw,8rem);align-items:end;margin-bottom:clamp(3.5rem,6vw,6rem)}
.portfolio-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(4.2rem,8.2vw,9.4rem);font-weight:400;letter-spacing:-.055em;line-height:.84;margin:0;max-width:1120px}
.portfolio-hero-copy h1 em{font-weight:400;color:#bfb7a8;font-style:italic}
.portfolio-hero-aside{max-width:560px;justify-self:end;padding-bottom:.4rem}
.portfolio-hero-aside>p{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.72;color:#bbb5a8;margin:0 0 2rem}
.portfolio-count{display:flex;align-items:flex-end;gap:16px;border-top:1px solid rgba(255,255,255,.14);padding-top:1.15rem}
.portfolio-count strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(3.5rem,6vw,6.5rem);line-height:.74;color:#fff}
.portfolio-count span{max-width:120px;font-size:9px;letter-spacing:.15em;line-height:1.45;text-transform:uppercase;color:#8e887b}
.portfolio-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(10px,1.4vw,22px);height:clamp(360px,48vw,690px);align-items:center}
.portfolio-collage-tile{position:relative;overflow:hidden;border-radius:clamp(18px,2vw,30px);box-shadow:0 32px 80px rgba(0,0,0,.24);display:block;isolation:isolate}
.portfolio-collage-tile::after{content:"↗";position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);color:#191916;font-size:17px;opacity:0;transform:scale(.8);transition:.38s cubic-bezier(.2,.8,.2,1)}
.portfolio-collage-tile:hover::after{opacity:1;transform:scale(1)}
.portfolio-collage-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.portfolio-collage-tile:hover img{transform:scale(1.035);filter:saturate(1.04)}
.portfolio-collage-tile.is-left{grid-column:1/span 3;height:66%;transform:translateY(8%)}
.portfolio-collage-tile.is-main{grid-column:4/span 6;height:100%}
.portfolio-collage-tile.is-right{grid-column:10/span 3;height:72%;transform:translateY(-6%)}
.portfolio-scroll-note{margin-top:clamp(2rem,4vw,3.8rem);display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#7e786d}
.portfolio-scroll-note span{display:block;width:52px;height:1px;background:#7e786d;transform-origin:left center;animation:portfolioLine 2.4s ease-in-out infinite}
@keyframes portfolioLine{0%,100%{transform:scaleX(.38);opacity:.5}50%{transform:scaleX(1);opacity:1}}
.portfolio-intro-section{padding-top:clamp(5.5rem,9vw,9rem);padding-bottom:clamp(5rem,8vw,8rem)}
.portfolio-section-head{margin-bottom:0}
.portfolio-lead{font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75!important;color:#777166!important}
.portfolio-showcase-section{padding:0 0 clamp(7rem,12vw,13rem)}
.portfolio-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(4.5rem,8vw,8rem) clamp(16px,2vw,30px);align-items:start}
.portfolio-card{min-width:0}
.portfolio-card.is-wide{grid-column:1/-1}
.portfolio-card.is-portrait{grid-column:span 5}
.portfolio-card.is-landscape{grid-column:span 7}
.portfolio-card:nth-child(3),.portfolio-card:nth-child(5),.portfolio-card:nth-child(8){margin-top:clamp(4rem,8vw,9rem)}
.portfolio-card-link{display:block}
.portfolio-media{position:relative;margin:0;overflow:hidden;border-radius:clamp(20px,2vw,32px);background:#d8d3c8;box-shadow:0 20px 55px rgba(24,24,20,.08);isolation:isolate}
.portfolio-card.is-wide .portfolio-media{height:min(72vh,820px)}
.portfolio-card.is-portrait .portfolio-media{height:min(78vh,800px)}
.portfolio-card.is-landscape .portfolio-media{height:min(62vh,650px)}
.portfolio-img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;transition:opacity .65s ease,transform 1.2s cubic-bezier(.2,.8,.2,1),filter .7s ease;will-change:transform,opacity}
.portfolio-img-primary{opacity:1;transform:scale(1.005)}
.portfolio-img-secondary{opacity:0;transform:scale(1.055)}
.portfolio-media-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(12,12,10,.34) 100%);opacity:.24;transition:opacity .55s ease;z-index:2;pointer-events:none}
.portfolio-badge-premium{position:absolute;top:16px;left:16px;z-index:3;padding:8px 11px;border-radius:999px;background:rgba(247,245,239,.88);backdrop-filter:blur(10px);font-size:8px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:#302d28}
.portfolio-hover-cta{position:absolute;right:18px;bottom:18px;z-index:4;display:flex;align-items:center;gap:13px;padding:11px 13px 11px 16px;border-radius:999px;background:#f3f0e8;color:#171714;box-shadow:0 14px 40px rgba(0,0,0,.18);font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(14px) scale(.96);transition:.42s cubic-bezier(.2,.8,.2,1)}
.portfolio-hover-cta i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#171714;color:#fff;font-size:13px;font-style:normal}
.portfolio-card-copy{padding:20px 2px 0}
.portfolio-card-topline{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:11px;color:#8a8478;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.portfolio-card-topline em{font-style:normal;text-align:right}
.portfolio-card h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.35vw,4.2rem);font-weight:400;line-height:.98;letter-spacing:-.035em;margin:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),color .35s ease}
.portfolio-card:hover .portfolio-img-primary{opacity:0;transform:scale(1.045)}
.portfolio-card:hover .portfolio-img-secondary{opacity:1;transform:scale(1.005)}
.portfolio-card:hover .portfolio-media-shade{opacity:.72}
.portfolio-card:hover .portfolio-hover-cta{opacity:1;transform:translateY(0) scale(1)}
.portfolio-card:hover h2{transform:translateX(8px);color:#6f5a46}
.portfolio-card:hover .portfolio-media{box-shadow:0 28px 70px rgba(24,24,20,.14)}
@media(max-width:1199px){
  .portfolio-hero-grid{grid-template-columns:1fr .72fr;gap:3rem}
  .portfolio-wall{gap:5rem 20px}
  .portfolio-card.is-portrait{grid-column:span 6}
  .portfolio-card.is-landscape{grid-column:span 6}
  .portfolio-card:nth-child(3),.portfolio-card:nth-child(5),.portfolio-card:nth-child(8){margin-top:4rem}
}
@media(max-width:991px){
  .portfolio-hero-premium{padding-top:10rem}
  .portfolio-hero-grid{grid-template-columns:1fr;gap:2rem}
  .portfolio-hero-aside{justify-self:start;max-width:680px}
  .portfolio-collage{height:clamp(330px,67vw,560px)}
  .portfolio-collage-tile.is-left{grid-column:1/span 3}.portfolio-collage-tile.is-main{grid-column:4/span 6}.portfolio-collage-tile.is-right{grid-column:10/span 3}
  .portfolio-wall{gap:5rem 18px}
  .portfolio-card.is-portrait,.portfolio-card.is-landscape{grid-column:span 6}
  .portfolio-card:nth-child(3),.portfolio-card:nth-child(5),.portfolio-card:nth-child(8){margin-top:0}
  .portfolio-card.is-portrait .portfolio-media,.portfolio-card.is-landscape .portfolio-media{height:58vw;min-height:470px}
}
@media(max-width:767px){
  .portfolio-hero-premium{padding:8.8rem 0 5rem}
  .portfolio-hero-word{top:7.4rem;font-size:29vw}
  .portfolio-hero-copy h1{font-size:clamp(3.7rem,16vw,6.2rem)}
  .portfolio-collage{display:grid;grid-template-columns:1fr 1fr;height:auto;gap:10px}
  .portfolio-collage-tile.is-main{grid-column:1/-1;grid-row:1;height:58vh;min-height:430px;transform:none}
  .portfolio-collage-tile.is-left,.portfolio-collage-tile.is-right{grid-column:auto;grid-row:2;height:40vw;min-height:170px;transform:none}
  .portfolio-collage-tile.is-left{order:2}.portfolio-collage-tile.is-right{order:3}
  .portfolio-scroll-note{margin-top:2rem}
  .portfolio-wall{display:block}
  .portfolio-card,.portfolio-card.is-wide,.portfolio-card.is-portrait,.portfolio-card.is-landscape{margin:0 0 5rem}
  .portfolio-card.is-wide .portfolio-media,.portfolio-card.is-portrait .portfolio-media,.portfolio-card.is-landscape .portfolio-media{height:62vh;min-height:460px}
  .portfolio-card-topline{align-items:flex-start}.portfolio-card-topline em{max-width:62%}
  .portfolio-hover-cta{opacity:1;transform:none;padding:9px 10px 9px 13px}.portfolio-hover-cta span{display:none}
  .portfolio-hover-cta i{width:31px;height:31px}
  .portfolio-card h2{font-size:clamp(2.1rem,10vw,3.7rem)}
}
@media(prefers-reduced-motion:reduce){.portfolio-scroll-note span{animation:none}.portfolio-img,.portfolio-hover-cta,.portfolio-card h2,.portfolio-collage-tile img{transition:none!important}}


/* v39 — portfolio: always show complete photographs, never cropped */
.portfolio-collage{height:auto;align-items:center}
.portfolio-collage-tile{height:auto!important;transform:none!important;background:#171713}
.portfolio-collage-tile img{width:100%;height:100%;object-fit:contain;transform:none!important}
.portfolio-collage-tile:hover img{transform:none!important;filter:saturate(1.025)}
.portfolio-wall{align-items:start}
.portfolio-media{height:auto!important;min-height:0!important;background:#e4dfd5}
.portfolio-img{inset:0;width:100%;height:100%;object-fit:contain;transform:none!important}
.portfolio-img-primary{opacity:1}
.portfolio-img-secondary{opacity:0}
.portfolio-card:hover .portfolio-img-primary{opacity:0;transform:none!important}
.portfolio-card:hover .portfolio-img-secondary{opacity:1;transform:none!important}
.portfolio-card:hover .portfolio-media{transform:translateY(-5px);box-shadow:0 34px 80px rgba(24,24,20,.14)}
.portfolio-media{transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}
@media(max-width:767px){
  .portfolio-collage{grid-template-columns:1fr!important;gap:14px}
  .portfolio-collage-tile.is-left,.portfolio-collage-tile.is-main,.portfolio-collage-tile.is-right{grid-column:1!important;grid-row:auto!important;width:100%}
  .portfolio-card,.portfolio-card.is-wide,.portfolio-card.is-portrait,.portfolio-card.is-landscape{margin-bottom:4.5rem}
}


/* v40 — compact premium masonry portfolio; complete photos, no cropping */
.portfolio-intro-section{padding-top:clamp(4.5rem,7vw,7rem);padding-bottom:clamp(3rem,5vw,4.5rem)}
.portfolio-showcase-section{padding:0 0 clamp(6rem,9vw,9rem)}
.portfolio-masonry{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:8px;
  grid-auto-flow:dense;
  column-gap:clamp(14px,1.6vw,24px);
  row-gap:0;
  align-items:start;
}
.portfolio-masonry-card{
  min-width:0;
  margin:0!important;
  grid-column:auto!important;
  align-self:start;
}
.portfolio-masonry-card .portfolio-card-link{display:block;padding-bottom:clamp(18px,2vw,30px)}
.portfolio-masonry-card .portfolio-media{
  width:100%;height:auto!important;min-height:0!important;
  overflow:hidden;border-radius:clamp(14px,1.4vw,22px);
  background:#e7e2d8;box-shadow:0 14px 38px rgba(24,24,20,.075);
  transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;
}
.portfolio-masonry-card .portfolio-img{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  object-fit:contain!important;display:block;transform:none!important;opacity:1!important;
  transition:filter .5s ease!important;
}
.portfolio-masonry-card:hover .portfolio-img{filter:saturate(1.045) contrast(1.01)}
.portfolio-masonry-card:hover .portfolio-media{transform:translateY(-4px);box-shadow:0 22px 52px rgba(24,24,20,.12)}
.portfolio-masonry-card .portfolio-media-shade{background:linear-gradient(180deg,transparent 58%,rgba(12,12,10,.20) 100%);opacity:.18}
.portfolio-masonry-card:hover .portfolio-media-shade{opacity:.38}
.portfolio-masonry-card .portfolio-badge-premium{top:10px;left:10px;padding:6px 9px;font-size:7px;letter-spacing:.13em}
.portfolio-masonry-card .portfolio-hover-cta{right:10px;bottom:10px;padding:7px;opacity:0;transform:translateY(8px) scale(.94)}
.portfolio-masonry-card .portfolio-hover-cta span{display:none}
.portfolio-masonry-card .portfolio-hover-cta i{width:34px;height:34px;font-size:13px}
.portfolio-masonry-card:hover .portfolio-hover-cta{opacity:1;transform:translateY(0) scale(1)}
.portfolio-masonry-card .portfolio-card-copy{padding:13px 2px 0}
.portfolio-masonry-card .portfolio-card-topline{margin-bottom:7px;font-size:8px;letter-spacing:.12em;line-height:1.35}
.portfolio-masonry-card .portfolio-card-topline em{max-width:68%;white-space:normal}
.portfolio-masonry-card h2{font-size:clamp(1.35rem,1.75vw,2.15rem);line-height:1.03;letter-spacing:-.025em}
.portfolio-masonry-card:hover h2{transform:translateX(4px)}
.portfolio-collage{max-width:1180px;margin-left:auto;margin-right:auto;gap:clamp(10px,1.2vw,18px)}
.portfolio-collage-tile{border-radius:clamp(14px,1.4vw,22px);box-shadow:0 18px 50px rgba(0,0,0,.20)}
@media(max-width:991px){
  .portfolio-masonry{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
  .portfolio-masonry-card h2{font-size:clamp(1.35rem,3vw,2rem)}
}
@media(max-width:620px){
  .portfolio-masonry{grid-template-columns:1fr;display:block}
  .portfolio-masonry-card{margin:0 0 2.6rem!important}
  .portfolio-masonry-card .portfolio-card-link{padding-bottom:0}
  .portfolio-masonry-card h2{font-size:clamp(1.65rem,7.5vw,2.4rem)}
  .portfolio-masonry-card .portfolio-hover-cta{opacity:1;transform:none}
}


/* v41: premium fullscreen gallery for project detail pages */
body.lightbox-open{overflow:hidden;touch-action:none}
.project-hero-media.is-gallery-trigger{cursor:zoom-in}
.project-hero-media.is-gallery-trigger:after{content:"↗";position:absolute;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#181814;font-size:18px;z-index:4;box-shadow:0 12px 30px rgba(0,0,0,.16);opacity:.82;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease,background .25s ease}
.project-hero-media.is-gallery-trigger:hover:after{opacity:1;transform:translateY(0);background:#fff}
.gallery-item{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:500;background:rgba(12,12,10,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;opacity:0;visibility:hidden;pointer-events:none;padding:0;transition:opacity .28s ease,visibility .28s ease}
.lightbox.is-open{display:flex;opacity:1;visibility:visible;pointer-events:auto}
.lightbox-viewer{width:100%;height:100%;min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#fff;position:relative;padding:20px 26px 18px}
.lightbox-topbar{height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto 54px;gap:18px;align-items:center;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:14px}
.lightbox-heading{min-width:0;display:flex;align-items:baseline;gap:18px}
.lightbox-eyebrow{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);white-space:nowrap}
.lightbox-heading strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem,1.6vw,1.4rem);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lightbox-counter{font-size:10px;letter-spacing:.16em;color:rgba(255,255,255,.7);white-space:nowrap}
.lightbox .lightbox-close,.lightbox .lightbox-nav{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.lightbox .lightbox-close{position:static;width:46px;height:46px;border-radius:50%;font-size:30px;line-height:1}
.lightbox .lightbox-close:hover,.lightbox .lightbox-nav:hover{background:#fff;color:#181814;border-color:#fff}
.lightbox-stage{position:relative;min-height:0;display:grid;place-items:center;padding:22px 78px 18px}
.lightbox-media-wrap{width:100%;height:100%;min-height:0;display:grid;place-items:center;opacity:1;transform:scale(1);transition:opacity .18s ease,transform .18s ease}
.lightbox-media-wrap.is-changing{opacity:.25;transform:scale(.992)}
.lightbox .lightbox-media{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 190px);object-fit:contain;border-radius:14px;box-shadow:0 28px 80px rgba(0,0,0,.34)}
.lightbox .lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;font-size:20px;z-index:3}
.lightbox .lightbox-nav:hover{transform:translateY(-50%) scale(1.04)}
.lightbox-prev{left:6px}.lightbox-next{right:6px}
.lightbox-thumbs{height:76px;display:flex;gap:9px;align-items:center;justify-content:center;overflow-x:auto;scrollbar-width:none;padding:8px 0 0;overscroll-behavior-inline:contain}
.lightbox-thumbs::-webkit-scrollbar{display:none}
.lightbox .lightbox-thumb{position:static;flex:0 0 auto;width:78px;height:54px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.18);padding:0;background:#111;opacity:.48;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}
.lightbox .lightbox-thumb img{width:100%;height:100%;object-fit:cover;max-width:none;max-height:none}
.lightbox .lightbox-thumb:hover{opacity:.82;transform:translateY(-2px)}
.lightbox .lightbox-thumb.is-active{opacity:1;border-color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.65)}
@media(max-width:767px){
  .project-hero-media.is-gallery-trigger:after{right:14px;bottom:14px;width:42px;height:42px}
  .lightbox-viewer{padding:10px 12px 10px}
  .lightbox-topbar{height:58px;grid-template-columns:minmax(0,1fr) auto 44px;gap:10px;padding-bottom:9px}
  .lightbox-eyebrow{display:none}
  .lightbox-heading strong{font-size:1rem}
  .lightbox-counter{font-size:9px}
  .lightbox .lightbox-close{width:40px;height:40px;font-size:26px}
  .lightbox-stage{padding:14px 0 12px}
  .lightbox .lightbox-media{max-height:calc(100svh - 160px);border-radius:10px}
  .lightbox .lightbox-nav{width:44px;height:44px;top:auto;bottom:22px;background:rgba(10,10,8,.62);border-color:rgba(255,255,255,.24)}
  .lightbox-prev{left:12px}.lightbox-next{right:12px}
  .lightbox-thumbs{height:64px;justify-content:flex-start;padding-inline:2px}
  .lightbox .lightbox-thumb{width:66px;height:46px;border-radius:8px}
}

/* v42: logo closer to the left edge of the floating header */
.site-header > .container-fluid{
  padding-left:8px!important;
}
.home-page .site-header > .container-fluid{
  padding-left:8px!important;
}
@media(max-width:767px){
  .site-header > .container-fluid,
  .home-page .site-header > .container-fluid{
    padding-left:7px!important;
  }
}

/* v43: kinetic premium footer wordmark */
.footer-wordmark{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.005em;
  overflow:visible;
  perspective:900px;
}
.footer-wordmark .footer-letter{
  display:inline-block;
  flex:1 1 0;
  min-width:0;
  text-align:center;
  transform-origin:50% 82%;
  will-change:transform,color,filter;
  transition:transform .48s cubic-bezier(.16,1,.3,1),color .35s ease,filter .35s ease,opacity .35s ease;
}
.footer-wordmark.is-ready .footer-letter:hover,
.footer-wordmark.is-ready .footer-letter.is-hovered{
  transform:translateY(-.055em) scale(1.16,1.1);
  color:rgba(24,24,20,.42);
  filter:blur(0);
  z-index:3;
}
.footer-wordmark.is-ready .footer-letter.is-near{
  transform:translateY(-.018em) scale(1.055,1.035);
  color:rgba(24,24,20,.24);
}
.site-footer-light:hover .footer-wordmark{
  color:rgba(24,24,20,.16);
}
@media(hover:none),(pointer:coarse){
  .footer-wordmark .footer-letter:hover{transform:none;color:inherit}
}
@media(prefers-reduced-motion:reduce){
  .footer-wordmark .footer-letter{transition:none!important;transform:none!important;filter:none!important}
}

/* v44: identical premium capsule header on every page */
.site-header,
.home-page .site-header{
  position:fixed!important;
  top:calc(var(--frame-gap) + var(--header-top-gap))!important;
  left:50%!important;
  right:auto!important;
  width:calc(100% - (2 * var(--frame-gap)) - (2 * var(--header-inset)))!important;
  max-width:1360px!important;
  transform:translateX(-50%)!important;
  padding:13px 0!important;
  color:var(--ink)!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:999px!important;
  box-shadow:0 14px 38px rgba(20,20,18,.105)!important;
  backdrop-filter:blur(12px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(112%)!important;
  overflow:hidden;
}
.site-header.is-scrolled,
.home-page .site-header.is-scrolled{
  top:12px!important;
  width:calc(100% - (2 * var(--frame-gap)) - (2 * var(--header-inset)))!important;
  max-width:1360px!important;
  background:rgba(224,222,214,.78)!important;
  border-color:rgba(255,255,255,.42)!important;
  border-radius:999px!important;
  box-shadow:0 18px 48px rgba(20,20,18,.14)!important;
  backdrop-filter:blur(22px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(120%)!important;
}
.site-header > .container-fluid,
.home-page .site-header > .container-fluid{
  padding-left:8px!important;
  padding-right:clamp(22px,2.4vw,38px)!important;
}
@media(max-width:767px){
  .site-header,
  .home-page .site-header{
    top:calc(var(--frame-gap) + var(--header-top-gap))!important;
    width:calc(100% - (2 * var(--frame-gap)) - (2 * var(--header-inset)))!important;
    border-radius:999px!important;
    padding:10px 0!important;
  }
  .site-header.is-scrolled,
  .home-page .site-header.is-scrolled{top:10px!important}
  .site-header > .container-fluid,
  .home-page .site-header > .container-fluid{
    padding-left:7px!important;
    padding-right:15px!important;
  }
}

/* v45 — premium portfolio motion: editorial marquee, spotlight hover and kinetic details */
.portfolio-hero-premium{isolation:isolate}
.portfolio-hero-word{will-change:transform;transform:translate3d(0,0,0)}
.portfolio-hero-aside>p{max-width:590px}
.portfolio-count strong{font-variant-numeric:tabular-nums}

.portfolio-marquee{position:relative;overflow:hidden;background:#181814;color:#f3f0e8;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:17px 0}
.portfolio-marquee::before,.portfolio-marquee::after{content:"";position:absolute;top:0;bottom:0;width:8vw;z-index:2;pointer-events:none}
.portfolio-marquee::before{left:0;background:linear-gradient(90deg,#181814,rgba(24,24,20,0))}
.portfolio-marquee::after{right:0;background:linear-gradient(-90deg,#181814,rgba(24,24,20,0))}
.portfolio-marquee-track{display:flex;width:max-content;animation:portfolioMarquee 28s linear infinite;will-change:transform}
.portfolio-marquee-row{display:flex;align-items:center;flex:0 0 auto;gap:clamp(24px,3vw,48px);padding-right:clamp(24px,3vw,48px)}
.portfolio-marquee-row span{font-size:clamp(.78rem,.9vw,.94rem);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:#ece8df}
.portfolio-marquee-row i{font-style:normal;font-size:.68rem;color:#8d877c;transform:translateY(-1px)}
@keyframes portfolioMarquee{to{transform:translateX(-50%)}}

.portfolio-masonry-card{position:relative;perspective:1100px}
.portfolio-masonry-card::after{content:attr(data-project-index);position:absolute;right:4px;top:-18px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,5vw,6rem);line-height:1;color:rgba(24,24,20,.045);pointer-events:none;z-index:-1;transition:color .4s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.portfolio-masonry-card:hover::after{color:rgba(24,24,20,.085);transform:translateY(-5px)}
.portfolio-masonry-card .portfolio-card-link{position:relative;transform-style:preserve-3d}
.portfolio-masonry-card .portfolio-media{--spot-x:50%;--spot-y:50%;position:relative;isolation:isolate;border:1px solid rgba(24,24,20,.07);transform-origin:center center}
.portfolio-masonry-card .portfolio-media::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle 180px at var(--spot-x) var(--spot-y),rgba(255,255,255,.22),rgba(255,255,255,.07) 34%,transparent 72%);opacity:0;transition:opacity .35s ease;mix-blend-mode:soft-light}
.portfolio-masonry-card:hover .portfolio-media::before{opacity:1}
.portfolio-masonry-card .portfolio-media::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.0);z-index:5;pointer-events:none;transition:border-color .35s ease,box-shadow .35s ease}
.portfolio-masonry-card:hover .portfolio-media::after{border-color:rgba(255,255,255,.34);box-shadow:inset 0 0 0 1px rgba(24,24,20,.035)}
.portfolio-masonry-card .portfolio-hover-cta{left:var(--cta-x,auto);top:var(--cta-y,auto);right:10px;bottom:10px;will-change:left,top,transform;transition:opacity .25s ease,transform .28s cubic-bezier(.2,.8,.2,1),background .25s ease}
.portfolio-masonry-card.is-pointer-active .portfolio-hover-cta{right:auto;bottom:auto;transform:translate(-50%,-50%) scale(1);opacity:1}
.portfolio-masonry-card .portfolio-card-copy{position:relative;padding-top:16px}
.portfolio-masonry-card .portfolio-card-copy::before{content:"";display:block;width:100%;height:1px;background:rgba(24,24,20,.10);margin-bottom:13px;transform-origin:left center;transform:scaleX(.24);transition:transform .55s cubic-bezier(.2,.8,.2,1),background .35s ease}
.portfolio-masonry-card:hover .portfolio-card-copy::before{transform:scaleX(1);background:rgba(24,24,20,.26)}
.portfolio-masonry-card .portfolio-card-topline span{transition:letter-spacing .35s ease,color .35s ease}
.portfolio-masonry-card:hover .portfolio-card-topline span{letter-spacing:.2em;color:#403d37}
.portfolio-masonry-card h2{position:relative}
.portfolio-masonry-card h2::after{content:"↗";display:inline-block;margin-left:.35em;font-family:Arial,sans-serif;font-size:.42em;vertical-align:.52em;opacity:0;transform:translate(-8px,8px);transition:opacity .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
.portfolio-masonry-card:hover h2::after{opacity:.55;transform:translate(0,0)}

.portfolio-collage-tile{transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}
.portfolio-collage-tile:hover{transform:translateY(-7px)!important;box-shadow:0 38px 90px rgba(0,0,0,.30)}

@media(max-width:991px){
  .portfolio-marquee{padding:14px 0}
  .portfolio-masonry-card::after{font-size:4.2rem;top:-10px}
}
@media(max-width:767px){
  .portfolio-marquee-row span{font-size:.72rem}
  .portfolio-masonry-card::after{display:none}
  .portfolio-masonry-card .portfolio-media::before{display:none}
  .portfolio-masonry-card .portfolio-card-copy::before{transform:scaleX(1)}
  .portfolio-masonry-card h2::after{opacity:.42;transform:none}
  .portfolio-collage-tile:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .portfolio-marquee-track{animation:none}
  .portfolio-masonry-card::after,.portfolio-masonry-card .portfolio-card-copy::before,.portfolio-masonry-card h2::after{transition:none!important}
}


/* v46: project detail photos are always shown in full */
.project-hero .hero-img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#11110f;
}
.gallery-grid{
  align-items:start;
}
.gallery-grid .gallery-item,
.gallery-grid .gallery-item:nth-child(2),
.gallery-grid .gallery-item:nth-child(4){
  height:auto!important;
  min-height:0!important;
  overflow:hidden;
  align-self:start;
  background:#11110f;
}
.gallery-grid .gallery-item .cover{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.lightbox .lightbox-media{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(100dvh - 190px)!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(max-width:767px){
  .gallery-grid .gallery-item,
  .gallery-grid .gallery-item:nth-child(2),
  .gallery-grid .gallery-item:nth-child(4){
    height:auto!important;
    margin-bottom:14px;
  }
  .lightbox .lightbox-media{
    max-height:calc(100svh - 160px)!important;
  }
}

/* v47 — lighter premium portfolio hero + breathing room below marquee */
.portfolio-hero-premium{
  background:
    radial-gradient(circle at 82% 12%, rgba(255,255,255,.94) 0, rgba(255,255,255,.48) 18%, rgba(255,255,255,0) 42%),
    radial-gradient(circle at 12% 92%, rgba(196,176,145,.26) 0, rgba(196,176,145,.10) 30%, rgba(196,176,145,0) 55%),
    linear-gradient(135deg,#f8f3ea 0%,#eee4d5 48%,#f7f4ed 100%)!important;
  color:#1c1b17!important;
  border-bottom:1px solid rgba(72,61,46,.08);
}
.portfolio-hero-premium::before{
  content:"";
  position:absolute;
  width:min(44vw,650px);
  height:min(44vw,650px);
  left:-14vw;
  top:18%;
  border-radius:50%;
  border:1px solid rgba(83,69,50,.07);
  box-shadow:0 0 0 38px rgba(255,255,255,.09),0 0 0 110px rgba(255,255,255,.035);
  pointer-events:none;
}
.portfolio-hero-premium::after{
  border-color:rgba(84,70,52,.09)!important;
  background:radial-gradient(circle,rgba(255,255,255,.24),rgba(255,255,255,0) 68%);
}
.portfolio-hero-word{color:rgba(92,76,57,.055)!important}
.portfolio-hero-copy .eyebrow{color:#756b5d}
.portfolio-hero-copy h1{color:#1c1b17}
.portfolio-hero-copy h1 em{color:#8c7056!important}
.portfolio-hero-aside>p{color:#5f594f!important}
.portfolio-count{border-top-color:rgba(28,27,23,.16)!important}
.portfolio-count strong{color:#1c1b17!important}
.portfolio-count span{color:#766e62!important}
.portfolio-scroll-note{color:#766e62!important}
.portfolio-scroll-note span{background:#766e62!important}
.portfolio-collage-tile{box-shadow:0 24px 65px rgba(76,58,38,.14)!important}
.portfolio-collage-tile:hover{box-shadow:0 34px 82px rgba(76,58,38,.20)!important}

/* Give the moving dark strip a clear visual break before the project wall. */
.portfolio-marquee{
  box-shadow:0 18px 44px rgba(24,24,20,.09);
}
.portfolio-showcase-section{
  padding-top:clamp(4rem,6.5vw,7rem)!important;
  position:relative;
}
.portfolio-showcase-section::before{
  content:"";
  position:absolute;
  top:0;
  left:clamp(16px,4vw,64px);
  right:clamp(16px,4vw,64px);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(24,24,20,.10) 18%,rgba(24,24,20,.10) 82%,transparent);
  opacity:.65;
}
@media(max-width:767px){
  .portfolio-hero-premium::before{width:78vw;height:78vw;left:-36vw;top:24%}
  .portfolio-showcase-section{padding-top:3.5rem!important}
  .portfolio-showcase-section::before{left:16px;right:16px}
}
@media(prefers-reduced-motion:reduce){
  .portfolio-hero-premium::before{box-shadow:none}
}

/* v48: expanded custom-kitchen page */
.kitchen-page-v48{background:var(--paper)}
.kitchen-offer-hero .kitchen-hero-badge{left:auto;right:clamp(16px,3vw,48px);bottom:clamp(18px,3vw,42px)}
.kitchen-intro-v48 .benefit-pill{background:rgba(255,255,255,.82)}
.kitchen-story-grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(320px,.78fr);gap:18px;margin-top:clamp(2.5rem,5vw,5rem)}
.kitchen-story-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.kitchen-story-media{position:relative;overflow:hidden;border-radius:28px;min-height:300px;margin:0;background:#ddd8cd;box-shadow:0 22px 58px rgba(24,24,20,.08)}
.kitchen-story-main{height:700px}
.kitchen-story-side .kitchen-story-media{height:341px}
.kitchen-story-media img,.kitchen-style-card img,.kitchen-function-media img,.kitchen-material-image img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.75,.2,1)}
.kitchen-story-media:hover img,.kitchen-style-card:hover img,.kitchen-function-media:hover img,.kitchen-material-image:hover img{transform:scale(1.025)}
.kitchen-story-media figcaption,.kitchen-function-media figcaption{position:absolute;right:16px;bottom:16px;z-index:2;padding:8px 11px;border-radius:999px;background:rgba(242,239,232,.9);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.kitchen-style-grid{gap:22px}
.kitchen-style-card{transition:transform .35s ease,box-shadow .35s ease}
.kitchen-style-card:hover{transform:translateY(-7px);box-shadow:0 26px 62px rgba(24,24,20,.1)}
.kitchen-style-card .inspiration-media{height:360px}
.kitchen-function-v48{background:linear-gradient(135deg,#f2eee5 0%,#ebe6da 48%,#f7f4ed 100%)}
.kitchen-function-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);gap:clamp(3rem,7vw,8rem);align-items:start}
.kitchen-function-copy>.display-title{max-width:760px;margin-bottom:28px}
.kitchen-function-copy>p{max-width:740px;color:#58544c;font-size:clamp(1.02rem,1.25vw,1.16rem);line-height:1.78;margin:0 0 30px}
.kitchen-step-list{border-top:1px solid rgba(24,24,20,.14)}
.kitchen-step{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid rgba(24,24,20,.14)}
.kitchen-step>span{width:40px;height:40px;border:1px solid rgba(24,24,20,.18);border-radius:50%;display:grid;place-items:center;font-size:9px;letter-spacing:.12em}
.kitchen-step h3{font-family:Georgia,serif;font-size:clamp(1.3rem,1.7vw,1.65rem);font-weight:400;margin:0 0 7px}
.kitchen-step p{margin:0;color:#625e56;line-height:1.68}
.kitchen-function-media{position:sticky;top:120px;height:760px;margin:0;border-radius:30px;overflow:hidden;box-shadow:0 24px 60px rgba(24,24,20,.1)}
.kitchen-materials-v48{background:#fff}
.kitchen-material-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:22px;align-items:stretch}
.kitchen-material-image{height:680px;position:relative;margin:0;border-radius:28px;overflow:hidden;box-shadow:0 22px 58px rgba(24,24,20,.08)}
.kitchen-material-cards{display:grid;gap:14px}
.kitchen-material-card{padding:clamp(1.5rem,3vw,2.2rem);border:1px solid rgba(24,24,20,.08);border-radius:24px;background:linear-gradient(145deg,#f6f3ec,#fff);box-shadow:0 14px 36px rgba(24,24,20,.04);transition:transform .3s ease,border-color .3s ease}
.kitchen-material-card:hover{transform:translateX(6px);border-color:rgba(24,24,20,.17)}
.kitchen-material-card>span{font-size:9px;letter-spacing:.14em;color:#8b8578}
.kitchen-material-card h3{font-family:Georgia,serif;font-size:clamp(1.55rem,2vw,2rem);font-weight:400;margin:10px 0 10px}
.kitchen-material-card p{margin:0;color:var(--muted);line-height:1.72}
.kitchen-production-v48{padding-top:0}
.kitchen-production-panel{position:relative;overflow:hidden;border-radius:34px;padding:clamp(2.2rem,6vw,5.5rem);background:linear-gradient(120deg,#dfd3c0 0%,#efe7d9 42%,#f7f3eb 100%);border:1px solid rgba(24,24,20,.08);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(3rem,7vw,7rem);align-items:end}
.kitchen-production-panel:after{content:"STOLBUK";position:absolute;right:-.04em;top:-.14em;font-size:clamp(7rem,18vw,17rem);font-weight:900;letter-spacing:-.08em;line-height:1;color:rgba(24,24,20,.035);pointer-events:none}
.kitchen-production-panel .display-title{max-width:700px;margin-bottom:26px}
.kitchen-production-panel p{max-width:760px;color:#575249;font-size:1.05rem;line-height:1.78;margin:0}
.kitchen-production-points{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(24,24,20,.15);border-left:1px solid rgba(24,24,20,.15)}
.kitchen-production-points>div{min-height:132px;padding:22px;border-right:1px solid rgba(24,24,20,.15);border-bottom:1px solid rgba(24,24,20,.15);display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.18)}
.kitchen-production-points strong{font-family:Georgia,serif;font-size:2rem;font-weight:400}
.kitchen-production-points span{font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.kitchen-projects-v48 .mini-card{transition:transform .35s ease}
.kitchen-projects-v48 .mini-card:hover{transform:translateY(-6px)}
.kitchen-projects-v48 .mini-image{height:390px}
.kitchen-projects-more{display:flex;justify-content:flex-end;margin-top:18px}
@media(max-width:1199px){.kitchen-story-grid{grid-template-columns:1.35fr .85fr}.kitchen-story-main{height:620px}.kitchen-story-side .kitchen-story-media{height:301px}.kitchen-function-grid,.kitchen-material-layout,.kitchen-production-panel{grid-template-columns:1fr}.kitchen-function-media{position:relative;top:auto;height:620px}.kitchen-material-image{height:600px}.kitchen-production-points{max-width:760px}}
@media(max-width:767px){.kitchen-story-grid{grid-template-columns:1fr}.kitchen-story-main,.kitchen-story-side .kitchen-story-media{height:52vh;min-height:320px}.kitchen-story-side{grid-template-rows:none}.kitchen-story-media{border-radius:22px}.kitchen-style-card .inspiration-media{height:300px}.kitchen-function-media,.kitchen-material-image{height:58vh;min-height:420px;border-radius:22px}.kitchen-step{grid-template-columns:42px 1fr;gap:12px}.kitchen-step>span{width:36px;height:36px}.kitchen-production-panel{border-radius:24px}.kitchen-production-points{grid-template-columns:1fr}.kitchen-projects-v48 .mini-image{height:56vh}.kitchen-projects-more{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.kitchen-story-media img,.kitchen-style-card img,.kitchen-function-media img,.kitchen-material-image img,.kitchen-style-card,.kitchen-material-card,.kitchen-projects-v48 .mini-card{transition:none!important;transform:none!important}}



/* v49 — editorial light fullscreen hamburger menu */
.menu-overlay.menu-overlay-v49{
  background:
    radial-gradient(circle at 82% 13%,rgba(194,178,151,.34),transparent 31%),
    radial-gradient(circle at 8% 88%,rgba(255,255,255,.72),transparent 30%),
    linear-gradient(135deg,#faf7f1 0%,#f1ebe2 55%,#e8dfd2 100%);
  color:var(--ink);
  overflow:hidden;
}
.menu-overlay-v49:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background-image:
    linear-gradient(rgba(31,29,25,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(31,29,25,.032) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.72),transparent 70%);
}
.menu-inner.menu-inner-v49{
  position:relative;
  z-index:1;
  height:100%;
  padding:clamp(1.5rem,3vw,2.75rem) clamp(1.25rem,4vw,4.5rem) 1.5rem;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.menu-top-v49{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding-right:5.5rem;
}
.menu-overlay-v49 .menu-kicker,
.menu-top-note-v49{
  color:#777064;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.menu-top-note-v49{white-space:nowrap}
.menu-layout-v49{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(320px,.54fr);
  gap:clamp(2.5rem,6vw,7rem);
  align-items:center;
  padding:clamp(1.2rem,2.4vh,2rem) 0;
}
.menu-overlay .menu-nav-v49{
  margin:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.menu-overlay .menu-nav-v49 .menu-link-v49{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 28px;
  gap:15px;
  align-items:center;
  padding:clamp(.62rem,1.05vh,.92rem) 0;
  border-bottom:1px solid rgba(31,29,25,.15);
  color:var(--ink);
  line-height:1;
  overflow:hidden;
  transition:color .35s ease,border-color .35s ease;
}
.menu-overlay .menu-nav-v49 .menu-link-v49:first-child{border-top:1px solid rgba(31,29,25,.15)}
.menu-overlay .menu-nav-v49 .menu-link-v49:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.menu-overlay .menu-nav-v49 .menu-link-v49:hover:before,
.menu-overlay .menu-nav-v49 .menu-link-v49:focus-visible:before,
.menu-overlay .menu-nav-v49 .menu-link-v49.is-current:before{transform:scaleX(1)}
.menu-overlay .menu-nav-v49 .menu-link-v49 > span{
  margin-top:0;
  font-family:inherit;
  font-size:inherit;
}
.menu-index-v49{
  align-self:start;
  padding-top:.7em;
  color:#9b9386;
  font-size:9px!important;
  letter-spacing:.15em;
  transition:color .3s ease;
}
.menu-copy-v49{min-width:0}
.menu-copy-v49 strong{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.05rem,3.45vw,4.35rem);
  line-height:.88;
  letter-spacing:-.045em;
  font-weight:400;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),color .3s ease;
}
.menu-copy-v49 small{
  display:block;
  max-width:560px;
  margin-top:.35rem;
  color:#787167;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(.68rem,.78vw,.82rem);
  line-height:1.42;
  letter-spacing:.01em;
  transition:color .3s ease,transform .45s cubic-bezier(.2,.8,.2,1);
}
.menu-arrow-v49{
  justify-self:end;
  color:#8c8478;
  font-size:1.05rem!important;
  transition:transform .4s cubic-bezier(.2,.8,.2,1),color .3s ease;
}
.menu-link-v49:hover .menu-copy-v49 strong,
.menu-link-v49:focus-visible .menu-copy-v49 strong{transform:translateX(9px);color:#684936}
.menu-link-v49:hover .menu-copy-v49 small,
.menu-link-v49:focus-visible .menu-copy-v49 small{transform:translateX(9px);color:#4f4a43}
.menu-link-v49:hover .menu-arrow-v49,
.menu-link-v49:focus-visible .menu-arrow-v49{transform:translate(4px,-4px);color:var(--accent)}
.menu-link-v49:hover .menu-index-v49,
.menu-link-v49:focus-visible .menu-index-v49,
.menu-link-v49.is-current .menu-index-v49{color:var(--accent)}
.menu-link-v49.is-current .menu-copy-v49 strong{color:#684936}
.menu-preview-v49{
  position:relative;
  min-width:0;
  justify-self:stretch;
  align-self:center;
}
.menu-preview-frame-v49{
  position:relative;
  width:100%;
  height:min(59vh,640px);
  min-height:370px;
  overflow:hidden;
  border-radius:30px 30px 8px 30px;
  background:#d8cfc1;
  box-shadow:0 30px 80px rgba(48,40,31,.16);
}
.menu-preview-frame-v49:after{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:23px 23px 5px 23px;
  pointer-events:none;
}
.menu-preview-frame-v49 img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
  will-change:transform,opacity;
}
.menu-preview-shade-v49{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(18,16,13,.58) 100%);
}
.menu-preview-meta-v49{
  position:absolute;
  left:clamp(1.4rem,2.6vw,2.4rem);
  right:clamp(1.4rem,2.6vw,2.4rem);
  bottom:clamp(1.3rem,2.6vw,2.4rem);
  color:#fff;
}
.menu-preview-meta-v49 span{
  display:block;
  margin-bottom:.65rem;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.72;
}
.menu-preview-meta-v49 strong{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.7rem,2.7vw,3.2rem);
  line-height:.95;
  letter-spacing:-.035em;
  font-weight:400;
}
.menu-preview-note-v49{
  margin:.9rem 0 0;
  text-align:right;
  color:#777064;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.menu-close.menu-close-v49{
  z-index:3;
  right:clamp(1.25rem,3vw,3rem);
  top:clamp(1.15rem,2vw,2rem);
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:1px solid rgba(31,29,25,.18);
  border-radius:50%;
  background:rgba(255,255,255,.28);
  backdrop-filter:blur(8px);
  color:var(--ink);
  font-size:34px;
  line-height:1;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s ease,border-color .3s ease;
}
.menu-close-v49:hover,
.menu-close-v49:focus-visible{
  transform:rotate(90deg);
  background:#fff;
  border-color:rgba(31,29,25,.32);
}
.menu-bottom.menu-bottom-v49{
  padding-top:1.15rem;
  border-top:1px solid rgba(31,29,25,.16);
  color:#70695f;
  font-size:11px;
  line-height:1.55;
}
.menu-bottom-v49 a{transition:color .25s ease}
.menu-bottom-v49 a:hover{color:var(--accent)}
.menu-bottom-v49 .lang-link{color:#777064}
.menu-bottom-v49 .lang-link.active{color:var(--ink)}

@media(max-width:1199px){
  .menu-layout-v49{grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:3rem}
  .menu-copy-v49 strong{font-size:clamp(2rem,4vw,3.6rem)}
  .menu-preview-frame-v49{height:min(54vh,560px);min-height:330px}
}
@media(max-width:991px){
  .menu-overlay.menu-overlay-v49{overflow-y:auto}
  .menu-inner.menu-inner-v49{height:auto;min-height:100svh;grid-template-rows:auto auto auto}
  .menu-layout-v49{display:block;padding:2rem 0}
  .menu-preview-v49{display:none}
  .menu-overlay .menu-nav-v49{display:flex}
  .menu-copy-v49 strong{font-size:clamp(2.2rem,6vw,3.7rem)}
  .menu-copy-v49 small{max-width:620px;font-size:.78rem}
  .menu-bottom.menu-bottom-v49{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .menu-inner.menu-inner-v49{padding:1.15rem 1.2rem 1.5rem}
  .menu-top-v49{padding-right:3.8rem;min-height:44px}
  .menu-top-note-v49{display:none}
  .menu-layout-v49{padding:1rem 0 1.65rem}
  .menu-overlay .menu-nav-v49 .menu-link-v49{
    grid-template-columns:28px minmax(0,1fr) 20px;
    gap:10px;
    padding:.72rem 0;
  }
  .menu-index-v49{padding-top:.55em;font-size:8px!important}
  .menu-copy-v49 strong{font-size:clamp(2rem,10vw,2.9rem);line-height:.91}
  .menu-copy-v49 small{font-size:.69rem;line-height:1.35;margin-top:.28rem;max-width:88%}
  .menu-arrow-v49{font-size:.9rem!important}
  .menu-close.menu-close-v49{right:.9rem;top:.78rem;width:42px;height:42px;font-size:30px}
  .menu-bottom.menu-bottom-v49{grid-template-columns:1fr;gap:.75rem;padding-top:1rem;font-size:10.5px}
  .menu-bottom-v49 .langs{margin-top:.2rem}
}
@media(prefers-reduced-motion:reduce){
  .menu-link-v49 *,
  .menu-link-v49:before,
  .menu-close-v49{transition:none!important}
}

/* v50 — fullscreen menu: fit first, scroll as a safe fallback */
.menu-overlay.menu-overlay-v49{
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(104,73,54,.35) transparent;
}
.menu-overlay.menu-overlay-v49::-webkit-scrollbar{width:7px}
.menu-overlay.menu-overlay-v49::-webkit-scrollbar-track{background:transparent}
.menu-overlay.menu-overlay-v49::-webkit-scrollbar-thumb{background:rgba(104,73,54,.28);border-radius:999px}
.menu-inner.menu-inner-v49{
  height:auto;
  min-height:100svh;
}
@supports(height:100dvh){
  .menu-inner.menu-inner-v49{min-height:100dvh}
}
@media(min-width:992px){
  .menu-inner.menu-inner-v49{
    height:100svh;
    min-height:0;
    padding:clamp(.9rem,1.8vh,1.45rem) clamp(1.25rem,4vw,4.5rem) clamp(.8rem,1.6vh,1.3rem);
    grid-template-rows:auto minmax(0,1fr) auto;
  }
  @supports(height:100dvh){
    .menu-inner.menu-inner-v49{height:100dvh}
  }
  .menu-top-v49{min-height:34px}
  .menu-layout-v49{
    height:100%;
    min-height:0;
    padding:clamp(.55rem,1.25vh,1rem) 0;
    gap:clamp(1.8rem,4.5vw,5.5rem);
    align-items:center;
  }
  .menu-overlay .menu-nav-v49{min-height:0;max-height:100%}
  .menu-overlay .menu-nav-v49 .menu-link-v49{
    padding:clamp(.34rem,.78vh,.66rem) 0;
  }
  .menu-copy-v49 strong{
    font-size:clamp(1.7rem,4.55vh,3.55rem);
    line-height:.91;
  }
  .menu-copy-v49 small{
    margin-top:.2rem;
    font-size:clamp(.62rem,1.18vh,.76rem);
    line-height:1.28;
  }
  .menu-index-v49{padding-top:.55em}
  .menu-preview-frame-v49{
    height:min(52vh,560px);
    min-height:0;
    max-height:100%;
  }
  .menu-preview-note-v49{margin-top:.55rem}
  .menu-bottom.menu-bottom-v49{
    padding-top:clamp(.65rem,1.2vh,1rem);
    font-size:clamp(9.5px,1.2vh,11px);
    line-height:1.42;
  }
}
@media(min-width:992px) and (max-height:760px){
  .menu-inner.menu-inner-v49{padding-top:.7rem;padding-bottom:.6rem}
  .menu-top-v49{min-height:28px}
  .menu-overlay-v49 .menu-kicker,.menu-top-note-v49{font-size:9px}
  .menu-layout-v49{padding:.4rem 0;gap:2rem}
  .menu-overlay .menu-nav-v49 .menu-link-v49{padding:.28rem 0;grid-template-columns:32px minmax(0,1fr) 24px;gap:11px}
  .menu-copy-v49 strong{font-size:clamp(1.5rem,4.3vh,2.55rem)}
  .menu-copy-v49 small{font-size:clamp(.58rem,1.15vh,.69rem);line-height:1.22;margin-top:.14rem}
  .menu-preview-frame-v49{height:min(46vh,430px);border-radius:24px 24px 7px 24px}
  .menu-preview-meta-v49{bottom:1.25rem;left:1.25rem;right:1.25rem}
  .menu-preview-meta-v49 strong{font-size:clamp(1.4rem,3.4vh,2.25rem)}
  .menu-preview-note-v49{display:none}
  .menu-bottom.menu-bottom-v49{padding-top:.55rem;font-size:9.5px;line-height:1.3}
  .menu-close.menu-close-v49{width:44px;height:44px;font-size:30px;top:.7rem}
}
@media(min-width:992px) and (max-height:650px){
  .menu-top-note-v49{display:none}
  .menu-copy-v49 strong{font-size:clamp(1.38rem,4vh,2.15rem)}
  .menu-copy-v49 small{font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:95%}
  .menu-preview-frame-v49{height:41vh}
  .menu-bottom.menu-bottom-v49{font-size:9px}
}
@media(max-width:991px){
  .menu-overlay.menu-overlay-v49{overflow-y:auto}
  .menu-inner.menu-inner-v49{height:auto;min-height:100svh}
}


/* v51 - fullscreen menu: higher start, quieter numbering, larger portrait preview */
@media(min-width:992px){
  .menu-inner.menu-inner-v49{
    padding-top:clamp(.45rem,.9vh,.8rem);
    padding-bottom:clamp(.55rem,1vh,.8rem);
  }
  .menu-top-v49{
    min-height:24px;
    padding-right:4.8rem;
  }
  .menu-overlay-v49 .menu-kicker,
  .menu-top-note-v49{
    font-size:8px;
    letter-spacing:.14em;
  }
  .menu-layout-v49{
    grid-template-columns:minmax(0,1fr) minmax(380px,.7fr);
    gap:clamp(2rem,4vw,4.5rem);
    align-items:start;
    padding:.12rem 0 .35rem;
  }
  .menu-overlay .menu-nav-v49{
    justify-content:flex-start;
    align-self:start;
  }
  .menu-overlay .menu-nav-v49 .menu-link-v49{
    grid-template-columns:22px minmax(0,1fr) 20px;
    gap:11px;
    padding:clamp(.32rem,.66vh,.52rem) 0;
  }
  .menu-index-v49{
    padding-top:.36em;
    font-size:6.5px!important;
    letter-spacing:.08em;
    opacity:.68;
  }
  .menu-arrow-v49{
    font-size:.82rem!important;
  }
  .menu-copy-v49 strong{
    font-size:clamp(1.7rem,4.25vh,3.35rem);
    line-height:.9;
  }
  .menu-copy-v49 small{
    margin-top:.16rem;
    font-size:clamp(.6rem,1.08vh,.73rem);
    line-height:1.25;
  }
  .menu-preview-v49{
    align-self:start;
    justify-self:end;
    width:auto;
    max-width:100%;
  }
  .menu-preview-frame-v49{
    height:min(73vh,720px);
    width:auto;
    max-width:min(39vw,540px);
    aspect-ratio:3 / 4;
    min-height:0;
    border-radius:28px 28px 8px 28px;
  }
  .menu-preview-meta-v49{
    left:1.25rem;
    right:1.25rem;
    bottom:1.25rem;
  }
  .menu-preview-meta-v49 span{
    margin-bottom:.45rem;
    font-size:7px;
    letter-spacing:.12em;
  }
  .menu-preview-meta-v49 strong{
    font-size:clamp(1.45rem,2.5vw,2.65rem);
  }
  .menu-preview-note-v49{
    margin-top:.42rem;
    font-size:7.5px;
    letter-spacing:.12em;
  }
  .menu-bottom.menu-bottom-v49{
    padding-top:clamp(.45rem,.8vh,.7rem);
    font-size:clamp(8.5px,1vh,10px);
    line-height:1.35;
  }
}
@media(min-width:992px) and (max-height:820px){
  .menu-layout-v49{grid-template-columns:minmax(0,1fr) minmax(350px,.66fr);gap:2.5rem}
  .menu-preview-frame-v49{height:min(70vh,620px);max-width:min(37vw,465px)}
  .menu-copy-v49 strong{font-size:clamp(1.5rem,4vh,2.75rem)}
  .menu-copy-v49 small{font-size:clamp(.56rem,1vh,.67rem)}
  .menu-overlay .menu-nav-v49 .menu-link-v49{padding:.27rem 0}
}
@media(min-width:992px) and (max-height:680px){
  .menu-layout-v49{grid-template-columns:minmax(0,1fr) minmax(310px,.62fr);gap:2rem}
  .menu-preview-frame-v49{height:min(66vh,500px);max-width:min(34vw,375px)}
  .menu-copy-v49 strong{font-size:clamp(1.3rem,3.7vh,2.15rem)}
  .menu-copy-v49 small{font-size:.55rem;line-height:1.18}
  .menu-index-v49{font-size:6px!important}
  .menu-top-v49{min-height:20px}
}

/* v52 - tighter menu top, inline number slash, larger descriptions */
.menu-overlay-v49 .menu-kicker{
  font-size:7px!important;
  letter-spacing:.18em!important;
  font-weight:600;
}
.menu-index-v49{
  white-space:nowrap;
}
.menu-index-v49::after{
  content:" /";
  display:inline;
  margin-left:.16em;
  color:currentColor;
}
@media(min-width:992px){
  .menu-inner.menu-inner-v49{
    padding-top:clamp(.18rem,.4vh,.35rem);
  }
  .menu-top-v49{
    min-height:17px;
    padding-right:4.5rem;
  }
  .menu-layout-v49{
    padding:0 0 .28rem;
  }
  .menu-overlay .menu-nav-v49 .menu-link-v49{
    grid-template-columns:34px minmax(0,1fr) 20px;
    gap:10px;
    padding:clamp(.3rem,.62vh,.48rem) 0;
  }
  .menu-index-v49{
    padding-top:.42em;
    font-size:6px!important;
    letter-spacing:.06em;
    opacity:.66;
  }
  .menu-copy-v49 small{
    margin-top:.22rem;
    font-size:clamp(.72rem,1.32vh,.86rem);
    line-height:1.32;
    max-width:620px;
  }
}
@media(min-width:992px) and (max-height:820px){
  .menu-top-v49{min-height:14px}
  .menu-layout-v49{padding:0 0 .2rem}
  .menu-overlay .menu-nav-v49 .menu-link-v49{padding:.24rem 0}
  .menu-copy-v49 small{font-size:clamp(.66rem,1.22vh,.78rem);line-height:1.25}
  .menu-index-v49{font-size:5.8px!important}
}
@media(min-width:992px) and (max-height:680px){
  .menu-top-v49{min-height:12px}
  .menu-overlay-v49 .menu-kicker,.menu-top-note-v49{font-size:6.5px!important}
  .menu-copy-v49 small{font-size:.63rem;line-height:1.2}
  .menu-index-v49{font-size:5.5px!important}
}
@media(max-width:991px){
  .menu-overlay .menu-nav-v49 .menu-link-v49{
    grid-template-columns:36px minmax(0,1fr) 20px;
  }
  .menu-index-v49{font-size:7px!important}
  .menu-copy-v49 small{font-size:.76rem;line-height:1.38}
}
@media(max-width:767px){
  .menu-top-v49{min-height:34px}
  .menu-overlay .menu-nav-v49 .menu-link-v49{
    grid-template-columns:34px minmax(0,1fr) 20px;
  }
  .menu-copy-v49 small{font-size:.72rem;line-height:1.36;max-width:94%}
}
/* v53 - number and slash forced into one line */
.menu-index-v49{
  display:inline-flex!important;
  align-items:baseline!important;
  white-space:nowrap!important;
  width:max-content!important;
  min-width:max-content!important;
}
.menu-index-v49::after{content:none!important;display:none!important;}
@media(min-width:992px){
  .menu-overlay .menu-nav-v49 .menu-link-v49{grid-template-columns:42px minmax(0,1fr) 20px!important;}
}
@media(max-width:991.98px){
  .menu-overlay .menu-nav-v49 .menu-link-v49{grid-template-columns:40px minmax(0,1fr) 24px!important;}
}

/* v54 — featured project on homepage + technology storytelling on project 07 */
.home-project-highlight{
  background:linear-gradient(135deg,#f7f1e7 0%,#eee4d5 48%,#faf8f3 100%);
  border-top:1px solid rgba(70,57,42,.08);
  border-bottom:1px solid rgba(70,57,42,.08);
  overflow:hidden;
}
.home-project-highlight-head{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,5rem)}
.home-project-highlight-head .display-title{max-width:980px}
.home-project-highlight-copy{max-width:620px;justify-self:end}
.home-project-highlight-copy p{font-size:clamp(1rem,1.28vw,1.18rem);line-height:1.75;color:#6f685d;margin:0 0 1.6rem}
.home-project-highlight-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:clamp(16px,2vw,28px);align-items:start}
.home-project-highlight-side{display:grid;gap:clamp(16px,2vw,24px)}
.home-project-visual{position:relative;display:block;overflow:hidden;border-radius:clamp(20px,2.2vw,32px);background:#e7e0d5;box-shadow:0 24px 70px rgba(33,28,21,.10);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s ease}
.home-project-visual img{display:block;width:100%;height:auto;object-fit:contain;transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.home-project-visual:hover{transform:translateY(-5px);box-shadow:0 32px 84px rgba(33,28,21,.16)}
.home-project-visual:hover img{transform:scale(1.018);filter:saturate(1.035)}
.home-project-visual-label{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 15px;border-radius:999px;background:rgba(248,245,238,.92);backdrop-filter:blur(10px);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#1b1a17}
.home-project-visual-label i{font-style:normal;font-size:15px}
.home-project-tags{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(61,51,39,.18);border-left:1px solid rgba(61,51,39,.18)}
.home-project-tags span{min-height:76px;padding:16px 14px;display:flex;align-items:flex-end;border-right:1px solid rgba(61,51,39,.18);border-bottom:1px solid rgba(61,51,39,.18);font-size:9px;line-height:1.35;letter-spacing:.11em;text-transform:uppercase;color:#5d564c;transition:background .3s ease,color .3s ease}
.home-project-tags span:hover{background:#1d1c18;color:#f5f0e7}

.project-tech-section{background:linear-gradient(180deg,#f7f2e9 0%,#f2ede4 52%,#faf8f3 100%);border-top:1px solid rgba(63,51,38,.08);border-bottom:1px solid rgba(63,51,38,.08)}
.project-tech-head{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);gap:clamp(2rem,7vw,8rem);align-items:end;margin-bottom:clamp(2.3rem,4vw,4rem)}
.project-tech-head>p{margin:0;max-width:620px;color:#6f685e;font-size:clamp(1rem,1.22vw,1.16rem);line-height:1.75}
.project-tech-summary{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);padding:clamp(1.6rem,3vw,2.8rem) 0;border-top:1px solid rgba(61,51,39,.18);border-bottom:1px solid rgba(61,51,39,.18);margin-bottom:clamp(3rem,7vw,7rem)}
.project-tech-summary strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,2.6vw,3rem);font-weight:400;line-height:1.04;letter-spacing:-.025em}
.project-tech-summary p{margin:0;color:#6d665b;max-width:800px;line-height:1.75}
.project-tech-list{display:grid;gap:clamp(4rem,8vw,9rem)}
.project-tech-row{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(320px,.72fr);gap:clamp(2rem,6vw,7rem);align-items:center}
.project-tech-row.is-reverse{grid-template-columns:minmax(320px,.72fr) minmax(0,1.42fr)}
.project-tech-row.is-reverse .project-tech-media{order:2}.project-tech-row.is-reverse .project-tech-copy{order:1}
.project-tech-media{border:0;padding:0;margin:0;background:#ded7cc;border-radius:clamp(20px,2.2vw,32px);overflow:hidden;cursor:zoom-in;box-shadow:0 24px 70px rgba(34,29,23,.10);position:relative;transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}
.project-tech-media::after{content:'↗';position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(250,247,241,.92);color:#181714;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.14);transition:transform .35s ease}
.project-tech-media:hover{transform:translateY(-5px);box-shadow:0 34px 86px rgba(34,29,23,.16)}
.project-tech-media:hover::after{transform:rotate(45deg)}
.project-tech-media img{display:block;width:100%;height:auto;object-fit:contain}
.project-tech-copy{max-width:560px}
.project-tech-copy>span{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#8b8172;margin-bottom:1.2rem}
.project-tech-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.35rem,4vw,5rem);font-weight:400;line-height:.94;letter-spacing:-.04em;margin:0 0 1.6rem}
.project-tech-copy p{margin:0;color:#6a6358;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.78}
@media(max-width:991px){
  .home-project-highlight-head,.project-tech-head{grid-template-columns:1fr;gap:1.6rem}
  .home-project-highlight-copy{justify-self:start}
  .home-project-highlight-grid{grid-template-columns:1fr}
  .home-project-highlight-side{grid-template-columns:1fr 1fr;align-items:start}
  .project-tech-row,.project-tech-row.is-reverse{grid-template-columns:1fr;gap:2rem}
  .project-tech-row.is-reverse .project-tech-media,.project-tech-row.is-reverse .project-tech-copy{order:initial}
  .project-tech-summary{grid-template-columns:1fr;gap:1rem}
}
@media(max-width:767px){
  .home-project-highlight-side{grid-template-columns:1fr}
  .home-project-tags span{min-height:62px}
  .home-project-visual-label{left:10px;right:10px;bottom:10px;padding:10px 12px}
  .project-tech-list{gap:4.5rem}
  .project-tech-copy h3{font-size:clamp(2.5rem,11vw,4.2rem)}
}
@media(prefers-reduced-motion:reduce){.home-project-visual,.home-project-visual img,.project-tech-media{transition:none!important}}
/* v55 — expanded featured English-style kitchen on the homepage */
.home-project-highlight-v55 .home-project-highlight-copy p + p{margin-top:-.75rem}
.home-project-project-note{padding:clamp(22px,2.2vw,34px);border-radius:clamp(18px,2vw,28px);background:linear-gradient(145deg,#f3ede3 0%,#e8dece 100%);border:1px solid rgba(61,51,39,.12);box-shadow:0 18px 45px rgba(55,43,29,.07)}
.home-project-project-note span{display:block;margin-bottom:12px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#8b765d}
.home-project-project-note p{margin:0;font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.7;color:#5f584e}
.home-project-feature-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(28px,4vw,54px);border-top:1px solid rgba(61,51,39,.18);border-left:1px solid rgba(61,51,39,.18)}
.home-project-feature-strip article{min-height:220px;padding:clamp(22px,2.2vw,34px);border-right:1px solid rgba(61,51,39,.18);border-bottom:1px solid rgba(61,51,39,.18);background:rgba(250,247,240,.45);transition:transform .4s ease,background .4s ease,box-shadow .4s ease}
.home-project-feature-strip article:hover{transform:translateY(-5px);background:#f3ede3;box-shadow:0 18px 42px rgba(49,40,30,.08)}
.home-project-feature-strip article>span{display:block;margin-bottom:clamp(24px,3vw,42px);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8c7861}
.home-project-feature-strip h3{font-family:var(--font-display,Georgia,serif);font-size:clamp(1.2rem,1.7vw,1.7rem);font-weight:500;line-height:1.08;margin:0 0 14px;color:#22201c}
.home-project-feature-strip p{font-size:.95rem;line-height:1.65;color:#696157;margin:0}
@media(max-width:1100px){.home-project-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.home-project-feature-strip{grid-template-columns:1fr}.home-project-feature-strip article{min-height:auto}.home-project-highlight-v55 .home-project-highlight-copy p + p{margin-top:0}}


/* v56 — Materials & equipment editorial page */
.materials-page-v56{background:#fbfaf7}
.materials-hero-v56{position:relative;min-height:min(82vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:#241f1a}
.materials-hero-media-v56{position:absolute;inset:0}
.materials-hero-media-v56 img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) contrast(.96)}
.materials-hero-shade-v56{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,14,.78) 0%,rgba(20,17,14,.52) 42%,rgba(20,17,14,.14) 78%),linear-gradient(0deg,rgba(20,17,14,.48),transparent 58%)}
.materials-hero-copy-v56{position:relative;z-index:1;color:#fff;padding-top:clamp(8rem,17vh,13rem);padding-bottom:clamp(4rem,8vw,7.5rem);max-width:1600px}
.materials-hero-copy-v56 .eyebrow{color:rgba(255,255,255,.72)}
.materials-hero-copy-v56 h1{max-width:1050px;margin:.65rem 0 1.15rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.4rem,7.4vw,8.7rem);line-height:.88;letter-spacing:-.058em;font-weight:400}
.materials-hero-copy-v56 p{max-width:720px;margin:0;font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.55;color:rgba(255,255,255,.84)}
.materials-jump-v56{position:sticky;top:84px;z-index:18;background:rgba(250,247,241,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(31,29,25,.1)}
.materials-jump-v56 nav{display:flex;gap:.35rem;align-items:center;overflow-x:auto;padding:.65rem 0;scrollbar-width:none}
.materials-jump-v56 nav::-webkit-scrollbar{display:none}
.materials-jump-v56 a{flex:0 0 auto;padding:.55rem .9rem;border:1px solid rgba(31,29,25,.12);border-radius:999px;font-size:.72rem;letter-spacing:.05em;color:#514b44;background:rgba(255,255,255,.42);transition:.25s ease}
.materials-jump-v56 a:hover{background:#1f1d19;color:#fff;border-color:#1f1d19;transform:translateY(-2px)}
.materials-intro-v56{background:linear-gradient(180deg,#fbfaf7 0%,#f2ece3 100%)}
.materials-stat-grid-v56{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(2.5rem,5vw,5rem);border-top:1px solid rgba(31,29,25,.14);border-left:1px solid rgba(31,29,25,.14)}
.materials-stat-grid-v56 article{min-height:220px;padding:clamp(1.5rem,2.4vw,2.5rem);border-right:1px solid rgba(31,29,25,.14);border-bottom:1px solid rgba(31,29,25,.14);background:rgba(255,255,255,.3);transition:transform .35s ease,background .35s ease}
.materials-stat-grid-v56 article:hover{transform:translateY(-8px);background:#fff}
.materials-stat-grid-v56 span,.material-card-no-v56{font-size:.64rem;letter-spacing:.18em;color:#9a8069}
.materials-stat-grid-v56 h3{margin:2.8rem 0 .55rem;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;font-weight:400}
.materials-stat-grid-v56 p{margin:0;color:#756e64;line-height:1.55}
.materials-editorial-v56{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(2.5rem,6vw,7rem);align-items:center}
.materials-editorial-reverse-v56{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.materials-editorial-reverse-v56 .materials-editorial-copy-v56{order:2}.materials-editorial-reverse-v56 .materials-editorial-image-v56{order:1}
.materials-editorial-copy-v56 p{font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.72;color:#635c53;max-width:690px}
.materials-source-link-v56{display:inline-flex;margin:.65rem .7rem 0 0;padding:.7rem 1rem;border:1px solid rgba(31,29,25,.14);border-radius:999px;font-size:.72rem;letter-spacing:.04em;transition:.3s ease}
.materials-source-link-v56:hover{background:#1f1d19;color:#fff;transform:translateY(-2px)}
.materials-editorial-image-v56{margin:0;position:relative}
.materials-editorial-image-v56 img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;border-radius:34px 34px 7px 34px;box-shadow:0 30px 80px rgba(50,40,30,.12);background:#eee7dd}
.materials-editorial-image-v56 figcaption,.materials-photo-split-v56 figcaption,.water-grid-v56 figcaption{margin-top:.7rem;color:#8b8378;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.materials-front-grid-v56{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(3rem,6vw,6rem)}
.material-card-v56{position:relative;min-height:330px;padding:clamp(1.8rem,3vw,3rem);border:1px solid rgba(31,29,25,.12);border-radius:24px;background:#fff;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.material-card-v56:after{content:"";position:absolute;width:190px;height:190px;right:-80px;top:-80px;border-radius:50%;background:radial-gradient(circle,rgba(181,156,130,.2),transparent 70%);transition:transform .5s ease}
.material-card-v56:hover{transform:translateY(-10px);box-shadow:0 25px 70px rgba(56,45,34,.1)}
.material-card-v56:hover:after{transform:scale(1.35)}
.material-card-v56 h3{margin:2.4rem 0 .8rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,2.5vw,2.7rem);line-height:1.02;font-weight:400;letter-spacing:-.035em}
.material-card-v56 p{color:#6f675d;line-height:1.65;max-width:760px}
.material-card-feature-v56{background:linear-gradient(135deg,#f2e8dc,#fbf8f3)}
.material-tags-v56{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.35rem}
.material-tags-v56 span{padding:.42rem .7rem;border:1px solid rgba(31,29,25,.13);border-radius:999px;font-size:.62rem;letter-spacing:.04em;background:rgba(255,255,255,.45)}
.finish-swatch-row-v56{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin-top:1rem}
.finish-swatch-v56{padding:.75rem;border:1px solid rgba(31,29,25,.11);border-radius:18px;background:#fff}
.finish-swatch-v56 i{display:block;height:145px;border-radius:13px;margin-bottom:.9rem;background:#d8d0c5 center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.finish-swatch-v56 b{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;font-weight:400}.finish-swatch-v56 small{display:block;margin-top:.25rem;color:#8b8277;font-size:.66rem}
.swatch-matt i{background-image:url('../img/materials/front-deep-matt-720.webp')}.swatch-gloss i{background-image:url('../img/materials/front-high-gloss-720.webp')}.swatch-veneer i{background-image:url('../img/materials/front-natural-veneer-720.webp')}.swatch-wood i{background-image:url('../img/materials/front-timber-frame-720.webp')}.swatch-structure i{background-image:url('../img/materials/front-structured-720.webp')}
.materials-tone-v56{background:linear-gradient(135deg,#23211e 0%,#35302a 100%);color:#fff}
.materials-tone-v56 .display-title,.materials-tone-v56 h3{color:#fff}.materials-tone-v56 .section-kicker,.materials-tone-v56 .services-lead{color:rgba(255,255,255,.66)}
.materials-photo-split-v56{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:clamp(2rem,5vw,6rem);align-items:start;margin-top:3rem}
.materials-photo-split-v56 figure{margin:0;position:sticky;top:155px}.materials-photo-split-v56 figure img{width:100%;height:auto;max-height:760px;object-fit:contain;border-radius:32px 32px 8px 32px;background:#161411}
.materials-tone-v56 .materials-photo-split-v56 figcaption{color:rgba(255,255,255,.5)}
.materials-list-v56 article{display:grid;grid-template-columns:44px 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.15)}.materials-list-v56 article:last-child{border-bottom:1px solid rgba(255,255,255,.15)}
.materials-list-v56 span{font-size:.62rem;letter-spacing:.17em;color:#c6a989}.materials-list-v56 h3{margin:0 0 .45rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,2vw,2rem);font-weight:400}.materials-list-v56 p{margin:0;color:rgba(255,255,255,.66);line-height:1.55}
.materials-systems-v56{background:linear-gradient(180deg,#efe7dc,#faf8f4)}
.systems-duo-v56{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(2rem,4vw,4rem)}
.system-brand-v56{padding:clamp(2rem,4vw,4.2rem);border-radius:30px;min-height:530px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;position:relative}
.system-brand-v56:after{content:"";position:absolute;width:360px;height:360px;right:-160px;bottom:-180px;border-radius:50%;background:rgba(255,255,255,.08)}
.system-brand-blum-v56{background:#2a2926;color:#fff}.system-brand-peka-v56{background:#dbd4c8;color:#24211d}
.brand-logo-type-v56{display:inline-block;font-weight:800;font-size:clamp(2.2rem,5vw,5.4rem);line-height:.85;letter-spacing:-.05em}.brand-blum-v56{color:#f47b20;text-transform:lowercase}.brand-peka-v56{color:#2e2b27;text-transform:lowercase}
.system-brand-v56 h3{margin:auto 0 1rem;padding-top:4rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3vw,3.4rem);line-height:1;font-weight:400}.system-brand-v56 p{max-width:680px;line-height:1.62}.system-brand-blum-v56 p{color:rgba(255,255,255,.72)}.system-brand-v56 a{margin-top:1.5rem;padding-bottom:.2rem;border-bottom:1px solid currentColor;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.system-brand-blum-v56 .material-tags-v56 span{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.05)}
.materials-appliances-v56{background:#fbfaf7}
.brand-wall-v56{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:clamp(3rem,6vw,6rem)}
.brand-tile-v56{min-height:150px;padding:1.5rem;border:1px solid rgba(31,29,25,.12);border-radius:18px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.brand-tile-v56:hover{transform:translateY(-7px);box-shadow:0 20px 55px rgba(50,40,30,.09);border-color:rgba(31,29,25,.24)}
.brand-tile-v56 strong{font-size:clamp(1.25rem,2.2vw,2.15rem);line-height:1;font-weight:700;letter-spacing:-.03em}.brand-tile-v56 small{color:#8a8277;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.brand-amica-v56 strong{color:#d5232f;font-style:italic}.brand-bosch-v56 strong{color:#df1b2f;letter-spacing:.06em}.brand-siemens-v56 strong{color:#008f95;letter-spacing:.07em}.brand-whirlpool-v56 strong{font-family:Georgia,'Times New Roman',serif;font-weight:400}.brand-franke-v56 strong{letter-spacing:.08em}.brand-falmec-v56 strong,.brand-elica-v56 strong{text-transform:lowercase;font-weight:500;letter-spacing:.02em}
.brand-note-v56{margin:1.1rem 0 0;color:#938b81;font-size:.68rem;line-height:1.5;max-width:920px}
.materials-water-v56{background:linear-gradient(135deg,#eee6dc,#f9f6f1)}
.water-grid-v56{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:clamp(2rem,5vw,6rem);align-items:start;margin-top:3rem}.water-grid-v56 figure{margin:0}.water-grid-v56 figure img{width:100%;height:auto;max-height:730px;object-fit:contain;border-radius:34px 34px 8px 34px;background:#ded6cc}.water-cards-v56{display:grid;gap:1rem}.water-cards-v56 article{padding:clamp(1.7rem,3vw,3rem);border:1px solid rgba(31,29,25,.12);border-radius:24px;background:rgba(255,255,255,.62)}.water-cards-v56 h3{margin:2rem 0 .7rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,2.4vw,2.5rem);line-height:1.05;font-weight:400}.water-cards-v56 p{color:#6f675d;line-height:1.62}.water-cards-v56 a{display:inline-block;margin-top:.5rem;border-bottom:1px solid currentColor;font-size:.75rem}.brand-franke-type-v56{font-size:2.15rem;letter-spacing:.09em}.brand-blanco-type-v56{font-size:2.15rem;letter-spacing:.06em}
.materials-brand-index-v56{background:#fff}
.brand-index-grid-v56{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(31,29,25,.13);border-left:1px solid rgba(31,29,25,.13);margin-top:2.5rem}.brand-index-grid-v56 a{min-height:150px;padding:1.5rem;border-right:1px solid rgba(31,29,25,.13);border-bottom:1px solid rgba(31,29,25,.13);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:background .3s ease,color .3s ease}.brand-index-grid-v56 a:before{content:"↗";position:absolute;right:1.2rem;top:1rem;opacity:.3;transition:transform .35s ease,opacity .35s ease}.brand-index-grid-v56 a:hover{background:#1f1d19;color:#fff}.brand-index-grid-v56 a:hover:before{transform:translate(3px,-3px);opacity:1}.brand-index-grid-v56 b{font-size:1.45rem;letter-spacing:.02em}.brand-index-grid-v56 span{margin-top:.3rem;color:#8a8278;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.brand-index-grid-v56 a:hover span{color:rgba(255,255,255,.58)}
@media(max-width:1199px){.brand-wall-v56{grid-template-columns:repeat(3,1fr)}.finish-swatch-row-v56{grid-template-columns:repeat(3,1fr)}.materials-hero-copy-v56 h1{font-size:clamp(3.3rem,7.6vw,7rem)}}
@media(max-width:991px){.materials-jump-v56{top:72px}.materials-editorial-v56,.materials-editorial-reverse-v56,.materials-photo-split-v56,.water-grid-v56{grid-template-columns:1fr}.materials-editorial-reverse-v56 .materials-editorial-copy-v56,.materials-editorial-reverse-v56 .materials-editorial-image-v56{order:initial}.materials-photo-split-v56 figure{position:relative;top:auto}.materials-front-grid-v56,.systems-duo-v56{grid-template-columns:1fr}.materials-stat-grid-v56{grid-template-columns:repeat(2,1fr)}.brand-index-grid-v56{grid-template-columns:repeat(2,1fr)}.brand-wall-v56{grid-template-columns:repeat(2,1fr)}.system-brand-v56{min-height:430px}}
@media(max-width:767px){.materials-hero-v56{min-height:78svh}.materials-hero-copy-v56{padding-bottom:3rem}.materials-hero-copy-v56 h1{font-size:clamp(3rem,15vw,5.2rem)}.materials-hero-copy-v56 p{font-size:.96rem}.materials-jump-v56{top:66px}.materials-stat-grid-v56,.brand-index-grid-v56{grid-template-columns:1fr}.materials-stat-grid-v56 article{min-height:170px}.materials-stat-grid-v56 h3{margin-top:1.8rem}.finish-swatch-row-v56{grid-template-columns:repeat(2,1fr)}.brand-wall-v56{grid-template-columns:1fr 1fr}.brand-tile-v56{min-height:125px;padding:1.1rem}.brand-tile-v56 small{font-size:.6rem}.materials-editorial-image-v56 img,.materials-photo-split-v56 figure img,.water-grid-v56 figure img{border-radius:22px 22px 6px 22px}.material-card-v56{min-height:0}.materials-jump-v56 a{font-size:.66rem}}
@media(max-width:470px){.finish-swatch-row-v56,.brand-wall-v56{grid-template-columns:1fr}.finish-swatch-v56 i{height:90px}}

/* v56 — additional menu item: retain fit on lower desktop screens */
@media(min-width:992px){.menu-overlay .menu-nav-v49 .menu-link-v49{padding:clamp(.23rem,.52vh,.42rem) 0}.menu-copy-v49 small{font-size:clamp(.66rem,1.15vh,.82rem)}}
@media(min-width:992px) and (max-height:760px){.menu-copy-v49 strong{font-size:clamp(1.35rem,3.6vh,2.35rem)}.menu-copy-v49 small{font-size:.62rem}.menu-overlay .menu-nav-v49 .menu-link-v49{padding:.18rem 0}.menu-preview-frame-v49{height:min(64vh,510px)}}

/* v57: editorial blog */
.blog-hero-v57 .page-hero-copy{max-width:1050px}
.blog-feature-section-v57{padding-top:clamp(70px,8vw,120px);background:linear-gradient(180deg,#f6f1e8 0%,#fff 100%)}
.blog-feature-v57{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:clamp(30px,5vw,76px);align-items:center}
.blog-feature-media-v57{position:relative;display:block;overflow:hidden;border-radius:32px;box-shadow:0 28px 70px rgba(24,24,20,.10)}
.blog-feature-media-v57 img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.blog-feature-media-v57:hover img{transform:scale(1.025)}
.blog-feature-copy-v57 h2{font-family:Georgia,serif;font-size:clamp(2.5rem,4.3vw,5.1rem);line-height:.98;font-weight:400;margin:18px 0 24px;letter-spacing:-.035em}
.blog-feature-copy-v57 p{font-size:1.08rem;line-height:1.8;color:var(--muted);max-width:620px}
.blog-feature-meta-v57{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:26px 0}
.blog-list-section-v57{background:#fff}
.blog-category-strip-v57{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.blog-category-strip-v57 span{padding:9px 14px;border:1px solid rgba(24,24,20,.1);border-radius:999px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:#faf7f1}
.blog-grid-v57{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.blog-card-v57{display:flex;flex-direction:column}
.blog-card-v57 .blog-card-body{display:flex;flex-direction:column;flex:1}
.blog-card-v57 .blog-card-body .text-link{margin-top:auto;padding-top:18px}
.blog-card-excerpt-v57{color:var(--muted);line-height:1.7;margin:-4px 0 6px;font-size:.98rem}
.blog-card-media{position:relative}
.blog-ai-note-v57,.ai-disclosure{position:absolute;left:14px;bottom:12px;z-index:3;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:rgba(24,24,20,.65)}
.blog-disclosure-v57{font-size:.78rem;color:rgba(24,24,20,.48);margin:24px 0 0}
.blog-cta-v57{background:#eee5d7}
.blog-cta-card-v57{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,8vw,130px);align-items:end;padding:clamp(40px,6vw,78px);border-radius:34px;background:linear-gradient(135deg,#f7f1e8 0%,#e7dccb 100%);border:1px solid rgba(24,24,20,.08)}
.blog-cta-card-v57 h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.2rem,4vw,4.7rem);line-height:1.02;margin:16px 0 0;letter-spacing:-.03em}
.blog-cta-card-v57 p{font-size:1.05rem;line-height:1.8;color:var(--muted)}
.article-hero-v57 .page-hero-media{position:relative}
.article-section-v57{padding-top:clamp(70px,8vw,120px)}
.article-copy .article-block p + p{margin-top:1rem}
.article-quote-v57{font-family:Georgia,serif;font-size:clamp(1.8rem,3.1vw,3.5rem);line-height:1.12;font-weight:400;margin:48px 0;padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.article-check-v57{margin:44px 0 30px;padding:28px 30px;border-radius:24px;background:#f4eee5;border:1px solid rgba(24,24,20,.07)}
.article-check-v57 ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.article-check-v57 li{position:relative;padding-left:26px;color:var(--muted);line-height:1.55}
.article-check-v57 li:before{content:'↗';position:absolute;left:0;top:0;color:var(--ink)}
.article-end-v57{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
.article-end-v57>span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:1199px){.blog-feature-v57{grid-template-columns:1fr}.blog-feature-copy-v57{max-width:800px}.blog-grid-v57{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.blog-feature-media-v57{border-radius:22px}.blog-grid-v57{grid-template-columns:1fr}.blog-cta-card-v57{grid-template-columns:1fr;padding:28px;border-radius:24px}.article-end-v57{align-items:flex-start;flex-direction:column}.article-check-v57{padding:24px 20px}.blog-feature-copy-v57 h2{font-size:clamp(2.35rem,12vw,3.6rem)}}

/* v58 — premium editorial article pages: light hero, framed image, readable typography */
.article-hero-v58{
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column;
  align-items:stretch!important;
  color:var(--ink)!important;
  padding-top:clamp(132px,11vw,176px);
  padding-bottom:clamp(34px,4.5vw,66px);
  background:
    radial-gradient(circle at 84% 10%,rgba(184,157,126,.18),transparent 31%),
    radial-gradient(circle at 10% 48%,rgba(255,255,255,.72),transparent 28%),
    linear-gradient(145deg,#f7f2e9 0%,#eee5d8 56%,#f6f1e9 100%);
  overflow:hidden;
}
.article-hero-v58::before{
  content:"";
  position:absolute;
  width:min(38vw,560px);
  aspect-ratio:1;
  right:-12vw;
  top:-14vw;
  border:1px solid rgba(95,77,58,.10);
  border-radius:50%;
  pointer-events:none;
}
.article-hero-v58 .page-hero-copy{
  order:1;
  width:100%;
  max-width:1450px;
  margin:0 auto;
  padding-top:0!important;
  padding-bottom:clamp(34px,4.8vw,66px)!important;
  color:var(--ink)!important;
}
.article-hero-v58 .page-hero-copy .eyebrow{
  color:#88725c!important;
  margin-bottom:clamp(14px,1.8vw,24px);
}
.article-hero-v58 .page-hero-copy h1{
  max-width:1180px;
  margin:0 0 clamp(20px,2.4vw,32px);
  color:var(--ink)!important;
  font-size:clamp(3rem,5.6vw,6.7rem)!important;
  line-height:.93;
  letter-spacing:-.05em;
}
.article-hero-v58 .page-hero-copy>p{
  max-width:820px;
  margin:0;
  color:#625b52!important;
  font-size:clamp(1rem,1.35vw,1.28rem);
  line-height:1.72;
}
.article-hero-v58 .page-hero-media{
  order:2;
  position:relative!important;
  inset:auto!important;
  width:min(calc(100% - clamp(32px,6vw,96px)),1520px);
  aspect-ratio:16/9;
  height:auto!important;
  margin:0 auto;
  overflow:hidden;
  border-radius:clamp(22px,2.6vw,38px);
  border:1px solid rgba(74,60,47,.10);
  box-shadow:0 28px 80px rgba(49,39,29,.13);
  background:#ddd3c5;
}
.article-hero-v58 .page-hero-media .hero-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.article-hero-v58 .page-hero-media .hero-shade{display:none!important}
.article-hero-v58 .ai-disclosure{
  left:clamp(12px,1.5vw,20px);
  bottom:clamp(12px,1.5vw,20px);
  background:rgba(248,244,237,.84);
  color:rgba(40,34,28,.58);
  box-shadow:0 6px 18px rgba(0,0,0,.05);
}
.article-section-v58{
  padding-top:clamp(62px,7vw,105px)!important;
  padding-bottom:clamp(86px,10vw,150px)!important;
  background:linear-gradient(180deg,#fff 0%,#fbf8f3 100%)!important;
  color:var(--ink)!important;
}
.article-section-v58 .article-layout{
  grid-template-columns:minmax(0,820px) minmax(260px,330px);
  gap:clamp(3rem,7vw,7.5rem);
  max-width:1280px;
}
.article-section-v58 .article-copy,
.article-section-v58 .article-copy h2,
.article-section-v58 .article-copy h3,
.article-section-v58 .article-lead{color:var(--ink)!important}
.article-section-v58 .article-lead{
  position:relative;
  margin-bottom:clamp(38px,5vw,64px);
  padding:clamp(26px,3.2vw,40px) clamp(26px,3vw,38px);
  border:1px solid rgba(80,65,50,.10);
  border-radius:24px;
  background:linear-gradient(135deg,#f6f0e7,#fcfaf6);
  box-shadow:0 14px 42px rgba(52,41,30,.045);
  font-size:clamp(1.35rem,2.15vw,2.05rem);
  line-height:1.34;
}
.article-section-v58 .article-lead::before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:3px;
  border-radius:3px;
  background:#a47b58;
}
.article-section-v58 .article-block{
  padding:clamp(30px,4vw,50px) 0;
  border-top:1px solid rgba(50,42,34,.12);
}
.article-section-v58 .article-block h2{
  max-width:720px;
  margin-bottom:18px;
  font-size:clamp(1.95rem,2.8vw,3rem);
  line-height:1.05;
  letter-spacing:-.025em;
}
.article-section-v58 .article-block p{
  max-width:760px;
  color:#635d55!important;
  font-size:clamp(1rem,1.15vw,1.09rem);
  line-height:1.88;
}
.article-section-v58 .article-quote-v57{
  color:var(--ink)!important;
  border-color:rgba(50,42,34,.14);
}
.article-section-v58 .article-check-v57{
  background:linear-gradient(145deg,#f4ede3,#faf6f0);
  border-color:rgba(50,42,34,.08);
}
.article-section-v58 .article-check-v57 li{color:#635d55}
.article-section-v58 .article-aside-card{
  padding:clamp(22px,2.4vw,30px);
  border:1px solid rgba(65,52,40,.10);
  border-radius:24px;
  background:rgba(248,244,237,.86);
  box-shadow:0 18px 46px rgba(48,39,30,.055);
}
.article-section-v58 .article-aside-card .section-kicker{color:#88725c}
.article-section-v58 .article-related-link{transition:transform .25s ease,color .25s ease}
.article-section-v58 .article-related-link:hover{transform:translateX(5px);color:#8b6548}
@media(max-width:1199px){
  .article-section-v58 .article-layout{grid-template-columns:1fr;max-width:900px}
  .article-section-v58 .article-aside{max-width:760px}
}
@media(max-width:767px){
  .article-hero-v58{padding-top:112px;padding-bottom:28px}
  .article-hero-v58 .page-hero-copy{padding-bottom:28px!important}
  .article-hero-v58 .page-hero-copy h1{font-size:clamp(2.7rem,12.5vw,4.55rem)!important;line-height:.94}
  .article-hero-v58 .page-hero-copy>p{font-size:.98rem;line-height:1.65}
  .article-hero-v58 .page-hero-media{width:calc(100% - 20px);aspect-ratio:4/3;border-radius:22px}
  .article-section-v58{padding-top:52px!important}
  .article-section-v58 .article-lead{padding:24px 22px 24px 26px;border-radius:20px}
  .article-section-v58 .article-lead::before{top:20px;bottom:20px}
  .article-section-v58 .article-block{padding:30px 0}
  .article-section-v58 .article-aside-card{border-radius:20px}
}


/* v58.1 — article cover keeps its natural proportions */
.article-hero-v58 .page-hero-media{aspect-ratio:auto!important;height:auto!important}
.article-hero-v58 .page-hero-media .hero-img{height:auto!important;object-fit:contain!important}
@media(max-width:767px){.article-hero-v58 .page-hero-media{aspect-ratio:auto!important}}
/* v59: curated Chroma inspiration library */
.inspiration-hero-v59 .hero-shade{background:linear-gradient(90deg,rgba(10,10,8,.72) 0%,rgba(10,10,8,.3) 52%,rgba(10,10,8,.1) 82%),linear-gradient(0deg,rgba(10,10,8,.48),transparent 48%)}
.inspiration-intro-v59{padding-bottom:clamp(4rem,7vw,7rem)}
.chroma-library-section{background:#e9e5dc;padding-top:clamp(6rem,10vw,10rem)}
.chroma-library-head{margin-bottom:clamp(4rem,7vw,7rem)}
.inspiration-series-list{border-top:1px solid rgba(24,24,20,.16)}
.inspiration-series{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr);gap:clamp(2rem,5vw,6rem);padding:clamp(3.5rem,7vw,7rem) 0;border-bottom:1px solid rgba(24,24,20,.16);align-items:start}
.series-copy{position:sticky;top:110px;max-width:520px}
.series-number{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,6vw,6.4rem);font-weight:400;line-height:.8;color:rgba(24,24,20,.18);margin-bottom:1.8rem}
.series-copy .inspiration-meta{margin-bottom:.9rem}
.series-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,3.5vw,4.1rem);font-weight:400;line-height:.96;letter-spacing:-.035em;margin:0 0 1.4rem}
.series-copy p{font-size:1.03rem;line-height:1.75;color:#686258;margin:0}
.series-copy small{display:block;margin-top:1.4rem;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#8a8478}
.series-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.series-shot{position:relative;overflow:hidden;border:0;border-radius:22px;padding:0;background:#d5d0c6;cursor:zoom-in;min-width:0;aspect-ratio:4/3;box-shadow:0 16px 40px rgba(24,24,20,.08)}
.series-shot img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.series-shot:after{content:"↗";position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#181814;font-size:15px;opacity:0;transform:translateY(6px);transition:.28s ease;box-shadow:0 10px 24px rgba(0,0,0,.13)}
.series-shot:hover img,.series-shot:focus-visible img{transform:scale(1.025)}
.series-shot:hover:after,.series-shot:focus-visible:after{opacity:1;transform:translateY(0)}
.series-shot:focus-visible{outline:2px solid #181814;outline-offset:4px}
.series-gallery.count-1{grid-template-columns:1fr}
.series-gallery.count-1 .series-shot{aspect-ratio:16/9}
.series-gallery.count-3 .series-shot:first-child,.series-gallery.count-5 .series-shot:first-child{grid-column:1/-1;aspect-ratio:16/9}
.series-gallery.count-7{grid-template-columns:repeat(3,minmax(0,1fr))}
.series-gallery.count-7 .series-shot:first-child{grid-column:1/-1;aspect-ratio:16/9}
.chroma-library-section+.section{background:#f2efe8}
@media(max-width:991px){
  .inspiration-series{grid-template-columns:1fr;gap:2rem}
  .series-copy{position:static;max-width:760px}
  .series-number{font-size:4rem;margin-bottom:1.25rem}
  .series-gallery.count-7{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .inspiration-series{padding:4.5rem 0}
  .series-copy h3{font-size:clamp(2.15rem,10vw,3.2rem)}
  .series-gallery,.series-gallery.count-7{grid-template-columns:1fr;gap:10px}
  .series-shot,.series-gallery.count-1 .series-shot,.series-gallery.count-3 .series-shot:first-child,.series-gallery.count-5 .series-shot:first-child,.series-gallery.count-7 .series-shot:first-child{grid-column:1;aspect-ratio:4/3;border-radius:18px}
  .series-shot:after{opacity:1;transform:none;width:38px;height:38px;right:11px;bottom:11px}
}


/* v64: jednoznaczne, widoczne oznaczenie treści wygenerowanej przez AI. */
.b2b-audience-image{position:relative}
.ai-disclosure{
  position:absolute;
  left:clamp(12px,1.5vw,18px);
  bottom:clamp(12px,1.5vw,18px);
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:rgba(24,24,20,.74);
  box-shadow:0 5px 18px rgba(0,0,0,.16);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:clamp(9px,.72vw,11px);
  font-weight:600;
  line-height:1;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
  pointer-events:none;
}


/* v65: wielojęzyczny komunikat o prywatności i niezbędnych cookies. */
.cookie-banner-v65{
  position:fixed;
  left:clamp(12px,2vw,30px);
  right:clamp(12px,2vw,30px);
  bottom:clamp(12px,2vw,26px);
  z-index:10020;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(20px,4vw,56px);
  width:min(1180px,calc(100% - clamp(24px,4vw,60px)));
  margin:0 auto;
  padding:clamp(20px,2.4vw,30px) clamp(20px,3vw,38px);
  border:1px solid rgba(55,45,35,.13);
  border-radius:clamp(22px,2vw,30px);
  background:rgba(249,246,240,.94);
  box-shadow:0 24px 80px rgba(35,29,24,.20);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  backdrop-filter:blur(18px) saturate(120%);
  color:var(--ink,#181814);
  transition:opacity .32s ease,transform .32s cubic-bezier(.2,.75,.25,1),visibility .32s;
}
.cookie-banner-v65[hidden]{display:none}
.cookie-banner-v65.is-entering{opacity:0;transform:translateY(18px)}
.cookie-banner-v65.is-leaving{opacity:0;transform:translateY(14px);visibility:hidden}
.cookie-banner-copy-v65{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 20px;align-items:start}
.cookie-banner-mark-v65{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#181814;
  color:#fff;
  font-family:Georgia,serif;
  font-size:18px;
  line-height:1;
}
.cookie-banner-text-v65{max-width:790px}
.cookie-banner-kicker-v65{display:block;margin:1px 0 6px;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(24,24,20,.54)}
.cookie-banner-title-v65{margin:0 0 6px;font-family:Georgia,serif;font-size:clamp(1.12rem,1.7vw,1.45rem);font-weight:400;line-height:1.15;letter-spacing:-.015em}
.cookie-banner-description-v65{margin:0;color:rgba(24,24,20,.64);font-size:clamp(.82rem,1vw,.94rem);line-height:1.62}
.cookie-banner-action-v65{
  min-width:150px;
  min-height:48px;
  padding:12px 22px;
  border:1px solid #181814;
  border-radius:999px;
  background:#181814;
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.cookie-banner-action-v65:hover{background:transparent;color:#181814;transform:translateY(-1px)}
.cookie-banner-action-v65:focus-visible{outline:3px solid rgba(24,24,20,.26);outline-offset:3px}
@media(max-width:767px){
  .cookie-banner-v65{grid-template-columns:1fr;gap:18px;padding:20px;border-radius:22px}
  .cookie-banner-copy-v65{grid-template-columns:34px minmax(0,1fr);gap:12px}
  .cookie-banner-mark-v65{width:34px;height:34px;font-size:16px}
  .cookie-banner-action-v65{width:100%;min-height:46px}
}
@media(prefers-reduced-motion:reduce){.cookie-banner-v65,.cookie-banner-action-v65{transition:none!important}}


/* v66: bardziej widoczne wersje językowe, oznaczenie wizualizacji AI, stopka i kontrast materiałów. */
.menu-langs-top-v66{display:none}
@media(min-width:992px){
  .menu-bottom-v49 .menu-langs-bottom-v66{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:14px;
  }
  .menu-bottom-v49 .menu-langs-bottom-v66 .lang-link{
    display:grid;
    place-items:center;
    min-width:40px;
    min-height:34px;
    padding:7px 10px;
    border:1px solid rgba(31,29,25,.18);
    border-radius:999px;
    color:#5f594f;
    font-size:12px;
    font-weight:700;
    letter-spacing:.1em;
    opacity:1;
  }
  .menu-bottom-v49 .menu-langs-bottom-v66 .lang-link:hover{border-color:#181814;color:#181814}
  .menu-bottom-v49 .menu-langs-bottom-v66 .lang-link.active{background:#181814;border-color:#181814;color:#fff}
}
@media(max-width:991px){
  .menu-top-v49{align-items:flex-start;flex-wrap:wrap;gap:.7rem;padding-right:3.6rem}
  .menu-top-note-v49{display:none}
  .menu-langs-top-v66{
    order:3;
    display:flex;
    width:100%;
    align-items:center;
    gap:12px;
    margin-top:.2rem;
    padding:.8rem 0 .1rem;
    border-top:1px solid rgba(31,29,25,.13);
  }
  .menu-langs-top-v66 .lang-link{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid rgba(31,29,25,.2);
    border-radius:50%;
    color:#5b554c;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    opacity:1;
  }
  .menu-langs-top-v66 .lang-link.active{background:#181814;border-color:#181814;color:#fff}
  .menu-bottom-v49 .menu-langs-bottom-v66{display:none}
  .menu-layout-v49{padding-top:1.25rem}
  .menu-overlay .menu-nav-v49 .menu-link-v49{padding:clamp(.82rem,2.2vh,1.15rem) 0}
}
@media(max-width:767px){
  .menu-inner.menu-inner-v49{padding-top:1rem}
  .menu-top-v49{min-height:0}
  .menu-layout-v49{padding:1.15rem 0 1.8rem}
  .menu-overlay .menu-nav-v49 .menu-link-v49{padding:.9rem 0}
}
.color-kitchen-stage .ai-disclosure{z-index:8}
.materials-tone-v56 .section-head .services-lead{color:rgba(255,255,255,.76)!important}
.footer-credit-v66{
  display:flex;
  justify-content:center;
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(24,24,20,.08);
}
.footer-credit-v66 a{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:#6e695f;
  font-size:10px;
  letter-spacing:.08em;
  transition:color .25s ease,transform .25s ease;
}
.footer-credit-v66 strong{color:#25221e;font-weight:800;letter-spacing:.095em}
.footer-credit-v66 i{margin-left:.15rem;font-style:normal;font-size:12px}
.footer-credit-v66 a:hover{color:#181814;transform:translateY(-1px)}
.footer-credit-v66 a:focus-visible{outline:2px solid #181814;outline-offset:4px;border-radius:2px}
@media(max-width:767px){.footer-credit-v66{justify-content:flex-start}.footer-credit-v66 a{font-size:10px}}


/* v67 — video in project details */
.project-video-section-v67{overflow:hidden}
.project-video-head-v67{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.5rem)}
.project-video-head-v67>p{margin:0;color:#6f685d;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.75;max-width:620px}
.project-video-frame-v67{max-width:980px;margin:0 auto;border-radius:clamp(18px,2vw,30px);overflow:hidden;background:#11110f;box-shadow:0 28px 80px rgba(24,24,20,.14)}
.project-video-v67{display:block;width:100%;height:auto;max-height:82svh;background:#11110f;object-fit:contain}
@media(max-width:991px){.project-video-head-v67{grid-template-columns:1fr;gap:1.2rem}.project-video-frame-v67{max-width:720px}}

/* v70: gallery of photographed kitchen realizations. */
body:has(.realization-gallery) .site-header{color:var(--ink)}
.realization-gallery{background:var(--paper);color:var(--ink)}
.rg-intro{padding:clamp(130px,12vw,190px) 0 45px;border-bottom:1px solid var(--line)}
.rg-breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.875rem;color:var(--muted);margin-bottom:38px}
.rg-breadcrumbs a:hover,.rg-related a:hover{text-decoration:underline;text-underline-offset:4px}
.rg-intro-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,6vw,100px);align-items:end}
.rg-kicker{font-size:.875rem;letter-spacing:.1em;font-weight:600;margin:0 0 20px;text-transform:uppercase}
.rg-intro h1{font-size:clamp(2.5rem,5.9vw,6.3rem);line-height:1.07;letter-spacing:-.045em;font-weight:500;margin:0;overflow-wrap:break-word}
.rg-intro h1 em{font-family:Georgia,serif;font-weight:400}
.rg-intro-copy p{font-size:1.0625rem;line-height:1.75;max-width:40em;margin:0 0 18px}
.rg-text-link,.rg-inline-link a{display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:1rem}
.rg-text-link:hover,.rg-inline-link a:hover{color:#794725;border-color:currentColor}
.rg-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:35px 0 20px;font-size:.875rem;color:var(--muted)}
.rg-contents{display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--line);padding-top:22px}
.rg-contents a{font-size:.9375rem;padding:8px 0;line-height:1.5}
.rg-contents a:hover{text-decoration:underline;text-underline-offset:4px}
.rg-contents a span{display:inline-block;margin-right:9px;color:var(--muted);font-size:.875rem}
.rg-project{padding:clamp(45px,6vw,90px) 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.rg-project-heading{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end;margin-bottom:32px}
.rg-project-heading h2,.rg-local h2{font-size:clamp(2rem,3.3vw,3.8rem);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin:0}
.rg-project-heading .rg-kicker{color:var(--muted);margin-bottom:15px}
.rg-project-heading>p{max-width:42em;line-height:1.75;font-size:1.0625rem;margin:0}
.rg-photos{columns:2;column-gap:24px}
.rg-photo{margin:0 0 30px;break-inside:avoid;scroll-margin-top:100px}
.rg-photo-link{position:relative;display:block;background:var(--paper2);overflow:hidden;cursor:zoom-in}
.rg-photo-link img{width:100%;height:auto;display:block}
.rg-enlarge{position:absolute;bottom:16px;right:16px;color:#fff;background:rgba(24,24,20,.84);padding:8px 13px;font-size:.875rem;line-height:1.5}
.rg-photo figcaption{font-size:.9375rem;line-height:1.5;padding-top:12px;color:var(--muted)}
.rg-photos-single{columns:1;max-width:1100px;margin:auto}
.rg-local{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,100px);padding:clamp(55px,7vw,110px) 0}
.rg-local p{font-size:1.0625rem;line-height:1.75;margin:0 0 22px}
.rg-local .rg-kicker{font-size:.875rem;line-height:1.5}
.rg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:28px 0}
.rg-actions .btn{font-size:1rem;white-space:normal}
.rg-related{font-size:.9375rem!important}
.rg-inline-link{margin:22px 0}
.realization-gallery a:focus-visible{outline:3px solid #8f542d;outline-offset:5px}
@media(max-width:850px){.rg-intro-grid,.rg-project-heading,.rg-local{grid-template-columns:1fr}.rg-intro{padding-top:135px}.rg-intro-grid{gap:28px}.rg-project-heading{gap:20px}.rg-photos{column-gap:18px}.rg-photo{margin-bottom:24px}.rg-enlarge{bottom:10px;right:10px}}
@media(max-width:560px){.rg-photos{columns:1}.rg-intro{padding-top:125px}.rg-breadcrumbs{margin-bottom:28px}.rg-contents{gap:4px 18px}.rg-meta{padding-top:28px}.rg-local{gap:28px}}
@media(prefers-reduced-motion:reduce){html:has(.realization-gallery){scroll-behavior:auto}}

/* v71: continuous gallery, without photo captions or project descriptions between images. */
.rg-v71 .rg-intro{padding:clamp(115px,10vw,150px) 0 34px;border-bottom:0}
.rg-v71 .rg-intro h1{font-size:clamp(2.35rem,4.6vw,5rem);line-height:1.08}
.rg-v71 .rg-intro-grid{grid-template-columns:1.3fr 1fr;gap:clamp(24px,5vw,72px)}
.rg-v71 .rg-breadcrumbs{margin-bottom:28px}
.rg-v71 .rg-kicker{margin-bottom:16px}
.rg-v71 .rg-count{font-size:.875rem;color:var(--muted);margin-bottom:0}
.rg-gallery-grid{columns:3;column-gap:16px;padding:12px 0 48px}
.rg-gallery-grid .rg-photo,.rg-gallery-grid .rg-video{margin:0 0 16px;break-inside:avoid;position:relative}
.rg-gallery-grid .rg-photo-link{display:block}
.rg-gallery-grid .rg-photo img{width:100%;height:auto;display:block}
.rg-gallery-grid .rg-video video{width:100%;height:auto;display:block;background:#181814}
.rg-zoom{position:absolute;bottom:12px;right:12px;width:36px;height:36px;display:grid;place-items:center;background:rgba(24,24,20,.78);color:#fff;font-size:25px;line-height:1;opacity:0;transition:opacity .2s ease}
.rg-photo-link:hover .rg-zoom,.rg-photo-link:focus-visible .rg-zoom{opacity:1}
.rg-summary{border-top:1px solid var(--line);padding:44px 0 68px;max-width:1100px;margin:0 auto}
.rg-summary h2{font-size:clamp(1.6rem,2.6vw,2.8rem);line-height:1.2;font-weight:500;letter-spacing:-.025em;margin:0 0 24px}
.rg-summary p{font-size:1.0625rem;line-height:1.8;margin:0 0 25px}
.rg-summary p a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(24,24,20,.4)}
@media(max-width:1000px){.rg-gallery-grid{columns:2}.rg-v71 .rg-intro-grid{grid-template-columns:1fr;gap:22px}.rg-v71 .rg-intro-copy p{max-width:48em}}
@media(max-width:560px){.rg-gallery-grid{columns:1;padding-top:0}.rg-v71 .rg-intro{padding-top:125px;padding-bottom:24px}.rg-v71 .rg-breadcrumbs{margin-bottom:24px}.rg-summary{padding:32px 0 48px}}
@media(prefers-reduced-motion:reduce){.rg-zoom{transition:none}}

/* v72: mobile layout containment, shrinkable content and viewport-sized menu. */
@media (max-width:991.98px) {
  html, body {
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  @supports (overflow:clip) {
    html, body { overflow-x:clip; }
  }

  /* Bootstrap g-5 has 24px half-gutters, but px-3 only provides 16px. */
  main .container-fluid.px-3 > .row { --bs-gutter-x:2rem; }

  main, main > section, .site-footer,
  .hero-slider .hero-shell, .hero-content, .hero-copy,
  .page-hero-copy, .project-hero-copy,
  .section-head > *, .services-copy-grid > *, .services-grid > *,
  .showroom-card > *, .footer-grid > *,
  .home-project-highlight-head > *, .home-project-highlight-grid > *,
  .home-project-highlight-side > *, .process-head-wide > *,
  .project-tech-row > *, .article-layout > *,
  .rg-intro-grid > *, .rg-local > *, .rg-gallery-grid {
    min-width:0;
    max-width:100%;
  }
  main, .site-footer { overflow-wrap:anywhere; }
  .hero-home .hero-copy { width:100%; }
  .hero-actions .btn, .rg-actions .btn, .rg-text-link, .rg-inline-link a {
    min-width:0;
    max-width:100%;
    white-space:normal;
  }
  .footer-wordmark { overflow:hidden; overflow:clip; }

  /* Anchor to both viewport edges; do not centre against overflowing content. */
  .site-header, .home-page .site-header,
  .site-header.is-scrolled, .home-page .site-header.is-scrolled {
    left:calc(10px + env(safe-area-inset-left, 0px))!important;
    right:calc(10px + env(safe-area-inset-right, 0px))!important;
    width:auto!important;
    max-width:none!important;
    min-width:0;
    transform:none!important;
  }
  .site-header > .container-fluid {
    width:100%;
    min-width:0;
    gap:12px;
    flex-wrap:nowrap;
  }
  .site-header .brand { min-width:0; }
  .site-header .brand-mark { flex-shrink:0; }
  .site-header .header-actions { flex:0 0 auto; }
  .site-header .menu-btn { flex:0 0 44px; width:44px; height:44px; }

  .menu-overlay.menu-overlay-v49 {
    inset:0;
    width:100%;
    max-width:100%;
    height:100%;
    height:100dvh;
    min-width:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  /* An implicit auto grid column can grow to the longest menu label. */
  .menu-inner.menu-inner-v49 {
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:100%;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;
    padding-left:calc(1.2rem + env(safe-area-inset-left, 0px));
    padding-right:calc(1.2rem + env(safe-area-inset-right, 0px));
    padding-bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px));
  }
  .menu-top-v49, .menu-layout-v49, .menu-nav-v49,
  .menu-bottom-v49, .menu-bottom-v49 > *, .menu-copy-v49 {
    min-width:0;
    max-width:100%;
  }
  .menu-top-v49 { padding-right:0; }
  .menu-top-v49 .menu-kicker { padding-right:3.6rem; }
  .menu-langs-top-v66 { flex-wrap:wrap; }
  .menu-langs-top-v66 .lang-link { flex:0 0 44px; }
  .menu-overlay .menu-nav-v49 .menu-link-v49 {
    width:100%;
    min-width:0;
    grid-template-columns:28px minmax(0,1fr) 20px!important;
    gap:10px;
  }
  .menu-copy-v49 strong, .menu-copy-v49 small, .menu-bottom-v49 {
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .menu-copy-v49 strong { line-height:1.05; }
  .menu-copy-v49 small { max-width:100%; }
  .menu-bottom.menu-bottom-v49 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .menu-close.menu-close-v49 {
    right:calc(.9rem + env(safe-area-inset-right, 0px));
    top:calc(.78rem + env(safe-area-inset-top, 0px));
    width:44px;
    height:44px;
  }
}

@media (max-width:767.98px) {
  .menu-bottom.menu-bottom-v49 { grid-template-columns:minmax(0,1fr); }
  .menu-copy-v49 strong { font-size:clamp(1.75rem,8.5vw,2.5rem); }
}

@media (hover:none) and (max-width:991.98px) {
  .menu-link-v49:hover .menu-copy-v49 strong,
  .menu-link-v49:hover .menu-copy-v49 small,
  .menu-link-v49:hover .menu-arrow-v49 { transform:none; }
}
