:root{
  --brand:#9f1e1b;
  --brand-dark:#6f100f;
  --brand-soft:#f7e9e7;
  --ink:#161616;
  --muted:#676767;
  --line:#e6e2df;
  --paper:#e7ddc7;
  --wash:#f6f4f1;
  --night:#0c0c0c;
  --success:#177b52;
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:32px;
  --shadow:0 24px 70px rgba(27,16,13,.12);
  --header-h:106px;
  --container:min(1180px,calc(100% - 40px));
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
svg{width:1em;height:1em;fill:none}
::selection{background:var(--brand);color:#fff}
.container{width:var(--container);margin-inline:auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}

.site-loader{position:fixed;inset:0;z-index:9999;background:#111;color:#fff;display:grid;place-content:center;text-align:center;transition:opacity .8s var(--ease),visibility .8s}
.site-loader.is-hidden{opacity:0;visibility:hidden}
.loader-mark{display:flex;justify-content:center;gap:0;margin-bottom:16px;font:900 52px/1 Georgia,serif;font-style:italic;letter-spacing:-14px;color:#fff;transform:translateX(-6px)}
.loader-mark span:last-child{color:#d85c55;transform:translateY(4px)}
.site-loader p{font-size:11px;letter-spacing:.23em;text-transform:uppercase;color:#aaa;margin:0 0 20px}
.loader-line{width:180px;height:2px;background:#333;overflow:hidden}
.loader-line i{display:block;width:42%;height:100%;background:var(--brand);animation:loader 1.1s var(--ease) infinite}
@keyframes loader{0%{transform:translateX(-110%)}100%{transform:translateX(350%)}}
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:1200;pointer-events:none}
.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#c63831,var(--brand));box-shadow:0 0 12px rgba(159,30,27,.55)}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(240,233,217,.92);backdrop-filter:blur(18px);transition:box-shadow .3s ease,transform .3s ease}
.site-header.scrolled{box-shadow:0 10px 40px rgba(20,12,10,.08)}
.topbar{height:34px;background:var(--brand);color:#fff;font-size:12px}
.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.topbar-links,.topbar-actions{display:flex;align-items:center;gap:24px}
.topbar a{display:flex;align-items:center;gap:7px;opacity:.96;transition:opacity .2s ease}
.topbar a:hover{opacity:.72}
.topbar svg{font-size:14px}
.topbar-actions{gap:18px}
.nav-wrap{border-bottom:1px solid rgba(0,0,0,.05)}
.nav-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}
.brand-symbol{display:flex;font:900 26px/1 Georgia,serif;font-style:italic;letter-spacing:-11px;color:var(--brand);width:42px;transform:translateX(-3px)}
.brand-symbol i{font-style:inherit}
.brand-symbol i:last-child{transform:translateY(3px);opacity:.72}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy b{font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:700;color:#371b19}
.brand-copy small{font-size:8px;letter-spacing:.27em;margin-top:5px;color:var(--brand);font-weight:800}
.desktop-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
.desktop-nav a{position:relative;padding:25px 16px;font-size:14px;font-weight:650;color:#252525;transition:color .25s ease}
.desktop-nav a:after{content:"";position:absolute;left:16px;right:16px;bottom:14px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--brand)}
.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1);transform-origin:left}
.nav-actions{display:flex;align-items:center;gap:14px}
.btn{border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 23px;font-size:13px;font-weight:750;letter-spacing:.01em;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease;position:relative;overflow:hidden}
.btn:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.18);transform:translateX(-120%) skewX(-18deg);transition:transform .55s var(--ease)}
.btn:hover:before{transform:translateX(120%) skewX(-18deg)}
.btn:hover{transform:translateY(-2px)}
.btn svg{font-size:17px;position:relative}
.btn span{position:relative}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 13px 30px rgba(159,30,27,.23)}
.btn-primary:hover{background:#861512;box-shadow:0 17px 36px rgba(159,30,27,.3)}
.btn-outline{background:transparent;border:1px solid var(--brand);color:var(--brand)}
.btn-outline:hover{background:var(--brand);color:#fff}
.btn-light{background:var(--surface);color:var(--ink)}
.btn-dark{background:#111;color:#fff}
.btn-lg{min-height:54px;padding-inline:29px}
.btn-block{width:100%}
.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:10px}
.menu-toggle span{display:block;height:2px;background:#222;margin:5px 0;transition:.3s}
.mobile-menu{position:fixed;inset:0;z-index:1100;visibility:hidden;pointer-events:none}
.mobile-menu:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:.35s}
.mobile-menu-panel{position:absolute;top:0;right:0;width:min(88vw,420px);height:100%;padding:28px;background:#111;color:#fff;transform:translateX(100%);transition:transform .55s var(--ease);display:flex;flex-direction:column}
.mobile-menu.open{visibility:visible;pointer-events:auto}
.mobile-menu.open:before{opacity:1}
.mobile-menu.open .mobile-menu-panel{transform:none}
.mobile-menu-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid #303030;color:#999;text-transform:uppercase;font-size:11px;letter-spacing:.18em}
.mobile-close,.drawer-close,.modal-close{border:0;background:transparent;color:inherit;font-size:34px;line-height:1;cursor:pointer}
.mobile-menu nav{display:flex;flex-direction:column;margin:26px 0 auto}
.mobile-menu nav a{font:600 28px/1.2 Georgia,serif;padding:17px 2px;border-bottom:1px solid #292929;display:flex;align-items:center;gap:17px}
.mobile-menu nav span{font:500 10px/1 sans-serif;color:#9c4d48;letter-spacing:.12em}
.mobile-menu-panel>p{color:#888;font-size:12px;margin-top:20px}

#app{min-height:60vh;outline:none}
.view-enter{animation:viewIn .65s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.page-shell{overflow:hidden}
.section{padding:100px 0}
.section-sm{padding:72px 0}
.section-dark{background:#111;color:#fff}
.section-wash{background:var(--wash)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--brand);font-size:11px;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
.eyebrow.light{color:#e78883}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
.section-head.center{text-align:center;display:block;max-width:730px;margin:0 auto 46px}
.section-head h2,.display-title,.page-title{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;line-height:1.02;margin:12px 0 0;font-weight:600}
.section-head h2{font-size:clamp(37px,5vw,60px)}
.section-head p{max-width:500px;color:var(--muted);margin:0}
.section-dark .section-head p{color:#aaa}
.text-link{border:0;background:none;padding:0;font-weight:760;cursor:pointer;display:inline-flex;align-items:center;gap:9px;color:var(--brand)}
.text-link span{transition:transform .25s var(--ease)}
.text-link:hover span{transform:translate(3px,-3px)}
.text-link.light{color:#fff}

.hero{min-height:calc(100vh - var(--header-h));display:flex;align-items:center;position:relative;background:var(--surface);overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 26%,rgba(159,30,27,.10),transparent 27%),linear-gradient(100deg,rgba(240,233,217,.92) 0 44%,rgba(240,233,217,.18) 70%,rgba(240,233,217,0));z-index:1}
.hero-grid{width:var(--container);margin:auto;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:55px;position:relative;z-index:2;padding:64px 0}
.hero-copy{max-width:660px}
.hero-copy .eyebrow{margin-bottom:25px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,7.7vw,100px);line-height:.93;letter-spacing:-.055em;font-weight:500;margin:0;color:#171414}
.hero h1 em{display:block;color:var(--brand);font-style:italic}
.hero-copy>p{max-width:590px;font-size:18px;line-height:1.75;color:#555;margin:27px 0 34px}
.hero-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.hero-trust{display:flex;align-items:center;gap:20px;margin-top:42px;color:#6b625f;font-size:12px}
.avatar-stack{display:flex}
.avatar-stack span{width:34px;height:34px;border-radius:50%;border:2px solid var(--surface);margin-left:-8px;background-image:url('../images/products/online-01.jpg');background-size:cover}
.avatar-stack span:nth-child(2){background-image:url('../images/products/online-06.jpg')}.avatar-stack span:nth-child(3){background-image:url('../images/products/online-14.jpg')}.avatar-stack span:first-child{margin:0}
.hero-visual{height:min(72vh,720px);position:relative}
.hero-image-main{position:absolute;inset:0 0 0 14%;border-radius:180px 180px 28px 28px;overflow:hidden;box-shadow:var(--shadow)}
.hero-image-main img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}
.hero-image-main:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.5))}
.hero-badge{position:absolute;left:0;top:16%;width:155px;height:155px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 20px 45px rgba(159,30,27,.35);animation:float 5s ease-in-out infinite}
.hero-badge strong{font-family:Georgia,serif;font-size:39px;line-height:1}.hero-badge span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:7px}
.hero-float-card{position:absolute;right:-20px;bottom:9%;background:rgba(240,233,217,.92);backdrop-filter:blur(12px);border-radius:18px;padding:16px 19px;width:220px;box-shadow:0 18px 50px rgba(0,0,0,.15);display:flex;align-items:center;gap:13px}
.hero-float-card i{width:45px;height:45px;border-radius:50%;background:var(--brand-soft);display:grid;place-items:center;color:var(--brand);font-style:normal;font-weight:900}
.hero-float-card strong{display:block;font-size:13px}.hero-float-card small{color:#777}
.hero-caption{position:absolute;left:22%;bottom:5%;z-index:2;color:#fff}.hero-caption small{display:block;opacity:.7;letter-spacing:.14em;text-transform:uppercase}.hero-caption strong{font:500 26px/1.3 Georgia,serif}
@keyframes float{50%{transform:translateY(-12px) rotate(2deg)}}

.brand-ticker{background:#111;color:#fff;overflow:hidden;padding:18px 0}
.brand-ticker-track{display:flex;width:max-content;animation:ticker 27s linear infinite}
.brand-ticker-track span{display:flex;align-items:center;gap:18px;padding:0 28px;letter-spacing:.18em;font-size:11px;font-weight:750;white-space:nowrap}.brand-ticker-track i{width:6px;height:6px;border-radius:50%;background:var(--brand)}
@keyframes ticker{to{transform:translateX(-50%)}}

.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}
.intro-media{position:relative;min-height:570px}
.intro-media-main{width:82%;height:500px;border-radius:var(--radius-lg);object-fit:cover;filter:grayscale(.1)}
.intro-media-secondary{position:absolute;right:0;bottom:0;width:48%;height:250px;object-fit:cover;border:10px solid var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}
.intro-stamp{position:absolute;right:4%;top:8%;width:125px;height:125px;border:1px solid rgba(159,30,27,.35);border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(240,233,217,.9);color:var(--brand);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transform:rotate(8deg)}
.intro-copy h2{font:500 clamp(40px,5vw,66px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:14px 0 24px}
.intro-copy>p{color:var(--muted);font-size:16px}
.check-list{display:grid;gap:13px;margin:28px 0 32px;padding:0;list-style:none}.check-list li{display:flex;align-items:center;gap:12px;font-weight:650}.check-list svg{width:20px;height:20px;padding:4px;border-radius:50%;background:var(--brand-soft);color:var(--brand)}

.stat-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:44px 28px;border-right:1px solid var(--line);text-align:center}.stat-item:last-child{border:0}.stat-item strong{display:block;font:500 52px/1 Georgia,serif;color:var(--brand)}.stat-item span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}

.capability-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.capability-card{position:relative;min-height:300px;padding:30px 24px;display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius);overflow:hidden;background:#222;color:#fff;transition:transform .4s var(--ease),box-shadow .4s ease}
.capability-card:nth-child(2){background:#b16212}.capability-card:nth-child(3){background:#8e1714}.capability-card:nth-child(4){background:#304b78}.capability-card:nth-child(5){background:#6d167e}
.capability-card:before{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-75px;top:-80px;transition:transform .55s var(--ease)}
.capability-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.16)}
.capability-card:hover:before{transform:scale(1.3)}
.capability-number{font-size:10px;letter-spacing:.15em;opacity:.65}.capability-icon{width:55px;height:55px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;font-size:22px}.capability-card h3{font:500 23px/1.15 Georgia,serif;margin:0}.capability-card p{font-size:12px;opacity:.75;margin:9px 0 0}

.collection-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:10px 18px;font-size:12px;font-weight:720;cursor:pointer;transition:.25s}.filter-chip:hover,.filter-chip.active{border-color:var(--brand);background:var(--brand);color:#fff}
.product-slider{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,1fr);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 25px;scrollbar-width:none}.product-slider::-webkit-scrollbar{display:none}
.product-card{scroll-snap-align:start;position:relative;background:var(--surface);border:1px solid #eee9e6;border-radius:18px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s ease}
.product-card:hover{transform:translateY(-7px);box-shadow:0 20px 50px rgba(32,20,16,.12)}
.product-media{position:relative;aspect-ratio:1/1.06;overflow:hidden;background:#eee}
.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.product-card:hover .product-media img{transform:scale(1.055)}
.product-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.62));opacity:0;transition:.35s;display:flex;align-items:flex-end;padding:18px}.product-card:hover .product-overlay{opacity:1}
.quick-button{border:0;background:var(--surface);color:#111;border-radius:999px;padding:10px 15px;font-size:11px;font-weight:760;cursor:pointer;transform:translateY(10px);transition:.35s var(--ease)}.product-card:hover .quick-button{transform:none}
.favorite-button{position:absolute;right:13px;top:13px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(240,233,217,.9);display:grid;place-items:center;cursor:pointer;color:#333;z-index:2;transition:.25s}.favorite-button.active{background:var(--brand);color:#fff}.favorite-button svg{width:18px;height:18px}
.product-body{padding:18px 18px 20px}.product-body small{color:var(--brand);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.product-body h3{font:500 19px/1.25 Georgia,serif;margin:7px 0 8px}.product-body p{margin:0;color:#777;font-size:12px}
.slider-controls{display:flex;gap:8px}.circle-button{width:46px;height:46px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;transition:.25s}.circle-button:hover{background:var(--brand);border-color:var(--brand);color:#fff}.circle-button svg{width:18px;height:18px}.circle-button.prev svg{transform:rotate(180deg)}

.process-wrap{position:relative}.process-line{position:absolute;left:8%;right:8%;top:58px;height:1px;background:#3a3a3a}.process-line span{display:block;width:0;height:100%;background:var(--brand);transition:width 1.4s var(--ease)}.process-wrap.in-view .process-line span{width:100%}
.process-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.process-step{text-align:center}.process-dot{width:118px;height:118px;margin:0 auto 22px;border-radius:50%;border:1px solid #3a3a3a;background:#111;display:grid;place-items:center;position:relative;transition:.4s}.process-dot b{font:500 29px/1 Georgia,serif;color:#fff}.process-step:hover .process-dot{border-color:var(--brand);background:var(--brand);transform:translateY(-7px)}.process-step h3{font:500 18px/1.2 Georgia,serif;margin:0 0 9px}.process-step p{font-size:12px;color:#999;margin:0}

.specialty-grid{display:grid;gap:22px}.specialty-row{display:grid;grid-template-columns:1fr 1fr;min-height:390px;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}.specialty-row:nth-child(even){background:var(--brand);color:#fff}.specialty-row:nth-child(even) .specialty-media{order:2}.specialty-media{overflow:hidden}.specialty-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.specialty-row:hover .specialty-media img{transform:scale(1.04)}.specialty-copy{padding:55px;display:flex;flex-direction:column;justify-content:center}.specialty-copy span{font-size:10px;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:var(--brand)}.specialty-row:nth-child(even) .specialty-copy span{color:#f4a7a2}.specialty-copy h3{font:500 35px/1.08 Georgia,serif;margin:12px 0 18px}.specialty-copy p{color:#665f5c;margin:0}.specialty-row:nth-child(even) .specialty-copy p{color:#f3d9d7}

.testimonial{position:relative;background:url('../images/why-factory.jpg') center/cover fixed;padding:110px 0;color:#fff}.testimonial:before{content:"";position:absolute;inset:0;background:rgba(10,8,8,.78)}.testimonial .container{position:relative;z-index:1;text-align:center;max-width:900px}.testimonial blockquote{font:italic 500 clamp(30px,4vw,53px)/1.25 Georgia,serif;margin:20px 0 25px}.testimonial p{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#d0c7c4}

.cta-panel{position:relative;border-radius:var(--radius-lg);background:#191717;color:#fff;overflow:hidden;padding:72px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}.cta-panel:before{content:"";position:absolute;width:530px;height:530px;border:1px solid #373131;border-radius:50%;right:-140px;top:-250px}.cta-panel h2{font:500 clamp(39px,5vw,65px)/1.02 Georgia,serif;margin:10px 0 20px}.cta-panel p{color:#aaa;max-width:620px}.cta-actions{display:flex;justify-content:flex-end;position:relative;z-index:1}

.page-hero{padding:90px 0 72px;background:#171515;color:#fff;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 10%,rgba(159,30,27,.5),transparent 33%)}.page-hero .container{position:relative}.page-hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end}.page-title{font-size:clamp(54px,7vw,92px);margin:17px 0 0}.page-hero p{color:#bdb6b4;max-width:520px;font-size:16px}.breadcrumb{display:flex;gap:8px;color:#847b78;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.breadcrumb strong{color:#fff}

.product-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:35px}.search-box{position:relative;width:min(100%,340px)}.search-box svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#777}.search-box input{width:100%;height:48px;border:1px solid var(--line);border-radius:999px;padding:0 20px 0 45px;outline:none;background:var(--surface);transition:.25s}.search-box input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.product-count{color:#777;font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.empty-state{grid-column:1/-1;text-align:center;padding:90px 20px;border:1px dashed #d9d2cf;border-radius:var(--radius);color:#777}.empty-state h3{font:500 30px Georgia,serif;color:#222;margin:0 0 8px}

.about-visual-hero{position:relative;min-height:480px;background:url('../images/about-hero.jpg') center/cover;color:#fff;display:flex;align-items:end}.about-visual-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(88,8,6,.88),rgba(88,8,6,.36),rgba(0,0,0,.3))}.about-visual-hero .container{position:relative;padding-bottom:72px}.about-visual-hero .page-title{max-width:740px}.about-lead{font-size:18px;max-width:730px;color:#f4dedd}
.leadership-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.leader-card{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);min-height:420px}.leader-card:nth-child(2) .leader-photo{order:2}.leader-photo img{width:100%;height:100%;object-fit:cover}.leader-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}.leader-copy h3{font:500 29px/1.1 Georgia,serif;margin:10px 0 5px}.leader-copy small{color:var(--brand);font-weight:700}.leader-copy p{color:var(--muted);font-size:13px;margin-top:22px}
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mission-card{padding:48px;border-radius:var(--radius);background:var(--surface);position:relative;overflow:hidden}.mission-card:nth-child(2){background:var(--brand);color:#fff}.mission-card .big-icon{font-size:70px;line-height:1;opacity:.14;position:absolute;right:25px;top:18px}.mission-card h3{font:500 34px Georgia,serif;margin:9px 0 14px}.mission-card p{color:#6e6662}.mission-card:nth-child(2) p{color:#f2d6d4}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{padding:28px;border:1px solid var(--line);border-radius:18px;transition:.35s var(--ease)}.service-card:hover{transform:translateY(-5px);border-color:rgba(159,30,27,.3);box-shadow:0 15px 40px rgba(30,19,16,.08)}.service-icon{width:52px;height:52px;border-radius:14px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:24px}.service-card h3{font:500 21px Georgia,serif;margin:18px 0 8px}.service-card p{margin:0;color:var(--muted);font-size:13px}
.partners-panel{border:1px solid var(--line);border-radius:var(--radius-lg);padding:50px;background:var(--surface);text-align:center}.partners-panel img{margin:25px auto 0;max-height:150px;object-fit:contain;mix-blend-mode:multiply}

.gallery-grid{columns:3 280px;column-gap:18px}.gallery-item{break-inside:avoid;margin-bottom:18px;border-radius:18px;overflow:hidden;position:relative;cursor:pointer;background:#eee}.gallery-item img{width:100%;transition:transform .8s var(--ease);min-height:250px;object-fit:cover}.gallery-item:nth-child(3n+1) img{height:390px}.gallery-item:nth-child(3n+2) img{height:300px}.gallery-item:nth-child(3n) img{height:470px}.gallery-item:after{content:"View";position:absolute;right:16px;bottom:16px;background:rgba(240,233,217,.9);padding:9px 14px;border-radius:999px;font-size:11px;font-weight:750;opacity:0;transform:translateY(8px);transition:.35s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:hover:after{opacity:1;transform:none}

.contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:start}.map-card{position:sticky;top:135px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);height:610px;background:#ddd}.map-card img{width:100%;height:100%;object-fit:cover}.map-card:after{content:"Sparkling Sourcing";position:absolute;left:22px;top:22px;background:var(--surface);padding:13px 17px;border-radius:12px;font-size:12px;font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.12)}.contact-copy h2{font:500 clamp(42px,5vw,65px)/1.03 Georgia,serif;margin:12px 0 20px}.contact-copy>p{color:var(--muted)}.contact-details{display:grid;gap:13px;margin:28px 0 38px}.contact-detail{display:flex;align-items:flex-start;gap:13px}.contact-detail>span{width:38px;height:38px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:0 0 auto}.contact-detail p,.contact-detail a{font-size:13px;margin:0}.contact-detail small{display:block;color:#999;margin-bottom:2px}.contact-form{display:grid;gap:15px}.form-grid{display:grid;gap:15px}.form-grid.two{grid-template-columns:1fr 1fr}.contact-form label,.quote-form label{display:grid;gap:7px}.contact-form label span,.quote-form label>span,.quote-form legend{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#59504d}.contact-form input,.contact-form textarea,.quote-form input,.quote-form textarea,.quote-form select{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px 15px;outline:none;transition:.25s;resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}

.site-footer{background:#0b0b0b;color:#fff}.footer-marquee{border-bottom:1px solid #242424;overflow:hidden;padding:16px 0}.footer-marquee>div{display:flex;width:max-content;animation:ticker 32s linear infinite}.footer-marquee span{font-size:10px;letter-spacing:.18em;color:#999;padding:0 25px}.footer-marquee i{width:5px;height:5px;border-radius:50%;background:var(--brand);align-self:center}.footer-main{display:grid;grid-template-columns:1.35fr 1.25fr .7fr 1fr;gap:56px;padding:72px 0 60px}.brand-light .brand-copy b{color:#fff}.footer-brand>p,.footer-column>p{color:#8e8e8e;font-size:13px;max-width:330px}.footer-column h3{font:500 20px Georgia,serif;margin:0 0 20px}.footer-column ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.footer-column li{display:flex;align-items:flex-start;gap:10px;color:#aaa;font-size:12px}.footer-column li svg{flex:0 0 auto;margin-top:3px}.footer-column nav{display:grid;gap:11px}.footer-column nav a{color:#aaa;font-size:12px;transition:.2s}.footer-column nav a:hover{color:#fff;transform:translateX(3px)}.mini-form{display:flex;border-bottom:1px solid #444;margin-top:24px}.mini-form input{background:none;border:0;color:#fff;outline:none;width:100%;padding:12px 0}.mini-form button{background:none;border:0;color:#fff;cursor:pointer}.social-links{display:flex;gap:9px;margin-top:23px}.social-links a{width:34px;height:34px;border-radius:50%;border:1px solid #3a3a3a;display:grid;place-items:center;font-size:11px;color:#aaa;transition:.25s}.social-links a:hover{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(-3px)}.footer-bottom{border-top:1px solid #222;display:flex;justify-content:space-between;padding:20px 0;color:#666;font-size:11px}

.quote-drawer{position:fixed;inset:0;z-index:2000;visibility:hidden;pointer-events:none}.drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:.4s}.drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(680px,100%);background:var(--surface);padding:45px 48px;overflow:auto;transform:translateX(100%);transition:transform .65s var(--ease)}.quote-drawer.open{visibility:visible;pointer-events:auto}.quote-drawer.open .drawer-backdrop{opacity:1}.quote-drawer.open .drawer-panel{transform:none}.drawer-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:35px}.drawer-head h2{font:500 44px/1.05 Georgia,serif;margin:8px 0 0}.drawer-close{color:#222}.quote-form{display:grid;gap:18px}.quote-form fieldset{border:0;padding:0;margin:0}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid label{display:block}.choice-grid label span{display:block;border:1px solid var(--line);border-radius:10px;padding:12px 7px;text-align:center;text-transform:none;letter-spacing:0;font-size:11px;background:var(--surface);cursor:pointer}.choice-grid input:checked+span{border-color:var(--brand);background:var(--brand);color:#fff}.form-note{text-align:center;color:#999;font-size:11px;margin:0}

.product-modal{position:fixed;inset:0;z-index:2100;visibility:hidden;pointer-events:none}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);opacity:0;transition:.4s}.product-modal-card{position:absolute;left:50%;top:50%;width:min(940px,calc(100% - 30px));max-height:calc(100vh - 40px);overflow:auto;background:var(--surface);border-radius:var(--radius-lg);display:grid;grid-template-columns:1fr 1fr;transform:translate(-50%,-46%) scale(.96);opacity:0;transition:.5s var(--ease)}.product-modal.open{visibility:visible;pointer-events:auto}.product-modal.open .modal-backdrop{opacity:1}.product-modal.open .product-modal-card{transform:translate(-50%,-50%) scale(1);opacity:1}.modal-close{position:absolute;right:15px;top:13px;z-index:2;width:42px;height:42px;background:var(--surface);border-radius:50%;box-shadow:0 4px 20px rgba(0,0,0,.1);font-size:27px}.product-modal-media{min-height:530px;background:#eee}.product-modal-media img{width:100%;height:100%;object-fit:cover}.product-modal-content{padding:65px 55px;display:flex;flex-direction:column;justify-content:center}.product-modal-content h2{font:500 43px/1.06 Georgia,serif;margin:12px 0 18px}.product-modal-content>p{color:var(--muted)}.modal-meta{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);margin:24px 0 30px}.modal-meta>div{padding:18px 0}.modal-meta>div+div{border-left:1px solid var(--line);padding-left:20px}.modal-meta small{display:block;color:#999;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.modal-meta strong{font-size:12px}
.toast-region{position:fixed;right:20px;bottom:20px;z-index:3000;display:grid;gap:9px}.toast{background:#111;color:#fff;border-radius:12px;padding:14px 18px;min-width:260px;box-shadow:0 15px 40px rgba(0,0,0,.25);font-size:12px;display:flex;align-items:center;gap:10px;animation:toastIn .4s var(--ease)}.toast i{width:21px;height:21px;border-radius:50%;background:var(--success);display:grid;place-items:center;font-style:normal}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.back-to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;border:0;background:var(--brand);color:#fff;z-index:900;box-shadow:0 10px 30px rgba(159,30,27,.35);display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s}.back-to-top.show{opacity:1;visibility:visible;transform:none}.toast-region:not(:empty)+.back-to-top{bottom:85px}

[data-reveal]{opacity:0;transform:translateY(35px);transition:opacity .75s var(--ease),transform .75s var(--ease)}[data-reveal="left"]{transform:translateX(-35px)}[data-reveal="right"]{transform:translateX(35px)}[data-reveal].revealed{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.stagger.revealed>*{opacity:1;transform:none}.stagger.revealed>*:nth-child(2){transition-delay:.07s}.stagger.revealed>*:nth-child(3){transition-delay:.14s}.stagger.revealed>*:nth-child(4){transition-delay:.21s}.stagger.revealed>*:nth-child(5){transition-delay:.28s}.stagger.revealed>*:nth-child(6){transition-delay:.35s}

@media(max-width:1050px){
  :root{--container:min(100% - 32px,920px)}
  .desktop-nav{display:none}.menu-toggle{display:block}.btn-quote{display:none}
  .hero-grid{grid-template-columns:1fr .85fr;gap:30px}.hero h1{font-size:clamp(54px,8vw,78px)}
  .capability-grid{grid-template-columns:repeat(3,1fr)}.capability-card:nth-child(4),.capability-card:nth-child(5){min-height:240px}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .intro-grid{gap:45px}.intro-media{min-height:510px}
  .footer-main{grid-template-columns:1.3fr 1fr 1fr}.footer-connect{grid-column:2/4}
  .leadership-grid{grid-template-columns:1fr}.leader-card:nth-child(2) .leader-photo{order:0}
}
@media(max-width:800px){
  :root{--header-h:72px;--container:calc(100% - 30px)}
  .topbar{display:none}.nav-inner{height:72px}.brand-copy b{font-size:18px}.brand-symbol{font-size:23px;width:37px}
  .section{padding:76px 0}.section-sm{padding:58px 0}.section-head{display:block}.section-head p{margin-top:17px}
  .hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:58px 0 70px}.hero-copy{position:relative;z-index:3}.hero-copy>p{font-size:16px}.hero-visual{height:570px;margin-top:15px}.hero-image-main{inset:0 4% 0 10%}.hero-badge{width:125px;height:125px}.hero-float-card{right:0}
  .intro-grid{grid-template-columns:1fr}.intro-media{order:2}.intro-copy{order:1}.stats-grid{grid-template-columns:1fr 1fr}.stat-item:nth-child(2){border-right:0}.stat-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .capability-grid{grid-template-columns:1fr 1fr}.capability-card{min-height:245px}
  .process-line{display:none}.process-grid{grid-template-columns:1fr 1fr}.process-step:last-child{grid-column:1/-1}.process-dot{width:90px;height:90px}
  .specialty-row{grid-template-columns:1fr;min-height:auto}.specialty-media{height:320px}.specialty-row:nth-child(even) .specialty-media{order:0}.specialty-copy{padding:38px}
  .cta-panel{grid-template-columns:1fr;padding:48px 35px}.cta-actions{justify-content:flex-start}
  .page-hero-grid{grid-template-columns:1fr;gap:25px}.page-hero{padding:70px 0 55px}
  .product-toolbar{align-items:flex-start;flex-direction:column}.search-box{width:100%}.product-grid{grid-template-columns:1fr 1fr}
  .mission-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.leader-card{grid-template-columns:1fr}.leader-photo{height:430px}.leader-card:nth-child(2) .leader-photo{order:0}
  .contact-layout{grid-template-columns:1fr}.map-card{position:relative;top:auto;height:470px}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-connect{grid-column:auto}.footer-bottom{display:block;text-align:center}
  .product-modal-card{grid-template-columns:1fr}.product-modal-media{min-height:390px}.product-modal-content{padding:40px 32px}.product-modal-content h2{font-size:35px}
}
@media(max-width:560px){
  .brand-copy small{display:none}.brand-copy b{font-size:17px}.nav-inner{gap:8px}
  .hero h1{font-size:49px}.hero-actions{align-items:stretch}.hero-actions .btn{width:100%}.hero-trust{align-items:flex-start}.hero-visual{height:470px}.hero-image-main{inset:0 0 0 7%;border-radius:120px 120px 24px 24px}.hero-badge{width:100px;height:100px;top:8%}.hero-badge strong{font-size:29px}.hero-float-card{width:190px;padding:12px;bottom:5%}.hero-caption{left:17%;bottom:16%}.hero-caption strong{font-size:20px}
  .intro-media{min-height:410px}.intro-media-main{height:370px;width:91%}.intro-media-secondary{height:180px;border-width:7px}.intro-stamp{width:96px;height:96px;font-size:8px}
  .stats-grid{grid-template-columns:1fr 1fr}.stat-item{padding:31px 12px}.stat-item strong{font-size:40px}
  .capability-grid{grid-template-columns:1fr}.capability-card{min-height:220px}
  .product-slider{grid-auto-columns:82%}.process-grid{grid-template-columns:1fr}.process-step:last-child{grid-column:auto}
  .specialty-media{height:240px}.specialty-copy{padding:32px 25px}.specialty-copy h3{font-size:29px}
  .cta-panel{padding:40px 25px}.cta-actions .btn{width:100%}
  .page-title{font-size:52px}.page-hero{padding:55px 0 45px}
  .collection-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:7px}.filter-chip{white-space:nowrap}.product-grid{grid-template-columns:1fr}.product-media{aspect-ratio:1/1}.product-body h3{font-size:22px}
  .about-visual-hero{min-height:570px}.about-visual-hero .container{padding-bottom:50px}.about-lead{font-size:15px}.leader-photo{height:330px}.leader-copy{padding:30px}.mission-card{padding:34px 28px}.service-grid{grid-template-columns:1fr}.partners-panel{padding:30px 18px}
  .gallery-grid{columns:1}.gallery-item img,.gallery-item:nth-child(n) img{height:390px}
  .form-grid.two{grid-template-columns:1fr}.contact-layout{gap:35px}.map-card{height:390px}
  .footer-main{grid-template-columns:1fr;gap:35px;padding:55px 0}.footer-brand,.footer-connect{grid-column:auto}.footer-bottom p:last-child{display:none}
  .drawer-panel{padding:30px 22px}.drawer-head h2{font-size:36px}.choice-grid{grid-template-columns:1fr 1fr}
  .product-modal-card{max-height:calc(100vh - 20px)}.product-modal-media{min-height:310px}.modal-meta{grid-template-columns:1fr}.modal-meta>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.testimonial{background-attachment:scroll}}


/* Laravel/AJAX integration states */
button[disabled]{cursor:not-allowed;opacity:.68}
.toast.toast-error i{background:#c53030}
.ajax-skeleton{min-height:180px;border-radius:16px;background:linear-gradient(90deg,var(--surface) 25%,var(--surface) 37%,var(--surface) 63%);background-size:400% 100%;animation:skeletonMove 1.4s ease infinite}
@keyframes skeletonMove{0%{background-position:100% 0}100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* =========================================================
   V1.2 PRODUCT HIERARCHY + MOTION UPGRADE
   Database-safe frontend enhancement only
   ========================================================= */
#app{transition:opacity .17s ease,transform .17s ease}
#app.app-is-leaving{opacity:0;transform:translateY(8px)}
.hero-visual{transform:translate3d(var(--hero-x,0),var(--hero-y,0),0);transition:transform .35s var(--ease)}
.hero-image-main:before{content:"";position:absolute;inset:-35%;z-index:2;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.25) 50%,transparent 58%);transform:translateX(-70%) rotate(7deg);animation:heroShine 7s ease-in-out infinite;pointer-events:none}
@keyframes heroShine{0%,58%{transform:translateX(-70%) rotate(7deg)}78%,100%{transform:translateX(70%) rotate(7deg)}}

/* Desktop three-level product menu */
.products-nav-item{position:relative;display:flex;align-items:stretch}
.products-nav-link{display:flex!important;align-items:center;gap:7px}
.nav-chevron{font-size:15px;line-height:1;transition:transform .35s var(--ease)}
.products-nav-item:hover .nav-chevron,.products-nav-item:focus-within .nav-chevron{transform:rotate(180deg)}
.products-mega-menu{position:fixed;left:50%;top:106px;width:min(1120px,calc(100vw - 38px));background:var(--surface);border:1px solid rgba(28,18,15,.08);border-radius:0 0 24px 24px;box-shadow:0 30px 80px rgba(20,12,10,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,16px) scale(.985);transform-origin:top center;transition:opacity .28s ease,visibility .28s ease,transform .45s var(--ease);overflow:hidden}
.products-nav-item:hover .products-mega-menu,.products-nav-item:focus-within .products-mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.mega-menu-inner{display:grid;grid-template-columns:1.05fr .9fr 1.2fr .78fr;min-height:390px}
.mega-menu-intro{padding:42px 34px;background:var(--surface);border-right:1px solid var(--line)}
.mega-menu-intro h3{font:500 33px/1.08 Georgia,serif;letter-spacing:-.035em;margin:17px 0 15px}
.mega-menu-intro p{font-size:13px;color:var(--muted);margin:0 0 26px}
.mega-menu-intro>a{display:inline-flex;align-items:center;gap:9px;color:var(--brand);font-size:12px;font-weight:800}
.mega-menu-intro>a svg{transition:transform .25s var(--ease)}
.mega-menu-intro>a:hover svg{transform:translateX(4px)}
.mega-category-list{padding:23px 0;border-right:1px solid var(--line);background:var(--surface)}
.mega-category{width:100%;min-height:66px;border:0;background:transparent;padding:0 22px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:10px;text-align:left;cursor:pointer;color:#605753;position:relative;overflow:hidden;opacity:0;transform:translateX(-10px);transition:color .25s ease,background .25s ease,opacity .35s ease,transform .4s var(--ease)}
.products-nav-item:hover .mega-category,.products-nav-item:focus-within .mega-category{opacity:1;transform:none}
.products-nav-item:hover .mega-category:nth-child(2){transition-delay:.035s}.products-nav-item:hover .mega-category:nth-child(3){transition-delay:.07s}.products-nav-item:hover .mega-category:nth-child(4){transition-delay:.105s}.products-nav-item:hover .mega-category:nth-child(5){transition-delay:.14s}
.mega-category:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--brand);transform:scaleY(0);transition:transform .32s var(--ease)}
.mega-category span{font-size:9px;letter-spacing:.12em;color:#aaa}.mega-category strong{font:500 18px/1.2 Georgia,serif}.mega-category svg{width:16px;height:16px;opacity:.4;transform:translateX(-5px);transition:.3s var(--ease)}
.mega-category:hover,.mega-category.active{background:var(--brand-soft);color:var(--brand)}
.mega-category.active:before{transform:scaleY(1)}.mega-category.active svg{opacity:1;transform:none}
.mega-sub-panels{position:relative;padding:34px 34px;background:var(--surface);overflow:hidden}
.mega-sub-panel{position:absolute;inset:34px;opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .25s ease,visibility .25s ease,transform .45s var(--ease)}
.mega-sub-panel.active{opacity:1;visibility:visible;transform:none}
.mega-sub-panel>small{font-size:10px;color:var(--brand);font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.mega-sub-panel h4{font:500 28px/1.12 Georgia,serif;margin:10px 0 22px}
.mega-sub-panel>div{display:grid;gap:5px}
.mega-sub-panel a{display:flex;justify-content:space-between;align-items:center;padding:12px 4px;border-bottom:1px solid #eee9e6;font-size:13px;font-weight:680;transition:padding .3s var(--ease),color .25s ease}
.mega-sub-panel a svg{width:16px;opacity:0;transform:translateX(-8px);transition:.3s var(--ease)}
.mega-sub-panel a:hover{padding-left:10px;color:var(--brand)}.mega-sub-panel a:hover svg{opacity:1;transform:none}
.mega-feature{position:relative;overflow:hidden;background:#171313;color:#fff}
.mega-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.82))}
.mega-feature img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform .8s var(--ease),opacity .5s ease}
.mega-feature:hover img{transform:scale(1.08);opacity:1}
.mega-feature>span{position:absolute;left:24px;right:24px;bottom:26px;z-index:2}.mega-feature small{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.72}.mega-feature strong{display:block;font:500 23px/1.15 Georgia,serif;margin-top:6px}

/* Mobile hierarchy */
.mobile-products-block{border-bottom:1px solid #292929}
.mobile-products-toggle{width:100%;border:0;background:transparent;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:17px 2px;cursor:pointer}
.mobile-products-toggle>span{display:flex;align-items:center;gap:17px;font:600 28px/1.2 Georgia,serif}.mobile-products-toggle i{font:500 10px/1 sans-serif;color:#9c4d48;letter-spacing:.12em;font-style:normal}.mobile-products-toggle b{font:300 27px/1 sans-serif;color:#a85a55;transition:transform .3s var(--ease)}
.mobile-products-block.open .mobile-products-toggle b{transform:rotate(45deg)}
.mobile-products-tree{max-height:0;overflow:hidden;opacity:0;transition:max-height .7s var(--ease),opacity .35s ease;padding-left:30px}
.mobile-products-block.open .mobile-products-tree{max-height:680px;opacity:1;padding-bottom:15px}
.mobile-category-group>button{width:100%;border:0;background:transparent;color:#d8d8d8;padding:11px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:750;cursor:pointer}.mobile-category-group>button b{font-size:18px;color:#8f5551}
.mobile-category-group>div{max-height:0;overflow:hidden;display:grid;opacity:0;transition:max-height .45s var(--ease),opacity .3s ease}.mobile-category-group.open>div{max-height:260px;opacity:1}
.mobile-category-group>div a{font:500 12px/1.2 Inter,sans-serif!important;border:0!important;padding:8px 0!important;color:#888;display:block!important}.mobile-category-group>div a:hover{color:#fff}.mobile-category-group>div .mobile-view-all{color:#c46a64!important;font-weight:800!important}

/* Category-by-category home showcase */
.collection-showcase-section{background:linear-gradient(180deg,var(--surface) 0,var(--surface) 100%)}
.category-collection-list{display:grid;gap:36px}
.category-collection{--tilt-x:0deg;--tilt-y:0deg;border:1px solid var(--line);background:var(--surface);border-radius:26px;padding:34px;box-shadow:0 18px 55px rgba(31,18,14,.055);transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .22s ease,box-shadow .4s ease,border-color .4s ease;overflow:hidden;position:relative}
.category-collection:before{content:"";position:absolute;right:-120px;top:-160px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(159,30,27,.09),transparent 68%);pointer-events:none;transition:transform .8s var(--ease)}
.category-collection:hover{box-shadow:0 28px 75px rgba(31,18,14,.1);border-color:rgba(159,30,27,.25)}.category-collection:hover:before{transform:scale(1.25) translate(-18px,18px)}
.category-collection-head{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:24px;align-items:start;margin-bottom:28px;position:relative;z-index:2}
.category-number{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font:600 16px Georgia,serif;transition:.4s var(--ease)}.category-collection:hover .category-number{background:var(--brand);color:#fff;transform:rotate(-8deg)}
.category-collection-head h3{font:500 40px/1 Georgia,serif;letter-spacing:-.035em;margin:9px 0 8px}.category-collection-head p{margin:0;color:var(--muted);font-size:13px}
.category-sub-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.category-sub-links a{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:10px;font-weight:760;background:var(--surface);transition:.25s}.category-sub-links a:hover{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(-2px)}
.category-view-all{align-self:center;display:flex;align-items:center;gap:9px;color:var(--brand);font-size:12px;font-weight:820;white-space:nowrap}.category-view-all svg{transition:transform .3s var(--ease)}.category-view-all:hover svg{transform:translateX(5px)}
.category-product-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative;z-index:2}
.product-card-compact .product-media{aspect-ratio:1/.98}.product-card-compact .product-body{padding:14px 15px 17px}.product-card-compact .product-body h3{font-size:17px}

/* Enhanced cards */
.product-code{position:absolute;left:13px;top:13px;z-index:2;background:rgba(17,17,17,.78);backdrop-filter:blur(8px);color:#fff;padding:6px 9px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.1em;opacity:0;transform:translateY(-6px);transition:.3s var(--ease)}.product-card:hover .product-code{opacity:1;transform:none}
.product-overlay{gap:8px;align-items:flex-end}.details-button{border:1px solid rgba(255,255,255,.6);background:rgba(17,17,17,.68);backdrop-filter:blur(8px);color:#fff;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:780;display:flex;align-items:center;gap:6px;transform:translateY(12px);transition:.38s var(--ease)}.details-button svg{width:14px}.product-card:hover .details-button{transform:none;transition-delay:.04s}.details-button:hover{background:var(--brand);border-color:var(--brand)}
.product-taxonomy{display:flex;align-items:center;gap:7px;color:var(--brand);font-size:9px;font-weight:820;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden}.product-taxonomy i{width:4px;height:4px;border-radius:50%;background:#cab3af;flex:0 0 auto}.product-taxonomy span{overflow:hidden;text-overflow:ellipsis}
.product-body h3 a{transition:color .2s ease}.product-body h3 a:hover{color:var(--brand)}

/* Product explorer */
.product-page-hero{position:relative;overflow:hidden}.product-page-hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(159,30,27,.13);border-radius:50%;right:-100px;top:-190px;box-shadow:0 0 0 45px rgba(159,30,27,.035),0 0 0 90px rgba(159,30,27,.02)}
.product-explorer-section{padding-top:70px}
.category-selector{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:38px}
.category-selector-card{--tilt-x:0deg;--tilt-y:0deg;min-height:150px;border:1px solid var(--line);border-radius:18px;background:#211b19;color:#fff;padding:20px;text-align:left;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .2s ease,border-color .3s ease,box-shadow .3s ease}
.category-selector-card:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--category-image);background-size:cover;background-position:center;opacity:.48;transition:transform .7s var(--ease),opacity .4s ease}.category-selector-card:first-child:before{background:linear-gradient(135deg,#6f100f,#ba342e);opacity:1}.category-selector-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.82))}
.category-selector-card:hover,.category-selector-card.active{border-color:var(--brand);box-shadow:0 16px 36px rgba(38,22,18,.16)}.category-selector-card:hover:before,.category-selector-card.active:before{transform:scale(1.08);opacity:.7}.category-selector-card.active{outline:3px solid var(--brand-soft)}
.category-selector-card span{display:block;font-size:9px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;opacity:.75}.category-selector-card strong{display:block;font:500 20px/1.05 Georgia,serif;margin-top:49px}.category-selector-card small{font-size:9px;opacity:.7}
.product-toolbar-layered{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:24px 0;border-block:1px solid var(--line)}.toolbar-label{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#999;font-weight:850;margin-bottom:10px}
.product-results-head{display:flex;align-items:center;justify-content:space-between;margin:21px 0 17px}.product-results-head .product-count{margin:0}.reset-filter{border:0;background:transparent;color:var(--brand);font-size:11px;font-weight:800;cursor:pointer}.reset-filter:hover{text-decoration:underline}
#productGrid{transition:opacity .18s ease,transform .18s ease}.grid-refreshing{opacity:0;transform:translateY(8px)}
.empty-state{grid-column:1/-1;text-align:center;border:1px dashed #d9cfca;border-radius:20px;padding:70px 25px;background:var(--surface)}.empty-state h3{font:500 30px/1.1 Georgia,serif;margin:0 0 8px}.empty-state p{color:var(--muted);margin:0 0 20px}

/* Full product detail page */
.product-detail-hero{background:linear-gradient(135deg,var(--surface) 0,var(--surface) 55%,var(--surface) 100%);padding:42px 0 92px;position:relative;overflow:hidden}.product-detail-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(159,30,27,.1),transparent 67%);right:-170px;bottom:-260px}
.product-breadcrumb{margin-bottom:28px;position:relative;z-index:2;flex-wrap:wrap}.product-breadcrumb a:hover{color:var(--brand)}
.product-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;position:relative;z-index:2}
.product-gallery{display:grid;grid-template-columns:78px 1fr;gap:14px;min-width:0}.product-gallery-main{grid-column:2;grid-row:1;position:relative;overflow:hidden;border-radius:28px;background:#eee;aspect-ratio:1/.96;box-shadow:0 30px 70px rgba(35,20,16,.16)}.product-gallery-main img{width:100%;height:100%;object-fit:cover;transition:opacity .15s ease,transform .65s var(--ease)}.product-gallery-main:hover img{transform:scale(1.035)}.product-gallery-main img.image-switching{opacity:.2}.product-gallery-main>span{position:absolute;left:18px;bottom:18px;background:rgba(17,17,17,.75);backdrop-filter:blur(8px);color:#fff;padding:8px 12px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.1em}
.product-thumbnails{grid-column:1;grid-row:1;display:grid;align-content:start;gap:11px}.product-thumb{border:2px solid transparent;background:#eee;border-radius:13px;overflow:hidden;padding:0;aspect-ratio:1;cursor:pointer;opacity:.62;transition:.3s var(--ease)}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb:hover,.product-thumb.active{opacity:1;border-color:var(--brand);transform:translateX(4px)}
.product-detail-copy h1{font:500 clamp(48px,6vw,78px)/.98 Georgia,serif;letter-spacing:-.052em;margin:16px 0 22px}.product-detail-lead{font-size:16px;color:#5e5653;line-height:1.8;max-width:620px}.product-detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0}.product-detail-tags span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:10px;font-weight:760}
.product-spec-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:25px}.product-spec-list>div{padding:17px 16px 17px 0;border-bottom:1px solid var(--line)}.product-spec-list>div:nth-child(even){padding-left:19px;border-left:1px solid var(--line)}.product-spec-list small{display:block;font-size:9px;color:#999;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.product-spec-list strong{font-size:12px;line-height:1.45;display:block}
.product-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.product-detail-note{font-size:10px!important;color:#999!important;margin-top:17px!important}
.product-story-section{padding:70px 0}.product-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-story-grid article{border:1px solid var(--line);border-radius:20px;padding:31px;position:relative;overflow:hidden;transition:.4s var(--ease)}.product-story-grid article:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:var(--brand-soft);right:-55px;top:-60px;transition:.5s var(--ease)}.product-story-grid article:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(35,20,16,.09);border-color:rgba(159,30,27,.25)}.product-story-grid article:hover:before{transform:scale(1.35)}.product-story-grid span{color:var(--brand);font-size:10px;font-weight:850;letter-spacing:.15em}.product-story-grid h3{font:500 27px Georgia,serif;margin:13px 0 8px}.product-story-grid p{font-size:13px;color:var(--muted);margin:0}
.modal-subcategory{font-size:11px!important;color:var(--brand)!important;font-weight:800;margin:-10px 0 10px!important;text-transform:uppercase;letter-spacing:.1em}.modal-actions{display:flex;gap:9px;flex-wrap:wrap}.modal-actions .btn{flex:1}.modal-details-link svg{width:15px}

@media(max-width:1050px){
  .products-mega-menu{display:none}.products-nav-item{display:none}
  .category-product-row{grid-template-columns:repeat(2,1fr)}
  .category-selector{grid-template-columns:repeat(3,1fr)}
  .product-detail-grid{grid-template-columns:1fr 1fr;gap:38px}.product-gallery{grid-template-columns:64px 1fr}
}
@media(max-width:800px){
  .category-collection{padding:26px}.category-collection-head{grid-template-columns:52px 1fr}.category-view-all{grid-column:2;margin-top:4px;justify-self:start}.category-number{width:48px;height:48px}.category-collection-head h3{font-size:34px}
  .category-selector{grid-template-columns:repeat(2,1fr)}.product-toolbar-layered{align-items:stretch;flex-direction:column}.product-toolbar-layered .search-box{width:100%}
  .product-detail-grid{grid-template-columns:1fr}.product-gallery{max-width:650px;margin:auto}.product-detail-copy{max-width:650px;margin:auto}.product-story-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .category-collection-list{gap:22px}.category-collection{padding:20px;border-radius:20px;transform:none!important}.category-collection-head{grid-template-columns:1fr;gap:13px}.category-number{width:42px;height:42px}.category-view-all{grid-column:auto}.category-collection-head h3{font-size:31px}.category-product-row{display:grid;grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.category-product-row .product-card{scroll-snap-align:start}
  .product-overlay{opacity:1;background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.62))}.quick-button,.details-button{transform:none}.product-code{opacity:1;transform:none}
  .category-selector{display:grid;grid-auto-flow:column;grid-auto-columns:72%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 3px 15px}.category-selector-card{scroll-snap-align:start;transform:none!important}.category-selector-card strong{margin-top:44px}
  .product-gallery{grid-template-columns:1fr}.product-gallery-main{grid-column:1;grid-row:1;border-radius:20px}.product-thumbnails{grid-column:1;grid-row:2;grid-template-columns:repeat(4,1fr)}.product-thumb:hover,.product-thumb.active{transform:translateY(-3px)}
  .product-detail-hero{padding:28px 0 65px}.product-detail-copy h1{font-size:48px}.product-spec-list{grid-template-columns:1fr}.product-spec-list>div:nth-child(even){padding-left:0;border-left:0}.product-detail-actions .btn{width:100%}.modal-actions{display:grid}.modal-actions .btn{width:100%}
}
.choice-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:560px){.choice-grid{grid-template-columns:repeat(2,1fr)}}

/* Sparkling Sourcing V1.3 — Burgundy & Champagne premium polish */
:root{
  --brand:#8b2030;
  --brand-dark:#57101b;
  --brand-deep:#321015;
  --brand-soft:#f7e8e8;
  --accent:#c6a15b;
  --accent-bright:#e2c98d;
  --accent-soft:#f4ead6;
  --ink:#1a1515;
  --muted:#6f6662;
  --line:#e8dfd7;
  --paper:#e7ddc7;
  --wash:#f7f2eb;
  --night:#171213;
  --shadow:0 28px 80px rgba(46,24,21,.14);
  --shadow-soft:0 18px 55px rgba(46,24,21,.08);
  --premium-ease:cubic-bezier(.16,1,.3,1);
}
html{background:var(--paper);scroll-padding-top:118px}
body{
  background:
    radial-gradient(circle at 10% 8%,rgba(198,161,91,.08),transparent 25%),
    radial-gradient(circle at 92% 32%,rgba(139,32,48,.055),transparent 24%),
    var(--paper);
}
body:before{
  content:"";position:fixed;inset:0;z-index:5000;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--surface-warm)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),var(--brand));border:2px solid #efe8e0;border-radius:20px}
::selection{background:var(--brand-deep);color:#fff6e8}

/* premium transition */
.premium-transition{position:fixed;inset:0;z-index:4950;pointer-events:none;visibility:hidden}
.premium-transition:before,.premium-transition:after{content:"";position:absolute;inset:0;transform:translateY(105%);transition:transform .75s var(--premium-ease)}
.premium-transition:before{background:var(--brand-deep)}
.premium-transition:after{background:linear-gradient(120deg,var(--brand),#a73844 54%,var(--accent));transition-delay:.07s;clip-path:inset(0 0 48% 0)}
.premium-transition span{position:absolute;left:50%;top:50%;z-index:2;color:#fff;transform:translate(-50%,25px);opacity:0;font:600 13px/1 Georgia,serif;letter-spacing:.2em;text-transform:uppercase;transition:.35s ease}
.premium-transition.is-active{visibility:visible}
.premium-transition.is-active:before,.premium-transition.is-active:after{transform:translateY(0)}
.premium-transition.is-active span{opacity:1;transform:translate(-50%,0);transition-delay:.18s}
.premium-transition.is-leaving:before,.premium-transition.is-leaving:after{transform:translateY(-105%)}
.premium-transition.is-leaving span{opacity:0;transform:translate(-50%,-20px)}

/* custom cursor */
.premium-cursor,.premium-cursor-dot{position:fixed;left:0;top:0;z-index:5100;pointer-events:none;border-radius:50%;opacity:0;transition:opacity .25s ease}
.premium-cursor{width:44px;height:44px;border:1px solid rgba(139,32,48,.55);transform:translate(-50%,-50%);mix-blend-mode:multiply}
.premium-cursor:after{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;font-size:7px;font-weight:900;letter-spacing:.06em;color:#fff;opacity:0}
.premium-cursor-dot{width:7px;height:7px;background:var(--brand);transform:translate(-50%,-50%)}
body.cursor-ready .premium-cursor,body.cursor-ready .premium-cursor-dot{opacity:1}
body.cursor-hover .premium-cursor{width:72px;height:72px;background:var(--brand);border-color:var(--brand);mix-blend-mode:normal}
body.cursor-hover .premium-cursor:after{opacity:1}
body.cursor-hover .premium-cursor-dot{opacity:0}

.scroll-progress{height:4px;background:rgba(198,161,91,.14)}
.scroll-progress span{background:linear-gradient(90deg,var(--brand-deep),var(--brand),var(--accent),var(--accent-bright));box-shadow:0 0 18px rgba(198,161,91,.58)}

/* header */
.site-header{background:rgba(240,233,217,.9);border-bottom:1px solid rgba(139,32,48,.05);transition:box-shadow .35s ease,transform .5s var(--premium-ease),background .35s ease}
.site-header.header-hidden{transform:translateY(-100%)}
.site-header.scrolled{background:rgba(240,233,217,.96);box-shadow:0 14px 50px rgba(44,22,20,.1)}
.topbar{position:relative;background:linear-gradient(100deg,var(--brand-deep),var(--brand) 58%,#a9464e);overflow:hidden}
.topbar:after{content:"";position:absolute;left:-15%;top:0;width:28%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-20deg);animation:topbarShine 7s ease-in-out infinite}
@keyframes topbarShine{0%,62%{left:-35%}100%{left:125%}}
.nav-wrap{border-color:rgba(139,32,48,.075)}
.brand-symbol{color:var(--brand);filter:drop-shadow(0 5px 10px rgba(139,32,48,.18))}
.brand-copy b{color:var(--brand-deep)}
.brand-copy small{color:var(--accent);letter-spacing:.31em}
.desktop-nav a:after{height:2px;background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:99px}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--brand)}
.nav-chevron{color:var(--accent)}

/* buttons */
.btn{isolation:isolate;box-shadow:none;transition:transform .35s var(--premium-ease),box-shadow .35s ease,background .35s ease,color .35s ease,border-color .35s ease}
.btn:after{content:"";position:absolute;inset:1px;border-radius:inherit;border:1px solid rgba(255,255,255,.28);pointer-events:none;z-index:-1}
.btn-primary{background:linear-gradient(115deg,var(--brand-deep),var(--brand) 62%,#a83b47);box-shadow:0 15px 34px rgba(139,32,48,.24),inset 0 1px rgba(255,255,255,.12)}
.btn-primary:hover{background:linear-gradient(115deg,#411018,var(--brand) 58%,#ad4450);box-shadow:0 22px 45px rgba(139,32,48,.32)}
.btn-outline{border-color:rgba(139,32,48,.45);background:rgba(240,233,217,.42);backdrop-filter:blur(12px)}
.btn-light{background:rgba(240,233,217,.86);border:1px solid rgba(198,161,91,.35);box-shadow:0 15px 35px rgba(42,24,20,.08);backdrop-filter:blur(12px)}
.btn-dark{background:linear-gradient(120deg,#171213,#332526);box-shadow:0 15px 35px rgba(17,12,12,.2)}
.text-link{color:var(--brand)}
.text-link:after{content:"";height:1px;width:0;background:linear-gradient(90deg,var(--brand),var(--accent));transition:width .35s var(--premium-ease)}
.text-link:hover:after{width:34px}

/* global headings and section depth */
.eyebrow{color:var(--brand)}
.eyebrow:before{background:linear-gradient(90deg,var(--brand),var(--accent));width:34px}
.section{position:relative}
.section-wash{background:
  radial-gradient(circle at 85% 15%,rgba(198,161,91,.12),transparent 24%),
  linear-gradient(135deg,var(--paper),var(--paper))}
.section-head h2,.display-title,.page-title{color:var(--ink);text-wrap:balance}
.section-head h2{position:relative}
.section-head h2:after{content:"";display:block;width:58px;height:3px;margin-top:18px;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--accent))}
.section-head.center h2:after{margin-inline:auto}
.page-title{background:linear-gradient(115deg,var(--ink),var(--brand-deep) 65%,var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}

/* loader */
.site-loader{background:
  radial-gradient(circle at center,rgba(139,32,48,.25),transparent 32%),
  linear-gradient(145deg,#0d090a,var(--brand-deep));}
.loader-mark span:last-child{color:var(--accent)}
.loader-line{background:rgba(255,255,255,.12);border-radius:99px}
.loader-line i{background:linear-gradient(90deg,var(--brand),var(--accent-bright));box-shadow:0 0 18px var(--accent)}

/* hero */
.hero{background:linear-gradient(120deg,var(--surface) 0%,var(--surface) 55%,var(--surface-warm) 100%)}
.hero:before{background:
  radial-gradient(circle at 13% 16%,rgba(198,161,91,.18),transparent 22%),
  radial-gradient(circle at 76% 70%,rgba(139,32,48,.12),transparent 28%),
  linear-gradient(100deg,rgba(240,233,217,.96) 0 44%,rgba(240,233,217,.25) 72%,transparent)}
.hero:after{content:"";position:absolute;width:520px;height:520px;right:-230px;top:-190px;border:1px solid rgba(198,161,91,.25);border-radius:50%;box-shadow:0 0 0 70px rgba(198,161,91,.035),0 0 0 140px rgba(139,32,48,.025);animation:orbit 16s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.hero h1{color:var(--ink);text-shadow:0 12px 35px rgba(80,43,35,.07)}
.hero h1 em{color:var(--brand);position:relative;text-shadow:0 9px 25px rgba(139,32,48,.12)}
.hero h1 em:after{content:"";position:absolute;left:4%;right:2%;bottom:-7px;height:8px;background:url("data:image/svg+xml,%3Csvg width='420' height='10' viewBox='0 0 420 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 7C92 0 253 1 418 4' stroke='%23c6a15b' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;transform:scaleX(0);transform-origin:left;animation:drawLine 1.1s var(--premium-ease) .75s forwards}
@keyframes drawLine{to{transform:scaleX(1)}}
.hero-copy>p{color:#655a55}
.hero-visual{filter:drop-shadow(0 35px 44px rgba(62,32,27,.18))}
.hero-image-main{border:1px solid rgba(198,161,91,.48);box-shadow:0 34px 80px rgba(62,32,27,.22);overflow:hidden}
.hero-image-main:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.28) 45%,transparent 63%);transform:translateX(-140%);animation:imageSheen 7s var(--premium-ease) 1.6s infinite}
@keyframes imageSheen{0%,65%{transform:translateX(-140%)}100%{transform:translateX(140%)}}
.hero-image-main img{animation:heroBreath 10s ease-in-out infinite alternate}
@keyframes heroBreath{to{transform:scale(1.035)}}
.hero-badge{border:1px solid rgba(198,161,91,.65);background:linear-gradient(145deg,rgba(240,233,217,.94),rgba(246,234,214,.9));box-shadow:0 20px 45px rgba(75,38,31,.16)}
.hero-badge strong{color:var(--brand)}
.hero-float-card{border:1px solid rgba(198,161,91,.35);background:rgba(240,233,217,.87);backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(63,31,27,.16);animation:floatCard 5s ease-in-out infinite}
@keyframes floatCard{50%{transform:translateY(-8px)}}
.hero-caption{background:linear-gradient(135deg,var(--brand-deep),var(--brand));box-shadow:0 18px 45px rgba(87,16,27,.26)}
.avatar-stack span{box-shadow:0 0 0 1px rgba(198,161,91,.32)}

/* ticker, stats, cards */
.brand-ticker,.footer-marquee{background:linear-gradient(90deg,#160f10,#251719,#160f10);border-color:rgba(198,161,91,.13)}
.brand-ticker i,.footer-marquee i{background:var(--accent);box-shadow:0 0 10px rgba(198,161,91,.6)}
.intro-media-main,.intro-media-secondary{box-shadow:var(--shadow)}
.intro-stamp{background:linear-gradient(145deg,var(--brand-deep),var(--brand));border:1px solid rgba(198,161,91,.45);box-shadow:0 18px 45px rgba(87,16,27,.3)}
.stat-band{background:linear-gradient(110deg,var(--brand-deep),var(--brand) 55%,#a13e47);position:relative;overflow:hidden}
.stat-band:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 80px,rgba(255,255,255,.025) 81px 82px)}
.stat-item strong{color:#fff8e9;text-shadow:0 8px 22px rgba(0,0,0,.15)}
.stat-item span{color:#e6c69e}
.capability-card,.service-card,.mission-card,.category-collection,.product-card,.partners-panel{border-color:rgba(198,161,91,.22);box-shadow:var(--shadow-soft)}
.capability-card:after,.service-card:after,.product-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(198,161,91,.15),transparent 42%);opacity:0;transition:opacity .35s ease}
.capability-card:hover:after,.service-card:hover:after,.product-card:hover:after{opacity:1}
.capability-card:hover,.service-card:hover{border-color:rgba(139,32,48,.32);box-shadow:0 24px 55px rgba(72,36,31,.12)}
.capability-number{color:var(--accent)}
.capability-icon,.service-icon{background:linear-gradient(145deg,var(--brand-soft),var(--accent-soft));color:var(--brand);border:1px solid rgba(198,161,91,.22)}

/* category & mega menu */
.products-mega-menu{border-color:rgba(198,161,91,.25);box-shadow:0 38px 95px rgba(45,21,19,.22);background:rgba(240,233,217,.98);backdrop-filter:blur(22px)}
.mega-menu-intro{background:linear-gradient(145deg,var(--surface),var(--surface))}
.mega-category:hover,.mega-category.active{background:linear-gradient(90deg,var(--brand-soft),var(--accent-soft));color:var(--brand)}
.mega-category:before{background:linear-gradient(var(--brand),var(--accent))}
.mega-feature:after{background:linear-gradient(180deg,transparent 20%,rgba(50,16,21,.92))}
.mega-feature strong{color:#fff8e9}
.category-collection{background:linear-gradient(145deg,rgba(240,233,217,.98),rgba(240,233,217,.94));}
.category-collection:before{background:radial-gradient(circle,rgba(198,161,91,.14),transparent 65%)}
.category-collection:after{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--brand),var(--accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--premium-ease)}
.category-collection:hover:after{transform:scaleX(1)}
.category-number{background:linear-gradient(145deg,var(--brand-soft),var(--accent-soft));border:1px solid rgba(198,161,91,.28)}
.category-collection:hover .category-number{background:linear-gradient(145deg,var(--brand-deep),var(--brand));box-shadow:0 12px 30px rgba(139,32,48,.25)}
.category-sub-links a{background:rgba(240,233,217,.8);border-color:rgba(198,161,91,.3)}
.category-sub-links a:hover{background:linear-gradient(110deg,var(--brand),#a33a46);border-color:transparent;box-shadow:0 10px 24px rgba(139,32,48,.2)}
.category-view-all{color:var(--brand)}
.category-selector-card:first-child:before{background:linear-gradient(135deg,var(--brand-deep),var(--brand),#b24a55)}
.category-selector-card{border-color:rgba(198,161,91,.28);box-shadow:0 16px 35px rgba(44,22,20,.1)}
.category-selector-card.active{outline-color:rgba(198,161,91,.48);box-shadow:0 20px 50px rgba(87,16,27,.18),0 0 0 1px var(--brand)}

/* products */
.product-card{background:linear-gradient(160deg,var(--surface),var(--surface));border-color:rgba(198,161,91,.25);box-shadow:0 15px 40px rgba(47,23,20,.07);will-change:transform}
.product-card:hover{box-shadow:0 28px 65px rgba(54,26,22,.16)}
.product-media{background:linear-gradient(145deg,var(--wash),var(--wash))}
.product-media:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.45);border-radius:inherit;pointer-events:none}
.product-overlay{background:linear-gradient(180deg,rgba(50,16,21,0) 40%,rgba(50,16,21,.88));backdrop-filter:saturate(1.05)}
.quick-button{background:var(--surface);border:1px solid rgba(198,161,91,.45)}
.details-button{background:rgba(50,16,21,.75);border-color:rgba(226,201,141,.55)}
.details-button:hover{background:linear-gradient(110deg,var(--brand),#a33a46)}
.product-code{background:rgba(50,16,21,.84);border:1px solid rgba(226,201,141,.26)}
.favorite-button{box-shadow:0 9px 22px rgba(50,16,21,.15)}
.favorite-button.active{background:var(--brand);color:#fff}
.product-taxonomy span:first-child{color:var(--brand)}
.product-taxonomy i{background:var(--accent)}
.product-body h3 a{transition:color .25s ease}
.product-card:hover .product-body h3 a{color:var(--brand)}
.product-toolbar-layered{background:rgba(240,233,217,.8);border:1px solid rgba(198,161,91,.22);box-shadow:0 15px 40px rgba(45,22,19,.07);backdrop-filter:blur(16px)}
.subcategory-filter button.active{background:linear-gradient(110deg,var(--brand-deep),var(--brand));box-shadow:0 10px 24px rgba(139,32,48,.2)}
.search-box:focus-within{border-color:rgba(198,161,91,.7);box-shadow:0 0 0 4px rgba(198,161,91,.12)}

/* dark/process and specialty */
.section-dark{background:
  radial-gradient(circle at 20% 10%,rgba(139,32,48,.27),transparent 25%),
  radial-gradient(circle at 84% 80%,rgba(198,161,91,.13),transparent 24%),
  linear-gradient(145deg,#120d0e,#211416)}
.process-line{background:rgba(198,161,91,.18)}
.process-line span{background:linear-gradient(90deg,var(--brand),var(--accent-bright));box-shadow:0 0 18px rgba(198,161,91,.35)}
.process-dot{border-color:rgba(198,161,91,.35);background:#241719}
.process-step:hover .process-dot{background:linear-gradient(145deg,var(--brand),#a6404a);border-color:var(--accent);box-shadow:0 12px 30px rgba(139,32,48,.28)}
.specialty-row{border-color:rgba(198,161,91,.24)}
.specialty-media:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(198,161,91,.15));opacity:0;transition:.45s}
.specialty-row:hover .specialty-media:after{opacity:1}
.specialty-row:hover .specialty-media img{transform:scale(1.045)}
.specialty-copy>span{color:var(--accent)}
.testimonial{background:linear-gradient(115deg,var(--brand-deep),var(--brand) 62%,#a3414b)}
.testimonial:before{color:rgba(226,201,141,.22)}
.cta-panel{background:
  radial-gradient(circle at 80% 20%,rgba(198,161,91,.22),transparent 27%),
  linear-gradient(120deg,#1b1113,var(--brand-deep));border:1px solid rgba(198,161,91,.22);box-shadow:0 28px 75px rgba(50,16,21,.22)}

/* about/gallery/contact/forms */
.about-visual-hero,.page-hero{background:
  radial-gradient(circle at 85% 20%,rgba(198,161,91,.16),transparent 26%),
  linear-gradient(130deg,var(--surface),var(--surface))}
.leader-card,.mission-card,.map-card{box-shadow:var(--shadow)}
.leader-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(50,16,21,.28));pointer-events:none}
.gallery-item{box-shadow:0 16px 38px rgba(50,25,21,.11);border:1px solid rgba(198,161,91,.2)}
.gallery-item:after{background:linear-gradient(110deg,var(--brand-deep),var(--brand));color:#fff;border:1px solid rgba(226,201,141,.36)}
.contact-form,.quote-form{--field-bg:rgba(255,253,249,.9)}
.contact-form input,.contact-form textarea,.quote-form input,.quote-form textarea,.quote-form select{background:var(--field-bg);border-color:rgba(198,161,91,.3)}
.contact-form input:focus,.contact-form textarea:focus,.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(198,161,91,.13)}
.drawer-panel{background:
  radial-gradient(circle at 100% 0,rgba(198,161,91,.17),transparent 22%),
  linear-gradient(145deg,var(--surface),var(--surface))}
.choice-grid label span{border-color:rgba(198,161,91,.32);background:var(--surface)}
.choice-grid input:checked+span{background:linear-gradient(110deg,var(--brand-deep),var(--brand));border-color:var(--accent)}
.product-modal-card{border:1px solid rgba(198,161,91,.3);box-shadow:0 45px 120px rgba(22,10,11,.38)}
.modal-backdrop{background:rgba(24,12,13,.78);backdrop-filter:blur(8px)}

/* footer */
.site-footer{background:
  radial-gradient(circle at 12% 25%,rgba(139,32,48,.18),transparent 25%),
  linear-gradient(145deg,#0d090a,#181011);border-top:1px solid rgba(198,161,91,.16)}
.footer-main{position:relative}
.footer-main:before{content:"SS";position:absolute;right:0;top:18px;font:italic 900 150px/1 Georgia,serif;letter-spacing:-35px;color:rgba(198,161,91,.04);pointer-events:none}
.social-links a:hover{background:linear-gradient(145deg,var(--brand),#a73f49);border-color:var(--accent);box-shadow:0 10px 22px rgba(139,32,48,.28)}
.footer-bottom{border-color:rgba(198,161,91,.12)}
.back-to-top{background:linear-gradient(145deg,var(--brand-deep),var(--brand));border:1px solid rgba(226,201,141,.42);box-shadow:0 15px 35px rgba(139,32,48,.35)}
.toast{background:linear-gradient(125deg,#171112,#2d1b1d);border:1px solid rgba(198,161,91,.22)}
.toast i{background:linear-gradient(145deg,#217d58,#3ba876)}

/* richer movement */
.view-enter{animation:premiumViewIn .82s var(--premium-ease) both}
@keyframes premiumViewIn{from{opacity:0;transform:translateY(24px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
[data-premium-image]{clip-path:inset(0 0 100% 0 round 18px);transition:clip-path 1s var(--premium-ease)}
[data-premium-image].is-visible{clip-path:inset(0 0 0 0 round 18px)}
.premium-lift{transform:translate3d(var(--px,0),var(--py,0),0) rotateX(var(--rx,0)) rotateY(var(--ry,0));transform-style:preserve-3d;transition:transform .12s linear}
.premium-lift .product-media img{transform:translate3d(calc(var(--px,0) * -.2),calc(var(--py,0) * -.2),22px) scale(1.04)}
.premium-lift:hover .product-media img{transform:translate3d(calc(var(--px,0) * -.2),calc(var(--py,0) * -.2),28px) scale(1.08)}
.premium-title-ready{overflow:hidden}
.premium-title-ready:before{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--accent);transition:width .8s var(--premium-ease)}
.premium-title-ready.revealed:before{width:84px}
.premium-lightbox{position:fixed;inset:0;z-index:5200;background:rgba(15,9,10,.92);backdrop-filter:blur(16px);display:grid;place-items:center;padding:35px;opacity:0;visibility:hidden;transition:.45s ease}
.premium-lightbox.open{opacity:1;visibility:visible}
.premium-lightbox figure{margin:0;max-width:min(1100px,92vw);max-height:88vh;position:relative;transform:scale(.92);transition:.6s var(--premium-ease)}
.premium-lightbox.open figure{transform:scale(1)}
.premium-lightbox img{max-height:82vh;max-width:100%;border-radius:22px;box-shadow:0 38px 100px rgba(0,0,0,.5);border:1px solid rgba(226,201,141,.28)}
.premium-lightbox figcaption{color:#fff5e5;text-align:center;margin-top:14px;font:500 16px Georgia,serif}
.premium-lightbox button{position:absolute;right:-18px;top:-18px;width:48px;height:48px;border:1px solid rgba(226,201,141,.35);border-radius:50%;background:var(--brand);color:#fff;font-size:28px;cursor:pointer}

@media(max-width:1050px){
  body:before{opacity:.025}
  .site-header.header-hidden{transform:none}
  .hero:after{width:340px;height:340px;right:-180px}
}
@media(max-width:720px){
  .premium-cursor,.premium-cursor-dot{display:none}
  .hero:after{display:none}
  .hero h1 em:after{height:5px}
  .section-head h2:after{margin-top:12px}
  .category-collection:after{height:3px}
  .premium-lightbox{padding:16px}
  .premium-lightbox button{right:5px;top:5px}
}
@media(prefers-reduced-motion:reduce){
  .topbar:after,.hero:after,.hero-image-main:before,.hero-image-main img,.hero-float-card{animation:none!important}
  .premium-transition,.premium-cursor,.premium-cursor-dot{display:none!important}
  .site-header{transition:none}
  [data-premium-image]{clip-path:none!important}
}
.premium-title-ready{position:relative;display:inline-block}
.section-head.center .premium-title-ready{display:inline-block}

/* Sparkling Sourcing V1.4 — hero slider + fail-safe image visibility */

/* Images must never disappear if an observer is blocked or delayed. */
[data-premium-image]{clip-path:none!important;opacity:1!important}
.premium-image-ready{
  clip-path:inset(0 0 7% 0 round 18px)!important;
  opacity:.985!important;
  transform:translateY(8px);
  transition:clip-path .9s var(--premium-ease),transform .9s var(--premium-ease),opacity .35s ease!important;
}
.premium-image-ready.is-visible{
  clip-path:inset(0 0 0 0 round 18px)!important;
  opacity:1!important;
  transform:none;
}
.image-fallback{filter:saturate(.7) contrast(1.02)}

/* Animated hero media carousel */
.hero-image-main{overflow:hidden;isolation:isolate}
.hero-slider,.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slider{z-index:1;overflow:hidden;border-radius:inherit;touch-action:pan-y;user-select:none}
.hero-slides{background:#24191a}
.hero-slide{margin:0;opacity:0;visibility:hidden;transform:translate3d(10%,0,0) scale(1.035);transition:opacity .85s ease,transform 1.05s var(--premium-ease),visibility 0s linear 1.05s}
.hero-slide.is-active{opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1);z-index:2;transition-delay:0s}
.hero-slide.is-before{transform:translate3d(-8%,0,0) scale(1.025)}
.hero-slide-images{display:grid;grid-template-rows:1fr 1fr;width:100%;height:100%;gap:1px;background:rgba(240,233,217,.14)}
.hero-slide-images img{width:100%;height:100%;min-height:0;object-fit:cover;filter:saturate(.82) contrast(1.06) brightness(.76);transform:scale(1.08);transition:transform 6.2s ease,filter .8s ease}
.hero-slide.is-active .hero-slide-images img:first-child{transform:scale(1.01) translate3d(-1%,0,0)}
.hero-slide.is-active .hero-slide-images img:last-child{transform:scale(1.02) translate3d(1%,0,0)}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,13,15,.05),rgba(25,13,15,.18) 48%,rgba(25,13,15,.62));pointer-events:none}
.hero-slide figcaption{position:absolute;left:26px;right:26px;bottom:70px;z-index:3;color:#fff;display:grid;gap:5px;transform:translateY(18px);opacity:0;transition:.65s ease .25s}
.hero-slide.is-active figcaption{transform:none;opacity:1}
.hero-slide figcaption small{font-size:9px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:#edd4a5}
.hero-slide figcaption strong{max-width:340px;font:500 22px/1.08 Georgia,serif;text-wrap:balance}
.hero-slider-controls{position:absolute;right:18px;bottom:18px;z-index:6;display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:999px;background:rgba(18,10,12,.62);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px)}
.hero-slider-controls>button{width:31px;height:31px;border-radius:50%;color:#fff;background:rgba(240,233,217,.08);font-size:14px;transition:.25s ease}
.hero-slider-controls>button:hover{background:var(--surface);color:var(--brand);transform:scale(1.06)}
.hero-slider-dots{display:flex;gap:6px;align-items:center}
.hero-slider-dots button{width:6px;height:6px;padding:0;border-radius:999px;background:rgba(255,255,255,.42);transition:.35s var(--premium-ease)}
.hero-slider-dots button.is-active{width:23px;background:#efd9a6}
.hero-slider-progress{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:7;background:rgba(255,255,255,.12)}
.hero-slider:hover .hero-slider-progress span{animation-play-state:paused}
.hero-slider-progress span{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,#efd9a6,var(--brand));animation:heroProgress 5.2s linear forwards}
@keyframes heroProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Keep the existing premium floating pieces above the slider. */
.hero-badge,.hero-caption,.hero-float-card{z-index:8}

@media (max-width:700px){
  .hero-slide figcaption{left:18px;right:18px;bottom:64px}
  .hero-slide figcaption strong{font-size:18px;max-width:250px}
  .hero-slider-controls{right:12px;bottom:12px}
  .hero-badge{transform:scale(.86);transform-origin:left top}
}

@media (prefers-reduced-motion:reduce){
  .hero-slide,.hero-slide-images img,.hero-slide figcaption,.premium-image-ready{transition:none!important;transform:none!important}
  .hero-slider-progress span{animation:none!important;transform:scaleX(1)}
}

/*
 * Sparkling Sourcing V1.5 — Emerald Atelier
 * Visual-only theme layer. No routes, controllers, data or database schema are changed.
 */
:root{
  --brand:#0f5a50;
  --brand-dark:#0a4039;
  --brand-deep:#052b27;
  --brand-soft:#e3f0eb;
  --accent:#cf9148;
  --accent-bright:#efc77f;
  --accent-soft:#f6ead5;
  --warm:#c45f45;
  --warm-soft:#f6e4df;
  --ink:#142824;
  --muted:#69746f;
  --line:#dce5df;
  --paper:#e7ddc7;
  --wash:#eef4f0;
  --night:#061f1c;
  --shadow:0 28px 80px rgba(8,48,42,.14);
  --shadow-soft:0 18px 55px rgba(8,48,42,.08);
}

html{background:var(--paper)}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 6% 4%,rgba(207,145,72,.10),transparent 24%),
    radial-gradient(circle at 96% 28%,rgba(15,90,80,.075),transparent 28%),
    linear-gradient(180deg,var(--paper) 0%,#f8faf7 42%,var(--paper) 100%);
}
body:before{opacity:.022;mix-blend-mode:multiply}
::selection{background:var(--brand-deep);color:#fff9ef}
::-webkit-scrollbar-track{background:#e9efeb}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),var(--brand));border-color:#e9efeb}

/* Page transition */
.premium-transition:before{background:var(--brand-deep)}
.premium-transition:after{
  background:linear-gradient(118deg,var(--brand-deep),var(--brand) 54%,var(--accent));
}
.premium-transition span{color:#fff8eb}
.scroll-progress{background:rgba(15,90,80,.12)}
.scroll-progress span{
  background:linear-gradient(90deg,var(--brand-deep),var(--brand),var(--accent),var(--accent-bright));
  box-shadow:0 0 18px rgba(207,145,72,.5);
}
.premium-cursor{border-color:rgba(15,90,80,.55)}
.premium-cursor-dot,body.cursor-hover .premium-cursor{background:var(--brand)}
body.cursor-hover .premium-cursor{border-color:var(--brand)}

/* Header / navigation */
.site-header{
  background:rgba(240,233,217,.91);
  border-bottom:1px solid rgba(15,90,80,.08);
}
.site-header.scrolled{
  background:rgba(240,233,217,.97);
  box-shadow:0 14px 50px rgba(7,45,40,.11);
}
.topbar{
  background:
    linear-gradient(102deg,var(--brand-deep),var(--brand-dark) 52%,#176e61 76%,var(--brand));
}
.topbar:after{background:linear-gradient(90deg,transparent,rgba(239,199,127,.24),transparent)}
.nav-wrap{border-color:rgba(15,90,80,.08)}
.brand-symbol{color:var(--brand);filter:drop-shadow(0 5px 10px rgba(15,90,80,.18))}
.brand-copy b{color:var(--brand-deep)}
.brand-copy small{color:var(--accent)}
.desktop-nav a:after{background:linear-gradient(90deg,var(--brand),var(--accent))}
.desktop-nav a:hover,.desktop-nav a.active,.nav-chevron{color:var(--brand)}
.nav-actions .btn-outline{
  border-color:rgba(15,90,80,.34);
  color:var(--brand-deep);
  background:rgba(240,233,217,.58);
}
.nav-actions .btn-outline:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.menu-toggle span{background:var(--brand-deep)}

/* Typography and section accents */
.eyebrow{color:var(--brand)}
.eyebrow:before{background:linear-gradient(90deg,var(--brand),var(--accent))}
.section-head h2:after{background:linear-gradient(90deg,var(--brand),var(--accent))}
.page-title{
  background:linear-gradient(115deg,var(--ink),var(--brand-deep) 64%,var(--brand));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.section-wash{
  background:
    radial-gradient(circle at 88% 14%,rgba(207,145,72,.13),transparent 25%),
    radial-gradient(circle at 12% 80%,rgba(15,90,80,.08),transparent 27%),
    linear-gradient(135deg,#f6f8f4,#edf4ef);
}

/* Buttons */
.btn-primary{
  background:linear-gradient(115deg,var(--brand-deep),var(--brand) 62%,#1d7568);
  box-shadow:0 15px 34px rgba(15,90,80,.24),inset 0 1px rgba(255,255,255,.15);
}
.btn-primary:hover{
  background:linear-gradient(115deg,#03231f,var(--brand) 58%,#287e70);
  box-shadow:0 22px 45px rgba(15,90,80,.31);
}
.btn-outline{border-color:rgba(15,90,80,.40);color:var(--brand-deep)}
.btn-outline:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-light{border-color:rgba(207,145,72,.38);box-shadow:0 15px 35px rgba(8,48,42,.08)}
.btn-dark{background:linear-gradient(120deg,var(--night),#153d37);box-shadow:0 15px 35px rgba(6,31,28,.22)}
.text-link{color:var(--brand)}
.text-link:after{background:linear-gradient(90deg,var(--brand),var(--accent))}

/* Loader */
.site-loader{
  background:
    radial-gradient(circle at center,rgba(207,145,72,.18),transparent 32%),
    linear-gradient(145deg,#031714,var(--brand-deep));
}
.loader-mark span:last-child{color:var(--accent-bright)}
.loader-line i{background:linear-gradient(90deg,var(--brand),var(--accent-bright));box-shadow:0 0 18px var(--accent)}

/* Hero — warm ivory + emerald editorial palette */
.hero{
  background:
    linear-gradient(120deg,var(--surface) 0%,#f0f5f0 54%,#dfeae4 100%);
}
.hero:before{
  background:
    radial-gradient(circle at 12% 15%,rgba(207,145,72,.18),transparent 23%),
    radial-gradient(circle at 76% 72%,rgba(15,90,80,.13),transparent 29%),
    linear-gradient(100deg,rgba(240,233,217,.97) 0 44%,rgba(240,233,217,.27) 72%,transparent);
}
.hero:after{
  border-color:rgba(207,145,72,.26);
  box-shadow:0 0 0 70px rgba(207,145,72,.04),0 0 0 140px rgba(15,90,80,.028);
}
.hero h1{color:var(--ink);text-shadow:0 12px 35px rgba(8,48,42,.075)}
.hero h1 em{color:var(--warm);text-shadow:0 9px 25px rgba(196,95,69,.14)}
.hero h1 em:after{
  background-image:url("data:image/svg+xml,%3Csvg width='420' height='10' viewBox='0 0 420 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 7C92 0 253 1 418 4' stroke='%23cf9148' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hero-copy>p{color:#5e6c67}
.hero-visual{filter:drop-shadow(0 35px 46px rgba(8,48,42,.19))}
.hero-image-main{
  border-color:rgba(207,145,72,.5);
  box-shadow:0 34px 84px rgba(8,48,42,.23);
  background:var(--brand-deep);
}
.hero-slide-images{background:#0a342f}
.hero-slide-images img{filter:saturate(.86) contrast(1.06) brightness(.77)}
.hero-slide:after{background:linear-gradient(180deg,rgba(4,36,32,.02),rgba(4,36,32,.16) 48%,rgba(4,36,32,.7))}
.hero-slide figcaption small{color:var(--accent-bright)}
.hero-badge{
  border-color:rgba(207,145,72,.68);
  background:linear-gradient(145deg,rgba(240,233,217,.96),rgba(246,234,213,.92));
  box-shadow:0 20px 45px rgba(8,48,42,.16);
}
.hero-badge strong{color:var(--brand)}
.hero-float-card{
  border-color:rgba(207,145,72,.38);
  background:rgba(240,233,217,.9);
  box-shadow:0 18px 45px rgba(8,48,42,.16);
}
.hero-caption{
  background:linear-gradient(135deg,var(--brand-deep),var(--brand));
  box-shadow:0 18px 45px rgba(5,43,39,.3);
}
.hero-slider-controls{background:rgba(3,31,28,.7);border-color:rgba(239,199,127,.28)}
.hero-slider-controls>button:hover{color:var(--brand)}
.hero-slider-dots button.is-active{background:var(--accent-bright)}
.hero-slider-progress span{background:linear-gradient(90deg,var(--accent-bright),var(--warm),var(--brand))}
.avatar-stack span{box-shadow:0 0 0 1px rgba(207,145,72,.38)}

/* Stats / collection / capability cards */
.stat-band{
  background:linear-gradient(120deg,var(--brand-deep),var(--brand-dark) 62%,#176b60);
  box-shadow:0 24px 65px rgba(5,43,39,.24);
}
.stat-item:not(:last-child){border-color:rgba(239,199,127,.18)}
.stat-item strong{color:var(--accent-bright)}
.capability-card,.mission-card,.leader-card,.partners-panel,.map-card{
  border-color:rgba(15,90,80,.1);
  box-shadow:var(--shadow-soft);
}
.capability-card:before{background:linear-gradient(180deg,var(--brand),var(--accent))}
.capability-number{color:var(--accent)}
.capability-card:hover{border-color:rgba(207,145,72,.35);box-shadow:var(--shadow)}

/* Mega menu / category hierarchy */
.products-mega-menu{
  border-color:rgba(15,90,80,.10);
  box-shadow:0 32px 85px rgba(6,31,28,.18);
}
.mega-menu-intro{background:linear-gradient(145deg,var(--surface),#eaf2ed)}
.mega-category:hover,.mega-category.active{
  background:linear-gradient(90deg,var(--brand-soft),var(--accent-soft));
  color:var(--brand);
}
.mega-category:before{background:linear-gradient(var(--brand),var(--accent))}
.mega-feature:after{background:linear-gradient(180deg,transparent 20%,rgba(5,43,39,.94))}
.mega-feature strong{color:#fff8e9}
.mega-sub-panel a:hover{color:var(--brand);background:var(--brand-soft)}

.category-collection{
  background:linear-gradient(145deg,rgba(240,233,217,.985),rgba(247,251,248,.95));
  border-color:rgba(15,90,80,.10);
  box-shadow:0 15px 44px rgba(8,48,42,.07);
}
.category-collection:before{background:radial-gradient(circle,rgba(207,145,72,.14),transparent 65%)}
.category-collection:after{background:linear-gradient(90deg,var(--brand),var(--accent),var(--warm),transparent)}
.category-collection:hover{box-shadow:0 28px 68px rgba(8,48,42,.14)}
.category-number{background:linear-gradient(145deg,var(--brand-soft),var(--accent-soft));border-color:rgba(207,145,72,.3)}
.category-collection:hover .category-number{
  background:linear-gradient(145deg,var(--brand-deep),var(--brand));
  box-shadow:0 12px 30px rgba(15,90,80,.24);
}
.category-sub-links a{background:rgba(240,233,217,.82);border-color:rgba(207,145,72,.3)}
.category-sub-links a:hover{
  background:linear-gradient(110deg,var(--brand-dark),var(--brand));
  box-shadow:0 10px 24px rgba(15,90,80,.21);
}
.category-view-all{color:var(--brand)}
.category-selector-card:first-child:before{background:linear-gradient(135deg,var(--brand-deep),var(--brand),#2b8073)}
.category-selector-card{border-color:rgba(15,90,80,.14);box-shadow:0 16px 35px rgba(8,48,42,.09)}
.category-selector-card.active{outline-color:rgba(207,145,72,.5);box-shadow:0 20px 50px rgba(15,90,80,.18),0 0 0 1px var(--brand)}

/* Product cards and explorer */
.product-card{
  background:linear-gradient(160deg,var(--surface),#f7fbf8);
  border-color:rgba(15,90,80,.12);
  box-shadow:0 15px 40px rgba(8,48,42,.075);
}
.product-card:hover{border-color:rgba(207,145,72,.34);box-shadow:0 28px 65px rgba(8,48,42,.16)}
.product-media{background:linear-gradient(145deg,#e8efeb,#d8e3dd)}
.product-overlay{background:linear-gradient(180deg,rgba(5,43,39,0) 38%,rgba(5,43,39,.9));backdrop-filter:saturate(1.05)}
.quick-button{background:var(--surface);border-color:rgba(207,145,72,.48);color:var(--brand-deep)}
.details-button{background:rgba(5,43,39,.78);border-color:rgba(239,199,127,.6)}
.details-button:hover{background:linear-gradient(110deg,var(--brand-dark),var(--brand))}
.product-code{background:rgba(5,43,39,.86);border-color:rgba(239,199,127,.3)}
.favorite-button{box-shadow:0 9px 22px rgba(5,43,39,.16)}
.favorite-button.active{background:var(--warm);color:#fff}
.product-taxonomy span:first-child,.product-card:hover .product-body h3 a{color:var(--brand)}
.product-taxonomy i{background:var(--accent)}
.product-toolbar-layered{
  background:rgba(240,233,217,.84);
  border-color:rgba(15,90,80,.12);
  box-shadow:0 15px 40px rgba(8,48,42,.075);
}
.subcategory-filter button.active{
  background:linear-gradient(110deg,var(--brand-deep),var(--brand));
  box-shadow:0 10px 24px rgba(15,90,80,.21);
}
.search-box:focus-within{border-color:rgba(207,145,72,.75);box-shadow:0 0 0 4px rgba(207,145,72,.13)}
.product-detail-hero{background:linear-gradient(135deg,#f7f9f5,#e8f0eb)}
.product-gallery,.product-detail-copy{border-color:rgba(15,90,80,.11);box-shadow:var(--shadow-soft)}
.product-thumbnails button.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(207,145,72,.16)}

/* Process and dark sections */
.section-dark{
  background:
    radial-gradient(circle at 18% 8%,rgba(15,90,80,.38),transparent 28%),
    radial-gradient(circle at 86% 82%,rgba(207,145,72,.15),transparent 25%),
    linear-gradient(145deg,#031815,#092c27 58%,#0c3933);
}
.process-line{background:rgba(207,145,72,.2)}
.process-line span{background:linear-gradient(90deg,var(--brand),var(--accent-bright));box-shadow:0 0 18px rgba(207,145,72,.38)}
.process-dot{border-color:rgba(207,145,72,.4);background:#0c322d}
.process-step:hover .process-dot{
  background:linear-gradient(145deg,var(--warm),var(--accent));
  border-color:var(--accent-bright);
  box-shadow:0 12px 30px rgba(196,95,69,.25);
}
.specialty-row{border-color:rgba(15,90,80,.16)}
.specialty-media:after{background:linear-gradient(135deg,transparent,rgba(207,145,72,.17))}
.specialty-copy>span{color:var(--accent)}
.testimonial{
  background:
    radial-gradient(circle at 85% 18%,rgba(239,199,127,.18),transparent 30%),
    linear-gradient(115deg,var(--brand-deep),var(--brand) 64%,#21796d);
}
.testimonial:before{color:rgba(239,199,127,.23)}
.cta-panel{
  background:
    radial-gradient(circle at 82% 18%,rgba(207,145,72,.24),transparent 27%),
    linear-gradient(120deg,#041d1a,var(--brand-deep));
  border-color:rgba(207,145,72,.25);
  box-shadow:0 28px 75px rgba(5,43,39,.24);
}

/* About / gallery / contact */
.about-visual-hero,.page-hero{
  background:
    radial-gradient(circle at 86% 18%,rgba(207,145,72,.16),transparent 27%),
    radial-gradient(circle at 12% 80%,rgba(15,90,80,.08),transparent 28%),
    linear-gradient(130deg,var(--surface),#eaf2ed);
}
.leader-photo:after{background:linear-gradient(180deg,transparent 55%,rgba(5,43,39,.3))}
.gallery-item{border-color:rgba(15,90,80,.13);box-shadow:0 16px 38px rgba(8,48,42,.12)}
.gallery-item:after{background:linear-gradient(110deg,var(--brand-deep),var(--brand));border-color:rgba(239,199,127,.4)}
.contact-card,.contact-form,.quote-form,.drawer-panel,.product-modal-card{
  border-color:rgba(15,90,80,.11);
  box-shadow:var(--shadow-soft);
}
.contact-form,.quote-form{--field-bg:rgba(251,250,246,.92)}
.contact-form input,.contact-form textarea,.quote-form input,.quote-form textarea,.quote-form select{
  background:var(--field-bg);
  border-color:rgba(15,90,80,.17);
}
.contact-form input:focus,.contact-form textarea:focus,.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(207,145,72,.13);
}

/* Drawers / modal / mobile */
.drawer-head,.product-modal-content{background:linear-gradient(180deg,var(--surface),#f7faf7)}
.drawer-close,.modal-close,.mobile-close{color:var(--brand-deep)}
.mobile-menu-panel{background:linear-gradient(180deg,var(--surface),#edf4f0)}
.mobile-products-tree{border-color:rgba(15,90,80,.13)}
.mobile-category-group>a{color:var(--brand-deep)}
.mobile-category-group a:hover{color:var(--brand)}
.toast{background:var(--brand-deep);border-color:rgba(207,145,72,.3)}
.back-to-top{background:linear-gradient(135deg,var(--brand-deep),var(--brand));box-shadow:0 12px 28px rgba(15,90,80,.25)}

/* Footer */
.site-footer{
  background:
    radial-gradient(circle at 12% 5%,rgba(15,90,80,.38),transparent 28%),
    radial-gradient(circle at 88% 90%,rgba(207,145,72,.12),transparent 24%),
    linear-gradient(145deg,#031614,#062823 60%,#082f2a);
}
.site-footer .brand-copy b{color:#fff9ef}
.site-footer .brand-copy small{color:var(--accent-bright)}
.footer-column h4:after{background:linear-gradient(90deg,var(--accent),transparent)}
.footer-column a:hover,.footer-connect a:hover{color:var(--accent-bright)}
.footer-marquee{border-color:rgba(239,199,127,.14);color:rgba(255,255,255,.63)}
.footer-bottom{border-color:rgba(239,199,127,.13)}
.social-links a:hover{background:var(--accent);color:var(--brand-deep)}
.mini-form button{background:var(--accent);color:var(--brand-deep)}

/* Image fallback stays visible and blends with the new palette */
.image-fallback{background:#dfe9e3;filter:saturate(.72) contrast(1.02) sepia(.06)}

@media (max-width:900px){
  .hero:before{background:linear-gradient(180deg,rgba(240,233,217,.96),rgba(238,244,240,.72))}
  .hero-visual{filter:drop-shadow(0 24px 34px rgba(8,48,42,.18))}
}

@media (prefers-reduced-motion:reduce){
  .topbar:after,.hero:after{animation:none!important}
}

/*
 * Sparkling Sourcing V1.6 — Sandstone Contrast
 * Visual/accessibility theme layer only.
 * No route, controller, model, database, migration or business logic changes.
 */
:root{
  --brand:#0b5b4f;
  --brand-dark:#073f37;
  --brand-deep:#032f2a;
  --brand-soft:#dce9e3;
  --accent:#b86d3d;
  --accent-bright:#e3b66f;
  --accent-soft:#f2dfc6;
  --warm:#a94535;
  --warm-soft:#f0d8d0;
  --ink:#14231f;
  --muted:#4b5a55;
  --line:#cfc4b5;
  --paper:#e7ddc7;
  --wash:#dfeae4;
  --night:#052722;
  --surface:#f0e9d9;
  --surface-warm:#f7efe3;
  --surface-sage:#e8f0eb;
  --shadow:0 30px 86px rgba(24,47,40,.16);
  --shadow-soft:0 16px 48px rgba(24,47,40,.10);
}

html{background:var(--surface-warm)}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 5% 8%,rgba(184,109,61,.16),transparent 25%),
    radial-gradient(circle at 92% 21%,rgba(11,91,79,.14),transparent 29%),
    linear-gradient(180deg,var(--surface-warm) 0%,var(--paper) 35%,#e6eee9 72%,var(--surface-warm) 100%);
}
body:before{opacity:.035}

/* A visible canvas instead of the almost-white tint from V1.5. */
.page-shell{background:transparent}
.section{
  background:rgba(231,221,199,.88);
  border-top:1px solid rgba(20,35,31,.045);
  border-bottom:1px solid rgba(20,35,31,.045);
}
.section.collection-showcase-section,
.section.product-explorer-section{
  background:
    radial-gradient(circle at 95% 4%,rgba(184,109,61,.13),transparent 25%),
    linear-gradient(145deg,var(--surface-warm) 0%,var(--paper) 52%,#e7eee9 100%);
}
.section.product-story-section{
  background:linear-gradient(140deg,var(--surface-warm),var(--paper) 50%,#dfeae4);
}
.section-wash{
  background:
    radial-gradient(circle at 86% 12%,rgba(227,182,111,.22),transparent 25%),
    radial-gradient(circle at 10% 88%,rgba(11,91,79,.13),transparent 28%),
    linear-gradient(135deg,#dbe7e1,var(--paper) 58%,var(--surface-warm));
}
.section-sm{background:transparent}

/* Global contrast: normal text remains readable on every light surface. */
p,
.section-head p,
.intro-copy>p,
.product-body p,
.category-collection-head p,
.service-card p,
.leader-copy p,
.contact-copy>p,
.contact-detail p,
.contact-detail a,
.product-detail-lead,
.product-story-grid p,
.footer-brand>p,
.footer-column>p{
  color:var(--muted);
}
.section-head p,.intro-copy>p,.contact-copy>p,.product-detail-lead{font-weight:500}
.product-body p,.service-card p,.leader-copy p,.category-collection-head p{color:#52615c}

/* Header */
.site-header{
  background:rgba(240,233,217,.93);
  border-bottom-color:rgba(7,63,55,.13);
}
.site-header.scrolled{
  background:rgba(240,233,217,.985);
  box-shadow:0 15px 52px rgba(24,47,40,.16);
}
.nav-wrap{background:rgba(240,233,217,.78)}
.desktop-nav a{color:#263631}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--brand-dark)}
.brand-copy b{color:var(--brand-deep)}
.brand-copy small{color:#94552f}

/* Hero: stronger, warmer background with clear dark copy. */
.hero{
  background:
    linear-gradient(112deg,var(--surface-warm) 0%,var(--surface) 43%,#d2e1d9 100%);
}
.hero:before{
  background:
    radial-gradient(circle at 9% 15%,rgba(184,109,61,.22),transparent 24%),
    radial-gradient(circle at 80% 77%,rgba(11,91,79,.18),transparent 29%),
    linear-gradient(98deg,rgba(240,233,217,.90) 0 44%,rgba(240,233,217,.18) 72%,transparent);
}
.hero:after{
  border-color:rgba(184,109,61,.34);
  box-shadow:0 0 0 70px rgba(184,109,61,.07),0 0 0 140px rgba(11,91,79,.05);
}
.hero h1{color:#101b18;text-shadow:0 10px 32px rgba(24,47,40,.10)}
.hero h1 em{color:#9f382e;text-shadow:0 9px 24px rgba(169,69,53,.18)}
.hero-copy>p{color:#46544f;font-weight:520}
.hero-trust{color:#44524d}
.hero-trust strong{color:#1e302a}
.hero-float-card{background:rgba(240,233,217,.96)}
.hero-float-card strong{color:#15251f}
.hero-float-card small{color:#52615c}
.hero-badge{background:linear-gradient(145deg,var(--surface),#ead8bb)}
.hero-badge span{color:#41504b;font-weight:700}

/* Page title areas were too pale in V1.5. These now use a dark premium panel. */
.page-hero,
.about-visual-hero{
  color:#fffaf1;
  background:
    radial-gradient(circle at 84% 14%,rgba(227,182,111,.22),transparent 28%),
    radial-gradient(circle at 12% 90%,rgba(30,119,103,.34),transparent 31%),
    linear-gradient(128deg,#032f2a 0%,#0a584d 58%,#183f37 100%);
}
.page-hero:before,
.about-visual-hero:before{
  background:linear-gradient(90deg,rgba(2,34,30,.55),rgba(2,34,30,.10));
}
.page-hero .page-title,
.about-visual-hero .page-title{
  background:none;
  color:#fffaf1;
  -webkit-text-fill-color:#fffaf1;
  text-shadow:0 12px 36px rgba(0,0,0,.26);
}
.page-hero p,.about-lead{color:#e1ece7;font-weight:500}
.page-hero .breadcrumb,.about-visual-hero .breadcrumb{color:#c3d5ce}
.page-hero .breadcrumb strong,.about-visual-hero .breadcrumb strong{color:#ffdca3}

/* Light content surfaces */
.capability-card,
.category-collection,
.product-card,
.leader-card,
.mission-card:first-child,
.service-card,
.partners-panel,
.map-card,
.contact-form,
.quote-form,
.product-gallery,
.product-detail-copy,
.product-story-grid article,
.product-toolbar-layered,
.product-modal-card{
  background:linear-gradient(155deg,var(--surface),var(--surface));
  border-color:rgba(7,63,55,.16);
}
.capability-card,.category-collection,.product-card,.leader-card,.service-card,.partners-panel,.map-card{
  box-shadow:var(--shadow-soft);
}
.capability-card:hover,.category-collection:hover,.product-card:hover,.service-card:hover{
  border-color:rgba(184,109,61,.48);
  box-shadow:var(--shadow);
}

/* Category/subcategory readability */
.category-collection-head h3,.product-body h3,.service-card h3,.leader-copy h3{color:#162720}
.category-sub-links a{
  color:#263a33;
  background:var(--surface);
  border-color:#c8b8a3;
  font-weight:800;
}
.category-sub-links a:hover{color:#fff}
.category-view-all,.text-link{color:#075246;font-weight:800}
.product-taxonomy span{color:#44554f}
.product-taxonomy span:first-child{color:#075246}
.product-toolbar-layered{background:rgba(240,233,217,.96)}
.filter-chip{color:#273a34;background:var(--surface);border-color:#c9bcac}
.filter-chip:hover,.filter-chip.active{color:#fff;background:var(--brand-dark)}
.search-box input{color:#172821;background:var(--surface);border-color:#bfb2a3}
.search-box input::placeholder{color:#68756f;opacity:1}
.product-count{color:#465650;font-weight:700}

/* Main category cards retain image impact but titles stay fully legible. */
.category-selector-card:after{background:linear-gradient(180deg,rgba(2,30,26,.04),rgba(2,30,26,.91))}
.category-selector-card span,.category-selector-card small{opacity:.94;color:#ecf6f1}
.category-selector-card strong{color:#fffdf5;text-shadow:0 4px 18px rgba(0,0,0,.5)}
.category-selector-card.active{outline-color:#e3b66f}

/* Product detail */
.product-detail-hero{
  background:
    radial-gradient(circle at 96% 7%,rgba(184,109,61,.18),transparent 25%),
    linear-gradient(135deg,#dfd2c0,var(--surface) 52%,#dbe7e1);
}
.product-detail-copy h1{color:#13241e}
.product-detail-tags span{background:var(--surface);color:#263831;border-color:#c7b9a8}
.product-spec-list small,.modal-meta small{color:#65726d}
.product-spec-list strong,.modal-meta strong{color:#162720}
.product-detail-note{color:#5f6c67!important;font-weight:600}

/* Dark sections: replace grey-on-green with high-contrast text. */
.section-dark{
  background:
    radial-gradient(circle at 16% 7%,rgba(28,114,99,.42),transparent 29%),
    radial-gradient(circle at 88% 86%,rgba(227,182,111,.19),transparent 26%),
    linear-gradient(145deg,#021f1b,#073f37 58%,#0b5046);
}
.section-dark h2,.section-dark h3,.section-dark .process-dot b{color:#fffdf5}
.section-dark .section-head p,.process-step p{color:#d6e4de}
.eyebrow.light{color:#ffd38f}
.process-dot{background:#082f2a;border-color:rgba(227,182,111,.52)}

/* Specialty rows */
.specialty-row{background:var(--surface-warm);color:#172720;border:1px solid rgba(7,63,55,.15)}
.specialty-copy p{color:#46554f}
.specialty-row:nth-child(even){background:linear-gradient(130deg,#073f37,#0b5b4f);color:#fffaf1}
.specialty-row:nth-child(even) .specialty-copy p{color:#e2ece7}
.specialty-row:nth-child(even) .specialty-copy span{color:#ffd18a}

/* About cards */
.mission-card:first-child p{color:#46554f}
.mission-card:nth-child(2){background:linear-gradient(135deg,#063a33,#0b5b4f);color:#fffaf1}
.mission-card:nth-child(2) p{color:#e0ebe6}
.mission-card:nth-child(2) .eyebrow.light{color:#ffd18a}
.service-icon,.contact-detail>span{background:#d8e8e0;color:#064b41}
.leader-copy small{color:#8e4f2e}

/* Forms */
.contact-form,.quote-form{--field-bg:#fffdf8}
.contact-form label span,.quote-form label>span,.quote-form legend{color:#263a33}
.contact-form input,.contact-form textarea,.quote-form input,.quote-form textarea,.quote-form select{
  color:#172720;
  background:var(--surface);
  border-color:#bdb1a3;
}
.contact-form input::placeholder,.contact-form textarea::placeholder,
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#6a7772;opacity:1}
.contact-detail small{color:#66736e;font-weight:750}

/* Mega menu and mobile menu: V1.5 used a light panel with inherited white text. */
.products-mega-menu{background:var(--surface)}
.mega-menu-intro{background:linear-gradient(145deg,var(--surface-warm),#e0ebe5)}
.mega-menu-intro h3,.mega-sub-panel h4{color:#15261f}
.mega-menu-intro p,.mega-sub-panel small{color:#4b5a55}
.mega-category{color:#374842}
.mega-sub-panel a{color:#263a33}

.mobile-menu-panel{
  background:linear-gradient(180deg,var(--surface),#e5eee9);
  color:#162720;
}
.mobile-menu-head,.mobile-menu-panel nav>a,.mobile-products-toggle{color:#162720}
.mobile-menu-panel nav>a span,.mobile-products-toggle i{color:#9a5b35}
.mobile-products-toggle b,.mobile-close{color:#064b41}
.mobile-category-group>button{color:#263a33}
.mobile-category-group>button b{color:#9a5b35}
.mobile-category-group>div a{color:#52615c!important}
.mobile-category-group>div a:hover{color:#064b41!important}
.mobile-category-group>div .mobile-view-all{color:#8f4e2e!important}
.mobile-menu-panel>p{color:#53625c}
.mobile-products-tree{border-color:#c8bcad}

/* Drawer/modal text contrast */
.drawer-panel,.product-modal-card{background:var(--surface);color:#162720}
.drawer-head,.product-modal-content{background:linear-gradient(180deg,var(--surface),var(--surface))}
.drawer-head h2,.product-modal-content h2{color:#14251f}
.modal-subcategory,.modal-description,.form-note{color:#50605a}
.choice-grid span{color:#263a33;background:var(--surface);border-color:#bfb1a0}
.choice-grid input:checked+span{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}

/* CTA/testimonial/footer */
.testimonial{background:linear-gradient(118deg,#04352f,#0b5b4f 62%,#704729)}
.testimonial blockquote{color:#fffdf5}
.testimonial p{color:#dce8e3}
.cta-panel{background:linear-gradient(120deg,#032f2a,#0b5b4f 64%,#6e4328)}
.cta-panel h2{color:#fffdf5}
.cta-panel p{color:#dce7e2}
.site-footer{background:linear-gradient(145deg,#021b18,#043a33 60%,#062f2a)}
.footer-brand>p,.footer-column>p,.footer-column li,.footer-column li a,.footer-column nav a{color:#d2dfd9}
.footer-column h3{color:#fffdf5}
.footer-bottom{color:#b8cac3}
.footer-marquee{color:#c8d7d1}
.footer-marquee span{color:#c8d7d1}
.mini-form{border-color:#75948a}
.mini-form input{color:#fffdf5}
.mini-form input::placeholder{color:#bdcec7}
.social-links a{color:#d9e5e0;border-color:#6d8b82}

/* Buttons */
.btn-primary{background:linear-gradient(115deg,#063c35,#0b5b4f 62%,#167466);color:#fff}
.btn-primary:hover{background:linear-gradient(115deg,#022a25,#075247 58%,#10675c)}
.btn-light{background:var(--surface);color:#172720;border-color:#bcae9c}
.btn-light:hover{background:var(--surface-warm);color:#0b3f37}
.btn-outline{color:#073f37;border-color:#55877d;background:rgba(240,233,217,.70)}
.btn-outline:hover{color:#fff}

/* Focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid #d58b4d!important;
  outline-offset:3px;
}

@media (max-width:900px){
  .hero:before{
    background:
      radial-gradient(circle at 15% 8%,rgba(184,109,61,.18),transparent 25%),
      linear-gradient(180deg,rgba(240,233,217,.94),rgba(230,239,234,.78));
  }
  .section{background:rgba(231,221,199,.94)}
}

@media (prefers-reduced-motion:reduce){
  .hero:after{animation:none!important}
}

/* Step 1 shared foundation. Page-specific redesigns remain separate. */
:root {
  --brand: #102f28;
  --brand-dark: #0b3028;
  --brand-deep: #0b3028;
  --brand-soft: #dde4d8;
  --accent: #566e5f;
  --accent-bright: #c5d5c5;
  --accent-soft: #e9e2c9;
  --ink: #202823;
  --muted: #505c53;
  --line: #cbd0c3;
  --paper: #e7ddc7;
  --wash: #ddd0af;
  --surface: #f0e9d9;
  --surface-warm: #ede4d0;
  --surface-sage: #dde4d8;
  --night: #102f28;
  --brass: #a58b56;
  --success: #216743;
  --error: #a0322a;
  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 12px;
  --shadow: 0 16px 48px rgb(22 42 32 / 10%);
  --shadow-soft: 0 6px 24px rgb(22 42 32 / 6%);
  --font-body: 'Manrope', 'Segoe UI', Arial, sans-serif;
  --font-display: 'DM Serif Display', Georgia, serif;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --section-space: clamp(56px, 7vw, 104px);
  --header-h: 112px;
  --container: min(1240px, calc(100% - 80px));
  --motion-fast: 160ms;
  --motion-normal: 240ms;
  --ease: cubic-bezier(.22, 1, .36, 1);
}
html { background: var(--paper); scroll-padding-top: calc(var(--header-h) + 20px); }
body.design-foundation { color: var(--ink); background: var(--paper); font-family: var(--font-body); font-size: 16px; line-height: 1.65; }
body.design-foundation::before { content: none; }
.design-foundation [hidden] { display: none !important; }
.design-foundation :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #5a8064; outline-offset: 4px; box-shadow: 0 0 0 2px var(--paper);
}
.design-foundation :is(.site-footer, .section-dark) :is(a, button):focus-visible { outline-color: #c5d5c5; box-shadow: 0 0 0 2px var(--night); }
.design-foundation #app:focus-visible { outline: none; box-shadow: none; }
.design-foundation .skip-link {
  position: fixed; z-index: 10001; top: 8px; left: 16px; padding: 12px 20px;
  color: #fff; background: var(--brand); border-radius: var(--radius-sm); transform: translateY(-160%);
}
.design-foundation .skip-link:focus { transform: none; }
.design-foundation :is(.section, .section-sm) { padding-block: var(--section-space); background: var(--paper); border-color: transparent; }
.design-foundation .section-sm { padding-block: calc(var(--section-space) * .7); }
.design-foundation :is(.section-wash, .collection-showcase-section, .product-story-section) { background: var(--wash); }
.design-foundation .section-dark { background: var(--night); color: #fff; }
.design-foundation .hero { background: var(--paper); }
.design-foundation .hero::before { background: linear-gradient(90deg, var(--paper), rgb(240 233 217 / 35%) 70%, transparent); }
.design-foundation .hero::after { display: none; }
.design-foundation :is(.section-head h2, .display-title, .page-title, .hero h1, .product-detail-copy h1) {
  font-family: var(--font-display); font-weight: 400; letter-spacing: -.04em; line-height: 1.08;
}
.design-foundation .section-head h2 { font-size: clamp(34px, 4.2vw, 56px); }
.design-foundation :is(.section-head p, .intro-copy > p, .contact-copy > p, .product-detail-lead) { font-weight: 400; }
.design-foundation .eyebrow { font-size: 11px; font-weight: 650; letter-spacing: .17em; }
.design-foundation .eyebrow::before { width: 20px; }
.design-foundation .eyebrow.light { color: #c5d5c5; }
.design-foundation .btn {
  min-height: 48px; padding: 12px 22px; border: 1px solid transparent; border-radius: var(--radius-sm);
  font-family: var(--font-body); font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .015em;
  box-shadow: none; transform: none;
  transition: background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);
}
.design-foundation .btn::before, .design-foundation .btn::after { content: none; }
.design-foundation .btn:hover { transform: none; box-shadow: none; }
.design-foundation .btn-primary { background: var(--brand); color: #fff; border-color: var(--brand); }
.design-foundation .btn-primary:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
.design-foundation .btn-outline { color: var(--brand); background: transparent; border-color: var(--brand); }
.design-foundation .btn-outline:hover { background: var(--brand); color: #fff; }
.design-foundation .btn-light { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.design-foundation .btn-light:hover { background: #e0d3ac; border-color: #e0d3ac; }
.design-foundation .btn-dark { background: var(--night); color: #fff; }
.design-foundation .btn:disabled { opacity: .5; cursor: not-allowed; }
.design-foundation .btn-lg { min-height: 54px; padding-inline: 28px; }
.design-foundation .text-link { font-size: 13px; font-weight: 600; text-underline-offset: 5px; }
.design-foundation .text-link:hover { text-decoration: underline; }
.design-foundation :is(.product-card, .service-card, .capability-card, .mission-card, .leader-card, .category-collection, .category-selector-card, .product-sidebar, .contact-form-card) {
  border-radius: var(--radius); border-color: var(--line); box-shadow: none; background-color: var(--surface);
}
.design-foundation :is(.product-card, .service-card, .capability-card)::before { opacity: 0; }
.design-foundation :is(.product-card, .service-card, .capability-card):hover { box-shadow: var(--shadow-soft); border-color: #acb9ac; }
.design-foundation :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
  border-radius: var(--radius-sm); border-color: #c1c9c0; accent-color: var(--brand);
}
.design-foundation :is(input, select, textarea):focus { border-color: var(--brand); }
.design-foundation :is(.premium-cursor, .premium-cursor-dot) { display: none !important; }
.design-foundation .scroll-progress span { background: var(--brand); box-shadow: none; }
.design-foundation .site-loader { background: var(--night); }
.design-foundation .loader-mark span:last-child { color: #c5d5c5; }
.design-foundation .back-to-top { border-radius: var(--radius-sm); background: var(--brand); color: #fff; box-shadow: var(--shadow-soft); }
@media (max-width: 1050px) { :root { --container: calc(100% - 48px); --header-h: 80px; } }
@media (max-width: 600px) { :root { --container: calc(100% - 36px); --header-h: 72px; } }
@media (prefers-reduced-motion: reduce) {
  .design-foundation *, .design-foundation *::before, .design-foundation *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Home-only Step 23 tokens: shared page palettes remain unchanged. */
.home-page {
  --home-body: #3c453f;
  --home-accent: var(--brass);
  --home-accent-ink: #746033;
  --home-accent-light: #dfd0a6;
  --home-accent-wash: #e9dfc9;
  --home-accent-glow: rgb(165 139 86 / 22%);
  --home-card-shadow: 0 24px 48px rgb(16 47 40 / 14%);
  --home-stitch: rgb(116 96 51 / 7%);
  --home-collection-paper: var(--paper);
  --home-collection-sage: #dfe5d9;
}

/* Shared vocabulary; section layouts stay in their own files. */
.design-foundation .editorial-page { background:var(--paper); }
.design-foundation .editorial-page :is(h1,h2,h3) { font-family:var(--font-display); font-weight:400; letter-spacing:-.035em; line-height:1.08; }
.design-foundation .editorial-page h1 { font-size:clamp(48px,6.5vw,90px); margin:20px 0 32px; }
.design-foundation .editorial-page h1 em { color:var(--brand); font-weight:400; }
.design-foundation .editorial-page h2 { font-size:clamp(34px,4vw,55px); margin:16px 0 24px; }
.design-foundation .editorial-page h3 { font-size:clamp(27px,2.6vw,36px); margin:16px 0; }
.design-foundation .editorial-page p { color:var(--muted); margin:0 0 22px; }
.design-foundation .editorial-page figure { margin:0; }
.design-foundation .editorial-page picture { display:block; }
.design-foundation .editorial-page picture img { display:block; width:100%; height:auto; }
.design-foundation .editorial-page figcaption { font-size:11px; line-height:1.6; color:var(--muted); padding-top:12px; }
.design-foundation .e-breadcrumb { display:flex; align-items:center; gap:12px; font-size:11px; margin-bottom:40px; color:var(--muted); }
.design-foundation .e-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.design-foundation .e-split { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(32px,6vw,88px); align-items:start; }
.design-foundation .e-heading { margin-bottom:38px; }
.design-foundation .e-heading-row { display:grid; grid-template-columns:1.35fr 1fr; align-items:end; gap:60px; }
.design-foundation .editorial-page .e-lead { font-size:clamp(20px,2vw,26px); color:var(--ink); line-height:1.5; }
.design-foundation .e-index { font:600 10px/1.5 var(--font-body); letter-spacing:.13em; text-transform:uppercase; color:var(--muted); }
.design-foundation .editorial-page .e-note { font-size:12px; line-height:1.65; margin:14px 0 0; }
.design-foundation .editorial-page .text-link { display:inline-flex; align-items:center; gap:12px; padding-block:8px; }
.design-foundation .text-link svg { width:18px; height:18px; flex-shrink:0; }
.design-foundation .e-accordion details { border-top:1px solid var(--line); }
.design-foundation .e-accordion details:last-child { border-bottom:1px solid var(--line); }
.design-foundation .e-accordion summary { display:flex; gap:18px; align-items:center; padding:23px 0; cursor:pointer; list-style:none; font-size:17px; font-weight:500; }
.design-foundation .e-accordion summary::-webkit-details-marker { display:none; }
.design-foundation .e-accordion summary b { margin-left:auto; font-size:23px; font-weight:400; transition:transform .2s; }
.design-foundation .e-accordion details[open] summary b { transform:rotate(45deg); }
.design-foundation .e-accordion details > div { padding:0 0 26px; }
.design-foundation .e-accordion details h3 { font-size:26px; margin:0 0 14px; }
.design-foundation .e-accordion details small { color:var(--brand); font-size:10px; letter-spacing:.07em; }
.design-foundation .e-accordion summary:focus-visible { outline:3px solid #5a8064; outline-offset:5px; }
.design-foundation .e-checklist { list-style:none; padding:0; margin:28px 0; }
.design-foundation .e-checklist li { padding:17px 0; border-top:1px solid var(--line); }
.design-foundation .e-checklist strong,.design-foundation .e-checklist span { display:block; }
.design-foundation .e-checklist strong { font-size:15px; margin-bottom:4px; font-weight:600; }
.design-foundation .e-checklist span { font-size:14px; color:var(--muted); }
.design-foundation .editorial-page .e-closing { background:var(--night); color:var(--paper); }
.design-foundation .e-closing-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.design-foundation .e-closing h2 { margin-bottom:0; }
.design-foundation .e-image-unavailable { min-height:180px; display:grid; place-items:center; background:var(--wash); border:1px solid var(--line); color:var(--muted); padding:30px; font-size:14px; }
.design-foundation .e-image-unavailable img,.design-foundation .e-image-unavailable source { display:none; }
@media(max-width:800px) {
 .design-foundation :is(.e-split,.e-heading-row) { grid-template-columns:1fr; gap:28px; }
 .design-foundation .e-closing-inner { align-items:flex-start; flex-direction:column; }
 .design-foundation .editorial-page h1 { font-size:clamp(43px,9vw,68px); }
 .design-foundation .e-breadcrumb { margin-bottom:28px; }
}

/* Step 2 editorial home foundation; deliberately isolated from other pages. */
.home-page { background: var(--paper); --h-space: clamp(64px, 8vw, 120px); }
.home-page .h-section { padding-block: var(--h-space); }
.home-page :is(h1, h2, h3, p, figure) { margin-top: 0; }
.home-page figure { margin-inline: 0; margin-bottom: 0; min-width: 0; }
.home-page h2 { font: 400 clamp(38px, 4.4vw, 64px)/1.08 var(--font-display); letter-spacing: -.045em; margin-bottom: 24px; color: var(--ink); }
.home-page h2 em { font-weight: 400; color: #57715d; }
.home-page p { font-size: 15px; line-height: 1.85; color: var(--muted); }
.home-page .h-kicker { display: block; color: var(--brand); font: 600 10px/1.6 var(--font-body); letter-spacing: .18em; margin-bottom: 22px; }
.home-page .h-kicker-light { color: #d6dfd3; }
.home-page .h-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.home-page .h-section-head h2 { margin-bottom: 0; }
.home-page .h-section-head > p { max-width: 340px; margin-bottom: 3px; }
.home-page .h-section-head > .text-link { flex-shrink: 0; margin-bottom: 6px; }
.home-page .h-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; }
.home-page .h-actions svg { width: 18px; height: 18px; }
.home-page .h-image-frame { overflow: hidden; background: var(--wash); }
.home-page picture { display: block; width: 100%; height: 100%; }
.home-page picture img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-page figcaption { display: flex; justify-content: space-between; gap: 12px; margin-top: 15px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.home-page figcaption > span:first-child { font-size: 9px; font-weight: 600; letter-spacing: .1em; }
.home-page .h-disclosure { border-bottom: 1px solid var(--line); }
.home-page .h-disclosure summary { display: flex; align-items: baseline; gap: 16px; cursor: pointer; padding: 24px 0; list-style: none; min-height: 64px; }
.home-page .h-disclosure summary::-webkit-details-marker { display: none; }
.home-page .h-disclosure summary:focus-visible { outline: 3px solid #5a8064; outline-offset: 5px; }
.home-page .h-disclosure summary:hover h3 { color: var(--brand); }
.home-page .h-disclosure summary h3 { font: 400 24px/1.25 var(--font-display); margin: 0; color: var(--ink); letter-spacing: -.02em; }
.home-page .h-disclosure-number { flex: 0 0 22px; color: #65766a; font-size: 10px; font-variant-numeric: tabular-nums; }
.home-page .h-disclosure-mark { font: 300 23px/1 var(--font-body); margin-left: auto; transition: transform 220ms var(--ease); color: var(--brand); }
.home-page .h-disclosure[open] .h-disclosure-mark { transform: rotate(45deg); }
.home-page .h-disclosure-body { padding: 0 30px 26px 38px; }
.home-page .h-disclosure-body > p { margin: 0; font-size: 14px; }
.home-page .h-disclosure[open] .h-disclosure-body { animation: h-panel-in 280ms var(--ease) both; }
.home-page .h-icon-button { width: 46px; height: 46px; border: 1px solid #a4b2a5; border-radius: 50%; background: transparent; cursor: pointer; font-size: 20px; display: grid; place-items: center; }
.home-page .h-icon-button:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
.home-page .h-icon-button[aria-disabled='true'] { opacity: .35; cursor: default; }
.home-page .h-icon-button[aria-disabled='true']:hover { background: transparent; color: var(--ink); border-color: #a4b2a5; }
.home-page.home-motion-ready .h-reveal { opacity: 0; transform: translateY(24px); transition: opacity 650ms var(--ease), transform 850ms var(--ease); }
.home-page.home-motion-ready .h-reveal.is-revealed { opacity: 1; transform: none; }
@keyframes h-panel-in { from { opacity: .35; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@media (max-width: 800px) {
  .home-page .h-section-head { align-items: flex-start; flex-direction: column; gap: 24px; margin-bottom: 32px; }
  .home-page .h-section-head > p { max-width: 520px; }
  .home-page h2 { font-size: clamp(36px, 6.8vw, 52px); }
}
@media (max-width: 480px) {
  .home-page .h-actions { gap: 22px; }
  .home-page .h-disclosure summary { gap: 12px; }
  .home-page .h-disclosure summary h3 { font-size: 22px; }
  .home-page .h-disclosure-body { padding-left: 34px; padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page.home-motion-ready .h-reveal { opacity: 1; transform: none; transition: none; }
  .home-page .h-hero-slide img { animation: none !important; transform: none !important; }
  .home-page .h-collection-rail { scroll-behavior: auto; }
}

.home-page .h-image-unavailable { display: grid; place-items: center; color: var(--muted); background: var(--wash); min-height: 100%; font-size: 12px; }
.home-page .h-hero .h-image-unavailable { background: #173d31; color: #e1e7db; }

/* Step 12 — section-by-section scroll choreography for the home journey. */
.home-page.home-scroll-story-ready [data-section^='home/'] { --section-progress: 0; --section-enter: 0; --section-centered: 0; }

/* Hero — cinematic drift, mouse depth, staged copy entry. */
.home-page.home-scroll-story-ready .h-hero-slide.is-active img {
  animation: none;
  transform: translate3d(var(--hero-pointer-x,0), calc(var(--hero-scroll-y,0px) + var(--hero-pointer-y,0px)), 0) scale(var(--hero-scale,1.035));
  transition: transform 180ms linear;
  will-change: transform;
}
.home-page.home-scroll-story-ready .h-hero-shade { opacity: var(--hero-shade,1); transition: opacity 160ms linear; }
.home-page.home-scroll-story-ready .h-hero-copy { transform: translate3d(0,var(--hero-copy-y,0px),0); will-change: transform; }
.home-page.home-scroll-story-ready .h-hero-copy > [data-hero-kicker] { animation: h-story-hero-in 900ms 80ms var(--ease) both; }
.home-page.home-scroll-story-ready .h-hero-copy > .h-actions { animation: h-story-hero-in 900ms 1650ms var(--ease) both; }
.home-page.home-scroll-story-ready .h-hero-bottom { animation: h-story-hero-in 800ms 1920ms var(--ease) both; }
@keyframes h-story-hero-in { from { opacity:0; transform:translateY(34px); clip-path:inset(0 0 32% 0); } to { opacity:1; transform:none; clip-path:inset(0); } }

/* Introduction — editorial curtain, staged copy and a calm material parallax. */
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-visual.h-reveal { transform:translate3d(-24px,52px,0) scale(.975); }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.h-reveal { transform:translate3d(30px,34px,0); }
.home-page.home-scroll-story-ready.home-motion-ready :is(.h-intro-visual,.h-intro-copy).h-reveal.is-revealed { transform:none; }
.home-page.home-scroll-story-ready .h-intro-visual .h-image-frame img { transform:translate3d(0,var(--intro-image-y,0px),0) scale(1.055); transition:transform 120ms linear; will-change:transform; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-visual figcaption > span { opacity:0; transform:translateY(10px); transition:opacity 420ms ease,transform 520ms var(--ease); }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-visual.is-revealed figcaption > span { opacity:1; transform:none; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-visual.is-revealed figcaption > span:first-child { transition-delay:720ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-visual.is-revealed figcaption > span:last-child { transition-delay:830ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy :is(.h-intro-kicker,.h-intro-title-line,.h-intro-copy-line,.h-intro-points span,.h-intro-cta) { opacity:0; transform:translate3d(0,18px,0); transition:opacity 520ms ease,transform 680ms var(--ease),filter 620ms ease,letter-spacing 680ms var(--ease); }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy .h-intro-kicker { letter-spacing:.23em; transform:translate3d(0,10px,0); }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy .h-intro-title-line { filter:blur(4px); transform:translate3d(0,28px,0); }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy .h-intro-title-line em { transition:letter-spacing 800ms var(--ease),filter 700ms ease; letter-spacing:.025em; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy .h-intro-points span { transform:translate3d(-16px,10px,0); }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy .h-intro-points span::before { opacity:0; transform:scale(.2); transition:opacity 300ms ease,transform 420ms var(--ease),box-shadow 500ms ease; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed :is(.h-intro-kicker,.h-intro-title-line,.h-intro-copy-line,.h-intro-points span,.h-intro-cta) { opacity:1; transform:none; filter:none; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-kicker { letter-spacing:.14em; transition-delay:80ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-title-line:nth-child(1) { transition-delay:180ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-title-line:nth-child(2) { transition-delay:300ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-title-line:nth-child(3) { transition-delay:420ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-title-line em { letter-spacing:inherit; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-copy-line:nth-of-type(1) { transition-delay:560ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-copy-line:nth-of-type(2) { transition-delay:680ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-points span:nth-child(1) { transition-delay:820ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-points span:nth-child(2) { transition-delay:920ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-points span:nth-child(3) { transition-delay:1020ms; }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-points span::before { opacity:1; transform:scale(1); box-shadow:0 0 0 4px rgb(18 76 60 / 8%); }
.home-page.home-scroll-story-ready.home-motion-ready .h-intro-copy.is-revealed .h-intro-cta { transition-delay:1140ms; }

/* Credibility — counters arrive in sequence; dividers draw from top to bottom. */
.home-page.home-scroll-story-ready .h-credibility .h-metric { position:relative; border-left-color:transparent; opacity:0; transform:translateY(24px); transition:opacity 560ms var(--ease),transform 700ms var(--ease); }
.home-page.home-scroll-story-ready .h-credibility .h-metric::before { content:''; position:absolute; left:0; top:0; bottom:0; width:1px; background:#d2d8cc; transform:scaleY(0); transform-origin:top; transition:transform 720ms var(--ease); }
.home-page.home-scroll-story-ready .h-credibility.is-motion-entered .h-metric { opacity:1; transform:none; }
.home-page.home-scroll-story-ready .h-credibility.is-motion-entered .h-metric::before { transform:scaleY(1); }
.home-page.home-scroll-story-ready .h-credibility .h-metric:nth-child(2){transition-delay:100ms}.home-page.home-scroll-story-ready .h-credibility .h-metric:nth-child(3){transition-delay:190ms}.home-page.home-scroll-story-ready .h-credibility .h-metric:nth-child(4){transition-delay:280ms}
.home-page.home-scroll-story-ready .h-credibility .h-metric:nth-child(2)::before{transition-delay:80ms}.home-page.home-scroll-story-ready .h-credibility .h-metric:nth-child(3)::before{transition-delay:170ms}.home-page.home-scroll-story-ready .h-credibility .h-metric:nth-child(4)::before{transition-delay:260ms}

/* Collections — cards cascade upward, while product photography has a soft scroll drift. */
.home-page.home-scroll-story-ready .h-collection-card { opacity:0; transform:translate3d(0,48px,0); transition:opacity 620ms var(--ease),transform 780ms var(--ease); transition-delay:calc(var(--card-order) * 90ms); }
.home-page.home-scroll-story-ready .h-collections.is-motion-entered .h-collection-card { opacity:1; transform:none; }
.home-page.home-scroll-story-ready .h-collection-image img { transform:translate3d(0,var(--collection-image-y,0px),0) scale(1.055); }
.home-page.home-scroll-story-ready .h-collection-card:hover .h-collection-image img { transform:translate3d(0,var(--collection-image-y,0px),0) scale(1.095); }
.home-page.home-scroll-story-ready .h-collection-card:hover { transform:translateY(-5px); }

/* Capabilities — two-sided reveal, fabric drift and a stitch that connects the active decision to the material. */
.home-page.home-scroll-story-ready .h-capability-list { position:relative; overflow:visible; }
.home-page.home-scroll-story-ready .h-capability-list::after { content:''; pointer-events:none; position:absolute; z-index:3; left:74%; top:var(--cap-flow-y,32px); width:58%; border-top:1px dashed rgb(21 77 61 / 34%); transform:scaleX(0); transform-origin:left; opacity:0; }
.home-page.home-scroll-story-ready .h-capability-list.is-flowing::after { animation:h-cap-stitch 900ms var(--ease) both; }
@keyframes h-cap-stitch { 0%{transform:scaleX(0);opacity:0} 22%{opacity:1} 100%{transform:scaleX(1);opacity:.8} }
.home-page.home-scroll-story-ready .h-capabilities-visual .h-image-frame img { transform:translate3d(0,var(--cap-image-y,0px),0) scale(1.06); transition:transform 140ms linear; }
.home-page.home-scroll-story-ready .h-capabilities.is-motion-entered .h-visual-label { animation:h-visual-label-in 720ms 320ms var(--ease) both; }
@keyframes h-visual-label-in { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }

/* Process — desktop sticky scroll-story with a live journey progress line. */
.home-page.home-scroll-story-ready .h-process-tabs { position:relative; }
.home-page.home-scroll-story-ready .h-process-tabs::after { content:''; position:absolute; z-index:2; left:0; bottom:-1px; width:100%; height:2px; background:#d5ddc4; transform:scaleX(var(--process-progress,0)); transform-origin:left; opacity:.72; transition:transform 110ms linear; pointer-events:none; }
.home-page.home-scroll-story-ready .h-process-tabs button::after { content:''; position:absolute; left:0; bottom:-6px; width:10px; height:10px; border:1px solid #aebf9b; border-radius:50%; background:#173d31; transition:transform 260ms var(--ease),background 260ms ease,box-shadow 260ms ease; z-index:4; }
.home-page.home-scroll-story-ready .h-process-tabs button[aria-selected='true']::after { transform:scale(1.35); background:#d5ddc4; box-shadow:0 0 0 7px rgb(213 221 196 / 10%); }
.home-page.home-scroll-story-ready .h-process-panel:not([hidden]) { animation:h-process-stage-in 460ms var(--ease) both; }
@keyframes h-process-stage-in { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@media (min-width:901px) {
  .home-page.home-scroll-story-ready .h-process { min-height:145vh; padding-block:0; }
  .home-page.home-scroll-story-ready .h-process > .container { position:sticky; top:calc(var(--header-h) + 16px); min-height:calc(100vh - var(--header-h) - 16px); padding-block:clamp(48px,6vh,76px); display:flex; flex-direction:column; justify-content:center; }
}

/* Quality — the section-specific stylesheet owns the same pinned list + visual
   structure as Capabilities. Scroll motion only feeds the shared image/ring vars. */
.home-page.home-scroll-story-ready .h-quality-visuals { position:relative; overflow:visible; }
.home-page.home-scroll-story-ready .h-quality-visual.is-active .h-image-frame img { transform:translate3d(0,var(--quality-image-y,0px),0) scale(var(--quality-image-scale,1.025)); }
.home-page.home-scroll-story-ready .h-quality-inspection-ring { left:var(--quality-inspect-x,24%); top:var(--quality-inspect-y,30%); }

/* Responsibility — calm organic pacing: copy first, points cascade, material image floats. */
.home-page.home-scroll-story-ready .h-responsibility-list li { opacity:0; transform:translate3d(-18px,14px,0); transition:opacity 540ms var(--ease),transform 680ms var(--ease); transition-delay:calc(180ms + var(--item-order) * 120ms); }
.home-page.home-scroll-story-ready .h-responsibility.is-motion-entered .h-responsibility-list li { opacity:1; transform:none; }
.home-page.home-scroll-story-ready .h-responsibility-visual .h-image-frame img { transform:translate3d(0,var(--responsibility-image-y,0px),0) scale(1.065); transition:transform 140ms linear; }
.home-page.home-scroll-story-ready .h-responsibility.is-motion-entered .h-responsibility-visual { animation:h-resp-arch-in 900ms 150ms var(--ease) both; }
@keyframes h-resp-arch-in { from{opacity:0;transform:translateY(40px) scale(.975)} to{opacity:1;transform:none} }

/* Project story — anchored product study, scroll-driven brief/sample/review, drafting feel. */
.home-page.home-scroll-story-ready .h-story-product img { transform:translate3d(0,var(--story-image-y,0px),0) scale(var(--story-scale,.985)); transition:transform 150ms linear,filter 300ms ease; }
.home-page.home-scroll-story-ready .h-story-reference { transition:transform 520ms var(--ease),opacity 420ms ease; }
.home-page.home-scroll-story-ready .h-story.is-motion-entered .h-story-reference { animation:h-story-label 700ms 240ms var(--ease) both; }
@keyframes h-story-label { from{opacity:0;transform:translateX(-20px)} to{opacity:1;transform:none} }
.home-page.home-scroll-story-ready .h-story-panel:not([hidden]) { animation:h-story-panel-scroll 440ms var(--ease) both; }
@keyframes h-story-panel-scroll { from{opacity:0;transform:translateX(20px);filter:blur(2px)} to{opacity:1;transform:none;filter:none} }
@media (min-width:901px) { .home-page.home-scroll-story-ready .h-story-visual { position:sticky; top:calc(var(--header-h) + 34px); align-self:start; } }

/* FAQ — each question draws its own rule and rises into place. */
.home-page.home-scroll-story-ready .h-faq-list .h-disclosure { position:relative; opacity:0; transform:translate3d(16px,18px,0); border-bottom-color:transparent; transition:opacity 500ms var(--ease),transform 650ms var(--ease); transition-delay:calc(var(--faq-order) * 75ms); }
.home-page.home-scroll-story-ready .h-faq-list .h-disclosure::after { content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--line); transform:scaleX(0); transform-origin:left; transition:transform 700ms var(--ease); transition-delay:calc(140ms + var(--faq-order) * 70ms); }
.home-page.home-scroll-story-ready .h-faq.is-motion-entered .h-faq-list .h-disclosure { opacity:1; transform:translate3d(var(--faq-drift,0),0,0); }
.home-page.home-scroll-story-ready .h-faq.is-motion-entered .h-faq-list .h-disclosure::after { transform:scaleX(1); }
.home-page.home-scroll-story-ready .h-faq-list summary { transition:transform 220ms var(--ease); }
.home-page.home-scroll-story-ready .h-faq-list summary:hover { transform:translateX(5px); }

/* CTA — motion quiets down and converges; “into focus” literally resolves from blur. */
.home-page.home-scroll-story-ready .h-cta { overflow:hidden; }
.home-page.home-scroll-story-ready .h-cta::before,.home-page.home-scroll-story-ready .h-cta::after { content:''; position:absolute; pointer-events:none; width:42vw; height:1px; top:50%; background:linear-gradient(90deg,transparent,rgb(18 76 60 / 26%),transparent); transform-origin:center; opacity:var(--cta-line-opacity,.15); transition:opacity 150ms linear; }
.home-page.home-scroll-story-ready .h-cta::before { left:-8vw; transform:rotate(var(--cta-left-angle,9deg)); }
.home-page.home-scroll-story-ready .h-cta::after { right:-8vw; transform:rotate(var(--cta-right-angle,-9deg)); }
.home-page.home-scroll-story-ready .h-cta-inner { transform:translateY(var(--cta-rise,28px)); transition:transform 120ms linear; }
.home-page.home-scroll-story-ready .h-cta h2 em { filter:blur(var(--cta-blur,5px)); opacity:var(--cta-word-opacity,.48); transition:filter 120ms linear,opacity 120ms linear; }
.home-page.home-scroll-story-ready .h-cta .btn-primary:hover { box-shadow:0 0 0 10px rgb(18 76 60 / 8%),0 20px 44px rgb(18 63 53 / 24%); }

@media (max-width:900px) {
  .home-page.home-scroll-story-ready .h-capability-list::after,.home-page.home-scroll-story-ready .h-quality-inspection-ring { display:none; }
  .home-page.home-scroll-story-ready .h-hero-slide.is-active img { transition:transform 240ms ease-out; }
  .home-page.home-scroll-story-ready .h-collection-card { transition-delay:calc(var(--card-order) * 55ms); }
}
@media (prefers-reduced-motion:reduce) {
  .home-page.home-scroll-story-ready * { scroll-behavior:auto !important; }
  .home-page.home-scroll-story-ready :is(.h-collection-card,.h-metric,.h-responsibility-list li,.h-faq-list .h-disclosure,.h-quality-checkpoints .h-disclosure) { opacity:1 !important; transform:none !important; transition:none !important; }
  .home-page.home-scroll-story-ready .h-quality-inspection-ring,.home-page.home-scroll-story-ready .h-capability-list::after { display:none !important; }
}

/* Closing treatment is shared in styles/editorial.css. */

.design-foundation .a-hero-copy { padding-top:40px; padding-bottom:48px; }
.design-foundation .a-hero h1 { max-width:1050px; }
.design-foundation .a-hero-bottom { display:flex; align-items:end; justify-content:space-between; gap:40px; }
.design-foundation .a-hero-bottom p { max-width:560px; margin:0; font-size:17px; }
.design-foundation .a-hero-image { position:relative; }
.design-foundation .a-hero-image picture img { height:clamp(300px,42vw,560px); object-fit:cover; object-position:50% 57%; }
.design-foundation .a-hero-image figcaption { display:flex; justify-content:space-between; gap:20px; padding:14px max(24px,calc((100vw - 1240px)/2)); background:var(--wash); }
@media(max-width:800px) { .design-foundation .a-hero-bottom { align-items:start; flex-direction:column; gap:20px; } .design-foundation .a-hero-image figcaption { flex-direction:column; gap:3px; } }

.design-foundation .a-people-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.design-foundation .a-people-grid article { padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.design-foundation .a-people-grid a { display:flex; align-items:center; gap:16px; width:fit-content; max-width:100%; font-size:14px; padding:7px 0; overflow-wrap:anywhere; }
.design-foundation .a-people-grid a svg { width:18px; height:18px; flex-shrink:0; }
.design-foundation .a-people-grid a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:700px) { .design-foundation .a-people-grid { grid-template-columns:1fr; gap:12px; } }

.design-foundation .a-values { background:var(--night); color:var(--paper); }
.design-foundation .a-values .e-heading { max-width:720px; }
.design-foundation .a-value-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.design-foundation .a-value-grid article { border-top:1px solid #586a60; padding-top:30px; }
.design-foundation .a-value-grid h3 { font-size:clamp(30px,3vw,42px); }
.design-foundation .a-value-grid :is(p,.e-index) { color:#ccd5cc; }
@media(max-width:700px) { .design-foundation .a-value-grid { grid-template-columns:1fr; gap:32px; } }

.design-foundation .a-approach .e-prose { padding-top:4px; }

.design-foundation .a-quality { background:var(--wash); }
.design-foundation .a-quality .e-split { align-items:center; }
.design-foundation .a-quality picture img { aspect-ratio:4/5; object-fit:cover; }
@media(max-width:800px) { .design-foundation .a-quality picture img { aspect-ratio:4/3; } }

.design-foundation .a-service-intro { position:sticky; top:calc(var(--header-h) + 36px); }
.design-foundation .a-services .e-accordion summary .e-index { min-width:28px; }
@media(max-width:800px) { .design-foundation .a-service-intro { position:static; } }

/* Single category collection
 * Scope new styles to [data-section="components/category-collection"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */

/* Hero slider media and controls
 * Scope new styles to [data-section="components/hero-slider"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */

/* Shared cards: original photographs, always-visible touch and keyboard actions. */
.design-foundation .catalog-card { border:0; border-radius:0; box-shadow:none; background:transparent; transform:none !important; overflow:visible; }
.design-foundation .catalog-card:hover { transform:none; box-shadow:none; }
.design-foundation .catalog-card::before,.design-foundation .catalog-card::after { content:none; }
.design-foundation .catalog-card .product-media { height:auto; aspect-ratio:1; background:#eee; border-radius:4px; overflow:hidden; }
.catalog-image-link { display:block; width:100%; height:100%; }
.design-foundation .catalog-card .product-media img { display:block; width:100%; height:100%; object-fit:contain; transform:none; transition:transform .4s ease; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .catalog-card .catalog-image-link:hover img { transform:scale(1.025); } }
.design-foundation .catalog-card .product-code { left:14px; top:14px; border:0; background:rgb(240 233 217 / 94%); padding:6px 9px; color:var(--ink); font-size:10px; border-radius:2px; backdrop-filter:none; letter-spacing:.06em; }
.design-foundation .catalog-card .favorite-button { top:12px; right:12px; width:42px; height:42px; border-radius:50%; border:1px solid rgb(18 63 53 / 14%); color:var(--brand); background:var(--paper); box-shadow:none; }
.design-foundation [data-favorite].active { color:var(--brand); background:var(--brand-soft); }
.design-foundation [data-favorite].active svg { fill:var(--brand); stroke:var(--brand); }
.design-foundation .catalog-card .product-body { padding:19px 0 0; background:transparent; }
.design-foundation .catalog-card .product-taxonomy { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0 0 10px; font-size:10px; text-transform:none; letter-spacing:0; color:var(--muted); }
.catalog-demo-tag { font-size:9px; border:1px solid var(--line); padding:2px 6px; border-radius:2px; white-space:nowrap; }
.design-foundation .catalog-card h3 { font-family:var(--font-display); font-size:25px; font-weight:400; letter-spacing:-.035em; line-height:1.2; color:var(--ink); margin:0 0 8px; }
.design-foundation .catalog-card h3 a { color:inherit; }
.design-foundation .catalog-card .product-body > p { font-size:12px; color:var(--muted); margin:0; }
.catalog-card-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); margin-top:20px; }
.catalog-card-actions > :is(button,a) { display:flex; gap:14px; align-items:center; background:transparent; border:0; min-height:48px; padding:10px 0; font-size:12px; color:var(--brand); font-weight:500; }
.catalog-card-actions svg { width:17px; height:17px; }
.catalog-card-actions > :is(button,a):hover { text-decoration:underline; text-underline-offset:4px; }
.catalog-spec-notice { padding:14px 16px; border-left:2px solid var(--brand); background:var(--brand-soft); color:var(--brand); font-size:12px; line-height:1.7; margin:20px 0; }
.catalog-back-row { display:flex; justify-content:space-between; gap:20px; padding-block:22px 0; font-size:12px; }
.catalog-back-row button { border:0; background:none; color:var(--brand); min-height:44px; }
.catalog-back-row a { display:flex; align-items:center; color:var(--brand); }
.catalog-photo-note { font-size:11px; color:var(--muted); padding-top:12px; }
.design-foundation .product-modal-card { max-height:90dvh; overflow-y:auto; }
@media(prefers-reduced-motion:reduce) { .catalog-card * { transition:none !important; animation:none !important; } }
.catalog-3d-badge { position:absolute; bottom:12px; left:12px; border-radius:3px; padding:5px 9px; color:var(--brand); background:rgb(240 233 217 / 95%); font-size:10px; letter-spacing:.03em; pointer-events:none; }

.design-foundation .c-direct-details > div { padding:22px 0; border-bottom:1px solid var(--line); }
.design-foundation .c-direct-details .e-index { display:block; margin-bottom:10px; }
.design-foundation .c-direct-details address { font-style:normal; font-size:14px; line-height:1.8; max-width:340px; }
.design-foundation .c-direct-details small { display:block; color:var(--muted); font-size:11px; margin-top:10px; max-width:320px; }
.design-foundation .c-direct-details a { display:block; padding:5px 0; font-size:14px; overflow-wrap:anywhere; width:fit-content; max-width:100%; }
.design-foundation .c-direct-details a:hover { text-decoration:underline; text-underline-offset:4px; }

.design-foundation .contact-page .contact-form { display:grid; gap:22px; }
.design-foundation .contact-page .contact-form :is(input,textarea,select) { border:1px solid #b9c4b9; border-radius:3px; background:var(--surface); color:var(--ink); padding:13px 14px; width:100%; min-width:0; font-size:14px; }
.design-foundation .contact-page .contact-form select { min-height:49px; }
.design-foundation .contact-page .contact-form label { min-width:0; }
.design-foundation .contact-page .contact-form label span { letter-spacing:.02em; text-transform:none; font-size:12px; font-weight:600; }
.design-foundation .contact-page .contact-form .form-note { text-align:left; color:var(--muted); font-size:12px; padding-top:4px; margin:0; }
.design-foundation .c-brief-helper { border:1px solid var(--line); padding:20px; margin:0; min-width:0; display:grid; gap:16px; background:var(--wash); }
.design-foundation .c-brief-helper legend { font-size:13px; font-weight:600; padding:0 6px; }
.design-foundation .c-brief-helper legend small { color:var(--muted); font-weight:400; margin-left:8px; }
.design-foundation .c-brief-helper .text-link { text-align:left; width:fit-content; font-size:12px; }
.design-foundation .contact-page .c-brief-helper .e-note { margin:0; font-size:11px; }
.design-foundation .c-form-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.design-foundation .c-clear-confirm { padding:20px; background:var(--wash); border:1px solid var(--line); }
.design-foundation .c-clear-confirm p { font-size:14px; }
.design-foundation [data-form-status] { padding:16px; border:1px solid #99ad9e; background:var(--brand-soft); color:var(--brand); font-size:13px; border-radius:3px; margin:0; }
.design-foundation [data-form-status][data-state="error"] { border-color:#c99b95; background:#fff0ed; color:#852b24; }
.design-foundation .contact-page [data-contact-draft-note] { margin:0; }
@media(max-width:600px) { .design-foundation .contact-page .form-grid.two { grid-template-columns:1fr; } }

.design-foundation .c-hero { padding:40px 0 48px; }
.design-foundation .c-hero .e-heading-row { grid-template-columns:1.5fr 1fr; }
.design-foundation .c-hero h1 { font-size:clamp(44px,5.5vw,76px); }
@media(max-width:800px) { .design-foundation .c-hero .e-heading-row { grid-template-columns:1fr; gap:0; } }

.design-foundation .c-location-link { margin-top:20px; }
.design-foundation .c-location-link p { font-size:11px; max-width:350px; margin:4px 0 0; }

.design-foundation .c-workspace { padding-bottom:var(--section-space); }
.design-foundation .c-workspace-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; border-top:1px solid var(--line); }
.design-foundation .c-contact-panel { padding:48px 56px 0 0; }
.design-foundation .c-contact-panel h2 { font-size:clamp(28px,3vw,39px); }
.design-foundation .c-form-panel { border-left:1px solid var(--line); padding:48px 0 0 56px; }
.design-foundation .c-form-panel h2 { font-size:42px; }
.design-foundation .c-form-panel .e-heading p { font-size:12px; margin:0; }
.design-foundation .c-editorial { margin-top:32px !important; }
.design-foundation .c-editorial picture img { aspect-ratio:4/3; object-fit:cover; }
@media(max-width:950px) { .design-foundation .c-workspace-grid { grid-template-columns:1fr; } .design-foundation .c-form-panel { grid-row:1; border:0; padding:32px 0; } .design-foundation .c-contact-panel { padding:32px 0 0; border-top:1px solid var(--line); } .design-foundation .c-editorial { max-width:600px; } }

/* Closing treatment is shared in styles/editorial.css. */

.design-foundation .j-grid-section { padding:0 0 var(--section-space); }
.design-foundation .journal-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0; border-block:1px solid var(--line); margin-bottom:36px; }
.design-foundation .journal-filters { display:flex; flex-wrap:wrap; gap:8px; }
.design-foundation .journal-filters button { display:flex; align-items:center; gap:8px; min-height:44px; border:1px solid transparent; padding:8px 14px; font-size:12px; border-radius:3px; }
.design-foundation .journal-filters button span { font-size:10px; opacity:.75; }
.design-foundation .journal-filters button[aria-pressed="true"] { color:var(--paper); background:var(--brand); }
.design-foundation .journal-filters button:hover { border-color:var(--brand); }
.design-foundation .journal-toolbar p { flex-shrink:0; margin:0; font-size:12px; }
.design-foundation .journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 24px; }
.design-foundation .journal-featured { grid-column:span 2; }
.design-foundation .journal-image { display:block; position:relative; width:100%; overflow:hidden; text-align:left; border:0; background:var(--wash); }
.design-foundation .journal-image picture { height:100%; }
.design-foundation .journal-image :is(img,picture img) { width:100%; height:310px; object-fit:cover; transition:transform .5s; display:block; }
.design-foundation .journal-product .journal-image img { object-fit:contain; padding:12px; background:var(--surface); }
.design-foundation .journal-image:hover img { transform:scale(1.025); }
.design-foundation .journal-open { position:absolute; right:12px; bottom:12px; padding:7px 11px; background:var(--paper); color:var(--ink); font-size:11px; border:1px solid var(--line); }
.design-foundation .journal-card figcaption { padding-top:18px; }
.design-foundation .journal-card figcaption > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.design-foundation .journal-kind { font-size:10px; color:var(--muted); }
.design-foundation .journal-card h3 { font-size:29px; margin:12px 0 8px; }
.design-foundation .journal-card p { font-size:13px; line-height:1.65; margin-bottom:0; }
.design-foundation .j-footnote { border-top:1px solid var(--line); padding-top:24px; margin-top:42px !important; max-width:860px; }
.design-foundation .premium-lightbox { background:rgb(15 29 24 / 97%); padding:24px; transition:opacity .18s; }
.design-foundation .premium-lightbox figure { display:flex; flex-direction:column; width:min(1050px,100%); max-width:100%; max-height:calc(100dvh - 48px); transform:none; }
.design-foundation .premium-lightbox .journal-lightbox-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; color:var(--paper); }
.design-foundation .premium-lightbox button { position:static; border:1px solid #738478; border-radius:3px; width:44px; height:44px; font-size:24px; background:transparent; }
.design-foundation .premium-lightbox [data-lightbox-frame] { min-height:0; display:flex; justify-content:center; align-items:center; flex:1; }
.design-foundation .premium-lightbox img { display:block; max-height:60dvh; max-width:100%; object-fit:contain; border:0; border-radius:0; box-shadow:none; }
.design-foundation .premium-lightbox figcaption { margin:16px auto 0; max-width:780px; font-family:var(--font-body); }
.design-foundation .premium-lightbox h2 { font:400 28px/1.1 var(--font-display); color:var(--paper); margin:0 0 8px; }
.design-foundation .premium-lightbox figcaption p { font-size:13px; margin:0 0 8px; color:#d3dbd3; }
.design-foundation .premium-lightbox figcaption small { display:block; font-size:11px; color:#b4c5b8; }
.design-foundation .journal-lightbox-nav { display:flex; gap:10px; }
.design-foundation .premium-lightbox [data-lightbox-error] { color:var(--paper); padding:40px 20px; text-align:center; }
@media(max-width:1050px) { .design-foundation .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .design-foundation .journal-featured { grid-column:auto; } }
@media(max-width:700px) { .design-foundation .journal-grid { grid-template-columns:1fr; gap:32px; } .design-foundation .journal-toolbar { align-items:start; flex-direction:column; gap:12px; } .design-foundation .journal-image :is(img,picture img) { height:auto; aspect-ratio:4/3; } .design-foundation .premium-lightbox { padding:16px; } .design-foundation .premium-lightbox figure { max-height:calc(100dvh - 32px); } .design-foundation .premium-lightbox img { max-height:48dvh; } }

.design-foundation .j-hero { padding:40px 0 36px; }
.design-foundation .j-hero .e-heading-row { grid-template-columns:1.2fr 1fr; }
.design-foundation .j-hero .e-heading-row > div:last-child { max-width:480px; padding-bottom:16px; }
@media(max-width:800px) { .design-foundation .j-hero .e-heading-row { grid-template-columns:1fr; gap:0; } }

.home-page .h-capabilities { background: var(--surface-warm); }
.home-page .h-capabilities-head { margin-bottom: 36px; }
.home-page .h-capabilities-title { isolation: isolate; }
.home-page .h-cap-title-line { display: inline; }
.home-page .h-cap-word { display: inline-block; opacity: 0; filter: blur(8px); transform: translate3d(0, 26px, 0) scale(.97); will-change: transform, opacity, filter; }
.home-page .h-capabilities-head [data-cap-heading-kicker],
.home-page .h-capabilities-head [data-cap-heading-copy] { opacity: 0; transform: translate3d(0, 18px, 0); }
.home-page .h-capabilities-head.is-revealed [data-cap-heading-kicker] { opacity: 1; transform: none; transition: opacity 520ms var(--ease), transform 700ms var(--ease), letter-spacing 520ms var(--ease); letter-spacing: .16em; }
.home-page .h-capabilities-head.is-revealed .h-cap-word { animation: h-cap-word-in 760ms var(--ease) forwards; animation-delay: calc(100ms + var(--cap-word-order, 0) * 82ms); }
.home-page .h-capabilities-head.is-revealed [data-cap-heading-copy] { opacity: 1; transform: none; transition: opacity 540ms 620ms var(--ease), transform 760ms 620ms var(--ease); }
.home-page .h-capabilities-head.is-revealed em .h-cap-word { animation-duration: 860ms; }

.home-page .h-capabilities-story { position: relative; min-height: clamp(300vh, calc(var(--capability-count, 5) * 64vh), 380vh); }
.home-page .h-capabilities-stage { position: sticky; top: calc(var(--header-h) + 18px); min-height: calc(100vh - var(--header-h) - 18px); display: flex; align-items: center; }
.home-page .h-capabilities-grid { display: grid; grid-template-columns: minmax(0, .96fr) minmax(360px, .88fr); gap: clamp(34px, 6.2vw, 92px); align-items: center; width: 100%; }

.home-page .h-capability-list {
  position: relative;
  min-height: 430px;
  display: flex;
  align-items: center;
  padding-right: clamp(12px, 2vw, 24px);
}
.home-page .h-capabilities-progress {
  position: absolute;
  left: 0;
  top: -8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #5d7266;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .14em;
}
.home-page .h-capabilities-progress strong { color: var(--brand); font-weight: 600; }

.home-page .h-capabilities .h-disclosure {
  position: absolute;
  inset: 36px 0 0 0;
  margin: 0;
  border: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(-42px, 16px, 0) scale(.985);
  filter: blur(5px);
}
.home-page .h-capabilities .h-disclosure::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 22px;
  width: 2px;
  background: #b38e52;
  opacity: 0;
  transform-origin: top;
  transform: scaleY(.2);
}
.home-page .h-capabilities .h-disclosure summary {
  list-style: none;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding: 0 0 22px;
  cursor: default;
  pointer-events: none;
}
.home-page .h-capabilities .h-disclosure summary::-webkit-details-marker { display: none; }
.home-page .h-capabilities .h-disclosure-number {
  color: #6c7d71;
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .14em;
  padding-top: 13px;
}
.home-page .h-capabilities .h-disclosure summary h3 {
  color: var(--ink);
  font: 400 clamp(42px, 4vw, 60px) / .98 var(--font-display);
  letter-spacing: -.032em;
  margin: 0;
  min-height: 1.98em;
}
.home-page .h-capabilities .h-disclosure-mark { display: none; }
.home-page .h-capabilities .h-disclosure-body {
  padding-left: 34px;
  max-width: 620px;
}
.home-page .h-capabilities .h-disclosure-body p {
  margin: 0;
  min-height: 4.8em;
  font-size: clamp(16px, 1.12vw, 18px);
  line-height: 1.72;
  color: var(--home-body);
}
.home-page .h-capabilities .h-tags {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.home-page .h-capabilities .h-tags li {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
}
.home-page .h-capabilities .h-disclosure.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  filter: none;
  z-index: 2;
}
.home-page .h-capabilities .h-disclosure.is-active::before {
  opacity: 1;
  transform: scaleY(1);
  transition: opacity 340ms ease, transform 680ms var(--ease);
}
.home-page .h-capabilities .h-disclosure.is-active .h-tags li {
  opacity: 1;
  transform: none;
  transition: opacity 360ms ease, transform 560ms var(--ease), border-color 300ms ease;
}
.home-page .h-capabilities .h-disclosure.is-active .h-tags li:nth-child(1) { transition-delay: 80ms; }
.home-page .h-capabilities .h-disclosure.is-active .h-tags li:nth-child(2) { transition-delay: 130ms; }
.home-page .h-capabilities .h-disclosure.is-active .h-tags li:nth-child(3) { transition-delay: 180ms; }
.home-page .h-capabilities .h-disclosure.is-enter-pop { animation: h-cap-panel-pop 780ms var(--ease) both; }
.home-page .h-capabilities .h-disclosure.is-enter-slide { animation: h-cap-panel-slide 820ms var(--ease) both; }
.home-page .h-capabilities .h-disclosure[data-cap-typing='title'] [data-capability-title]::after,
.home-page .h-capabilities .h-disclosure[data-cap-typing='copy'] [data-capability-copy]::after {
  content: '';
  display: inline-block;
  width: 1px;
  height: .95em;
  margin-left: .08em;
  vertical-align: -.08em;
  background: currentColor;
  animation: h-cap-caret .85s steps(1) infinite;
}
.home-page .h-capabilities .h-disclosure[data-cap-typing='copy'] [data-capability-title]::after { display: none; }

.home-page .h-capabilities-visuals { position: relative; min-height: min(72vh, 720px); }
.home-page .h-capabilities-visual {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(var(--cap-visual-shift-x, 0px), 34px, 0) scale(.972) rotate(var(--cap-visual-rotate, 0deg));
  filter: blur(5px);
}
.home-page .h-capabilities-visual .h-image-frame { aspect-ratio: 4 / 4.8; background: var(--brand); overflow: hidden; }
.home-page .h-capabilities-visual .h-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.05) translate3d(0, var(--cap-image-y, 0px), 0);
  transition: transform 1100ms var(--ease), filter 720ms var(--ease);
}
.home-page .h-capabilities-visual[data-capability-visual-motion='tailored'] .h-image-frame img { object-position: 67% center; }
.home-page .h-capabilities-visual[data-capability-visual-motion='sourcing'] .h-image-frame img { object-position: center center; }
.home-page .h-capabilities-visual[data-capability-visual-motion='sampling'] .h-image-frame img { object-position: 54% center; }
.home-page .h-capabilities-visual[data-capability-visual-motion='quality'] .h-image-frame img { object-position: center center; }
.home-page .h-capabilities-visual[data-capability-visual-motion='commercial'] .h-image-frame img { object-position: 48% center; }
.home-page .h-capabilities-visual figcaption {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: var(--home-body);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-top: 10px;
}
.home-page .h-visual-label {
  position: absolute;
  bottom: 66px;
  left: 30px;
  right: 30px;
  background: rgb(18 40 29 / 88%);
  padding: 24px 28px;
  color: #fff;
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity 420ms ease, transform 620ms var(--ease);
}
.home-page .h-visual-label > span { color: #d2ddcc; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.home-page .h-visual-label > p { color: #fff; font: 400 31px/1.2 var(--font-display); letter-spacing: -.025em; margin: 12px 0 0; }
.home-page .h-capabilities-visual.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  filter: none;
  z-index: 2;
}
.home-page .h-capabilities-visual.is-active .h-image-frame img { transform: scale(1.01) translate3d(0, var(--cap-image-y, 0px), 0); filter: none; }
.home-page .h-capabilities-visual.is-active .h-visual-label { opacity: 1; transform: none; transition-delay: 140ms; }
.home-page .h-capabilities-visual:not(.is-active) .h-image-frame img { filter: saturate(.94) brightness(.98); }
.home-page .h-capabilities-visual.is-enter-pop { animation: h-cap-visual-pop 820ms var(--ease) both; }
.home-page .h-capabilities-visual.is-enter-slide { animation: h-cap-visual-slide 860ms var(--ease) both; }

@keyframes h-cap-word-in {
  from { opacity: 0; filter: blur(8px); transform: translate3d(0, 26px, 0) scale(.97); }
  60% { opacity: 1; }
  to { opacity: 1; filter: blur(0); transform: none; }
}
@keyframes h-cap-panel-pop {
  from { opacity: 0; transform: translate3d(0, 36px, 0) scale(.95); filter: blur(8px); }
  60% { opacity: 1; }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes h-cap-panel-slide {
  from { opacity: 0; transform: translate3d(-54px, 0, 0); filter: blur(6px); }
  60% { opacity: 1; }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes h-cap-visual-pop {
  from { opacity: 0; transform: translate3d(18px, 30px, 0) scale(.955); filter: blur(6px); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes h-cap-visual-slide {
  from { opacity: 0; transform: translate3d(36px, 0, 0) scale(.985); filter: blur(6px); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes h-cap-caret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

@media (max-width: 1024px) {
  .home-page .h-capabilities-story { min-height: 0; }
  .home-page .h-capabilities-progress { position: static; margin-bottom: 14px; }
  .home-page .h-capabilities-stage { position: static; min-height: 0; display: block; }
  .home-page .h-capabilities-grid { grid-template-columns: 1fr; gap: 36px; align-items: start; }
  .home-page .h-capability-list { min-height: 0; display: block; padding-right: 0; }
  .home-page .h-capabilities .h-disclosure {
    position: relative;
    inset: auto;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    filter: none;
    border-top: 1px solid #cdd5c9;
    padding: 0;
    display: block;
  }
  .home-page .h-capabilities .h-disclosure::before { display: none; }
  .home-page .h-capabilities .h-disclosure summary {
    grid-template-columns: auto 1fr auto;
    align-items: center;
    padding: 22px 0;
    cursor: pointer;
    pointer-events: auto;
  }
  .home-page .h-capabilities .h-disclosure summary h3 { font-size: 22px; min-height: 0; }
  .home-page .h-capabilities .h-disclosure-mark { display: inline-block; opacity: .72; }
  .home-page .h-capabilities .h-disclosure[open] .h-disclosure-mark { transform: rotate(45deg); }
  .home-page .h-capabilities .h-disclosure-body { padding: 0 0 22px 34px; max-width: none; }
  .home-page .h-capabilities .h-disclosure-body p { min-height: 0; }
  .home-page .h-capabilities .h-disclosure:not([open]) .h-disclosure-body { display: none; }
  .home-page .h-capabilities-visuals { min-height: 0; }
  .home-page .h-capabilities-visual { position: relative; inset: auto; display: none; opacity: 1; transform: none; filter: none; }
  .home-page .h-capabilities-visual.is-active { display: flex; }
  .home-page .h-capabilities-visual .h-image-frame { aspect-ratio: 4 / 3; }
  .home-page .h-visual-label { left: 20px; right: auto; max-width: calc(100% - 40px); bottom: 62px; padding: 20px; opacity: 1; transform: none; }
  .home-page .h-visual-label > p { font-size: 27px; }
}
@media (max-width: 640px) {
  .home-page .h-capabilities-head { margin-bottom: 28px; }
}

/* Home product journey — normal vertical flow is the fallback/mobile experience. */
/* The global .page-shell uses overflow:hidden. A non-visible vertical overflow ancestor
   becomes the sticky containing block and breaks viewport pinning. Keep horizontal
   artwork clipped without creating a vertical scroll container. */
.page-shell.home-page { overflow-x:clip; overflow-y:visible; }
@supports not (overflow:clip) { .page-shell.home-page { overflow:visible; } }
.home-page .h-product-story { position:relative; background:transparent; }
.home-page .h-product-story-stage,.home-page .h-product-story-stack { position:relative; }
.home-page .h-collection-showcase { position:relative; padding:clamp(72px,8vw,118px) 0; background:var(--paper); overflow:hidden; }
.home-page .h-collection-showcase:nth-child(even) { background:#f1f2ed; }
.home-page .h-category-shell { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(34px,6vw,92px); align-items:center; margin-bottom:36px; }
.home-page .h-collection-showcase-reverse .h-category-shell { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
.home-page .h-collection-showcase-reverse .h-category-copy { order:2; }
.home-page .h-collection-showcase-reverse .h-category-hero { order:1; }
.home-page .h-category-copy > p { max-width:56ch; margin-bottom:24px; }
.home-page .h-category-copy h2 > span { display:block; }
.home-page .h-category-meta { display:flex; flex-wrap:wrap; gap:10px 12px; margin-bottom:26px; }
.home-page .h-category-meta span { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid #d8dfd4; border-radius:999px; background:rgb(240 233 217 / 58%); color:var(--ink); font-size:11px; }
.home-page .h-category-links { display:grid; gap:18px; }
.home-page .h-category-tags { display:flex; flex-wrap:wrap; gap:10px; }
.home-page .h-category-tags a { display:inline-flex; align-items:center; padding:8px 11px; border-radius:999px; border:1px solid #c7d0c3; font-size:11px; color:var(--muted); background:rgb(240 233 217 / 48%); transition:background 220ms ease,border-color 220ms ease,color 220ms ease,transform 220ms var(--ease); }
.home-page .h-category-tags a:hover { background:var(--surface); color:var(--brand); border-color:#b2c0af; transform:translateY(-2px); }
.home-page .h-category-hero { margin:0; }
.home-page .h-category-hero-media { position:relative; background:var(--wash); aspect-ratio:4 / 4.35; overflow:hidden; }
.home-page .h-category-hero-media img { width:100%; height:100%; object-fit:contain; padding:clamp(16px,2vw,22px); transition:transform 780ms var(--ease); }
.home-page .h-collection-showcase:hover .h-category-hero-media img { transform:scale(1.035); }
.home-page .h-category-hero figcaption { display:flex; justify-content:space-between; gap:18px; padding-top:16px; color:var(--muted); font-size:11px; }
.home-page .h-category-hero figcaption span:first-child { color:var(--brand); font-weight:700; letter-spacing:.16em; }
.home-page .h-category-products-panel { position:relative; }
.home-page .h-product-catalog-heading { display:none; }
.home-page .h-category-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2vw,24px); }
.home-page .h-category-products .product-card { min-width:0; }
.home-page .h-category-products .product-media { background:rgb(221 208 175 / 72%); }
.home-page .h-category-products .product-body { background:rgb(240 233 217 / 42%); }
.home-page .h-product-story-progress { display:none; }

/* Desktop scrollytelling: one pinned stage, ten scroll states (intro + catalog per category). */
@media (min-width:1025px) {
  .home-page.home-scroll-story-ready .h-product-story { height:var(--product-story-height,676vh); min-height:4200px; background:transparent; }
  .home-page.home-scroll-story-ready .h-product-story-stage { position:sticky; z-index:2; top:var(--header-h); height:calc(100vh - var(--header-h)); min-height:560px; overflow:clip; isolation:isolate; transform:translateZ(0); }
  .home-page.home-scroll-story-ready .h-product-story-stack { position:absolute; inset:0; }
  .home-page.home-scroll-story-ready .h-collection-showcase { position:absolute; inset:0; padding:0; overflow:hidden; opacity:var(--story-category-opacity,0); transform:translate3d(0,var(--story-category-y,105%),0) scale(var(--story-category-scale,1)); transform-origin:center top; transition:none; will-change:transform,opacity; pointer-events:none; }
  .home-page.home-scroll-story-ready .h-collection-showcase.is-story-current { pointer-events:auto; }
  .home-page.home-scroll-story-ready .h-product-category-intro { height:100%; display:flex; align-items:center; padding-block:clamp(26px,4.4vh,54px); opacity:var(--story-intro-opacity,1); transform:scale(var(--story-intro-scale,1)); transform-origin:center; will-change:transform,opacity; }
  .home-page.home-scroll-story-ready .h-category-shell { width:100%; margin:0; gap:clamp(42px,6vw,96px); }
  .home-page.home-scroll-story-ready .h-category-copy { max-width:660px; }
  .home-page.home-scroll-story-ready .h-category-copy .h-kicker { display:inline-block; opacity:var(--story-kicker-opacity,0); transform:translate3d(var(--story-kicker-x,0),var(--story-kicker-y,18px),0) rotate(var(--story-kicker-rotate,0deg)); letter-spacing:var(--story-kicker-track,.18em); transform-origin:left center; will-change:transform,opacity,letter-spacing; }
  .home-page.home-scroll-story-ready .h-category-copy h2 { opacity:var(--story-title-opacity,0); filter:blur(var(--story-title-blur,4px)); will-change:opacity,filter; }
  .home-page.home-scroll-story-ready .h-category-copy h2 > span { opacity:0; will-change:transform,opacity,clip-path; }
  .home-page.home-scroll-story-ready .h-category-copy h2 > span:first-child { opacity:var(--story-title-line1-opacity,0); transform:translate3d(var(--story-title-line1-x,0),var(--story-title-line1-y,28px),0) rotate(var(--story-title-line1-rotate,0deg)) scale(var(--story-title-line1-scale,1)); clip-path:inset(var(--story-title-line1-clip,0% 100% 0% 0%)); transform-origin:left center; }
  .home-page.home-scroll-story-ready .h-category-copy h2 > span:nth-child(2) { opacity:var(--story-title-line2-opacity,0); transform:translate3d(var(--story-title-line2-x,18px),var(--story-title-line2-y,16px),0) rotate(var(--story-title-line2-rotate,0deg)) scale(var(--story-title-line2-scale,1)); clip-path:inset(var(--story-title-line2-clip,0% 0% 0% 100%)); transform-origin:left center; }
  .home-page.home-scroll-story-ready .h-category-copy > p { opacity:var(--story-body-opacity,0); transform:translate3d(var(--story-body-x,0),var(--story-body-y,24px),0); will-change:transform,opacity; }
  .home-page.home-scroll-story-ready .h-category-meta { opacity:var(--story-meta-opacity,0); transform:translate3d(var(--story-meta-x,0),var(--story-meta-y,20px),0) rotate(var(--story-meta-rotate,0deg)); transform-origin:left center; will-change:transform,opacity; }
  .home-page.home-scroll-story-ready .h-category-links { opacity:var(--story-links-opacity,0); transform:translate3d(var(--story-links-x,0),var(--story-links-y,18px),0); will-change:transform,opacity; }
  .home-page.home-scroll-story-ready .h-category-hero { opacity:var(--story-hero-opacity,0); transform:translate3d(var(--story-hero-x,0),var(--story-hero-container-y,38px),0) rotate(var(--story-hero-rotate,0deg)) scale(var(--story-hero-container-scale,.965)); clip-path:inset(var(--story-hero-clip,12% 0% 12% 0%)); filter:blur(var(--story-hero-blur,3px)); transform-origin:center; will-change:transform,opacity,filter,clip-path; }
  .home-page.home-scroll-story-ready .h-category-hero-media { box-shadow:0 18px 54px rgb(18 63 53 / 7%); }
  .home-page.home-scroll-story-ready .h-category-hero-media img { transform:translate3d(0,var(--story-hero-y,0),0) scale(var(--story-hero-scale,1.035)); transition:none; will-change:transform; }
  .home-page.home-scroll-story-ready .h-collection-number { rotate:var(--story-badge-rotate,-4deg); scale:var(--story-badge-scale,.92); opacity:var(--story-hero-opacity,0); transition:none; }

  .home-page.home-scroll-story-ready .h-category-products-panel { position:absolute; z-index:3; inset:0; display:flex; align-items:center; padding-block:clamp(16px,2.4vh,28px); background:inherit; opacity:var(--story-catalog-opacity,0); transform:translate3d(0,var(--story-catalog-y,105%),0); box-shadow:0 -24px 60px rgb(18 63 53 / 10%); will-change:transform,opacity; pointer-events:none; }
  .home-page.home-scroll-story-ready .h-collection-showcase.is-catalog-active .h-category-products-panel { pointer-events:auto; }
  .home-page.home-scroll-story-ready .h-category-products-stage { width:100%; }
  .home-page.home-scroll-story-ready .h-product-catalog-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:clamp(20px,3vh,34px); padding-bottom:13px; border-bottom:1px solid rgb(18 63 53 / 18%); color:var(--brand); font-size:10px; font-weight:700; letter-spacing:.15em; opacity:var(--story-catalog-heading-opacity,0); transform:translateY(var(--story-catalog-heading-y,16px)); }
  .home-page.home-scroll-story-ready .h-category-products { gap:clamp(22px,2vw,30px); }
  .design-foundation .home-page.home-scroll-story-ready .h-product-story .catalog-card { opacity:var(--story-card-opacity,0); transform:translate3d(var(--story-card-x,0),var(--story-card-y,74px),0) rotate(var(--story-card-rotate,0deg)) scale(var(--story-card-scale,.97)) !important; clip-path:inset(var(--story-card-clip,0% 0% 0% 0%)); filter:blur(var(--story-card-blur,3px)); transition:box-shadow 300ms ease,translate 300ms var(--ease); transform-origin:center bottom; will-change:transform,opacity,filter,clip-path; }
  .design-foundation .home-page.home-scroll-story-ready .h-product-story .catalog-card .product-media img { transform:translate3d(0,var(--story-card-image-y,8px),0) scale(var(--story-card-image-scale,1.03)); transition:transform 260ms ease; }
  .design-foundation .home-page.home-scroll-story-ready .h-product-story .catalog-card:hover .product-media img { transform:translate3d(0,var(--story-card-image-y,8px),0) scale(calc(var(--story-card-image-scale,1.03) + .018)); }

  /* Each category gets its own restrained motion signature rather than one repeated pop-up. */
  .home-page.home-scroll-story-ready [data-story-motion='tailored'] .h-category-copy h2::after { content:''; display:block; width:clamp(72px,8vw,126px); height:1px; margin-top:16px; background:var(--brand); transform:scaleX(var(--story-title-line2-opacity,0)); transform-origin:left; opacity:.38; }
  .home-page.home-scroll-story-ready [data-story-motion='editorial'] .h-category-hero-media { transform:translateZ(0); }
  .home-page.home-scroll-story-ready [data-story-motion='editorial'] .h-category-hero figcaption { transform:translateX(var(--story-hero-x,0)); opacity:var(--story-hero-opacity,0); }
  .home-page.home-scroll-story-ready [data-story-motion='kinetic'] .h-category-meta span:nth-child(2) { translate:0 -2px; }
  .home-page.home-scroll-story-ready [data-story-motion='kinetic'] .h-category-meta span:nth-child(3) { translate:0 2px; }
  .home-page.home-scroll-story-ready [data-story-motion='graceful'] .h-category-copy h2 em { display:inline-block; transform:translateY(var(--story-title-line2-y,0)); opacity:var(--story-title-line2-opacity,0); }
  .home-page.home-scroll-story-ready [data-story-motion='playful'] .h-category-hero-media { rotate:var(--story-hero-rotate,0deg); transform-origin:center bottom; }
  .home-page.home-scroll-story-ready [data-story-motion='playful'] .h-category-meta span:nth-child(2) { translate:0 -2px; }
  .home-page.home-scroll-story-ready [data-story-motion='playful'] .h-category-meta span:nth-child(3) { translate:0 2px; }

  .home-page.home-scroll-story-ready .h-product-story-progress { position:absolute; z-index:8; right:clamp(18px,2.3vw,42px); top:50%; display:grid; grid-template-rows:auto 76px auto; justify-items:center; align-items:center; gap:8px; color:var(--brand); font-size:9px; font-weight:700; letter-spacing:.1em; pointer-events:none; opacity:var(--story-progress-opacity,.72); }
  .home-page.home-scroll-story-ready .h-product-story-progress i { position:relative; display:block; width:1px; height:76px; background:rgb(18 63 53 / 20%); overflow:hidden; }
  .home-page.home-scroll-story-ready .h-product-story-progress i::after { content:""; position:absolute; inset:0; background:var(--home-accent,var(--brand)); transform:scaleY(var(--story-progress,0)); transform-origin:top; }
}

@media (min-width:1025px) and (max-height:760px) {
  .home-page.home-scroll-story-ready .h-product-category-intro { padding-block:20px; }
  .home-page.home-scroll-story-ready .h-category-shell { gap:42px; }
  .home-page.home-scroll-story-ready .h-category-copy h2 { font-size:clamp(34px,4.1vw,54px); margin-bottom:14px; }
  .home-page.home-scroll-story-ready .h-category-copy > p { font-size:13px; line-height:1.55; margin-bottom:14px; }
  .home-page.home-scroll-story-ready .h-category-meta { margin-bottom:14px; }
  .home-page.home-scroll-story-ready .h-category-links { gap:10px; }
  .home-page.home-scroll-story-ready .h-category-hero { max-width:440px; justify-self:center; }
  .home-page.home-scroll-story-ready .h-product-catalog-heading { margin-bottom:14px; }
  .design-foundation .home-page.home-scroll-story-ready .h-product-story .catalog-card h3 { font-size:20px; }
  .design-foundation .home-page.home-scroll-story-ready .h-product-story .catalog-card .product-body { padding-top:12px; }
  .home-page.home-scroll-story-ready .h-product-story .catalog-card-actions { margin-top:10px; }
}

@media (max-width:1024px) {
  .home-page .h-product-story { height:auto !important; min-height:0 !important; }
  .home-page .h-product-story-stage,.home-page .h-product-story-stack { position:relative; height:auto; overflow:visible; }
  .home-page .h-collection-showcase { opacity:1; transform:none; }
  .home-page .h-category-shell,.home-page .h-collection-showcase-reverse .h-category-shell { grid-template-columns:1fr; }
  .home-page .h-collection-showcase-reverse .h-category-copy,.home-page .h-collection-showcase-reverse .h-category-hero { order:initial; }
  .home-page .h-category-products-panel { margin-top:36px; }
  .home-page .h-category-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .h-product-story-progress { display:none !important; }
}
@media (max-width:640px) {
  .home-page .h-category-products { grid-template-columns:1fr; }
  .home-page .h-category-meta { gap:8px; }
  .home-page .h-category-meta span,.home-page .h-category-tags a,.home-page .h-category-hero figcaption { font-size:10px; }
  .home-page .h-category-hero figcaption { flex-direction:column; }
}

.home-page .h-cta { background: #e9ecdf; text-align: center; position: relative; }
.home-page .h-cta-inner { max-width: 850px; }
.home-page .h-cta h2 { font-size: clamp(44px, 6vw, 82px); margin-bottom: 26px; }
.home-page .h-cta .h-actions { justify-content: center; margin-top: 30px; }
.home-page .h-cta .h-editorial-note { font-size: 9px; max-width: 510px; margin: 38px auto 0; }
@media (max-width: 480px) { .home-page .h-cta h2 { font-size: 43px; } .home-page .h-cta p { font-size: 13px; } }

.home-page .h-hero { position: relative; display: flex; min-height: clamp(660px, calc(100svh - var(--header-h)), 880px); background: #15251e; color: #fff; overflow: hidden; touch-action: pan-y; }
.home-page .h-hero-slides, .home-page .h-hero-slide, .home-page .h-hero-shade { position: absolute; inset: 0; }
.home-page .h-hero-slide { opacity: 0; transition: opacity 1200ms ease; }
.home-page .h-hero-slide.is-active { opacity: 1; }
.home-page .h-hero-slide img { object-position: center; transform: scale(1.035); }
.home-page .h-hero-slide.is-active img { animation: h-hero-drift 12s ease-out both; }
.home-page .h-hero-shade { background: linear-gradient(90deg, rgb(8 20 14 / 65%), rgb(8 20 14 / 25%) 58%, rgb(8 20 14 / 2%)), linear-gradient(0deg, rgb(8 20 14 / 66%), transparent 45%); }
.home-page .h-hero-inner { z-index: 1; position: relative; display: flex; flex-direction: column; padding-top: clamp(72px, 8vw, 130px); padding-bottom: 50px; }
.home-page .h-hero-copy { max-width: 800px; padding-bottom: 80px; }
.home-page .h-hero h1 { font: 400 clamp(68px, 7.5vw, 112px)/1.02 var(--font-display); letter-spacing: -.05em; color: #fff; margin: 0 0 28px; }
.home-page .h-hero h1 em { font-weight: 400; color: #e7e8db; }
.home-page .h-hero-title { isolation: isolate; }
.home-page .h-hero-line { display: inline; }
.home-page .h-hero-word { display: inline-block; will-change: transform, opacity, filter; }
.home-page .h-hero-title.is-animating .h-hero-word { opacity: 0; filter: blur(8px); transform: translate3d(0, 34px, 0) scale(.965); animation: h-hero-word-in 740ms var(--ease) forwards; animation-delay: calc(180ms + var(--word-order, 0) * 90ms); }
.home-page .h-hero-title.is-animating .h-hero-emphasis .h-hero-word { animation-duration: 820ms; }
.home-page .h-hero-typing { font-size: 16px; color: #e2e8df; margin-bottom: 32px; line-height: 1.8; min-height: calc(1.8em * 2); }
.home-page .h-typing-line { display: block; min-height: 1.8em; }
.home-page .h-typing-line[data-typing-active='true']::after { content: ''; display: inline-block; width: 1px; height: .92em; margin-left: .1em; vertical-align: -0.08em; background: currentColor; animation: h-typing-caret .85s steps(1) infinite; }
.home-page .h-hero-link { color: #fff; font-size: 13px; padding: 12px 0; border-bottom: 1px solid rgb(255 255 255 / 55%); display: inline-flex; gap: 28px; align-items: center; }
.home-page .h-hero-link:hover { border-color: #fff; }
.home-page .h-hero-bottom { display: flex; justify-content: space-between; align-items: center; gap: 32px; margin-top: auto; }
.home-page .h-hero-controls { display: flex; gap: 24px; align-items: center; }
.home-page .h-hero-controls > button:not(.h-hero-play) { position: relative; border: 0; background: none; color: #c8d0c7; font-size: 11px; min-height: 48px; padding: 10px 0 16px; display: flex; gap: 12px; cursor: pointer; }
.home-page .h-hero-controls > button:not(.h-hero-play) > span { font-variant-numeric: tabular-nums; font-size: 9px; }
.home-page .h-hero-controls > button > i { position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: rgb(255 255 255 / 27%); }
.home-page .h-hero-controls > button > i::after { content: ''; position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; transition: transform 300ms; }
.home-page .h-hero-controls > button.is-active { color: #fff; }
.home-page .h-hero-controls > button.is-active > i::after { transform: scaleX(1); }
.home-page .h-hero-play { border: 1px solid rgb(255 255 255 / 45%); width: 44px; height: 44px; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; display: grid; place-items: center; padding: 0; font-size: 11px; }
.home-page .h-hero-play:hover { background: rgb(255 255 255 / 15%); }
.home-page .h-scroll-link { display: inline-flex; align-items: center; gap: 32px; color: #fff; font-size: 11px; padding-block: 14px; }
.home-page .h-scroll-link span { font-size: 24px; display: inline-block; animation: h-hero-scroll-pulse 2.3s ease-in-out infinite; }
.home-page .h-hero-note { color: #c9d0c7; font-size: 9px; position: absolute; right: 0; bottom: 17px; margin: 0; }
.home-page .h-hero :is(a, button):focus-visible { outline-color: #fff; box-shadow: 0 0 0 2px var(--brand); }
@keyframes h-hero-drift { from { transform: scale(1.035); } to { transform: scale(1); } }
@keyframes h-hero-word-in { from { opacity: 0; filter: blur(8px); transform: translate3d(0, 34px, 0) scale(.965); } 60% { opacity: 1; } to { opacity: 1; filter: blur(0); transform: none; } }
@keyframes h-typing-caret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes h-hero-scroll-pulse { 0%, 100% { transform: translateY(0); opacity: 1; } 50% { transform: translateY(6px); opacity: .7; } }
@media (max-width: 800px) {
  .home-page .h-hero { min-height: 720px; }
  .home-page .h-hero-inner { padding-top: 88px; padding-bottom: 60px; }
  .home-page .h-hero h1 { font-size: clamp(54px, 9vw, 78px); }
  .home-page .h-hero-shade { background: linear-gradient(90deg, rgb(8 20 14 / 76%), rgb(8 20 14 / 24%)), linear-gradient(0deg, rgb(8 20 14 / 80%), transparent 55%); }
  .home-page .h-hero-slide img { object-position: 58% center; }
  .home-page .h-hero-bottom { align-items: flex-start; flex-direction: column; gap: 22px; }
  .home-page .h-hero-copy { padding-bottom: 64px; }
  .home-page .h-scroll-link { gap: 20px; }
  .home-page .h-hero-note { left: 0; right: auto; }
}
@media (max-width: 480px) {
  .home-page .h-hero { min-height: 720px; }
  .home-page .h-hero-inner { padding-top: 62px; }
  .home-page .h-hero h1 { font-size: clamp(45px, 11.9vw, 58px); }
  .home-page .h-hero-typing { font-size: 14px; min-height: calc(1.8em * 2); }
  .home-page .h-hero-controls { gap: 14px; width: 100%; }
  .home-page .h-hero-controls > button:not(.h-hero-play) { gap: 6px; font-size: 10px; }
  .home-page .h-hero-play { width: 40px; height: 40px; flex-shrink: 0; margin-left: auto; }
  .home-page .h-hero-copy { padding-bottom: 54px; }
}

.home-page .h-intro-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(48px, 7vw, 100px); }
.home-page .h-intro-visual { position: relative; padding-bottom: 30px; }
.home-page .h-intro-visual .h-image-frame { aspect-ratio: 4 / 4.25; position: relative; }
.home-page .h-intro-visual img { object-position: 38% center; }
.home-page .h-intro-title { overflow: visible; }
.home-page .h-intro-title-line { display: block; }
.home-page .h-intro-title-line em { display: inline-block; }
.home-page .h-intro-copy .h-lead { color: var(--ink); font-size: 19px; line-height: 1.6; margin-bottom: 18px; max-width: 470px; }
.home-page .h-intro-copy > p { max-width: 470px; }
.home-page .h-intro-points { display: grid; gap: 8px; margin: 28px 0 32px; font-size: 12px; color: var(--brand); }
.home-page .h-intro-points span { position: relative; display: inline-flex; align-items: center; width: fit-content; }
.home-page .h-intro-points span::before { content: ''; width: 5px; height: 5px; display: inline-block; background: var(--brand); border-radius: 50%; vertical-align: middle; margin-right: 12px; flex: 0 0 auto; }
.home-page .h-intro-cta { width: fit-content; }
@media (max-width: 800px) {
  .home-page .h-intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .home-page .h-intro-visual { padding-bottom: 0; }
  .home-page .h-intro-visual .h-image-frame { aspect-ratio: 4 / 3; }
  .home-page .h-image-index { display: none; }
}

.home-page .h-process { background: #173d31; color: #fff; }
.home-page .h-process h2 { color: #fff; }
.home-page .h-process h2 em { color: #c4d0b9; }
.home-page .h-process .h-section-head > p { color: #c3d1c5; }
.home-page .h-process-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid #517160; margin: 48px 0 0; }
.home-page .h-process-tabs button { min-width: 0; position: relative; border: 0; background: none; color: #c1d0c3; cursor: pointer; text-align: left; padding: 10px 12px 26px 0; }
.home-page .h-process-tabs button > span { display: block; font-size: 10px; letter-spacing: .1em; margin-bottom: 20px; }
.home-page .h-process-tabs button > strong { font: 400 31px/1.2 var(--font-display); }
.home-page .h-process-tabs button > i { position: absolute; bottom: -2px; height: 3px; left: 0; right: 20px; background: #d5ddc4; transform: scaleX(0); transform-origin: left; transition: transform 320ms var(--ease); }
.home-page .h-process-tabs button[aria-selected='true'] { color: #fff; }
.home-page .h-process-tabs button[aria-selected='true'] > i { transform: scaleX(1); }
.home-page .h-process-panel { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(40px, 9vw, 140px); padding-top: 46px; min-height: 284px; animation: h-panel-in 320ms var(--ease); }
.home-page .h-panel-label { color: #b6cbb9; font-size: 9px; letter-spacing: .16em; }
.home-page .h-process-copy h3 { color: #fff; font: 400 clamp(27px, 3vw, 39px)/1.2 var(--font-display); letter-spacing: -.03em; margin: 15px 0 18px; }
.home-page .h-process-copy p { color: #c7d3c9; font-size: 14px; max-width: 490px; margin: 0; }
.home-page .h-process-checklist ul { list-style: none; padding: 0; margin: 16px 0 25px; display: grid; gap: 12px; }
.home-page .h-process-checklist li { display: flex; align-items: center; gap: 12px; color: #e9eee5; font-size: 13px; }
.home-page .h-process-checklist li svg { color: #becdaf; flex-shrink: 0; }
.home-page .h-process-output { padding: 18px 20px; border-left: 2px solid #aebf9b; background: rgb(240 233 217 / 5%); }
.home-page .h-process-output small { display: block; color: #b6cbb9; font-size: 8px; letter-spacing: .15em; margin-bottom: 5px; }
.home-page .h-process-output strong { font-size: 12px; font-weight: 500; color: #fff; }
.home-page .h-process :is(button, [tabindex]):focus-visible { outline-color: #d5ddc4; box-shadow: 0 0 0 2px #173d31; }
@media (max-width: 800px) { .home-page .h-process-panel { grid-template-columns: 1fr; gap: 32px; min-height: 0; } .home-page .h-process-tabs { margin-top: 32px; } .home-page .h-process-tabs button > strong { font-size: 24px; } }
@media (max-width: 480px) { .home-page .h-process-tabs button > strong { font: 500 12px/1.3 var(--font-body); } .home-page .h-process-tabs button { padding-bottom: 18px; padding-right: 4px; min-height: 74px; } .home-page .h-process-tabs button > span { margin-bottom: 14px; } .home-page .h-process-tabs button > i { right: 10px; } }

.design-foundation .product-detail-page .catalog-back-row { position:relative; z-index:2; padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.design-foundation .product-detail-page .catalog-back-row a,.design-foundation .product-detail-page .catalog-back-row button { display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border:1px solid #d7ddd3; border-radius:999px; background:rgb(240 233 217 / 64%); color:var(--brand); font-size:11px; }
.design-foundation .product-detail-page .product-breadcrumb { position:relative; z-index:2; font-size:10px; margin:10px auto 20px; padding:0; color:var(--muted); display:flex; gap:8px; flex-wrap:wrap; }
.design-foundation .product-detail-page .product-breadcrumb strong { color:var(--ink); font-weight:500; }

.atelier-viewer{min-width:0;background:var(--wash);border:1px solid #d6ddd3;border-radius:26px;padding:22px;box-shadow:0 24px 60px rgb(11 38 29 / 10%)}.atelier-viewer-top{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:0 0 16px}.atelier-viewer-title{display:grid;gap:5px}.atelier-viewer-title strong{font:400 20px/1.15 var(--font-display);color:var(--ink)}.atelier-viewer-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.atelier-mode-switch{display:flex;padding:4px;gap:2px;background:#eef1eb;border:1px solid #d6ddd2;border-radius:999px}.atelier-mode-switch button{border:0;border-radius:999px;min-height:36px;padding:6px 14px;font-size:11px;background:none;color:var(--muted)}.atelier-mode-switch [aria-pressed="true"]{background:var(--brand);color:white}.atelier-mode-switch button:disabled{opacity:.4;cursor:not-allowed}.atelier-expand{min-height:36px;padding:0;border:0;background:none;color:var(--brand);font-size:10px;text-decoration:underline;text-underline-offset:4px}.atelier-stage{height:clamp(430px,51vw,680px);position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 36%,#fbfcf8 0%,#edf1e8 72%,#e5eae1 100%);border:1px solid #dce2d8;border-radius:20px;overflow:hidden}.atelier-stage:after{content:"";position:absolute;left:13%;right:13%;bottom:4%;height:3%;border-radius:50%;background:rgb(24 45 35 / 10%);filter:blur(14px);z-index:0}.atelier-canvas{position:absolute;inset:0;z-index:1}.atelier-canvas canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.atelier-canvas canvas.is-dragging{cursor:grabbing}.atelier-photo{position:absolute;inset:0;z-index:2;background:#e9eae5}.atelier-photo img{width:100%;height:100%;object-fit:contain;display:block}.atelier-photo.is-unavailable{display:grid;place-items:center;padding:45px;text-align:center;font-size:14px;color:var(--muted)}.atelier-model-label{position:absolute;top:16px;left:16px;z-index:4;background:rgb(240 233 217 / 94%);color:var(--brand);border:1px solid rgb(18 63 53 / 12%);border-radius:6px;padding:6px 10px;font-size:9px;pointer-events:none}.atelier-loading{position:absolute;z-index:5;inset:0;display:flex;gap:12px;justify-content:center;align-items:center;background:rgb(240 233 217 / 82%);font-size:12px;color:var(--brand)}.atelier-loader{display:block;width:18px;height:18px;border:2px solid #c5d2c4;border-top-color:var(--brand);border-radius:50%}.atelier-orientation{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:4;background:rgb(240 233 217 / 93%);border:1px solid rgb(18 63 53 / 10%);border-radius:999px;padding:7px 12px;font-size:9px;color:var(--muted);pointer-events:none}.atelier-hotspots{position:absolute;inset:0;z-index:3;pointer-events:none}.atelier-hotspots button{position:absolute;width:36px;height:36px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #fff;box-shadow:0 0 0 5px rgb(255 255 255 / 28%),0 3px 14px rgb(0 0 0 / 16%);background:var(--brand);color:#fff;pointer-events:auto;font-size:11px}.atelier-hotspots button[aria-pressed="true"]{background:var(--paper);color:var(--brand);border-color:var(--brand)}.atelier-viewer-controls{display:grid;grid-template-columns:1.25fr .85fr;gap:12px;padding:14px 0 0}.atelier-control-block{display:grid;gap:7px}.atelier-control-block>small{font-size:8px;letter-spacing:.14em;color:var(--muted)}.atelier-angle-controls,.atelier-zoom-controls,.atelier-motion-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.atelier-angle-controls button,.atelier-zoom-controls button{min-width:39px;min-height:38px;border:1px solid #d6ddd2;background:var(--surface);border-radius:10px;font-size:10px;padding:5px 11px;color:var(--muted)}.atelier-angle-controls button[aria-pressed="true"]{color:var(--brand);border-color:var(--brand);background:var(--brand-soft)}.atelier-zoom-controls output{min-width:42px;font-size:10px;text-align:center;color:var(--muted)}.atelier-motion-controls{grid-column:1/-1;padding-top:4px;gap:18px}.atelier-motion-controls button{min-height:34px;padding:0;background:transparent;border:0;color:var(--muted);font-size:10px;text-decoration:underline;text-underline-offset:3px}.atelier-motion-controls button[aria-pressed="true"]{color:var(--brand);font-weight:600}.atelier-viewer-controls button:disabled{opacity:.45;cursor:not-allowed}.atelier-help{font-size:10px;line-height:1.7;margin:12px 0 0;color:var(--muted)}.atelier-viewer-note{display:grid;grid-template-columns:130px 1fr;gap:18px;margin:14px 0 18px;padding:14px 16px;border:1px solid #dce2d8;border-radius:14px;background:#f1f4ef}.atelier-viewer-note span{font-size:8px;letter-spacing:.12em;color:var(--brand)}.atelier-viewer-note p{margin:0;font-size:10px;line-height:1.7;color:var(--muted)}.atelier-fallback{padding:14px;margin-top:10px;background:#eef3ee;border-radius:12px;display:flex;gap:15px;align-items:center}.atelier-fallback p{margin:0;font-size:11px;color:var(--brand)}.atelier-fallback button{background:var(--surface);color:var(--brand);border:1px solid #d6ddd2;min-height:38px;border-radius:10px;font-size:10px;padding:8px 12px}.atelier-point-buttons{display:flex;flex-wrap:wrap;gap:7px}.atelier-point-buttons button{display:flex;gap:6px;align-items:center;min-height:38px;background:var(--surface);border:1px solid #d6ddd2;border-radius:10px;font-size:10px;padding:8px 10px;color:var(--muted)}.atelier-point-buttons button[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.atelier-point-detail{border-left:3px solid var(--brand);background:#f1f3ed;padding:16px 18px;margin-top:12px;border-radius:0 14px 14px 0}.atelier-point-detail>strong{font-size:13px;font-weight:500}.atelier-point-detail p{font-size:11px;line-height:1.7;margin:8px 0 0;color:var(--muted)}.atelier-point-detail p span{color:var(--brand);font-weight:600}.design-foundation .atelier-viewer.is-expanded{position:fixed;inset:12px;z-index:2400;background:var(--paper);margin:auto;max-width:1180px;padding:22px;border:1px solid var(--line);border-radius:20px;overflow-y:auto;box-shadow:0 0 0 100vmax rgb(16 32 23 / 68%)}.atelier-viewer.is-expanded .atelier-stage{height:min(67dvh,760px);min-height:360px}@media(max-width:800px){.atelier-viewer{padding:15px;border-radius:18px}.atelier-stage{height:min(116vw,620px);min-height:370px}.atelier-viewer-controls{grid-template-columns:1fr}.atelier-motion-controls{grid-column:auto}.atelier-viewer-note{grid-template-columns:1fr}.atelier-small-label{flex-basis:100%}.atelier-hotspots button{width:40px;height:40px}.atelier-angle-controls button,.atelier-zoom-controls button{min-height:42px}.atelier-fallback{flex-direction:column;align-items:start}}@media(prefers-reduced-motion:no-preference){.atelier-loader{animation:atelier-spin 1s linear infinite}@keyframes atelier-spin{to{transform:rotate(360deg)}}}

/* Product not found state
 * Scope new styles to [data-section="product-details/not-found"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */

.design-foundation .product-detail-page{background:linear-gradient(180deg,var(--surface) 0%,var(--surface) 100%)}.design-foundation .product-detail-page .product-detail-hero{background:transparent;padding:0 0 94px;border:0}.design-foundation .product-detail-page .product-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);align-items:start;gap:38px}.design-foundation .product-detail-page .product-detail-copy{position:sticky;top:118px}@media(max-width:1100px){.design-foundation .product-detail-page .product-detail-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.86fr);gap:26px}}@media(max-width:860px){.design-foundation .product-detail-page .product-detail-grid{grid-template-columns:1fr;gap:24px}.design-foundation .product-detail-page .product-detail-copy{position:static}.design-foundation .product-detail-page .product-detail-hero{padding-bottom:56px}}

.atelier-process { position:relative; overflow:hidden; padding:88px 0; background:linear-gradient(135deg,#0d4b3e,#10362e); color:#fff; }
.atelier-process::after { content:''; position:absolute; right:-10%; bottom:-50%; width:60%; aspect-ratio:1; border:1px solid rgb(255 255 255 / 8%); border-radius:50%; box-shadow:0 0 0 90px rgb(255 255 255 / 2%),0 0 0 180px rgb(255 255 255 / 1%); }
.atelier-process .container { position:relative; z-index:1; }
.atelier-process .eyebrow { color:#bad0bf; }
.atelier-process .atelier-section-heading h2 { color:#fff; }
.atelier-process .atelier-section-heading h2 em { color:#d2dfd1; }
.atelier-process .atelier-section-heading p { color:#cad9cd; }
.atelier-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.atelier-process-grid article { min-height:230px; padding:24px; border:1px solid rgb(255 255 255 / 14%); border-radius:18px; background:rgb(240 233 217 / 4%); backdrop-filter:blur(6px); }
.atelier-process-grid article > span { color:#b9cdbd; font-size:10px; }
.atelier-process-grid h3 { margin:44px 0 14px; color:#fff; font:400 29px/1.1 var(--font-display); }
.atelier-process-grid p { color:#cad9cd; font-size:12px; line-height:1.85; }
@media(max-width:750px) { .atelier-process { padding:54px 0; }.atelier-process-grid { grid-template-columns:1fr; }.atelier-process-grid article { min-height:auto; }.atelier-process-grid h3 { margin:22px 0 12px; } }

[data-section="product-details/related"] { background:var(--surface); }
[data-section="product-details/related"] .section-head { align-items:end; margin-bottom:34px; }
[data-section="product-details/related"] .section-head h2 { max-width:14ch; }
[data-section="product-details/related"] .product-grid { gap:18px; }
[data-section="product-details/related"] .product-card { overflow:hidden; border:1px solid #dce1d8; border-radius:18px; background:rgb(240 233 217 / 80%); box-shadow:0 14px 28px rgb(14 34 25 / 5%); }
@media(max-width:700px) { [data-section="product-details/related"] .section-head { align-items:start; } }

.design-foundation .atelier-summary{background:rgb(240 233 217 / 84%);border:1px solid #d7ddd3;border-radius:24px;padding:26px;box-shadow:0 24px 58px rgb(12 38 29 / 10%);backdrop-filter:blur(12px)}.atelier-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.atelier-summary-top>div{display:grid;gap:6px}.atelier-summary-top .eyebrow{margin:0;font-size:10px;letter-spacing:.14em;color:var(--brand)}.atelier-summary-category{font-size:10px;color:var(--muted)}.atelier-product-code{display:inline-flex;align-items:center;min-height:31px;border:1px solid #d6ddd2;border-radius:999px;padding:0 11px;background:#f1f4ee;font-size:9px;letter-spacing:.11em;color:var(--muted)}.design-foundation .atelier-summary h1{font-family:var(--font-display);font-size:clamp(40px,4.3vw,62px);font-weight:400;line-height:.98;letter-spacing:-.05em;margin:20px 0 16px;max-width:11ch}.design-foundation .atelier-summary .product-detail-lead{font-size:14px;line-height:1.82;color:var(--muted);margin:0}.atelier-status-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.atelier-status-row span{display:inline-flex;align-items:center;gap:7px;border:1px solid #d7dfd3;border-radius:999px;padding:7px 10px;background:#f3f6f1;font-size:9px;color:var(--brand)}.atelier-status-row i{width:6px;height:6px;border-radius:50%;background:#2e8a67;box-shadow:0 0 0 4px rgb(46 138 103 / 10%)}.atelier-material-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;background:#f2f5ef;border:1px solid #dae1d6;border-radius:16px}.atelier-material-card>div:last-child{padding:5px 4px}.atelier-material-card small{display:block;font-size:8px;letter-spacing:.1em;color:var(--muted)}.atelier-material-card strong{display:block;margin-top:6px;font-size:12px}.atelier-colour{display:flex;align-items:center;gap:12px;margin:0}.atelier-colour>span{width:34px;height:34px;border:1px solid rgb(0 0 0 / 12%);border-radius:50%;box-shadow:0 0 0 4px #fff,0 0 0 5px #d8dfd4}.atelier-colour p{font-size:12px;margin:3px 0 0}.atelier-quick-specs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.atelier-quick-specs>div{border:1px solid #dbe0d7;background:var(--surface);border-radius:14px;padding:13px}.atelier-quick-specs small{display:block;font-size:9px;color:var(--muted)}.atelier-quick-specs strong{display:block;font-size:11px;font-weight:600;margin-top:5px}.atelier-summary .catalog-spec-notice{font-size:10px;line-height:1.75;margin:16px 0;padding:13px 14px;border-left:3px solid var(--brand);background:#eef3ee;border-radius:0 12px 12px 0}.design-foundation .atelier-summary .product-detail-actions{display:flex;flex-direction:column;gap:9px}.design-foundation .atelier-summary .btn{width:100%;justify-content:center;min-height:50px;border-radius:13px;font-size:11px}.atelier-spec-link{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #dce1d7;color:var(--brand);font-size:11px}@media(max-width:860px){.design-foundation .atelier-summary{padding:21px;border-radius:19px}.design-foundation .atelier-summary h1{max-width:none}.atelier-material-card,.atelier-quick-specs{grid-template-columns:1fr}}

.catalog-categories { display:flex; border-bottom:1px solid var(--line); gap:30px; overflow-x:auto; scrollbar-width:thin; padding:0 2px; }
.catalog-categories button { background:none; border:0; border-bottom:2px solid transparent; padding:18px 2px; white-space:nowrap; color:var(--muted); display:flex; align-items:center; gap:10px; font-size:14px; min-height:54px; }
.catalog-categories button.active { border-bottom-color:var(--brand); color:var(--brand); font-weight:600; }
.catalog-categories button span { font-size:10px; min-width:22px; padding:2px 5px; border-radius:20px; background:var(--wash); color:var(--muted); }
.catalog-categories button.active span { background:var(--brand-soft); color:var(--brand); }
@media(max-width:700px) { .catalog-categories { gap:24px; } }

.catalog-cta { background:var(--brand); color:white; padding:75px 0; }
.catalog-cta .container { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.catalog-cta .eyebrow { color:#c5d5c5; }
.catalog-cta h2 { font-family:var(--font-display); font-size:clamp(40px,5vw,64px); font-weight:400; letter-spacing:-.04em; line-height:1.05; color:white; margin:20px 0; }
.catalog-cta p { font-size:14px; color:#e4ebe3; max-width:45ch; }
.design-foundation .catalog-cta .btn { color:var(--brand); background:var(--paper); border-color:var(--paper); white-space:nowrap; }
@media(max-width:700px) { .catalog-cta .container { align-items:start; flex-direction:column; gap:20px; }.catalog-cta { padding:55px 0; } }

.design-foundation .catalog-page .product-explorer-section { padding:24px 0 90px; }
.catalog-label { display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
@media(max-width:700px) { .design-foundation .catalog-page .product-explorer-section { padding-bottom:50px; } }

.catalog-tools { padding:26px 0 20px; }
.catalog-search-row { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; }
.catalog-search { position:relative; display:flex; align-items:center; border:1px solid var(--line); border-radius:4px; background:var(--surface); gap:12px; padding:0 16px; }
.catalog-search svg { width:19px; height:19px; flex-shrink:0; color:var(--muted); }
.catalog-search input { width:100%; min-width:0; height:52px; border:0; background:none; color:var(--ink); font:inherit; font-size:14px; padding:0; border-radius:0; }
.catalog-search input:focus { box-shadow:none; }
.catalog-sort { display:flex; align-items:center; gap:12px; font-size:12px; white-space:nowrap; color:var(--muted); }
.catalog-sort select { padding:12px 30px 12px 10px; border:1px solid var(--line); border-radius:4px; background:transparent; color:var(--ink); font:inherit; min-height:48px; width:auto; }
.catalog-filter-toggle { display:none; min-height:44px; border:1px solid var(--line); border-radius:4px; padding:8px 12px; background:var(--surface); }
.catalog-filter-panel { display:flex; justify-content:space-between; align-items:end; gap:20px; padding-top:24px; }
.catalog-style-chips { display:flex; gap:8px; flex-wrap:wrap; }
.catalog-page .filter-chip { min-height:40px; border:1px solid var(--line); color:var(--muted); background:transparent; border-radius:3px; font-weight:400; padding:9px 13px; font-size:12px; transform:none; box-shadow:none; }
.catalog-page .filter-chip.active { background:var(--brand-soft); color:var(--brand); border-color:var(--brand); }
.catalog-saved-filter { display:flex; align-items:center; gap:8px; white-space:nowrap; font-size:12px; color:var(--ink); padding:12px 0; }
.catalog-saved-filter input { width:17px; height:17px; accent-color:var(--brand); padding:0; }
@media(max-width:900px) { .catalog-filter-panel { align-items:start; flex-direction:column; gap:6px; } }
@media(max-width:700px) {
 .catalog-search-row { grid-template-columns:1fr auto; gap:12px; }
 .catalog-search { grid-column:1 / -1; }
 .catalog-search input { font-size:16px; }
 .catalog-sort { justify-content:start; }
 .catalog-sort select { max-width:170px; }
 .catalog-filter-toggle { display:flex; justify-content:space-between; gap:12px; align-items:center; }
 .catalog-filter-toggle[aria-expanded="true"] span { transform:rotate(45deg); }
 .catalog-filter-panel { padding:20px 0 0; }
}

.design-foundation .catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px 24px; }
.catalog-empty { grid-column:1 / -1; text-align:center; padding:70px 24px; background:var(--wash); }
.catalog-empty h3 { font-family:var(--font-display); font-size:36px; font-weight:400; letter-spacing:-.03em; margin:15px 0; }
.catalog-empty p { max-width:440px; margin:0 auto 25px; color:var(--muted); }
@media(max-width:1000px) { .design-foundation .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; } }
@media(max-width:520px) { .design-foundation .catalog-grid { grid-template-columns:1fr; gap:32px; } }

/* The collection: an editorial opening, kept separate from the home page. */
.design-foundation .catalog-page { background:var(--paper); }
.design-foundation .catalog-hero { padding:38px 0 0; background:var(--paper); }
.catalog-heading-row { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.catalog-heading-row .breadcrumb { margin:0; font-size:12px; }
.catalog-index { font-size:10px; letter-spacing:.16em; color:var(--muted); }
.catalog-hero-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:end; padding:64px 0 56px; }
.catalog-hero .eyebrow { color:var(--brand); font-size:10px; letter-spacing:.16em; margin-bottom:20px; }
.design-foundation .catalog-hero h1 { font-family:var(--font-display); font-size:clamp(54px,7vw,96px); font-weight:400; line-height:1.02; letter-spacing:-.052em; margin:0; color:var(--ink); }
.catalog-hero h1 em { color:var(--brand); font-weight:400; }
.catalog-hero-aside { max-width:340px; justify-self:end; padding-bottom:5px; }
.catalog-hero-aside > p { font-size:19px; line-height:1.7; margin:0 0 26px; }
.catalog-shortlist-button { display:flex; width:100%; gap:12px; align-items:center; padding:15px 20px; background:var(--brand); color:white; border:1px solid var(--brand); border-radius:4px; font-size:14px; }
.catalog-shortlist-button svg { width:20px; height:20px; }
.catalog-shortlist-button [data-shortlist-count] { margin-left:auto; min-width:26px; height:26px; display:grid; place-items:center; background:rgb(240 233 217 / 15%); border-radius:50%; }
.catalog-hero-aside > small { display:block; color:var(--muted); margin-top:10px; font-size:11px; }
.catalog-footnote { display:grid; grid-template-columns:1fr 1.2fr; gap:40px; padding:24px 0; border-block:1px solid var(--line); align-items:center; }
.catalog-footnote > span { font-family:var(--font-display); font-size:21px; font-style:italic; }
.catalog-footnote p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; max-width:560px; justify-self:end; }
@media(max-width:700px) {
 .catalog-heading-row .catalog-index { display:none; }
 .catalog-hero-grid { grid-template-columns:1fr; gap:30px; padding:40px 0 32px; }
 .catalog-hero-aside { justify-self:start; max-width:100%; }
 .catalog-hero-aside > p { font-size:16px; max-width:35ch; }
 .catalog-shortlist-button { width:auto; min-width:245px; }
 .catalog-footnote { grid-template-columns:1fr; gap:10px; }
 .catalog-footnote p { justify-self:start; }
}

.catalog-results { display:flex; align-items:center; gap:15px; border-top:1px solid var(--line); padding:18px 0 24px; }
.catalog-results > p { margin:0; color:var(--muted); font-size:12px; flex-shrink:0; }
.catalog-reset { background:transparent; border:0; text-decoration:underline; text-underline-offset:4px; color:var(--ink); font-size:12px; padding:10px 0; min-height:40px; }
.catalog-results .catalog-reset { margin-left:auto; flex-shrink:0; }
.catalog-active-filters { display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.catalog-active-filters button { display:flex; align-items:center; gap:12px; max-width:260px; overflow-wrap:anywhere; text-align:left; background:var(--brand-soft); border:0; padding:8px 12px; border-radius:3px; font-size:11px; color:var(--brand); min-height:36px; }
.catalog-active-filters button span { margin-left:auto; }
@media(max-width:700px) { .catalog-results { flex-wrap:wrap; gap:5px 12px; }.catalog-active-filters { order:3; flex-basis:100%; } }

/* Back to top button
 * Scope new styles to [data-section="shared/back-to-top"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */

.design-foundation .desktop-nav { gap: 8px; }
.design-foundation .desktop-nav > a,
.design-foundation .products-nav-link {
  padding: 16px 12px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  white-space: nowrap;
  transition: color var(--motion-fast), transform var(--motion-fast), letter-spacing var(--motion-fast);
}
.design-foundation .desktop-nav > a::after,
.design-foundation .products-nav-link::after {
  left: 12px;
  right: 12px;
  bottom: 8px;
  height: 1px;
  transform-origin: left center;
}
.design-foundation .desktop-nav > a:hover,
.design-foundation .desktop-nav > a:focus-visible,
.design-foundation .products-nav-item:is(:hover, :focus-within, .is-open) .products-nav-link {
  color: var(--brand);
  transform: translateY(-1px);
  letter-spacing: .012em;
}
.design-foundation .desktop-nav > a:hover::after,
.design-foundation .desktop-nav > a:focus-visible::after,
.design-foundation .products-nav-item:is(:hover, :focus-within, .is-open) .products-nav-link::after {
  transform: scaleX(1);
}
.design-foundation .desktop-nav a[aria-current='page'] { color: var(--brand); font-weight: 650; }
.design-foundation .desktop-nav a[aria-current='page']::after { transform: scaleX(1); }
.design-foundation .desktop-nav a[aria-current='page']:hover { transform: none; letter-spacing: 0; }
.design-foundation .products-nav-item { position: static; display: flex; align-items: center; gap: 0; }
.design-foundation .products-nav-link { padding-right: 2px; }
.design-foundation .products-menu-toggle {
  display: grid;
  place-items: center;
  width: 36px;
  height: 44px;
  background: transparent;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  border-radius: var(--radius-sm);
  transition: color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast);
}
.design-foundation .products-menu-toggle:hover,
.design-foundation .products-menu-toggle:focus-visible,
.design-foundation .products-nav-item.is-open .products-menu-toggle { background: var(--brand-soft); color: var(--brand); }
.design-foundation .products-menu-toggle svg { width: 16px; height: 16px; transition: transform 280ms var(--ease); }
.design-foundation .products-menu-toggle[aria-expanded='true'] svg,
.design-foundation .products-nav-item:hover .products-menu-toggle svg { transform: rotate(180deg); }
.design-foundation .products-mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  width: min(1120px, calc(100% - 80px));
  max-height: calc(100dvh - var(--header-h) - 20px);
  overflow: auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 var(--radius) var(--radius);
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 10px) scale(.992);
  transform-origin: top center;
  transition: opacity 180ms ease, visibility 280ms ease, transform 280ms var(--ease);
}
.design-foundation .products-nav-item.is-open .products-mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0) scale(1);
}
/* The JS-owned open state avoids accidental desktop dropdowns while preserving keyboard controls. */
.design-foundation .products-nav-item:hover .products-mega-menu,
.design-foundation .products-nav-item:focus-within .products-mega-menu { transform: translate(-50%, 10px) scale(.992); }
.design-foundation .products-nav-item.is-open:hover .products-mega-menu,
.design-foundation .products-nav-item.is-open:focus-within .products-mega-menu { transform: translate(-50%, 0) scale(1); }
.design-foundation .mega-menu-inner { display: grid; grid-template-columns: .95fr .75fr 1.3fr; min-height: 380px; }
.design-foundation .mega-menu-intro { padding: 32px; background: var(--wash); border-right: 1px solid var(--line); }
.design-foundation .mega-menu-intro h3 { color: var(--ink); font: 400 32px/1.14 var(--font-display); margin: 18px 0 16px; letter-spacing: -.025em; }
.design-foundation .mega-menu-intro p { color: var(--muted); font-size: 13px; }
.design-foundation .mega-menu-intro > a { padding: 8px 0; color: var(--brand); }
.design-foundation .mega-menu-intro > a::after { display: none; }
.design-foundation .mega-category-list { padding: 20px 0; background: var(--surface); border-color: var(--line); }
.design-foundation .mega-category { opacity: 1; transform: none; min-height: 64px; padding: 12px 20px; transition: background var(--motion-fast), padding var(--motion-fast); }
.design-foundation .mega-category strong { font: 500 15px/1.4 var(--font-body); }
.design-foundation .mega-category span { color: var(--muted); }
.design-foundation .mega-category:is(:hover, .active) { background: var(--brand-soft); color: var(--brand); }
.design-foundation .mega-category:hover { padding-left: 24px; }
.design-foundation .mega-sub-panels { padding: 32px; overflow: visible; }
.design-foundation .mega-sub-panel { position: static; opacity: 1; visibility: visible; transform: none; }
.design-foundation .mega-sub-panel h4 { margin: 8px 0 18px; font: 400 29px/1.2 var(--font-display); color: var(--ink); }
.design-foundation .mega-sub-panel > small { color: var(--muted); }
.design-foundation .mega-sub-panel a { min-height: 44px; padding: 10px 0; color: var(--ink); font: 500 13px/1.4 var(--font-body); border-color: var(--line); }
.design-foundation .mega-sub-panel a::after { display: none; }
.design-foundation .mega-sub-panel a svg { opacity: 1; transform: none; transition: transform var(--motion-fast); }
.design-foundation .mega-sub-panel a:hover { padding-left: 4px; color: var(--brand); }
.design-foundation .mega-sub-panel a:hover svg { transform: translateX(4px); }
.design-foundation .mega-sub-panel > .mega-view-all { color: var(--brand); border: 0; margin-top: 12px; }
.design-foundation .btn-quote svg { transition: transform 280ms var(--ease); }
.design-foundation .btn-quote:hover svg,
.design-foundation .btn-quote:focus-visible svg { transform: translateX(5px); }
.design-foundation .btn-quote:hover { box-shadow: 0 14px 30px rgb(16 47 40 / 18%); }
@media (prefers-reduced-motion: reduce) {
  .design-foundation .desktop-nav > a,
  .design-foundation .products-nav-link,
  .design-foundation .products-menu-toggle,
  .design-foundation .products-menu-toggle svg,
  .design-foundation .products-mega-menu,
  .design-foundation .mega-category,
  .design-foundation .mega-sub-panel a svg,
  .design-foundation .btn-quote svg { transition: none; }
  .design-foundation .desktop-nav > a:hover,
  .design-foundation .desktop-nav > a:focus-visible,
  .design-foundation .products-nav-item:is(:hover, :focus-within, .is-open) .products-nav-link { transform: none; letter-spacing: 0; }
}
@media (max-width: 1050px) { .design-foundation .desktop-nav, .design-foundation .products-mega-menu { display: none; } }

.design-foundation .site-footer { background: var(--night); color: var(--paper); }
.design-foundation .footer-invitation { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 56px; border-bottom: 1px solid #3b4d44; }
.design-foundation .footer-invitation h2 { margin: 14px 0 0; font: 400 clamp(34px, 4.6vw, 60px)/1.1 var(--font-display); letter-spacing: -.04em; color: var(--paper); }
.design-foundation .footer-main { display: grid; grid-template-columns: 1.25fr .65fr .75fr 1.15fr; gap: clamp(24px, 3.5vw, 52px); padding-block: 56px; }
.design-foundation .brand-light :is(.brand-symbol, .brand-copy b, .brand-copy small) { color: var(--paper); }
.design-foundation .footer-brand > p { color: #b9c6bc; max-width: 290px; margin: 24px 0 20px; font-size: 13px; line-height: 1.8; }
.design-foundation .footer-location { color: #b9c6bc; font-size: 11px; letter-spacing: .04em; }
.design-foundation .footer-column h3 { color: #91a99a; font: 600 11px/1.5 var(--font-body); letter-spacing: .12em; text-transform: uppercase; margin: 2px 0 18px; }
.design-foundation .footer-column nav { gap: 0; }
.design-foundation .footer-column nav a { display: flex; align-items: center; min-height: 36px; width: fit-content; font-size: 13px; color: #e1e7df; }
.design-foundation .footer-column nav a:hover { transform: none; text-decoration: underline; text-underline-offset: 5px; color: #fff; }
.design-foundation .footer-column nav a::after { display: none; }
.design-foundation .footer-contact { min-width: 0; }
.design-foundation .footer-contact :is(.footer-email, .footer-phone) { display: block; padding-block: 6px; color: #e1e7df; font-size: 13px; overflow-wrap: anywhere; }
.design-foundation .footer-contact :is(a:hover, a:focus-visible) { text-decoration: underline; text-underline-offset: 5px; }
.design-foundation .footer-contact address, .design-foundation .footer-contact > p { color: #b9c6bc; font-style: normal; font-size: 12px; line-height: 1.85; margin: 16px 0; }
.design-foundation .footer-contact .text-link { color: #e1e7df; min-height: 44px; }
.design-foundation .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-color: #3b4d44; padding-block: 18px; font-size: 11px; }
.design-foundation .footer-bottom p { color: #b9c6bc; margin: 0; }
.design-foundation .footer-back-top { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; color: #e1e7df; }
.design-foundation .footer-back-top span { font-size: 17px; }
@media (max-width: 1050px) {
  .design-foundation .footer-main { grid-template-columns: 1.2fr 1fr; gap: 40px 48px; }
  .design-foundation .footer-brand { grid-column: auto; }
}
@media (max-width: 600px) {
  .design-foundation .footer-invitation { align-items: flex-start; flex-direction: column; padding-block: 40px; gap: 24px; }
  .design-foundation .footer-main { grid-template-columns: 1fr 1fr; gap: 32px 20px; padding-block: 40px; }
  .design-foundation .footer-brand, .design-foundation .footer-contact { grid-column: 1 / -1; }
  .design-foundation .footer-column nav a { min-height: 44px; }
  .design-foundation .footer-brand > p { max-width: 360px; }
  .design-foundation .footer-bottom { flex-wrap: wrap; text-align: left; gap: 8px; }
}

.design-foundation .footer-main::before { content: none; }

/* Stable sticky header: no transform/backdrop filter containing block for the mobile dialog. */
.design-foundation .site-header,
.design-foundation .site-header.scrolled,
.design-foundation .site-header.header-hidden {
  position: sticky; top: 0; z-index: 1000; background: var(--paper); transform: none;
  backdrop-filter: none; -webkit-backdrop-filter: none; filter: none;
  border: 0; box-shadow: none; transition: box-shadow var(--motion-fast), background var(--motion-fast);
}
.design-foundation .site-header.scrolled { box-shadow: 0 4px 18px rgb(22 42 32 / 7%); }
.design-foundation .nav-wrap { background: var(--paper); border-bottom: 1px solid var(--line); }
.design-foundation .nav-inner { height: 80px; gap: 28px; transition: height 320ms var(--ease), gap 320ms var(--ease); }
.design-foundation .site-header.scrolled .nav-inner { height: 68px; gap: 24px; }
.design-foundation .brand { gap: 12px; min-width: 0; flex-shrink: 0; transition: transform 320ms var(--ease); transform-origin: left center; }
.design-foundation .site-header.scrolled .brand { transform: scale(.96); }
.design-foundation .brand-symbol { color: var(--brand); width: 38px; font-size: 28px; }
.design-foundation .brand-copy b { font-family: var(--font-display); font-size: 23px; font-weight: 600; color: var(--ink); letter-spacing: -.035em; }
.design-foundation .brand-copy small { color: var(--brand); font: 600 9px/1 var(--font-body); letter-spacing: .29em; margin-top: 7px; }
.design-foundation .nav-actions { gap: 12px; }
.design-foundation .menu-toggle { width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.design-foundation .menu-toggle span { background: var(--brand); }
@media (prefers-reduced-motion: reduce) {
  .design-foundation .nav-inner, .design-foundation .brand { transition: none; }
}
@media (max-width: 1050px) { .design-foundation .btn-quote { display: inline-flex; } .design-foundation .site-header.scrolled .nav-inner { height: 72px; } .design-foundation .site-header.scrolled .brand { transform: none; } }
@media (max-width: 600px) {
  .design-foundation .nav-inner { height: 72px; gap: 12px; }
  .design-foundation .brand-copy b { font-size: 21px; }
  .design-foundation .brand-symbol { width: 34px; }
  .design-foundation .btn-quote { display: none; }
}

.design-foundation .brand-symbol { filter: none; }

/* Shared SVG icons
 * Scope new styles to [data-section="shared/icons"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */

/* Loading screen
 * Scope new styles to [data-section="shared/loader"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */
/* Keep the shared section contract, without a blocking overlay or indefinite animation. */
.design-foundation .site-loader { display: none; }

.design-foundation .mobile-menu { position: fixed; inset: 0; height: 100dvh; z-index: 1100; }
.design-foundation .mobile-menu::before { background: rgb(17 35 27 / 50%); }
.design-foundation .mobile-menu-panel {
  width: min(460px, 100%); height: 100%; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain;
  padding: 24px 28px max(24px, env(safe-area-inset-bottom)); background: var(--paper); color: var(--ink);
  border: 0; border-radius: 0; box-shadow: var(--shadow); transition: transform var(--motion-normal) var(--ease);
}
.design-foundation .mobile-menu-head { flex-shrink: 0; padding-bottom: 18px; border-color: var(--line); color: var(--muted); }
.design-foundation .mobile-close { width: 44px; height: 44px; display: grid; place-items: center; font: 300 32px/1 var(--font-body); color: var(--ink); border-radius: var(--radius-sm); }
.design-foundation .mobile-close:hover { background: var(--brand-soft); }
.design-foundation .mobile-menu nav { margin: 16px 0 32px; }
.design-foundation .mobile-menu nav > a,
.design-foundation .mobile-products-toggle { min-height: 68px; padding: 16px 0; border-color: var(--line); color: var(--ink); }
.design-foundation .mobile-menu nav > a,
.design-foundation .mobile-products-toggle > span { font: 400 28px/1.2 var(--font-display); }
.design-foundation .mobile-menu nav > a[aria-current='page'] { color: var(--brand); }
.design-foundation .mobile-menu nav > a[aria-current='page']::after { content: ''; width: 6px; height: 6px; background: var(--brand); border-radius: 50%; margin-left: auto; }
.design-foundation .mobile-menu nav > a span,
.design-foundation .mobile-products-toggle i { color: var(--muted); font: 500 10px/1 var(--font-body); min-width: 16px; }
.design-foundation .mobile-products-block { border-color: var(--line); }
.design-foundation .mobile-products-toggle b { color: var(--brand); }
.design-foundation .mobile-products-block.open .mobile-products-toggle b { transform: none; }
.design-foundation .mobile-products-tree,
.design-foundation .mobile-products-block.open .mobile-products-tree { max-height: none; opacity: 1; padding: 0 0 16px 33px; overflow: visible; transition: none; }
.design-foundation .mobile-category-group > button { min-height: 48px; color: var(--ink); font-weight: 500; border-bottom: 1px solid var(--line); }
.design-foundation .mobile-category-group > button b { color: var(--brand); }
.design-foundation .mobile-category-group > div,
.design-foundation .mobile-category-group.open > div { max-height: none; opacity: 1; padding: 8px 0; transition: none; }
.design-foundation .mobile-menu .mobile-products-tree a { display: flex !important; align-items: center; min-height: 44px; padding: 10px 0 !important; font: 400 14px/1.45 var(--font-body) !important; color: var(--muted) !important; border: 0 !important; }
.design-foundation .mobile-menu .mobile-products-tree a:is(:hover, .mobile-view-all) { color: var(--brand) !important; }
.design-foundation .mobile-menu-end { margin-top: auto; padding-top: 16px; }
.design-foundation .mobile-menu-end p { color: var(--muted); font-size: 12px; line-height: 1.8; margin: 18px 0 0; }
@media (max-width: 400px) { .design-foundation .mobile-menu-panel { padding-inline: 20px; } }

/* Product quick view
 * Scope new styles to [data-section="shared/product-modal"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */

.design-foundation .drawer-panel { background:var(--paper); overscroll-behavior:contain; }
.design-foundation .quote-form .form-note { color:var(--muted); font-size:12px; text-align:left; }
.design-foundation .quote-form .choice-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.design-foundation .choice-grid input:focus-visible + span { outline:3px solid #5a8064; outline-offset:3px; }
@media(max-width:600px) { .design-foundation .drawer-panel { padding:26px 20px; } .design-foundation .quote-form .form-grid.two { grid-template-columns:1fr; } .design-foundation .quote-form .choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Reading progress
 * Scope new styles to [data-section="shared/scroll-progress"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */
.design-foundation .scroll-progress span { width: 100%; transform: scaleX(0); transform-origin: left; transition: none; }

/* Toast notifications
 * Scope new styles to [data-section="shared/toasts"].
 * Include this section's desktop, tablet, mobile, focus and hover rules here.
 * The original cascade lives in frontend/styles/base and is unchanged.
 */

.design-foundation .topbar { height: 32px; background: var(--brand); color: #fff; font-size: 11px; letter-spacing: .025em; }
.design-foundation .topbar-inner { gap: 16px; }
.design-foundation .topbar p { margin: 0; color: #fff; }
.design-foundation .topbar-actions { gap: 24px; }
.design-foundation .topbar-actions > span { color: #d5e1d9; }
.design-foundation .topbar a { color: #fff; opacity: 1; }
.design-foundation .topbar a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1050px) { .design-foundation .topbar { display: none; } }

.design-foundation .topbar::after { content: none; }

.home-page .h-credibility { border-block: 1px solid var(--line); padding-block: 42px; background: var(--surface-warm); }
.home-page .h-credibility-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 30px; align-items: center; }
.home-page .h-credibility .h-kicker { margin-bottom: 14px; font-size: 9px; }
.home-page .h-credibility h2 { font-size: 29px; letter-spacing: -.03em; line-height: 1.17; margin: 0; }
.home-page .h-metric { border-left: 1px solid #d2d8cc; padding-left: 30px; }
.home-page .h-metric strong { display: block; font: 400 60px/1 var(--font-display); letter-spacing: -.06em; color: var(--brand); margin-bottom: 16px; }
.home-page .h-metric span { display: block; color: var(--ink); font-size: 12px; font-weight: 550; }
.home-page .h-metric small { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }
@media (max-width: 800px) { .home-page .h-credibility-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 18px; } .home-page .h-credibility-grid > div:first-child { grid-column: 1 / -1; } .home-page .h-credibility h2 br { display: none; } .home-page .h-metric { padding-left: 18px; } .home-page .h-metric:nth-child(2) { border-left: 0; padding-left: 0; } .home-page .h-metric strong { font-size: 48px; } }
@media (max-width: 480px) { .home-page .h-metric small { display: none; } .home-page .h-metric span { font-size: 10px; line-height: 1.6; } .home-page .h-metric strong { font-size: 42px; } .home-page .h-metric { padding-left: 12px; } }

.home-page .h-quality { background: var(--surface-warm); }
.home-page .h-quality-head { margin-bottom: 36px; }
.home-page .h-quality-title-line { display: inline-block; overflow: hidden; vertical-align: bottom; }
.home-page .h-quality-title-line > span,
.home-page .h-quality-title-line em > span { display: inline-block; }
.home-page .h-quality-lead { display: grid; gap: 2px; max-width: 380px; }
.home-page .h-quality-lead > span { display: block; }

/* Heading keeps its own scan language, distinct from Hero and Capabilities. */
.home-page.home-motion-ready .h-quality-head:not(.is-revealed) .h-quality-kicker { opacity: 0; letter-spacing: .27em; transform: translateX(-14px); }
.home-page.home-motion-ready .h-quality-head:not(.is-revealed) .h-quality-title-line-a > span { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-24px); }
.home-page.home-motion-ready .h-quality-head:not(.is-revealed) .h-quality-title-line-b em > span { opacity: 0; clip-path: inset(0 0 0 100%); transform: translateX(28px); filter: blur(3px); }
.home-page.home-motion-ready .h-quality-head:not(.is-revealed) .h-quality-lead > span { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-16px); }
.home-page.home-motion-ready .h-quality-head.is-revealed .h-quality-kicker { animation: h-quality-kicker-scan 620ms 80ms var(--ease) both; }
.home-page.home-motion-ready .h-quality-head.is-revealed .h-quality-title-line-a > span { animation: h-quality-scan-left 820ms 190ms var(--ease) both; }
.home-page.home-motion-ready .h-quality-head.is-revealed .h-quality-title-line-b em > span { animation: h-quality-scan-right 900ms 330ms var(--ease) both; }
.home-page.home-motion-ready .h-quality-head.is-revealed .h-quality-lead > span:nth-child(1) { animation: h-quality-copy-wipe 680ms 520ms var(--ease) both; }
.home-page.home-motion-ready .h-quality-head.is-revealed .h-quality-lead > span:nth-child(2) { animation: h-quality-copy-wipe 760ms 630ms var(--ease) both; }

/* Three-stage story intentionally mirrors the proven Capabilities structure:
   normal heading -> tall story wrapper -> one sticky stage -> list + one visual. */
.home-page .h-quality-story { position: relative; min-height: clamp(190vh, calc(var(--quality-count, 3) * 64vh), 240vh); }
.home-page .h-quality-stage { position: sticky; top: calc(var(--header-h) + 18px); min-height: calc(100vh - var(--header-h) - 18px); display: flex; align-items: center; }
.home-page .h-quality-grid { display: grid; grid-template-columns: minmax(340px, .82fr) minmax(0, 1fr); gap: clamp(38px, 6.4vw, 92px); align-items: center; width: 100%; }

/* Left visual stack: all three figures occupy exactly the same box.
   Non-active figures are fully isolated so two images can never stack. */
.home-page .h-quality-visuals { position: relative; width: min(100%, 520px); min-height: min(60vh, 590px); justify-self: start; align-self: center; overflow: visible; }
.home-page .h-quality-visual { position: absolute !important; inset: 0 !important; margin: 0; display: flex; flex-direction: column; opacity: 0; visibility: hidden; pointer-events: none; transform: translate3d(var(--quality-visual-shift-x,0px), 28px, 0) scale(.974) rotate(var(--quality-visual-rotate,0deg)); filter: blur(5px); transition: opacity 460ms ease, visibility 0s linear 460ms, transform 820ms var(--ease), filter 760ms var(--ease); }
.home-page .h-quality-visual.is-active { opacity: 1 !important; visibility: visible !important; pointer-events: auto; transform: none; filter: none; z-index: 2; transition-delay: 0s; }
.home-page .h-quality-visual .h-image-frame { width: 100%; aspect-ratio: 4 / 4.45; overflow: hidden; background: var(--brand); border-radius: 2px; }
.home-page .h-quality-visual .h-image-frame img { width: 100%; height: 100%; object-fit: cover; transform: translate3d(0,var(--quality-image-y,0px),0) scale(var(--quality-image-scale,1.025)); transition: transform 900ms var(--ease), filter 620ms ease; }
.home-page .h-quality-visual[data-quality-visual='0'] img { object-position: 52% center; }
.home-page .h-quality-visual[data-quality-visual='1'] img { object-position: 42% center; }
.home-page .h-quality-visual[data-quality-visual='2'] img { object-position: 48% center; }
.home-page .h-quality-visual figcaption { display: flex; justify-content: space-between; gap: 18px; color: var(--home-body); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; margin-top: 10px; }
.home-page .h-quality-inspection-ring { position: absolute; z-index: 5; width: 60px; height: 60px; left: var(--quality-inspect-x,24%); top: var(--quality-inspect-y,30%); border: 1px solid rgb(18 76 60 / 55%); border-radius: 50%; box-shadow: 0 0 0 7px rgb(248 247 243 / 18%), inset 0 0 0 1px rgb(255 255 255 / 45%); transform: translate(-50%,-50%); pointer-events: none; transition: left 620ms var(--ease), top 620ms var(--ease), opacity 360ms ease; }

/* Right stage list mirrors Capabilities: one active disclosure, compact inactive rows. */
.home-page .h-quality-list { position: relative; border-top: 1px solid #cdd5c9; padding-right: clamp(12px,2vw,24px); }
.home-page .h-quality-list .h-disclosure { position: relative; border-color: #cdd5c9; opacity: .58; transform: none; transition: opacity 420ms ease, transform 650ms var(--ease), border-color 320ms ease; }
.home-page .h-quality-list .h-disclosure summary { align-items: center; padding-block: 26px; transition: transform 600ms var(--ease); }
.home-page .h-quality-list .h-disclosure summary h3 { font-size: 25px; transition: color 320ms ease, transform 620ms var(--ease), letter-spacing 360ms ease; transform: translate3d(calc(var(--quality-item-shift,0px) * .18),0,0); }
.home-page .h-quality-list .h-disclosure-number { transition: color 320ms ease, transform 520ms var(--ease), opacity 320ms ease; }
.home-page .h-quality-list .h-disclosure-mark { transition: transform 320ms var(--ease), opacity 320ms ease; opacity: .72; }
.home-page .h-quality-list .h-disclosure-body { padding-right: 12px; opacity: 0; transform: translate3d(var(--quality-item-shift,0px),18px,0); filter: blur(3px); transition: opacity 420ms ease, transform 700ms var(--ease), filter 700ms var(--ease); }
.home-page .h-quality-list .h-disclosure-body > p { margin: 0; font-size: 16px; line-height: 1.65; }
.home-page .h-quality-list .h-disclosure.is-active { opacity: 1 !important; }
.home-page .h-quality-list .h-disclosure.is-active summary h3 { color: var(--ink); transform: none; letter-spacing: -.022em; }
.home-page .h-quality-list .h-disclosure.is-active .h-disclosure-number { color: var(--brand); transform: translateX(2px); }
.home-page .h-quality-list .h-disclosure.is-active .h-disclosure-mark { opacity: 1; }
.home-page .h-quality-list .h-disclosure.is-active .h-disclosure-body { opacity: 1 !important; visibility: visible !important; display: block; transform: none !important; filter: none !important; }
.home-page .h-quality-list .h-disclosure.is-active summary h3 > span,
.home-page .h-quality-list .h-disclosure.is-active .h-disclosure-body p > span { opacity: 1 !important; visibility: visible !important; clip-path: none !important; filter: none !important; }
.home-page .h-quality-list .h-disclosure.is-active summary h3 > span { animation: h-quality-check-title 520ms var(--ease) both; }
.home-page .h-quality-list .h-disclosure.is-active .h-disclosure-body p > span { animation: h-quality-check-body 620ms 80ms var(--ease) both; }

/* Same small progress and connector language as the previous sticky section. */
.home-page .h-quality-progress { position: absolute; left: 0; bottom: calc(100% + 22px); display: inline-flex; align-items: center; gap: 10px; color: #5d7266; font-size: 10px; text-transform: uppercase; letter-spacing: .14em; }
.home-page .h-quality-progress strong { color: var(--brand); font-weight: 600; }
.home-page.home-scroll-story-ready .h-quality-list::after { content: ''; pointer-events: none; position: absolute; z-index: 3; left: calc(100% + 12px); top: var(--quality-flow-y,32px); width: clamp(20px,4vw,72px); border-top: 1px dashed var(--home-accent); transform: scaleX(0); transform-origin: left; opacity: 0; }
.home-page.home-scroll-story-ready .h-quality-list::before { content: ''; pointer-events: none; position: absolute; z-index: 4; left: calc(100% + 9px); top: calc(var(--quality-flow-y,32px) - 3px); width: 7px; height: 7px; border-radius: 50%; background: var(--home-accent); box-shadow: 0 0 0 3px var(--home-accent-glow); opacity: 0; }
.home-page.home-scroll-story-ready .h-quality-list.is-flowing::after { animation: h-quality-stitch 900ms var(--ease) both; }
.home-page.home-scroll-story-ready .h-quality-list.is-flowing::before { animation: h-quality-needle 900ms var(--ease) both; }
.home-page.home-scroll-story-ready .h-quality.is-quality-stage-changing .h-quality-visual.is-active .h-image-frame { animation: h-quality-stage-frame 560ms var(--ease) both; }

@keyframes h-quality-kicker-scan { from { opacity: 0; letter-spacing: .27em; transform: translateX(-14px); } to { opacity: 1; letter-spacing: .14em; transform: none; } }
@keyframes h-quality-scan-left { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-24px); } 42% { opacity: 1; } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes h-quality-scan-right { from { opacity: 0; clip-path: inset(0 0 0 100%); transform: translateX(28px); filter: blur(3px); } 45% { opacity: 1; } to { opacity: 1; clip-path: inset(0); transform: none; filter: none; } }
@keyframes h-quality-copy-wipe { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-16px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes h-quality-check-title { from { opacity: .2; clip-path: inset(0 100% 0 0); transform: translateX(-14px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes h-quality-check-body { from { opacity: 0; transform: translateX(16px); filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes h-quality-stitch { 0% { transform: scaleX(0); opacity: 0; } 22% { opacity: 1; } 100% { transform: scaleX(1); opacity: .8; } }
@keyframes h-quality-needle { 0% { opacity: 0; transform: translateX(0) scale(.8); } 20% { opacity: 1; } 100% { opacity: .95; transform: translateX(clamp(20px,4vw,72px)) scale(1); } }
@keyframes h-quality-stage-frame { 0% { clip-path: inset(0); } 46% { clip-path: inset(1.5%); } 100% { clip-path: inset(0); } }

@media (max-width: 1024px) {
  .home-page .h-quality-story { min-height: 0; }
  .home-page .h-quality-stage { position: static; min-height: 0; display: block; }
  .home-page .h-quality-grid { grid-template-columns: 1fr; gap: 36px; align-items: start; }
  .home-page .h-quality-visuals { width: 100%; max-width: none; min-height: 0; order: 2; }
  .home-page .h-quality-list { padding-right: 0; order: 1; }
  .home-page .h-quality-progress { position: static; margin-bottom: 14px; }
  .home-page .h-quality-list::before,
  .home-page .h-quality-list::after { display: none !important; }
  .home-page .h-quality-visual { position: relative !important; inset: auto !important; display: none; opacity: 1; visibility: visible; transform: none; filter: none; }
  .home-page .h-quality-visual.is-active { display: flex; }
  .home-page .h-quality-visual .h-image-frame { aspect-ratio: 4 / 3; }
  .home-page .h-quality-inspection-ring { display: none; }
}
@media (max-width: 640px) {
  .home-page .h-quality-head { margin-bottom: 28px; }
  .home-page .h-quality-list .h-disclosure summary { padding-block: 22px; }
  .home-page .h-quality-list .h-disclosure summary h3 { font-size: 22px; }
  .home-page .h-quality-list .h-disclosure-body { padding-left: 34px; padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .h-quality-head :is(.h-quality-kicker,.h-quality-title-line span,.h-quality-lead>span),
  .home-page .h-quality-list :is(.h-disclosure,h3>span,.h-disclosure-body,.h-disclosure-body p>span) { opacity: 1; clip-path: none; transform: none; filter: none; animation: none !important; transition: none !important; }
  .home-page .h-quality-visual { transform: none; filter: none; animation: none !important; transition: none !important; }
  .home-page .h-quality-visual:not(.is-active) { opacity: 0 !important; visibility: hidden !important; }
  .home-page .h-quality-visual.is-active { opacity: 1 !important; visibility: visible !important; }
}

.home-page .h-responsibility { background: #e6ece1; }
.home-page .h-responsibility-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.home-page .h-responsibility h2 { font-size: clamp(36px, 4vw, 58px); }
.home-page .h-responsibility-copy > p { max-width: 490px; }
.home-page .h-responsibility-list { margin: 30px 0; padding: 0; list-style: none; display: grid; gap: 22px; }
.home-page .h-responsibility-list li { display: flex; gap: 18px; }
.home-page .h-responsibility-list li > span { padding-top: 4px; font-size: 10px; color: var(--brand); }
.home-page .h-responsibility-list h3 { font-size: 14px; line-height: 1.5; color: var(--ink); font-weight: 550; margin: 0 0 4px; }
.home-page .h-responsibility-list p { font-size: 12px; margin: 0; }
.home-page .h-responsibility-visual .h-image-frame { aspect-ratio: 4 / 5; border-radius: 200px 200px 0 0; }
.home-page .h-responsibility-visual img { object-position: 38% center; }
.home-page .h-responsibility-visual figcaption { max-width: 360px; }
@media (max-width: 800px) { .home-page .h-responsibility-grid { grid-template-columns: 1fr; gap: 40px; } .home-page .h-responsibility-visual { max-width: 560px; width: 100%; margin-inline: auto; } .home-page .h-responsibility-visual .h-image-frame { aspect-ratio: 4 / 3.5; } }

.home-page .h-story { background: var(--paper); }
.home-page .h-demo-label { font-size: 10px; padding: 8px 12px; border: 1px solid #b6c4b2; color: var(--brand); margin-bottom: 5px; }
.home-page .h-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.home-page .h-story-product { position: relative; aspect-ratio: 1; background: var(--wash); padding: 30px; }
.home-page .h-story-product img { width: 100%; height: 100%; object-fit: contain; }
.home-page .h-story-reference { position: absolute; top: 18px; left: 18px; font-size: 9px; letter-spacing: .1em; background: var(--paper); padding: 6px 8px; }
.home-page .h-story-tabs { display: flex; gap: 24px; border-bottom: 1px solid #c9d2c3; margin-bottom: 32px; }
.home-page .h-story-tabs button { border: 0; border-bottom: 2px solid transparent; background: none; padding: 15px 0; color: var(--muted); cursor: pointer; font-size: 9px; margin-bottom: -1px; white-space: nowrap; }
.home-page .h-story-tabs button span { font-size: 12px; margin-left: 8px; }
.home-page .h-story-tabs button[aria-selected='true'] { color: var(--brand); border-bottom-color: var(--brand); }
.home-page .h-story-panel { min-height: 290px; animation: h-panel-in 280ms var(--ease); }
.home-page .h-story-panel h3 { font: 400 clamp(26px, 2.8vw, 36px)/1.2 var(--font-display); letter-spacing: -.025em; color: var(--ink); margin: 0 0 18px; }
.home-page .h-story-panel > p { font-size: 13px; margin-bottom: 24px; }
.home-page .h-story-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; margin: 0; }
.home-page .h-story-specs > div { border-top: 1px solid var(--line); padding-top: 12px; }
.home-page .h-story-specs dt { color: var(--muted); font-size: 9px; margin-bottom: 5px; }
.home-page .h-story-specs dd { color: var(--ink); font-size: 12px; font-weight: 550; margin: 0; }
.home-page .h-story-disclaimer { font-size: 10px; line-height: 1.8; margin: 26px 0 20px; max-width: 460px; }
@media (max-width: 800px) { .home-page .h-story-grid { grid-template-columns: 1fr; gap: 36px; } .home-page .h-story-visual { max-width: 580px; } .home-page .h-story-product { padding: 20px; } .home-page .h-story-panel { min-height: 0; } }
@media (max-width: 480px) { .home-page .h-story-tabs { gap: 18px; } .home-page .h-story-tabs button span { font-size: 11px; margin-left: 4px; } }

.home-page .h-faq { border-top: 1px solid var(--line); }
.home-page .h-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(44px, 6vw, 90px); }
.home-page .h-faq-intro > p { margin-bottom: 28px; }
.home-page .h-faq-list { border-top: 1px solid var(--line); }
.home-page .h-faq-list summary { padding-block: 23px; }
.home-page .h-faq-list summary h3 { font: 500 15px/1.5 var(--font-body); letter-spacing: -.01em; }
.home-page .h-faq-list .h-disclosure-body p { font-size: 13px; }
@media (max-width: 800px) { .home-page .h-faq-grid { grid-template-columns: 1fr; gap: 36px; } }


.catalog-guide { padding:80px 0; background:var(--wash); border-top:1px solid var(--line); }
.catalog-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.catalog-guide h2 { font-family:var(--font-display); font-size:clamp(34px,4vw,52px); font-weight:400; line-height:1.12; letter-spacing:-.04em; margin:20px 0; }
.catalog-guide h2 em { color:var(--brand); }
.catalog-guide-intro > p { color:var(--muted); max-width:38ch; font-size:15px; }
.catalog-guide-intro > .catalog-guide-note { font-size:11px; margin-top:22px; max-width:48ch; }
.catalog-guide-options details { border-top:1px solid #cdd3c9; }
.catalog-guide-options details:last-child { border-bottom:1px solid #cdd3c9; }
.catalog-guide-options summary { list-style:none; display:flex; align-items:center; gap:18px; padding:24px 0; cursor:pointer; font-size:17px; }
.catalog-guide-options summary::-webkit-details-marker { display:none; }
.catalog-guide-options summary > span { font-size:11px; color:var(--muted); }
.catalog-guide-options summary b { margin-left:auto; font-size:24px; font-weight:400; }
.catalog-guide-options details[open] summary b { transform:rotate(45deg); }
.catalog-guide-options details > div { padding:0 0 26px 32px; font-size:13px; color:var(--muted); line-height:1.8; }
.catalog-guide-options ul { padding-left:16px; margin:14px 0 0; list-style:disc; }
@media(max-width:850px) { .catalog-guide-grid { grid-template-columns:1fr; gap:30px; }.catalog-guide { padding:55px 0; } }

.shortlist-panel { position:fixed; inset:0; z-index:2100; }
.shortlist-backdrop { position:absolute; inset:0; background:rgb(12 28 21 / 50%); }
.shortlist-dialog { position:absolute; top:0; bottom:0; right:0; width:min(100%,570px); background:var(--paper); overflow-y:auto; overscroll-behavior:contain; padding:32px; box-shadow:-20px 0 80px rgb(0 0 0 / 12%); display:flex; flex-direction:column; }
.shortlist-heading { display:flex; gap:20px; align-items:center; justify-content:space-between; }
.shortlist-heading .eyebrow { font-size:9px; }
.shortlist-heading h2 { font-family:var(--font-display); font-size:38px; font-weight:400; letter-spacing:-.04em; line-height:1.1; margin:12px 0 0; }
.shortlist-heading h2 span { font-family:var(--font-body); font-size:14px; vertical-align:middle; background:var(--brand-soft); color:var(--brand); padding:5px 10px; border-radius:20px; }
.shortlist-heading button { width:44px; height:44px; flex-shrink:0; font-size:26px; border:1px solid var(--line); border-radius:50%; background:none; }
.shortlist-storage-note { font-size:12px; color:var(--muted); margin:24px 0; }
.shortlist-items { margin:0; padding:0; list-style:none; flex:1; }
.shortlist-items li { display:flex; gap:16px; border-top:1px solid var(--line); padding:20px 0; align-items:center; }
.shortlist-items img { width:80px; height:80px; object-fit:contain; background:var(--wash); border-radius:3px; }
.shortlist-items li > div { min-width:0; }
.shortlist-items li span,.shortlist-items li small { display:block; color:var(--muted); font-size:10px; }
.shortlist-items li a { display:block; font-family:var(--font-display); font-size:20px; line-height:1.2; margin:5px 0; color:var(--ink); }
.shortlist-items [data-remove-shortlist] { margin-left:auto; flex-shrink:0; width:40px; height:40px; border:0; background:none; font-size:22px; color:var(--muted); }
.shortlist-items .shortlist-empty { display:block; text-align:center; padding:70px 10px; }
.shortlist-empty h3 { font-family:var(--font-display); font-size:30px; font-weight:400; line-height:1.2; }
.shortlist-empty p { font-size:13px; color:var(--muted); margin:20px 0; }
.shortlist-footer { padding-top:20px; border-top:1px solid var(--line); display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.shortlist-footer .btn { font-size:12px; }
.shortlist-footer p { font-size:11px; color:var(--muted); flex-basis:100%; margin:0; }
.shortlist-footer button:disabled { opacity:.45; cursor:not-allowed; }
.quote-selection-summary { font-size:12px; line-height:1.7; padding:14px; background:var(--brand-soft); color:var(--brand); overflow-wrap:anywhere; }
@media(max-width:520px) { .shortlist-dialog { padding:24px 20px; }.shortlist-heading h2 { font-size:32px; }.shortlist-items { gap:10px; } }
@media(prefers-reduced-motion:no-preference) { .shortlist-panel.open .shortlist-dialog { animation:shortlist-enter .25s ease both; }@keyframes shortlist-enter { from { transform:translateX(40px); opacity:0; } to { transform:none; opacity:1; } } }


/* Shared language across the five independently editable detail sections. */
.atelier-small-label { font-size:8px; letter-spacing:.15em; color:var(--muted); }
.atelier-demo-label { display:inline-block; padding:5px 9px; border:1px solid #acbbac; color:var(--brand); font-size:10px; border-radius:3px; }
.atelier-panel-note { font-size:11px; color:var(--muted); line-height:1.8; margin:20px 0 0; }
.atelier-section-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:end; margin-bottom:38px; }
.atelier-section-heading h2,.atelier-specifications h2 { font-family:var(--font-display); font-weight:400; font-size:clamp(34px,4vw,52px); letter-spacing:-.04em; line-height:1.1; margin:16px 0 0; }
.atelier-section-heading h2 em,.atelier-specifications h2 em { color:var(--brand); }
.atelier-section-heading > p { font-size:14px; color:var(--muted); line-height:1.8; margin:0; max-width:44ch; justify-self:end; }
@media(max-width:800px) { .atelier-section-heading { grid-template-columns:1fr; gap:20px; }.atelier-section-heading > p { justify-self:start; } }
@media(prefers-reduced-motion:reduce) { .atelier-viewer *, .product-detail-page * { scroll-behavior:auto !important; } }

.atelier-specifications { padding:88px 0; border-top:1px solid var(--line); background:linear-gradient(180deg,var(--surface),#f2f4ef); scroll-margin-top:128px; }
.atelier-spec-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; }
.atelier-spec-grid > div:first-child { position:sticky; top:130px; align-self:start; }
.atelier-spec-grid > div:first-child > p { max-width:34ch; margin:22px 0; color:var(--muted); font-size:14px; line-height:1.85; }
.atelier-spec-tabs { display:flex; gap:22px; margin-bottom:22px; border-bottom:1px solid #ccd3c9; }
.atelier-spec-tabs button { min-height:48px; padding:12px 2px; border:0; border-bottom:2px solid transparent; background:none; color:var(--muted); font-size:11px; white-space:nowrap; }
.atelier-spec-tabs [aria-selected="true"] { border-bottom-color:var(--brand); color:var(--brand); }
.atelier-spec-list { margin:0; overflow:hidden; border:1px solid #d9dfd5; border-radius:18px; background:rgb(240 233 217 / 78%); box-shadow:0 16px 34px rgb(14 34 25 / 4%); }
.atelier-spec-list > div { display:grid; grid-template-columns:1fr 1.3fr; gap:20px; padding:15px 18px; border-bottom:1px solid #dde2d9; }
.atelier-spec-list > div:last-child { border-bottom:0; }
.atelier-spec-list dt { color:var(--muted); font-size:11px; }
.atelier-spec-list dd { margin:0; color:var(--ink); font-size:12px; }
.atelier-unit-row { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:11px; }
.atelier-unit-row p { color:var(--muted); font-size:11px; }
.atelier-unit-row button { min-width:40px; min-height:36px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--muted); font-size:10px; }
.atelier-unit-row button[aria-pressed="true"] { border-color:var(--brand); background:var(--brand); color:#fff; }
.atelier-table-scroll,#spec-panel-care { overflow:auto; padding:12px 14px; border:1px solid #d9dfd5; border-radius:18px; background:rgb(240 233 217 / 78%); box-shadow:0 16px 34px rgb(14 34 25 / 4%); }
.atelier-size-table { width:100%; border-collapse:collapse; text-align:left; font-size:11px; }
.atelier-size-table caption { padding:6px 0 12px; color:var(--muted); text-align:left; font-size:9px; }
.atelier-size-table :is(th,td) { padding:12px 9px; border-bottom:1px solid #d5dbd0; font-weight:400; }
.atelier-size-table thead { background:var(--brand-soft); color:var(--brand); font-size:9px; }
.atelier-size-table tbody th { font-weight:600; }
#spec-panel-care { padding:18px; }
#spec-panel-care h3 { margin:18px 0 12px; font:400 28px/1.1 var(--font-display); }
#spec-panel-care p,#spec-panel-care li { color:var(--muted); font-size:12px; line-height:1.8; }
#spec-panel-care ol { margin:16px 0 0; padding-left:18px; list-style:decimal; }
@media(max-width:850px) { .atelier-specifications { padding:54px 0; }.atelier-spec-grid { grid-template-columns:1fr; gap:28px; }.atelier-spec-grid > div:first-child { position:static; }.atelier-spec-tabs { overflow:auto; } }

.atelier-customization { padding:88px 0; background:var(--surface); }
.atelier-custom-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.atelier-custom-grid label { position:relative; display:block; min-height:230px; padding:24px; border:1px solid #d9dfd5; border-radius:20px; background:linear-gradient(145deg,var(--surface),#f4f6f1); box-shadow:0 14px 30px rgb(14 34 25 / 4%); }
.atelier-custom-grid label > span { color:var(--muted); font-size:8px; letter-spacing:.12em; }
.atelier-custom-grid label > strong { display:block; max-width:13ch; margin:26px 0 20px; font:400 27px/1.05 var(--font-display); }
.atelier-custom-grid select { position:absolute; left:24px; right:24px; bottom:24px; width:calc(100% - 48px); min-height:48px; padding:10px 12px; border:1px solid #cbd2c7; border-radius:11px; background:var(--paper); color:var(--ink); font-size:11px; }
.atelier-custom-summary { display:flex; justify-content:space-between; align-items:center; gap:26px; padding-top:24px; }
.atelier-custom-summary p { max-width:66ch; color:var(--muted); font-size:11px; line-height:1.8; }
.atelier-custom-summary .btn { min-height:50px; border-radius:13px; white-space:nowrap; font-size:11px; }
@media(max-width:800px) { .atelier-customization { padding:54px 0; }.atelier-custom-grid { grid-template-columns:1fr; }.atelier-custom-grid label { min-height:200px; }.atelier-custom-summary { flex-direction:column; align-items:flex-start; }.atelier-custom-grid select { font-size:16px; } }


.design-foundation .c-next { background:var(--wash); }
.design-foundation .c-next-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; list-style:none; padding:0; margin:0; }
.design-foundation .c-next-grid li { padding-top:24px; border-top:1px solid #c7cec4; }
.design-foundation .c-next-grid h3 { font-size:29px; }
.design-foundation .c-next-grid p { font-size:14px; margin-bottom:0; }
@media(max-width:700px) { .design-foundation .c-next-grid { grid-template-columns:1fr; gap:28px; } }

.design-foundation .c-faq .e-accordion summary { font-size:16px; }

/* Step 6: restrained composited motion, with visible-by-default content. */
.design-foundation .route-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.design-foundation #app { transition: opacity 120ms ease; }
.design-foundation #app.app-is-leaving { opacity: .35; }
.design-foundation .view-enter { animation: section-page-enter 420ms var(--ease); }
@keyframes section-page-enter { from { opacity: 0; } to { opacity: 1; } }
.design-foundation [data-reveal], .design-foundation .stagger > * { opacity: 1; transform: none; transition: opacity 520ms var(--ease), transform 620ms var(--ease); }
.design-foundation [data-reveal].motion-pending { opacity: 0; transform: translateY(18px); }
.design-foundation .stagger.motion-pending > * { opacity: 0; transform: translateY(12px); }
.design-foundation .stagger.revealed > :nth-child(n+5) { transition-delay: 200ms; }
.design-foundation :is(input, select, textarea) { scroll-margin-block: calc(var(--header-h) + 24px) 32px; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .design-foundation .journal-card picture img { transition: transform 600ms var(--ease); }
  .design-foundation .journal-card:hover picture img { transform: scale(1.025); }
}
@media (pointer: coarse) {
  .design-foundation :is(.menu-toggle, .mobile-close, .drawer-close, [data-lightbox-close], [data-lightbox-step], [data-home-slide-to]) { min-width: 44px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .design-foundation #app.app-is-leaving { opacity: 1; }
  .design-foundation [data-reveal].motion-pending, .design-foundation .stagger.motion-pending > * { opacity: 1; transform: none; }
  .design-foundation .view-enter { animation: none; }
}
@media (forced-colors: active) {
  .design-foundation :is(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid Highlight; }
  .design-foundation :is(.btn, .back-to-top) { border: 1px solid ButtonText; }
}

/* Product details: concept-inspired studio layout. Scoped to this page/viewer. */
.design-foundation .product-detail-page { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; width:min(1560px,calc(100% - 64px)); margin:0 auto; padding:24px 0 64px; font-size:17px; line-height:1.6; background:var(--paper); }
.design-foundation .product-detail-page > .product-detail-hero { grid-column:1/-1; padding:0; background:none; }
.product-detail-page .container { width:100%; max-width:none; padding-inline:0; }
.product-detail-page .catalog-back-row { padding:0 0 10px; font-size:15px; }
.product-detail-page .product-breadcrumb { padding:0 0 20px; flex-wrap:wrap; font-size:15px; line-height:1.6; }
.design-foundation .concept-workspace { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr); align-items:start; gap:32px; padding:0; border:0; border-radius:0; box-shadow:none; background:none; font:17px/1.6 var(--font-body); min-width:0; color:var(--ink); }
.concept-workspace :is(button,select) { font-family:inherit; cursor:pointer; }
.concept-visual { min-width:0; }
.concept-workspace .atelier-stage { height:clamp(550px,46vw,740px); border-radius:10px; background:radial-gradient(ellipse at 50% 30%,var(--surface),var(--wash) 85%); border:8px solid var(--surface); outline:1px solid var(--line); }
.concept-workspace .atelier-stage::after { content:none; }
.concept-workspace .atelier-canvas { position:absolute; inset:0; z-index:1; }
.concept-workspace .atelier-canvas canvas { display:block; width:100%; height:100%; cursor:grab !important; touch-action:none; }
.concept-workspace .atelier-photo { background:var(--wash); }
.concept-workspace .atelier-photo img { object-fit:contain; }
.concept-workspace .atelier-mode-switch { position:absolute; top:14px; left:14px; z-index:7; border-radius:6px; background:var(--surface); padding:3px; gap:3px; }
.concept-workspace .atelier-mode-switch button { font-size:15px; min-height:44px; border-radius:4px; padding:8px 13px; }
.concept-workspace .atelier-expand { position:absolute; z-index:8; right:14px; top:14px; width:46px; height:50px; border:1px solid var(--line); background:var(--surface); border-radius:6px; font-size:26px; text-decoration:none; }
.concept-controls { position:absolute; inset:0; pointer-events:none; z-index:6; }
.concept-controls button { min-height:44px; background:var(--surface); color:var(--brand); border:1px solid var(--line); border-radius:5px; font-size:15px; padding:8px 12px; pointer-events:auto; }
.concept-controls button:disabled { opacity:.45; cursor:not-allowed; }
.concept-top-controls { position:absolute; right:69px; top:14px; display:flex; gap:7px; }
.concept-top-controls button { min-height:50px; }
.concept-top-controls [data-viewer-reset] { font-size:24px; width:44px; padding:4px; }
.concept-workspace .atelier-angle-controls { position:absolute; left:14px; top:50%; transform:translateY(-45%); display:grid; gap:3px; background:var(--surface); padding:6px; border-radius:7px; box-shadow:0 3px 16px #0000000c; }
.concept-workspace .atelier-angle-controls button { display:grid; justify-items:center; gap:1px; min-width:62px; border-color:transparent; font-size:14px; line-height:1.3; padding:8px; }
.concept-workspace .atelier-angle-controls span { font-size:24px; line-height:1.2; }
.concept-workspace .atelier-angle-controls [aria-pressed="true"] { border-color:var(--brand); background:var(--brand-soft); color:var(--brand); }
.concept-workspace .atelier-zoom-controls { position:absolute; bottom:14px; right:14px; display:flex; align-items:center; gap:0; background:var(--surface); border:1px solid var(--line); border-radius:6px; }
.concept-workspace .atelier-zoom-controls button { border:0; min-width:44px; font-size:23px; }
.concept-workspace .atelier-zoom-controls output { font-size:15px; min-width:55px; }
.concept-workspace .atelier-orientation { left:14px; bottom:16px; transform:none; font-size:13px; padding:6px 9px; border-radius:5px; max-width:calc(100% - 190px); white-space:normal; }
.concept-workspace .atelier-hotspots { z-index:5; }
.concept-workspace .atelier-hotspots button { width:44px; height:44px; border:0; background:none; box-shadow:none; display:grid; place-items:center; }
.concept-marker { width:17px; height:17px; border-radius:50%; background:var(--brand); border:3px solid #fff; box-shadow:0 0 0 4px #21453636,0 2px 7px #0003; }
.concept-workspace .atelier-hotspots button[aria-expanded="true"] .concept-marker { background:#789368; box-shadow:0 0 0 7px #21453636; }
.concept-marker-label { position:absolute; top:50%; left:39px; transform:translateY(-50%); background:#f0e9d9f2; padding:3px 7px; border-radius:4px; color:var(--ink); font-size:13px; white-space:nowrap; pointer-events:none; }
.concept-marker-label::before { content:""; position:absolute; right:100%; top:50%; width:9px; border-top:1px dashed var(--brand); }
.concept-workspace [data-hotspot="sleeve"] .concept-marker-label { left:auto; right:39px; }
.concept-workspace [data-hotspot="sleeve"] .concept-marker-label::before { right:auto; left:100%; }
.concept-workspace .atelier-loading { font-size:17px; }
.concept-workspace .atelier-help { font-size:14px; line-height:1.7; margin:14px 2px 7px; text-align:center; }
.concept-workspace .atelier-fallback { display:flex; align-items:center; background:var(--surface); border:1px solid #dec9ad; border-radius:7px; padding:16px; margin-top:12px; }
.concept-workspace .atelier-fallback p { font-size:16px; }
.concept-workspace .atelier-fallback button { font-size:15px; min-height:44px; flex-shrink:0; }
.concept-view-note { font-size:14px; color:var(--muted); margin:8px 0 0; }
.concept-view-note summary { cursor:pointer; width:fit-content; }
.concept-view-note p { font-size:14px; padding:12px; border:1px solid var(--line); border-radius:6px; }
.concept-summary { min-width:0; padding:0; }
.concept-code { margin:0 0 8px; color:var(--muted); font-size:14px; letter-spacing:.05em; }
.concept-summary h1 { font:400 clamp(36px,3.15vw,50px)/1.12 var(--font-display); letter-spacing:-.035em; margin:0 0 18px; overflow-wrap:anywhere; }
.concept-description { font-size:18px; line-height:1.65; color:var(--muted); margin:0 0 24px; }
.concept-facts { display:grid; gap:13px; margin:0 0 20px; }
.concept-facts > div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; align-items:start; }
.concept-facts dt { color:var(--muted); font-size:17px; }
.concept-facts dd { margin:0; font-size:17px; }
.concept-colours { display:flex; flex-wrap:wrap; gap:8px; }
.concept-colours button { position:relative; width:42px; height:42px; border:1px solid #bfc8bd; border-radius:6px; background:var(--swatch); }
.concept-colours button[aria-pressed="true"] { outline:2px solid var(--brand); outline-offset:3px; }
#conceptColourLabel { display:block; margin-top:9px; font-size:14px; color:var(--muted); }
.concept-summary .catalog-spec-notice { font-size:14px; line-height:1.6; padding:0; margin:18px 0; color:var(--muted); border:0; background:none; }
.concept-actions { display:grid; gap:10px; }
.design-foundation .concept-actions .btn { display:flex; justify-content:center; align-items:center; gap:14px; width:100%; min-height:54px; font-size:17px; }
.concept-inspection-slot { margin-top:18px; min-height:246px; }
#viewerInspectHint { padding:18px 0; color:var(--brand); font-size:19px; line-height:1.6; }
#viewerInspectHint span { display:block; font-size:15px; color:var(--muted); margin-top:8px; }
.concept-inspector { border:1px solid var(--line); border-radius:9px; padding:15px; background:var(--surface); }
.concept-inspector-heading { display:flex; justify-content:space-between; align-items:center; font-size:15px; margin-bottom:12px; }
.concept-inspector-heading button { border:1px solid var(--line); width:44px; height:44px; background:var(--surface); border-radius:5px; font-size:24px; }
.concept-inspector-body { display:grid; grid-template-columns:minmax(100px,.9fr) minmax(0,1.2fr); gap:18px; align-items:start; }
.concept-inspector figure { margin:0; min-width:0; }
.concept-crop { position:relative; aspect-ratio:1; overflow:hidden; background:var(--wash); border:1px solid var(--line); border-radius:6px; }
.concept-crop img { position:absolute; max-width:none; height:auto; display:block; }
.concept-crop.is-unavailable::after { content:"Close-up unavailable"; display:block; padding:16px; font-size:14px; }
.concept-inspector figcaption { margin-top:8px; font-size:12px; line-height:1.5; color:var(--muted); }
.concept-inspector h2 { font:400 25px/1.15 var(--font-display); margin:0 0 12px; }
.concept-inspector p { font-size:15px; line-height:1.6; margin:0 0 12px; }
.concept-inspector p strong,.concept-inspector p span { display:block; }
.design-foundation .concept-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:9px; background:var(--surface); align-self:stretch; }
.concept-card h2,.concept-related h2 { font:500 23px/1.25 var(--font-display); margin:0 0 16px; letter-spacing:-.02em; }
.concept-card p { font-size:16px; line-height:1.7; margin:0 0 18px; }
.concept-mini-specs { margin:0; display:grid; gap:11px; }
.concept-mini-specs div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:10px; font-size:15px; line-height:1.6; }
.concept-mini-specs dt { color:var(--muted); }.concept-mini-specs dd { margin:0; }
.concept-disclosure { margin-top:22px; border-top:1px solid var(--line); padding-top:14px; }
.concept-disclosure summary { color:var(--brand); font-size:16px; font-weight:550; padding:5px 0; cursor:pointer; }
.concept-disclosure[open] > summary { margin-bottom:18px; }
.concept-card .atelier-spec-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:15px; }
.concept-card .atelier-spec-tabs button { font-size:14px; padding:8px 4px; min-height:44px; }
.concept-card .atelier-spec-list div { grid-template-columns:1fr; gap:3px; }
.concept-card .atelier-spec-list :is(dt,dd),.concept-card .atelier-panel-note { font-size:14px; }
.concept-card .atelier-spec-list dd { margin:0; }
.concept-card .atelier-table-scroll { overflow:auto; }
.concept-card table { font-size:14px; min-width:260px; }
.concept-card .atelier-size-table caption,.concept-card .atelier-unit-row p,.concept-card .atelier-size-table :is(th,td) { font-size:14px; }
.concept-card [role="tabpanel"] { font-size:15px; }
.concept-card [role="tabpanel"] ol { padding-left:20px; }
.concept-card .atelier-custom-grid { display:grid; grid-template-columns:1fr; gap:18px; }
.concept-card .atelier-custom-grid label { padding:0; background:none; border:0; }
.concept-card .atelier-custom-grid :is(span,strong) { display:block; font-size:14px; }
.concept-card .atelier-custom-grid select { width:100%; min-height:46px; font-size:16px; margin-top:8px; }
.concept-card .atelier-custom-summary { display:grid; gap:12px; margin:18px 0 0; }
.concept-card .atelier-custom-summary p { font-size:14px; margin:0; }
.design-foundation .concept-card .btn { width:100%; min-height:48px; font-size:15px; padding-inline:12px; }
.concept-options { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:28px 0; }
.concept-options span { font-size:14px; border-bottom:2px solid var(--brand-soft); padding:10px 0; text-align:center; }
.concept-process { list-style:none; margin:24px 0; padding:0; display:flex; gap:6px; justify-content:space-between; }
.concept-process li { display:grid; justify-items:center; align-content:start; text-align:center; gap:9px; font-size:14px; flex:1; min-width:0; }
.concept-process span { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; color:var(--brand); font-size:15px; }
.concept-bespoke { display:flex; flex-direction:column; }.concept-bespoke .btn { margin-top:auto; }
.concept-related { grid-column:1/-1; border:1px solid var(--line); border-radius:9px; background:var(--surface); padding:24px; min-width:0; }
.concept-related-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; }.concept-related-heading .text-link { font-size:15px; }
.concept-rail-wrap { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; align-items:center; gap:12px; }
.concept-rail-wrap > button { width:42px; height:44px; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--brand); font-size:24px; cursor:pointer; }
.concept-rail-wrap > button[aria-disabled="true"] { opacity:.4; cursor:default; }
.concept-related-rail { list-style:none; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 126px)/8); gap:18px; overflow-x:auto; scroll-snap-type:x proximity; margin:0; padding:8px 4px 14px; overscroll-behavior-x:contain; scrollbar-width:thin; }
.concept-related-rail li { min-width:0; scroll-snap-align:start; }.concept-related-rail a { display:block; color:var(--ink); }
.concept-related-rail img { width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; background:var(--wash); border-radius:5px; }
.concept-related-rail h3 { font:500 16px/1.45 var(--font-display); margin:10px 0 6px; }.concept-related-rail span { font-size:12px; color:var(--muted); }
.design-foundation .concept-workspace.is-expanded { position:fixed; inset:12px; z-index:20000; padding:22px; background:var(--paper); border:1px solid var(--line); border-radius:10px; overflow:auto; align-content:start; }
.concept-workspace.is-expanded .atelier-stage { height:calc(100dvh - 170px); min-height:420px; }
@media(min-width:1700px) { .concept-workspace .atelier-stage { height:780px; } }
@media(max-width:1250px) {
  .design-foundation .product-detail-page { grid-template-columns:repeat(2,minmax(0,1fr)); width:calc(100% - 40px); }
  .design-foundation .concept-workspace { grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr); gap:24px; }
  .concept-workspace .atelier-stage { height:610px; }
  .concept-top-controls { top:76px; right:14px; }
  .concept-related-rail { grid-auto-columns:calc((100% - 54px)/4); }
  .concept-inspector-body { grid-template-columns:minmax(100px,.85fr) minmax(0,1.2fr); gap:12px; }
}
@media(max-width:860px) {
  .design-foundation .concept-workspace { grid-template-columns:1fr; }
  .concept-summary h1 { font-size:40px; }
  .concept-workspace .atelier-stage { height:clamp(520px,85vw,700px); }
  .concept-top-controls { top:14px; right:69px; }
  .concept-inspection-slot { min-height:0; }.concept-inspector-body { grid-template-columns:180px 1fr; }
  .concept-workspace.is-expanded .atelier-stage { height:60dvh; }
}
@media(max-width:600px) {
  .design-foundation .product-detail-page { width:calc(100% - 28px); grid-template-columns:1fr; gap:14px; padding-top:16px; }
  .concept-summary h1 { font-size:36px; }.concept-description { font-size:17px; }
  .concept-workspace .atelier-stage { height:510px; border-width:5px; }
  .concept-workspace .atelier-mode-switch { top:10px; left:8px; }.concept-workspace .atelier-mode-switch button { font-size:14px; padding-inline:9px; }
  .concept-workspace .atelier-expand { top:10px; right:8px; }
  .concept-top-controls { top:71px; right:8px; }.concept-top-controls button { font-size:14px; min-height:44px; }
  .concept-workspace .atelier-angle-controls { left:8px; right:8px; top:auto; bottom:72px; transform:none; display:flex; justify-content:center; padding:3px; }.concept-workspace .atelier-angle-controls button { min-width:52px; padding:7px; font-size:14px; }
  .concept-marker-label { display:none; }.concept-marker { width:17px; height:17px; }
  .concept-workspace .atelier-orientation { bottom:150px; max-width:calc(100% - 26px); font-size:12px; }
  .concept-workspace .atelier-fallback { flex-wrap:wrap; }
  .concept-facts > div { grid-template-columns:95px 1fr; gap:12px; }
  .concept-colours { gap:8px; }.concept-colours button { width:38px; height:40px; }
  .concept-inspector-body { grid-template-columns:1fr; }.concept-inspector figure { max-width:220px; }
  .design-foundation .concept-card { padding:22px; }.concept-related { padding:18px 12px; }
  .concept-related-rail { grid-auto-columns:calc((100% - 16px)/2); gap:16px; }.concept-rail-wrap { grid-template-columns:1fr; }
  .concept-rail-wrap > button { display:none; }.concept-related-heading .text-link { font-size:14px; }
  .design-foundation .concept-workspace.is-expanded { inset:0; border-radius:0; padding:14px; }
}
@media(prefers-reduced-motion:no-preference) {
  .concept-marker { transition:box-shadow 180ms ease,background 180ms ease; }
  .concept-inspector:not([hidden]) { animation:concept-inspect-enter 160ms ease; }
  @keyframes concept-inspect-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
}

/* Step 20 / Premium Textile Studio. Authoritative all-page finish; source modules stay editable. */
@font-face { font-family:'Manrope'; font-style:normal; font-weight:200 800; font-display:swap; src:url('../fonts/manrope-variable.woff') format('woff'); }
@font-face { font-family:'DM Serif Display'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/dm-serif-display.woff') format('woff'); }
@font-face { font-family:'DM Serif Display'; font-style:italic; font-weight:400; font-display:swap; src:url('../fonts/dm-serif-display-italic.woff') format('woff'); }
body.design-foundation { font-size:18px; line-height:1.75; background:var(--paper); }
:root { --header-h:127px; }
.design-foundation ::selection { background:var(--brand); color:var(--paper); }
.design-foundation :is(button,input,textarea,select) { font-family:var(--font-body); }
.design-foundation :is(h1,h2,h3) { text-wrap:balance; font-weight:400; }
.design-foundation :is(.eyebrow,.h-kicker,.e-index,.catalog-index,.catalog-label) { font-size:12px; font-weight:700; letter-spacing:.14em; }
.design-foundation :is(.btn,.text-link) { font-size:15px; }
.design-foundation .btn { min-height:50px; padding:13px 23px; border-radius:6px; gap:12px; transition:background .2s,color .2s,box-shadow .2s; }
.design-foundation .btn-primary { background:var(--brand); box-shadow:0 6px 18px #102f2814; }
.design-foundation .btn-primary:hover { background:#204b3d; box-shadow:0 8px 24px #102f2826; }
.design-foundation .btn-outline { background:#f0e9d966; }
.design-foundation .btn-outline:hover { background:var(--brand); }
.design-foundation .btn-light { background:var(--paper); border-color:var(--paper); color:var(--brand); }
.design-foundation :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #557b46; outline-offset:4px; }
.design-foundation :is(.btn,.text-link):disabled { opacity:.55; cursor:not-allowed; }
.design-foundation :is(.product-media,.h-image-frame,.journal-image,.h-category-hero-media) { border-radius:12px; }
.design-foundation :is(.e-breadcrumb,.breadcrumb,.catalog-back-row) { font-size:14px; }
.design-foundation :is(.editorial-page,.home-page) figcaption { font-size:13px; line-height:1.65; }
.design-foundation :is(.editorial-page,.home-page) :is(.e-note,.h-editorial-note) { font-size:13px; }

/* Consistent navigation and overlays. No transformed header: mobile dialogs stay viewport-bound. */
.design-foundation .site-header { border-top:3px solid var(--brass); }
.design-foundation .nav-wrap { background:var(--paper); border-bottom-color:#bac4b7; }
.design-foundation .site-header.scrolled { box-shadow:0 5px 22px #102f2814; }
.design-foundation .nav-inner { gap:20px; }
.design-foundation .brand-copy b { font-size:27px; font-weight:400; }
.design-foundation .brand-copy small { font-size:10px; }
.design-foundation .topbar { background:var(--brand); color:var(--paper); }
.design-foundation .topbar { height:44px; }
.design-foundation .topbar :is(p,a,span) { font-size:12px; }
.design-foundation .desktop-nav > a,.design-foundation .products-nav-link { font-size:15px; font-weight:600; padding-inline:10px; }
.design-foundation .desktop-nav > a::after,.design-foundation .products-nav-link::after { height:2px; background:var(--brass); }
.design-foundation .products-mega-menu { background:var(--surface); border-top:3px solid var(--brass); }
.design-foundation .mega-menu-intro { background:var(--surface-sage); }
.design-foundation :is(.mega-menu-intro p,.mega-sub-panel a) { font-size:15px; }
.design-foundation .mega-category strong { font-size:17px; }
.design-foundation :is(.mobile-menu,.mobile-menu-panel,.drawer-panel,.shortlist-dialog,.product-modal-card) { background:var(--paper); }
.design-foundation :is(.drawer-panel,.shortlist-dialog) { border-left:4px solid var(--brass); }
.design-foundation :is(.drawer-head h2,.shortlist-heading h2,.modal-body h2) { font-family:var(--font-display); font-weight:400; font-size:38px; }
.design-foundation :is(.quote-selection-summary,.shortlist-storage-note,.shortlist-footer p,.shortlist-empty p) { font-size:14px; }
.design-foundation .shortlist-items li { padding-block:24px; }
.design-foundation .shortlist-items li a { font-size:24px; }
.design-foundation .shortlist-items li :is(span,small) { font-size:12px; }
.design-foundation .shortlist-footer .btn { font-size:15px; }
.design-foundation :is(.quote-form,.contact-page .contact-form) :is(input:not([type='checkbox']):not([type='radio']),textarea,select) { background:var(--surface); font-size:17px; min-height:52px; border:1px solid #9fae9b; border-radius:6px; color:var(--ink); }
.design-foundation :is(.quote-form,.contact-page .contact-form) label > span { font-size:15px; font-weight:650; letter-spacing:0; text-transform:none; }
.design-foundation :is(.quote-form,.contact-page .contact-form) .form-note { font-size:14px; }
.design-foundation :is(input,textarea)::placeholder { color:var(--muted); opacity:1; }
.design-foundation [aria-invalid='true'] { border-color:var(--error) !important; }
.design-foundation .choice-grid span { background:var(--surface); border-color:#9fae9b; font-size:14px; }
.design-foundation .choice-grid input:checked + span { background:var(--brand); color:var(--paper); border-color:var(--brand); }

/* Home: warm editorial rhythm, alternating category backdrops, dark punctuation. */
.design-foundation .home-page p { font-size:18px; line-height:1.8; }
.design-foundation .home-page h2 { font-size:clamp(36px,4vw,56px); letter-spacing:-.025em; }
.design-foundation .home-page .h-hero h1 { font-size:clamp(60px,7vw,96px); line-height:1.06; letter-spacing:-.025em; }
.design-foundation .home-page .h-hero-copy > p { font-size:21px; color:#edece0; }
.design-foundation .home-page .h-hero h1 em { color:#dfd0a6; }
.design-foundation .home-page .h-hero-shade { background:linear-gradient(90deg,#0c271feb 0%,#102f28b3 48%,#102f2826 100%),linear-gradient(0deg,#0c271fd9,transparent 55%); }
.design-foundation .home-page :is(.h-hero-link,.h-scroll-link) { font-size:15px; }
.design-foundation .home-page .h-hero-controls > button:not(.h-hero-play) { font-size:13px; }
.design-foundation .home-page .h-hero-note { font-size:12px; }
.design-foundation .home-page :is(.h-introduction,.h-quality,.h-faq) { background:var(--paper); }
.design-foundation .home-page .h-credibility { background:var(--wash); border-block:1px solid #cec7b8; }
.design-foundation .home-page :is(.h-capabilities,.h-responsibility) { background:var(--surface-sage); }
.design-foundation .home-page .h-story { background:var(--surface-warm); }
.design-foundation .home-page .h-collection-showcase:nth-of-type(odd) { background:var(--paper); }
.design-foundation .home-page .h-collection-showcase:nth-of-type(even) { background:#dfe5d9; }
.design-foundation .home-page .h-category-hero-media { background:var(--wash); box-shadow:0 20px 50px #102f2812; border:8px solid #f0e9d9; }
.design-foundation .home-page :is(.h-category-meta span,.h-category-tags a) { font-size:13px; background:var(--surface); }
.design-foundation .home-page .h-category-tags a { min-height:44px; }
.design-foundation .home-page .h-category-hero figcaption { font-size:13px; }
.design-foundation .home-page .h-disclosure summary h3 { font-size:27px; }
.design-foundation .home-page .h-disclosure-body p { font-size:17px; }
.design-foundation .home-page .h-responsibility-list h3 { font-size:19px; font-weight:600; }
.design-foundation .home-page .h-process { background:var(--brand); }
.design-foundation .home-page .h-process-tabs button > strong { font-size:16px; }
.design-foundation .home-page .h-process-panel p { font-size:18px; }
.design-foundation .home-page .h-cta { text-align:left; background:var(--brand); color:var(--paper); }
.design-foundation .home-page .h-cta-inner { max-width:none; width:var(--container); }
.design-foundation .home-page .h-cta h2 { font-size:clamp(40px,5.5vw,76px); max-width:900px; }
.design-foundation .home-page .h-cta .h-actions { justify-content:flex-start; }
.design-foundation .home-page .h-cta .h-editorial-note { margin:30px 0 0; }
.design-foundation .home-page.home-scroll-story-ready .h-cta h2 em { filter:none; opacity:1; }
.design-foundation :is(.h-cta,.catalog-cta,.e-closing,.a-values) :is(h2,h3) { color:var(--paper); }
.design-foundation :is(.h-cta,.catalog-cta,.e-closing,.a-values) :is(p,.eyebrow,.h-kicker,.text-link) { color:#dbe3d4; }
.design-foundation :is(.h-cta,.catalog-cta) h2 em { color:#dfd0a6; }
.design-foundation :is(.h-cta,.catalog-cta) .btn-primary { background:var(--paper); color:var(--brand); border-color:var(--paper); }
.design-foundation .h-cta .btn-outline { border-color:#a8bca3; background:transparent; color:var(--paper); }

/* Collection directory: clear labels, useful active states, unchanged photographs. */
.design-foundation .catalog-hero { background:var(--surface-sage); padding-top:38px; }
.design-foundation .catalog-hero h1 { font-size:clamp(50px,6.5vw,88px); letter-spacing:-.025em; line-height:1.08; }
.design-foundation .catalog-hero-aside { background:#e7ddc7e6; border:1px solid #c1cbbb; border-radius:12px; padding:26px; max-width:380px; }
.design-foundation .catalog-hero-aside > p { font-size:19px; }
.design-foundation :is(.catalog-hero-aside > small,.catalog-footnote p,.catalog-photo-note,.catalog-spec-notice) { font-size:14px; }
.design-foundation .catalog-footnote { border-color:#b6c3ad; }
.design-foundation .catalog-categories { gap:24px; padding-block:10px; }
.design-foundation .catalog-categories button { font-size:16px; }
.design-foundation .catalog-categories button.active { border-color:var(--brand); }
.design-foundation .catalog-filter-panel { padding-bottom:24px; }
.design-foundation .catalog-page :is(.filter-chip,.catalog-saved-filter,.catalog-sort,.catalog-filter-toggle) { font-size:14px; }
.design-foundation .catalog-page .filter-chip { background:var(--surface); min-height:44px; }
.design-foundation .catalog-page .filter-chip.active { background:var(--brand); color:var(--paper); }
.design-foundation .catalog-search input { font-size:17px; background:var(--surface); }
.design-foundation .catalog-sort select { font-size:16px; background:var(--surface); }
.design-foundation .catalog-card .product-media { background:var(--wash); border:1px solid #d8d4c9; }
.design-foundation .catalog-card .product-body { padding:22px 4px 0; background:none; }
.design-foundation .catalog-card h3 { font-size:27px; letter-spacing:-.015em; }
.design-foundation .catalog-card .product-body > p { font-size:15px; }
.design-foundation .catalog-card .product-taxonomy { font-size:13px; }
.design-foundation .catalog-card :is(.product-code,.catalog-demo-tag,.catalog-3d-badge) { font-size:11px; }
.design-foundation .catalog-card-actions > :is(button,a) { font-size:14px; }
.design-foundation .catalog-cta { background:var(--brand); border-top:3px solid var(--brass); }
.design-foundation .catalog-guide { background:var(--wash); }
.design-foundation .catalog-guide-intro > p { font-size:17px; }
.design-foundation .catalog-guide-intro > .catalog-guide-note { font-size:13px; }
.design-foundation .catalog-guide-options details > div { font-size:16px; }
.design-foundation .catalog-guide-options summary { font-size:19px; }

/* About / Gallery / Contact carry the same editorial language, not identical layouts. */
.design-foundation .editorial-page h1 { font-size:clamp(48px,6.5vw,88px); letter-spacing:-.025em; }
.design-foundation .editorial-page h2 { font-size:clamp(34px,4vw,52px); letter-spacing:-.02em; }
.design-foundation :is(.a-hero,.j-hero,.c-hero) { background:var(--surface-sage); border-bottom:1px solid #b8c5b1; }
.design-foundation .a-hero-image { background:var(--paper); padding-bottom:24px; }
.design-foundation .a-hero-image figcaption { padding-inline:24px; }
.design-foundation :is(.a-approach,.a-services,.a-people,.c-faq,.j-grid-section) { background:var(--paper); }
.design-foundation :is(.a-quality,.c-next) { background:var(--wash); }
.design-foundation .a-values { background:var(--brand); }
.design-foundation .a-people-grid article { background:var(--surface-sage); padding:30px; border-radius:10px; border-top:3px solid var(--brass); }
.design-foundation .a-people-grid article a { font-size:16px; overflow-wrap:anywhere; }
.design-foundation .e-accordion summary { font-size:19px; min-height:70px; }
.design-foundation .e-accordion details[open] { border-color:#708766; }
.design-foundation .e-accordion details small { font-size:12px; }
.design-foundation .e-checklist strong { font-size:17px; }.design-foundation .e-checklist span { font-size:16px; }
.design-foundation .j-grid-section { padding-top:30px; }
.design-foundation .journal-toolbar { padding:20px; background:var(--surface-sage); border-radius:10px; border:1px solid #bbc9b4; }
.design-foundation .journal-filters button { font-size:15px; background:var(--paper); border-radius:5px; }
.design-foundation .journal-filters button[aria-pressed='true'] { background:var(--brand); color:var(--paper); }
.design-foundation .journal-toolbar p { font-size:14px; }
.design-foundation .journal-card figcaption { padding:22px 6px 0; }
.design-foundation .journal-card h3 { font-size:30px; }
.design-foundation .journal-card p { font-size:16px; }
.design-foundation :is(.journal-kind,.journal-open) { font-size:13px; }
.design-foundation .journal-product .journal-image img { background:var(--wash); }
.design-foundation .premium-lightbox figcaption p { font-size:16px; }
.design-foundation .premium-lightbox figcaption small { font-size:13px; }
.design-foundation .c-workspace { padding-top:40px; }
.design-foundation .c-workspace-grid { border-top:0; gap:36px; }
.design-foundation .c-contact-panel { padding:30px 12px 0 0; }
.design-foundation .c-form-panel { padding:36px; background:var(--surface); border:1px solid #c2ccba; border-top:4px solid var(--brass); border-radius:12px; box-shadow:0 18px 48px #102f280c; }
.design-foundation .c-form-panel .e-heading p { font-size:16px; }
.design-foundation .c-brief-helper { background:var(--surface-sage); border-radius:8px; }
.design-foundation .c-brief-helper legend { font-size:15px; }
.design-foundation .c-direct-details :is(a,address) { font-size:17px; overflow-wrap:anywhere; }
.design-foundation .c-direct-details small,.design-foundation .c-location-link p { font-size:13px; }
.design-foundation .c-next-grid li { border-top:3px solid var(--brass); padding-top:24px; }
.design-foundation .c-next-grid p { font-size:17px; }

/* Product workspace: quiet stage, tactile surrounding surfaces, strong enquiry hierarchy. */
.design-foundation .product-detail-page { background:var(--paper); padding-top:30px; }
.design-foundation .concept-summary h1 { font-size:clamp(38px,3.4vw,54px); line-height:1.12; letter-spacing:-.02em; }
.design-foundation .concept-description { font-size:18px; }
.design-foundation .concept-workspace .atelier-stage { background:radial-gradient(ellipse at 50% 28%,var(--surface),var(--wash) 88%); border-color:var(--surface); outline-color:#ccc5b8; box-shadow:0 20px 48px #102f2812; }
.design-foundation .concept-workspace .atelier-photo { background:#ddd0af; }
.design-foundation .concept-inspection-slot { background:var(--surface-sage); border-radius:10px; }
.design-foundation .concept-inspector { background:var(--surface); border-color:#b8c7ad; }
.design-foundation .concept-card { background:var(--surface); border:1px solid #c7caba; border-top:3px solid #b4c1a9; border-radius:10px; padding:26px; }
.design-foundation .concept-card:nth-of-type(2) { background:var(--surface-sage); }
.design-foundation .concept-card h2 { font-weight:400; font-size:26px; }
.design-foundation .concept-bespoke { background:var(--brand); color:var(--paper); border-color:var(--brand); border-top-color:var(--brass); }
.design-foundation .concept-bespoke :is(h2,p) { color:var(--paper); }
.design-foundation .concept-bespoke .btn { border-color:var(--paper); color:var(--brand); background:var(--paper); }
.design-foundation .concept-related { background:var(--surface-sage); border-color:#c0cbb7; border-radius:12px; }
.design-foundation .concept-related-rail h3 { font-size:18px; font-weight:400; }
.design-foundation .concept-related-rail img { background:var(--wash); }

/* Footer remains readable, with a shared persistent motion preference. */
.design-foundation .site-footer { background:#0b261f; border-top:3px solid var(--brass); }
.design-foundation .footer-invitation { padding-block:64px; }
.design-foundation .footer-brand > p { font-size:16px; color:#d1dbc9; }
.design-foundation .footer-column h3 { font-size:13px; color:#caba8e; }
.design-foundation .footer-column nav a { font-size:16px; min-height:42px; }
.design-foundation .footer-contact :is(.footer-email,.footer-phone) { font-size:15px; }
.design-foundation .footer-contact :is(address,p),.design-foundation .footer-location { font-size:14px; color:#c7d4bf; }
.design-foundation .footer-bottom { flex-wrap:wrap; font-size:13px; }
.design-foundation .studio-motion-toggle { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:8px 14px; border:1px solid #a4b49c; border-radius:5px; background:transparent; color:var(--paper); font-size:13px; cursor:pointer; }
.studio-motion-toggle::before { content:''; width:8px; height:8px; border-radius:50%; background:#c9daa6; }
.studio-motion-toggle[aria-pressed='true']::before { background:#cfbb87; }
.studio-motion-toggle:disabled { cursor:default; }
.design-foundation .studio-motion-toggle:focus-visible { outline-color:#dfd0a6; }
.design-foundation .topbar .studio-motion-toggle { font-size:12px; min-height:40px; padding:6px 10px; border-color:#738971; }
.design-foundation .mobile-menu .studio-motion-toggle { color:var(--brand); border-color:#8b9f80; margin-bottom:18px; }
.design-foundation .mobile-menu .studio-motion-toggle:focus-visible { outline-color:#557b46; }
.design-foundation .mobile-menu .studio-motion-toggle::before { background:#567a40; }

@media(max-width:1050px) { :root { --header-h:83px; } }
@media(min-width:1051px) and (max-width:1190px) { .design-foundation .nav-inner { gap:12px; }.design-foundation .desktop-nav { gap:2px; }.design-foundation .desktop-nav > a,.design-foundation .products-nav-link { font-size:14px; padding-inline:7px; }.design-foundation .btn-quote { padding-inline:14px; font-size:14px; } }
@media(max-width:950px) { .design-foundation .c-workspace-grid { gap:24px; }.design-foundation .c-form-panel { padding:28px; } }
@media(max-width:700px) {
  body.design-foundation { font-size:17px; }
  .design-foundation .home-page p { font-size:17px; }
  .design-foundation .home-page .h-hero h1 { font-size:clamp(46px,10.5vw,68px); }
  .design-foundation .home-page .h-hero-copy > p { font-size:18px; }
  .design-foundation .home-page .h-hero-controls { flex-wrap:wrap; gap:14px; }
  .design-foundation .home-page .h-hero-controls > button:not(.h-hero-play) { font-size:12px; }
  .design-foundation .home-page .h-process-tabs button > strong { font-size:13px; }
  .design-foundation :is(.catalog-hero h1,.editorial-page h1) { font-size:clamp(42px,10vw,64px); }
  .design-foundation .catalog-hero-aside { justify-self:stretch; max-width:none; }
  .design-foundation .catalog-card h3 { font-size:25px; }
  .design-foundation .catalog-card-actions { gap:10px; }
  .design-foundation .c-form-panel { padding:24px 18px; }
  .design-foundation .journal-toolbar { padding:16px 12px; }
  .design-foundation .concept-summary h1 { font-size:38px; }
  .design-foundation .concept-card { padding:22px; }
  .design-foundation .footer-invitation { padding-block:42px; }
  .design-foundation .a-people-grid article { padding:24px; }
}
@media(max-width:600px) { :root { --header-h:75px; } }
@media(max-width:380px) {
  .design-foundation .brand-copy b { font-size:23px; }
  .design-foundation .brand { gap:8px; }
  .design-foundation .nav-inner { gap:8px; }
  .design-foundation .nav-actions { gap:6px; }
  .design-foundation .home-page .h-hero h1 { font-size:44px; }
  .design-foundation .btn { padding-inline:17px; }
  .design-foundation .concept-summary h1 { font-size:34px; }
}

/* Step 21 restores the original continuous textile field on every page, not selected sections. */
.textile-motion-canvas,.textile-fallback { position:fixed; inset:0; width:100%; height:100dvh; z-index:90; pointer-events:none; }
.textile-motion-canvas { display:block; opacity:1; mix-blend-mode:normal; }
.textile-fallback { display:none; background:repeating-linear-gradient(112deg,transparent 0 90px,#738b6220 92px,transparent 95px),repeating-linear-gradient(16deg,transparent 0 115px,#a58b5629 116px,transparent 118px); }
.textile-motion-fallback .textile-fallback { display:block; animation:textile-fallback-drift 18s ease-in-out infinite alternate; }
.studio-motion-paused .textile-fallback,.studio-document-hidden .textile-fallback { animation-play-state:paused; }
@keyframes textile-fallback-drift { from { background-position:0 0; } to { background-position:45px 60px; } }
@media(prefers-reduced-motion:reduce) { .textile-fallback { animation:none !important; } }
@media(forced-colors:active) { .textile-motion-canvas,.textile-fallback { display:none !important; } }

/* One square media frame everywhere; object-fit preserves the garment, never stretches or crops it. */
:root { --product-frame-ratio:1; --product-frame-pad:clamp(10px,1.6vw,20px); }
.design-foundation :is(.catalog-card .product-media,.h-category-hero-media) { aspect-ratio:var(--product-frame-ratio); height:auto; background:var(--wash); }
.design-foundation .catalog-card .product-media img,.design-foundation .h-category-hero-media img { width:100%; height:100%; object-fit:contain; object-position:center; padding:var(--product-frame-pad); box-sizing:border-box; }
.design-foundation .concept-related-rail img { aspect-ratio:var(--product-frame-ratio); object-fit:contain; padding:8px; box-sizing:border-box; }
.design-foundation .journal-product .journal-image img { aspect-ratio:var(--product-frame-ratio); height:auto; object-fit:contain; padding:var(--product-frame-pad); }
.design-foundation .atelier-photo img { object-fit:contain; object-position:center; padding:var(--product-frame-pad); box-sizing:border-box; }
.design-foundation .shortlist-items img { aspect-ratio:var(--product-frame-ratio); object-fit:contain; padding:5px; box-sizing:border-box; }
.product-image-provenance { display:block; color:var(--muted); font-size:12px; line-height:1.55; margin:10px 0 0; }
.dummy-reference-label { display:inline-block; background:var(--brand-soft); color:var(--brand); border:1px solid #9eaf92; border-radius:4px; padding:4px 9px; font:600 12px/1.5 var(--font-body); margin:0 0 14px; }
.dummy-reference-links { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; padding:16px 0; border-top:1px solid var(--line); font-size:14px; }
.dummy-reference-links a { color:var(--brand); text-decoration:underline; text-underline-offset:4px; min-height:44px; display:inline-flex; align-items:center; }
.design-foundation .product-modal-media { aspect-ratio:1; background:var(--wash); }
.design-foundation .product-modal-media img { width:100%; height:100%; object-fit:contain; padding:var(--product-frame-pad); box-sizing:border-box; }


/* Step 23 — scoped editorial polish. Token values live in theme.css. */
.design-foundation .home-page :is(.h-intro-copy,.h-category-copy,.h-quality-copy,.h-responsibility-copy,.h-story-copy,.h-faq-intro,.h-disclosure-body,.h-capabilities .h-section-head) p { color:var(--home-body); }
.home-page .h-disclosure { position:relative; }
.home-page .h-disclosure::before { content:""; position:absolute; left:-12px; top:20px; bottom:20px; width:2px; background:var(--home-accent); transform:scaleY(0); transform-origin:top; transition:transform 360ms var(--ease); }
.home-page .h-disclosure[open]::before { transform:scaleY(1); }
.home-page .h-disclosure-number { transition:color 220ms ease; }
.home-page .h-disclosure:is([open],:hover,:focus-within) .h-disclosure-number { color:var(--brand); }
.design-foundation .home-page .h-story-tabs button[aria-selected="true"] { border-bottom-color:var(--home-accent); }
.home-page .h-process-tabs button[aria-selected="true"] > span { color:var(--home-accent-light); }
.home-page .h-process-tabs button > i,.home-page.home-scroll-story-ready .h-process-tabs::after { background:var(--home-accent-light); }
.home-page.home-scroll-story-ready .h-process-tabs button[aria-selected="true"]::after { background:var(--home-accent-light); border-color:var(--home-accent); }

/* Translation and press scale compose with existing button transforms. */
.design-foundation .home-page .btn { position:relative; translate:var(--magnet-x,0px) var(--magnet-y,0px); transition:translate 180ms var(--ease),scale 120ms var(--ease),background-color 220ms ease,box-shadow 260ms ease,color 220ms ease; }
.design-foundation .home-page .btn:active { scale:.96; }
.design-foundation .home-page .btn::after { content:""; position:absolute; inset:auto 16px 7px; height:2px; background:var(--home-accent); transform:scaleX(0); transform-origin:left; transition:transform 250ms var(--ease); pointer-events:none; }
.design-foundation .home-page .btn:is(:hover,:focus-visible)::after { transform:scaleX(1); }
.home-page .btn :is(svg,span[aria-hidden]) { transition:translate 220ms var(--ease); }
.home-page .btn:is(:hover,:focus-visible) :is(svg,span[aria-hidden]) { translate:4px 0; }
.design-foundation .home-page .h-hero .btn:is(:hover,:focus-visible) { box-shadow:0 0 0 5px var(--home-accent-glow),0 16px 36px var(--home-accent-glow); }
.design-foundation .home-page :is(.text-link,.h-hero-link,.h-scroll-link) { border-bottom:0; text-decoration:none; background-image:linear-gradient(currentColor,currentColor); background-repeat:no-repeat; background-position:0 100%; background-size:0% 1px; transition:background-size 250ms var(--ease),color 220ms ease; }
.design-foundation .home-page :is(.text-link,.h-hero-link,.h-scroll-link):is(:hover,:focus-visible) { background-size:100% 1px; color:var(--brand); }
.design-foundation .home-page :is(.h-hero,.h-cta) :is(.text-link,.h-hero-link,.h-scroll-link):is(:hover,:focus-visible) { color:var(--home-accent-light); }
.home-page :is(.text-link,.h-hero-link,.h-scroll-link) span[aria-hidden] { transition:translate 220ms var(--ease); }
.home-page :is(.text-link,.h-hero-link):is(:hover,:focus-visible) span[aria-hidden] { translate:4px -4px; }
.home-page .h-scroll-link:is(:hover,:focus-visible) span { translate:0 4px; }
.home-page :is(.catalog-card,.h-collection-card) { transition:box-shadow 300ms ease,translate 300ms var(--ease); }
.home-page :is(.catalog-card,.h-collection-card):focus-within { box-shadow:var(--home-card-shadow); }
@media (hover:hover) and (pointer:fine) {
  .home-page :is(.catalog-card,.h-collection-card):hover { translate:0 -5px; box-shadow:var(--home-card-shadow); }
  .design-foundation .home-page .h-category-tags a:hover { background:var(--home-accent-wash); border-color:var(--home-accent); color:var(--brand); scale:1.04; }
}
.home-page .h-category-tags a { transition:scale 200ms var(--ease),background-color 220ms ease,border-color 220ms ease; }
.design-foundation .home-page .h-category-tags a:focus-visible { background:var(--home-accent-wash); }

/* Hero: progressive timing comes from the same clock as actual slide changes. */
.home-page .h-hero-controls > button.is-active > span { color:var(--home-accent-light); }
.home-page .h-hero-controls > button > i { height:2px; }
.home-page .h-hero-controls > button > i::after { background:var(--home-accent-light); }
.home-page .h-hero-play:disabled { opacity:.55; cursor:not-allowed; }
.home-page [data-auto-requested="true"] .h-hero-controls > button.is-active > i::after { transform:scaleX(var(--hero-progress,0)); transition:none; }
.home-page .h-play-icons { display:grid; }
.home-page .h-play-icons > span { grid-area:1/1; transition:opacity 200ms ease,scale 200ms var(--ease); }
.home-page .h-icon-pause { opacity:0; scale:.8; }
.home-page [data-home-play][aria-pressed="true"] .h-icon-play { opacity:0; scale:.8; }
.home-page [data-home-play][aria-pressed="true"] .h-icon-pause { opacity:1; scale:1; }
.home-page.home-polish-ready:not(.home-polish-paused) .h-hero h1 em { animation:h23-settle 600ms 200ms var(--ease) both; }

/* Introduction: material plate opens like a cutting-room curtain, then the labels settle in. */
.home-page.home-polish-ready.home-motion-ready .h-intro-visual:not(.is-revealed) .h-image-frame { clip-path:inset(0 100% 0 0); }
.home-page.home-polish-ready.home-motion-ready .h-intro-visual .h-image-frame::after { content:""; position:absolute; z-index:2; top:0; bottom:0; left:0; width:1px; background:var(--home-accent); opacity:0; pointer-events:none; box-shadow:0 0 0 1px rgb(255 255 255 / 18%); }
.home-page.home-polish-ready.home-motion-ready .h-intro-visual.is-revealed .h-image-frame { animation:h23-intro-curtain 900ms var(--ease) both; }
.home-page.home-polish-ready.home-motion-ready .h-intro-visual.is-revealed .h-image-frame::after { animation:h23-intro-edge 900ms var(--ease) both; }
.home-page.home-polish-ready.home-motion-ready .h-intro-visual:not(.is-revealed) .h-image-index { opacity:0; }
.home-page.home-polish-ready.home-motion-ready .h-intro-visual.is-revealed .h-image-index { animation:h23-item-in 420ms 760ms var(--ease) both; }
.design-foundation .home-page .h-credibility { background-image:repeating-linear-gradient(0deg,transparent 0 19px,var(--home-stitch) 19px 20px,transparent 20px 40px),repeating-linear-gradient(90deg,transparent 0 39px,var(--home-stitch) 39px 40px,transparent 40px 80px); }
.home-page .h-metric strong { font-variant-numeric:tabular-nums; }

/* All FIVE current showcases, not the archived single collection rail. */
.design-foundation .home-page .h-collection-showcase { background-color:var(--home-collection-paper); transition:background-color 600ms ease; }
.design-foundation .home-page .h-collection-showcase:nth-of-type(even) { background-color:var(--home-collection-sage); }
@supports (background:color-mix(in srgb,white,black)) {
  .design-foundation .home-page.home-scroll-story-ready .h-collection-showcase {
    background-color:color-mix(in srgb,var(--home-collection-paper) calc(100% - var(--collection-tint,0) * 10%),var(--home-collection-sage));
  }
  .design-foundation .home-page.home-scroll-story-ready .h-collection-showcase:nth-of-type(even) {
    background-color:color-mix(in srgb,var(--home-collection-sage) calc(90% + var(--collection-tint,0) * 10%),var(--home-collection-paper));
  }
}
.home-page.home-scroll-story-ready .h-category-hero-media img { transform:translate3d(0,var(--story-hero-y,var(--collection-image-y,0px)),0) scale(var(--story-hero-scale,1)); transition:transform 180ms linear; }
.home-page .h-collection-number { position:absolute; z-index:1; top:18px; left:18px; display:grid; place-items:center; min-width:48px; height:48px; padding:6px; border:1px solid var(--home-accent); border-radius:var(--radius-sm); background:var(--paper); color:var(--brand); font:400 25px/1 var(--font-display); font-variant-numeric:tabular-nums; pointer-events:none; }
.home-page.home-scroll-story-ready .h-collection-number { rotate:var(--story-badge-rotate,var(--collection-badge-angle,0deg)); scale:var(--story-badge-scale,1); transition:rotate 180ms linear,scale 180ms linear; }
.home-page.home-scroll-story-ready .h-category-products.is-revealed .catalog-card { animation:h23-item-in 650ms calc(var(--card-order,0) * 90ms) var(--ease) both; }

/* Stitch travels in the gutter, never through accordion copy. */
.home-page.home-scroll-story-ready .h-capability-list::after { left:calc(100% + 12px); width:clamp(20px,4vw,72px); border-top-color:var(--home-accent); }
.home-page.home-scroll-story-ready .h-capability-list::before { content:""; pointer-events:none; position:absolute; left:calc(100% + 9px); top:calc(var(--cap-flow-y,32px) - 3px); width:7px; height:7px; border-radius:50%; background:var(--home-accent); box-shadow:0 0 0 3px var(--home-accent-glow); opacity:0; }
.home-page.home-scroll-story-ready .h-capability-list.is-flowing::before { animation:h23-needle 900ms var(--ease) both; }

/* Tabs: draw checks and stagger individual facts rather than moving the layout. */
.home-page.home-polish-ready .h-process-panel:not([hidden]) .h-process-checklist li,
.home-page.home-polish-ready .h-story-panel:not([hidden]) .h-story-specs > div { animation:h23-item-in 420ms calc(var(--item-order,0) * 60ms) var(--ease) both; }
.home-page.home-polish-ready .h-process-panel:not([hidden]) .h-check-draw path { stroke-dasharray:1; animation:h23-check 480ms calc(var(--item-order,0) * 100ms + 120ms) var(--ease) both; }
.home-page .h-process-output { position:relative; border-left-color:var(--home-accent); }
.home-page .h-process-output::before { content:""; position:absolute; left:-2px; top:0; bottom:0; width:2px; background:var(--home-accent-light); }
.home-page.home-polish-ready .h-process.is-motion-active .h-process-output::before { animation:h23-pulse 2s ease-in-out infinite; }
.home-page .h-quality-stepper { list-style:none; margin:28px 0 12px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; position:relative; }
.home-page .h-quality-stepper::before,.home-page .h-quality-stepper::after { content:""; position:absolute; top:18px; left:18px; right:calc((100% - 24px) / 3 - 18px); height:1px; background:var(--line); pointer-events:none; }
.home-page .h-quality-stepper::after { background:var(--home-accent); transform:scaleX(var(--quality-progress,0)); transform-origin:left; transition:transform 350ms var(--ease); }
.home-page .h-quality-stepper li { min-width:0; position:relative; z-index:1; }
.home-page .h-quality-stepper button { display:flex; flex-direction:column; align-items:flex-start; gap:10px; background:none; border:0; text-align:left; padding:0 4px 10px 0; width:100%; min-height:72px; cursor:pointer; color:var(--home-body); }
.home-page .h-quality-stepper button > span { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--home-body); font-size:12px; transition:background-color 220ms ease,border-color 220ms ease; }
.home-page .h-quality-stepper strong { font:600 13px/1.5 var(--font-body); overflow-wrap:anywhere; }
.home-page .h-quality-stepper [aria-current="step"] > span { background:var(--brand); color:var(--paper); border-color:var(--home-accent); box-shadow:0 0 0 4px var(--home-accent-glow); }
.home-page .h-quality-stepper .is-complete button > span { border-color:var(--home-accent); background:var(--home-accent-wash); }
.home-page .h-responsibility-list li > span { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; transition:background-color 250ms ease,color 250ms ease; }
.home-page .h-responsibility-list li:hover > span { background:var(--home-accent-wash); color:var(--brand); }
.home-page.home-polish-ready .h-story.is-motion-active .h-story-reference { animation:h23-float 3s ease-in-out infinite; }

/* One shimmer per entry into Home; the button glow only runs while visible. */
@supports (background-clip:text) {
  .design-foundation .home-page.home-polish-ready:not(.home-sheen-done) .h-cta.is-motion-entered h2 em {
    background-image:linear-gradient(100deg,var(--home-accent-light) 35%,var(--surface) 50%,var(--home-accent-light) 65%);
    background-size:240% 100%; background-position:100% 0; background-clip:text; -webkit-background-clip:text;
    color:transparent; animation:h23-sheen 2500ms 200ms ease-out both;
  }
}
.home-page.home-polish-ready .h-cta.is-motion-active .btn-primary { animation:h23-glow 2s ease-in-out infinite; }
@keyframes h23-settle { from { letter-spacing:.05em; } to { letter-spacing:inherit; } }
@keyframes h23-curtain { from { clip-path:inset(0 0 100% 0); } to { clip-path:inset(0); } }
@keyframes h23-intro-curtain { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
@keyframes h23-intro-edge { 0% { opacity:0; left:0; } 12% { opacity:.75; } 88% { opacity:.55; } 100% { opacity:0; left:100%; } }
@keyframes h23-item-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes h23-needle { 0% { opacity:0; translate:0 0; } 20% { opacity:1; } 90% { opacity:1; } 100% { opacity:0; translate:clamp(20px,4vw,72px) 0; } }
@keyframes h23-check { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes h23-pulse { 0%,100% { opacity:.6; } 50% { opacity:1; } }
@keyframes h23-float { 0%,100% { translate:0 0; } 50% { translate:0 -3px; } }
@keyframes h23-sheen { from { background-position:100% 0; } to { background-position:0% 0; } }
@keyframes h23-glow { 0%,100% { box-shadow:0 0 0 2px var(--home-accent-glow); } 50% { box-shadow:0 0 0 7px var(--home-accent-glow); } }
@media (max-width:1024px) {
  .home-page.home-scroll-story-ready .h-capability-list::before,.home-page.home-scroll-story-ready .h-capability-list::after { display:none; }
}
@media (max-width:480px) { .home-page .h-quality-stepper { gap:8px; }.home-page .h-quality-stepper strong { font-size:12px; } }
/* User pause and runtime system changes always expose content, never freeze it hidden. */
.home-page.home-polish-paused *, .home-page.home-polish-paused *::before,.home-page.home-polish-paused *::after { animation:none !important; transition:none !important; }
.home-page.home-polish-paused .btn { translate:none !important; scale:1 !important; }
.home-page.home-polish-paused :is(.h-reveal,.h-image-index) { opacity:1 !important; clip-path:none !important; transform:none !important; }
.home-page.home-polish-paused .h-image-frame { clip-path:none !important; }
.home-page.home-polish-paused .h-check-draw path { stroke-dashoffset:0; }
@media (prefers-reduced-motion:reduce) {
  .home-page *, .home-page *::before,.home-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .home-page :is(.btn,.h-story-reference,.catalog-card) { translate:none !important; scale:1 !important; }
  .home-page .h-collection-number { rotate:none !important; }
  .home-page .h-image-frame { clip-path:none !important; }
}
@media (forced-colors:active) {
  .home-page .h-quality-stepper [aria-current="step"] { outline:2px solid Highlight; }
  .design-foundation .home-page .h-cta h2 em { color:CanvasText !important; background:none !important; }
}


/* About Us only: retain the shared theme and existing reveal lifecycle. */
.design-foundation .about-refresh { --ar-line:rgb(16 47 40 / 19%); }
.design-foundation .about-refresh :is(h1,h2,h3,p,figure,blockquote) { margin-top:0; }
.design-foundation .about-refresh :is(h1,h2,h3) { font-family:var(--font-display); font-weight:400; }
.design-foundation .about-refresh h1 { font-size:clamp(2.8rem,5.25vw,5rem); line-height:1.07; letter-spacing:-.045em; margin-bottom:28px; }
.design-foundation .about-refresh h2 { font-size:clamp(2.25rem,4vw,3.65rem); line-height:1.12; letter-spacing:-.035em; margin-bottom:24px; }
.design-foundation .about-refresh h3 { font-size:1.65rem; line-height:1.2; }
.design-foundation .about-refresh em { color:var(--accent); font-weight:400; }
.design-foundation .about-refresh p { font-size:1rem; line-height:1.8; }
.design-foundation .about-refresh .eyebrow { font-size:.8rem; letter-spacing:.12em; margin-bottom:20px; }
.design-foundation .about-refresh .ar-hero { padding-top:28px; background:var(--surface-sage); }
.ar-hero-grid { display:grid; grid-template-columns:1.13fr 1fr; gap:clamp(32px,5vw,80px); align-items:center; padding-bottom:56px; }
.ar-hero-copy .e-breadcrumb { margin-bottom:42px; }
.ar-hero-copy>p { max-width:580px; }
.design-foundation .about-refresh .ar-lead { font-size:1.18rem; color:var(--brand); line-height:1.65; }
.ar-hero-copy>.btn { margin-top:12px; }
.design-foundation .about-refresh .ar-hero-art { position:relative; margin:40px 0 0; }
.ar-hero-art picture { display:block; overflow:hidden; border-radius:180px 180px 6px 6px; }
.ar-hero-art picture img { display:block; width:100%; height:clamp(390px,40vw,560px); object-fit:cover; }
.ar-hero-art figcaption { display:grid; gap:6px; padding:20px 0 0; font-size:.8rem; line-height:1.6; }
.ar-hero-art figcaption>span:first-child { letter-spacing:.12em; font-weight:700; }
.ar-principles { display:flex; justify-content:space-between; gap:24px; border-top:1px solid var(--ar-line); padding-block:22px; font-size:.875rem; }
.ar-principles span::before { content:'+'; margin-right:12px; color:var(--accent); }
.ar-founder-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,7vw,100px); align-items:center; }
.design-foundation .about-refresh .ar-portrait { margin:0; position:relative; background:var(--surface); padding:20px 20px 0; border:1px solid var(--ar-line); }
.ar-portrait img { width:100%; height:auto; display:block; border-radius:3px; }
.ar-portrait figcaption { padding:24px 4px; display:grid; gap:5px; }
.ar-portrait figcaption strong { font:400 1.9rem/1.2 var(--font-display); }
.ar-portrait figcaption span { font-size:.9rem; color:var(--muted); }
.design-foundation .about-refresh .ar-founder-copy blockquote { border-left:2px solid var(--brass); margin:28px 0; padding-left:24px; font:400 clamp(1.3rem,2vw,1.6rem)/1.6 var(--font-display); color:var(--brand); }
.ar-contact { border-top:1px solid var(--ar-line); padding-top:24px; display:grid; gap:12px; font-size:.95rem; }
.ar-contact a { width:fit-content; max-width:100%; overflow-wrap:anywhere; }
.ar-contact a:hover { text-decoration:underline; text-underline-offset:4px; }
.ar-contact svg { width:18px; height:18px; vertical-align:middle; margin-left:8px; }
.ar-contact address { font-style:normal; font-size:.875rem; line-height:1.8; color:var(--muted); }
.design-foundation .about-refresh .ar-values { background:var(--night); color:var(--paper); }
.design-foundation .about-refresh .ar-values .eyebrow { color:#c5d5c5; }
.ar-values-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:42px; }
.ar-values-grid article { border-top:1px solid rgb(231 221 199 / 35%); padding-top:28px; }
.ar-index { display:block; font-size:.8rem; font-weight:600; letter-spacing:.13em; }
.ar-values-grid h3 { font-size:2.2rem; margin-block:22px 18px; }
.design-foundation .about-refresh .ar-values-grid p { color:#dddccc; max-width:500px; }
.ar-service-heading { display:flex; justify-content:space-between; gap:32px; align-items:end; padding-bottom:20px; }
.ar-service-heading p { color:var(--muted); }
.ar-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-left:1px solid var(--ar-line); border-top:1px solid var(--ar-line); }
.ar-service-grid article { padding:32px; border-right:1px solid var(--ar-line); border-bottom:1px solid var(--ar-line); transition:background .3s,transform .6s,opacity .5s; }
.ar-service-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:34px; color:var(--accent); }
.ar-service-top svg { width:24px; height:24px; }
.ar-service-grid p { margin-bottom:0; color:var(--muted); }
.design-foundation .about-refresh .ar-partners { background:var(--surface); border-top:1px solid var(--ar-line); }
.ar-partners .ar-section-heading { text-align:center; }
.ar-partner-list { list-style:none; padding:0; margin:44px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ar-partner-list li { display:flex; justify-content:center; align-items:center; min-height:140px; padding:20px; border:1px solid var(--ar-line); color:var(--brand); text-align:center; }
.ar-brand-kids { font-size:1.15rem; letter-spacing:.08em; line-height:1.2; }
.ar-brand-kids strong { display:block; font-size:1.7rem; }
.ar-brand-norma { font-weight:800; font-size:2rem; letter-spacing:-.04em; }
.ar-brand-williot { font:italic 400 2.4rem/1.2 var(--font-display); }
.ar-brand-inditex { font-size:1.4rem; letter-spacing:.16em; font-weight:800; }
@media (hover:hover) and (pointer:fine) { .ar-service-grid article:hover { background:var(--surface-sage); } }
@media(max-width:1000px) { .ar-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ar-partner-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
 .ar-hero-grid,.ar-founder-grid,.ar-values-grid { grid-template-columns:1fr; gap:32px; }
 .ar-hero-copy .e-breadcrumb { margin-bottom:28px; }
 .design-foundation .about-refresh .ar-hero-art { margin-top:0; }
 .ar-hero-art picture img { height:380px; }
 .ar-founder-grid .ar-portrait { width:min(100%,440px); justify-self:center; }
 .ar-values-grid { margin-top:32px; }
 .ar-principles { flex-wrap:wrap; gap:12px 24px; }
 .ar-service-heading { display:block; }
}
@media(max-width:520px) {
 .design-foundation .about-refresh h1 { font-size:2.65rem; }
 .ar-service-grid { grid-template-columns:1fr; }
 .ar-service-grid article { padding:26px; }
 .ar-partner-list { gap:10px; }
 .ar-partner-list li { min-height:106px; padding:14px 8px; }
 .ar-brand-norma { font-size:1.65rem; } .ar-brand-inditex { font-size:1.05rem; }
 .ar-hero-art picture img { height:320px; }
 .ar-principles { display:grid; }
}

.design-foundation .about-refresh .ar-hero-art figcaption { font-size:.8rem; padding-top:20px; }
.design-foundation .about-refresh .ar-portrait figcaption { padding:24px 4px; font-size:.9rem; }
.design-foundation .about-refresh .e-breadcrumb { font-size:.875rem; }

/* One-shot motion is enabled only when the About controller can run. */
.design-foundation .about-refresh .ar-pop-word { display:inline-block; transform-origin:50% 85%; }
.design-foundation .about-refresh .ar-typing { position:relative; }
.design-foundation .about-refresh .ar-type-space { opacity:0; }
.design-foundation .about-refresh .ar-type-ink { position:absolute; inset:0; pointer-events:none; }
.design-foundation .about-refresh.ar-motion-ready .ar-wait { opacity:0; }
.design-foundation .about-refresh .ar-values-grid article { position:relative; border-top:0; }
.design-foundation .about-refresh .ar-thread-line { display:block; position:absolute; top:0; left:0; width:100%; height:1px; background:rgb(231 221 199 / 45%); transform-origin:left center; }
.design-foundation .about-refresh .ar-service-grid { border:0; gap:18px; }
.design-foundation .about-refresh .ar-service-grid article { border:1px solid var(--ar-line); background:var(--surface); border-radius:8px; box-shadow:0 6px 20px rgb(16 47 40 / 5%); transform-origin:15% 90%; }
.design-foundation .about-refresh .ar-portrait { overflow:hidden; }
.design-foundation .about-refresh .ar-portrait img { aspect-ratio:4/5; object-fit:cover; object-position:center; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .design-foundation .about-refresh .ar-hero-copy > .btn { transition:translate .25s,box-shadow .25s; }
 .design-foundation .about-refresh .ar-hero-copy > .btn:hover { translate:0 -3px; box-shadow:0 10px 22px rgb(16 47 40 / 20%); }
 .design-foundation .about-refresh .ar-hero-copy > .btn svg { transition:translate .25s; }
 .design-foundation .about-refresh .ar-hero-copy > .btn:hover svg { translate:4px 0; }
 .design-foundation .about-refresh .ar-service-grid article:hover { background:var(--surface-sage); }
}
@media (prefers-reduced-motion:reduce) {
 .design-foundation .about-refresh.ar-motion-ready .ar-wait { opacity:1; }
 .design-foundation .about-refresh .ar-type-space { opacity:1; }
 .design-foundation .about-refresh .ar-type-ink { display:none; }
}


/* Scoped to Gallery and Contact; visible by default without motion support. */
.design-foundation :is(.gallery-page,.contact-page) .ep-word { display:inline-block; transform-origin:50% 85%; }
.design-foundation :is(.gallery-page,.contact-page).ep-motion .ep-wait { opacity:0; }
.design-foundation :is(.gallery-page,.contact-page) .ep-typing { position:relative; }
.design-foundation :is(.gallery-page,.contact-page) .ep-type-space { opacity:0; }
.design-foundation :is(.gallery-page,.contact-page) .ep-type-ink { position:absolute; inset:0; pointer-events:none; }
.design-foundation .contact-page .c-editorial { overflow:hidden; }
@media (prefers-reduced-motion:reduce) {
 .design-foundation :is(.gallery-page,.contact-page).ep-motion .ep-wait { opacity:1; }
 .design-foundation :is(.gallery-page,.contact-page) .ep-type-space { opacity:1; }
 .design-foundation :is(.gallery-page,.contact-page) .ep-type-ink { display:none; }
}
