/* ============================================================= HEADER */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:1000;
  background:var(--paper);
  color:var(--ink);
  border-bottom:1px solid transparent;
  transition:background .6s ease,border-color .6s ease,box-shadow .6s ease,-webkit-backdrop-filter .6s ease,backdrop-filter .6s ease;
}
.site-header.scrolled{
  background:rgba(8,8,9,.74);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  backdrop-filter:blur(20px) saturate(150%);
  border-bottom-color:rgba(255,255,255,.12);
  color:var(--paper);
}
.site-header.scrolled .wordmark img{filter:invert(1)}
.site-header.scrolled .lang button{color:rgba(255,255,255,.55)}
.site-header.scrolled .lang button.active{color:var(--paper)}
.site-header.scrolled .lang .sep{color:rgba(255,255,255,.4)}
.site-header.scrolled .hdr-ico{color:var(--paper)}
.site-header.scrolled .burger{color:var(--paper)}
.site-header.scrolled .hdr-inner{padding-block:11px}
.hdr-inner{
  max-width:var(--maxw);margin:0 auto;padding:22px var(--gutter);
  display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);
  transition:padding .6s cubic-bezier(.2,.6,.2,1);
}
.wordmark{position:relative;display:flex;flex:0 0 auto;align-items:center;line-height:1;font-family:var(--font-body),sans-serif;height:52px;width:227px}
.wordmark img{display:block;width:auto;position:absolute;left:0;top:50%;transform:translateY(-50%);transition:filter .6s ease,opacity .45s ease}
.wordmark .logo-full{height:52px;opacity:1}
.wordmark .logo-mark{height:26px;opacity:0;pointer-events:none}
.site-header.scrolled .wordmark .logo-full{opacity:0;pointer-events:none}
.site-header.scrolled .wordmark .logo-mark{opacity:1;pointer-events:auto}
.nav{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(16px,2vw,34px);margin-left:auto;font-family:var(--font-body),sans-serif}
.nav a{font-size:14px;font-weight:700;letter-spacing:.01em;line-height:1.1;color:inherit;position:relative;display:inline-flex;align-items:center;padding:6px 0;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:1px;background:currentColor;transition:right .4s cubic-bezier(.2,.6,.2,1)}
.nav a:hover::after{right:0}
/* dropdown menus */
.nav-item{position:relative;display:flex;align-items:center}
.nav-item>.nav-trigger{display:inline-flex;align-items:center;gap:.4em;line-height:1}
.nav-item>.nav-trigger .caret{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s cubic-bezier(.2,.6,.2,1);opacity:.7}
.nav-item:hover>.nav-trigger .caret{opacity:1}
.nav-item:hover>.nav-trigger .caret{transform:rotate(180deg)}
.dropdown{position:absolute;top:100%;left:-22px;min-width:260px;background:var(--paper);border:1px solid var(--hairline);box-shadow:0 22px 50px rgba(0,0,0,.10);padding:14px 0;margin-top:14px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s ease,transform .4s cubic-bezier(.2,.6,.2,1),visibility .35s;z-index:60}
.dropdown::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{padding:11px 26px;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--g-600);white-space:nowrap}
.dropdown a::after{display:none}
.dropdown a:hover{color:var(--ink);background:var(--g-100)}
.hdr-right{display:flex;align-items:center;gap:clamp(14px,1.6vw,24px)}
.lang{display:flex;align-items:center;font-family:var(--font-body),sans-serif;font-size:13px;font-weight:500;letter-spacing:.05em}
.lang button{appearance:none;border:0;background:none;font:inherit;color:var(--g-400);cursor:pointer;padding:2px;letter-spacing:inherit;text-transform:uppercase;transition:color .5s ease}
.lang button.active{color:var(--ink)}
.lang .sep{color:var(--g-400);margin:0 2px;transition:color .5s ease}
.hdr-ico{appearance:none;border:0;background:none;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:4px;transition:opacity .3s ease,color .5s ease}
.hdr-ico:hover{opacity:.55}
.hdr-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================= SEARCH OVERLAY */
.search-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-start;justify-content:center;
  background:rgba(10,10,11,.82);-webkit-backdrop-filter:blur(30px) saturate(140%);backdrop-filter:blur(30px) saturate(140%);
  opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}
.search-overlay.open{opacity:1;visibility:visible}
.search-close{position:absolute;top:26px;right:clamp(20px,4vw,48px);appearance:none;border:0;background:none;cursor:pointer;color:var(--paper);padding:8px;opacity:.7;transition:opacity .3s ease,transform .3s ease}
.search-close:hover{opacity:1;transform:rotate(90deg)}
.search-close svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.search-inner{width:100%;max-width:860px;padding:0 var(--gutter);margin-top:clamp(120px,22vh,240px);transform:translateY(-14px);transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.search-overlay.open .search-inner{transform:none}
.search-form{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--paper);padding-bottom:18px}
.search-form input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:var(--font-display),sans-serif;font-weight:var(--display-weight);font-size:clamp(24px,3.6vw,44px);letter-spacing:-.02em;color:var(--paper)}
.search-form input::placeholder{color:rgba(255,255,255,.5)}
.search-form button{appearance:none;border:0;background:none;cursor:pointer;color:var(--paper);flex:0 0 auto;padding:4px}
.search-form button svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.search-sug{margin-top:34px}
.search-sug .lbl{font-family:var(--font-body),sans-serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.search-sug .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.search-sug .chips a{font-family:var(--font-body),sans-serif;font-size:14px;font-weight:700;color:var(--paper);border:1px solid rgba(255,255,255,.25);padding:9px 18px;transition:background .35s ease,color .35s ease,border-color .35s ease}
.search-sug .chips a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.hdr-cta{font-family:var(--font-body),sans-serif;font-size:14px;font-weight:700;letter-spacing:.01em;color:inherit;white-space:nowrap;padding-bottom:2px;border-bottom:1px solid currentColor;transition:opacity .3s ease}
.hdr-cta:hover{opacity:.55}
.hdr-login{font-family:var(--font-body),sans-serif;font-size:14px;font-weight:700;letter-spacing:.01em;line-height:1.1;color:inherit;white-space:nowrap;position:relative;display:inline-flex;align-items:center;gap:7px;padding:6px 0;transition:color .5s ease}
.hdr-login svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hdr-login .t{position:relative;display:inline-flex}
.hdr-login .t::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:1px;background:currentColor;transition:right .4s cubic-bezier(.2,.6,.2,1)}
.hdr-login:hover .t::after{right:0}
.burger{display:none;appearance:none;border:0;background:none;cursor:pointer;width:30px;height:18px;position:relative;color:var(--ink)}
.burger span{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:.35s}
.burger span:nth-child(1){top:0}
.burger span:nth-child(2){top:8px;left:auto;right:0;width:60%}
.burger span:nth-child(3){top:16px}

/* Mobile menu — full-screen black frosted overlay */
.m-menu{position:fixed;inset:0;z-index:1100;
  background:rgba(8,8,8,.66);-webkit-backdrop-filter:blur(28px) saturate(118%);backdrop-filter:blur(28px) saturate(118%);
  display:flex;flex-direction:column;padding:20px 26px 42px;
  opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease;color:var(--paper)}
.m-menu.open{opacity:1;visibility:visible}
.m-menu .m-top{display:flex;align-items:center;justify-content:flex-end;gap:26px}
.m-menu .m-top .lang{font-family:var(--font-body),sans-serif;font-size:14px;font-weight:700;letter-spacing:.05em}
.m-menu .m-top .lang button{color:rgba(255,255,255,.6)}
.m-menu .m-top .lang button.active{color:var(--paper)}
.m-menu .m-top .lang .sep{color:rgba(255,255,255,.45)}
.m-close{appearance:none;border:0;background:none;cursor:pointer;color:var(--paper);font-size:22px;line-height:1;padding:2px 4px;font-weight:300}
.m-nav{flex:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;padding-top:16vh;gap:22px;text-align:right}
.m-nav>a,.m-acc-trig,.m-nav .m-login{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,6.6vw,34px);line-height:1.1;color:var(--paper)}
.m-nav .m-contact{margin-bottom:8vh}
.m-nav .m-login{display:inline-flex;align-items:center;gap:10px;font-size:clamp(18px,4.6vw,24px);color:var(--paper);margin-bottom:8vh}
.m-nav .m-login svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* staggered entrance on direct children only */
.m-menu .m-nav>*{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1)}
.m-menu.open .m-nav>*{opacity:1;transform:none}
.m-menu.open .m-nav>*:nth-child(1){transition-delay:.10s}
.m-menu.open .m-nav>*:nth-child(2){transition-delay:.16s}
.m-menu.open .m-nav>*:nth-child(3){transition-delay:.22s}
.m-menu.open .m-nav>*:nth-child(4){transition-delay:.28s}
.m-menu.open .m-nav>*:nth-child(5){transition-delay:.36s}
.m-menu.open .m-nav>*:nth-child(6){transition-delay:.42s}
/* accordion */
.m-acc{display:flex;flex-direction:column;align-items:flex-end}
.m-acc-trig{appearance:none;border:0;background:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5em;padding:0}
.m-plus{position:relative;width:15px;height:15px;flex:0 0 auto}
.m-plus::before,.m-plus::after{content:"";position:absolute;background:rgba(255,255,255,.7);transition:transform .35s cubic-bezier(.2,.6,.2,1)}
.m-plus::before{left:0;right:0;top:50%;height:1.5px;transform:translateY(-50%)}
.m-plus::after{top:0;bottom:0;left:50%;width:1.5px;transform:translateX(-50%)}
.m-acc.open .m-plus::after{transform:translateX(-50%) scaleY(0)}
.m-sub{display:flex;flex-direction:column;align-items:flex-end;gap:11px;text-align:right;overflow:hidden;max-height:0;opacity:0;
  transition:max-height .5s cubic-bezier(.2,.6,.2,1),opacity .4s ease,margin .5s ease}
.m-acc.open .m-sub{max-height:300px;opacity:1;margin-top:14px}
.m-sub a{font-family:var(--font-body),sans-serif;font-weight:600;font-size:16px;color:rgba(255,255,255,.72)}
.m-sub a:hover{color:var(--paper)}
.m-sub-all{font-weight:700!important;color:var(--paper)!important;padding-bottom:9px;margin-bottom:3px;border-bottom:1px solid rgba(255,255,255,.22);letter-spacing:.02em}
.m-social{display:flex;flex-direction:column;align-items:flex-end;gap:11px;text-align:right}
.m-social a{font-family:var(--font-body),sans-serif;font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.72);
  opacity:0;transform:translateY(14px);transition:opacity .6s ease .42s,transform .6s ease .42s}
.m-menu.open .m-social a{opacity:1;transform:none}
.m-social a:hover{color:var(--paper)}
@media (prefers-reduced-motion:reduce){.m-nav a,.m-social a{opacity:1;transform:none;transition:none}}

@media (max-width:1024px){
  .nav,.hdr-right .lang,.hdr-cta,.hdr-login{display:none}
  .burger{display:block}
  .hdr-right{margin-left:auto}
}
@media (max-width:760px){
  .hdr-inner{padding-block:13px;padding-inline:15px}
  .site-header.scrolled .hdr-inner{padding-block:9px;padding-inline:15px}
  .wordmark{height:34px;width:149px}
  .wordmark .logo-full{height:34px}
  .wordmark .logo-mark{height:17px}
  .burger{width:26px;height:15px}
  .burger span:nth-child(2){top:7px}
  .burger span:nth-child(3){top:14px}
}

/* ============================================================= HERO */
.hero{height:100svh;min-height:600px;position:relative;display:flex;padding:76px var(--gutter) var(--gutter);box-sizing:border-box;background:var(--paper)}
.hero-media{position:relative;flex:1;width:100%;max-width:calc(var(--maxw) - var(--gutter) * 2);margin:0 auto;overflow:hidden;display:flex;align-items:flex-end}
.hero video,.hero .hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .veil{position:absolute;inset:0;background:rgba(10,10,10,.34)}.hero .veil-2{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.62),rgba(10,10,10,.05) 52%),linear-gradient(to bottom,rgba(10,10,10,.42),rgba(10,10,10,0) 26%)}
.hero-content{position:relative;z-index:2;width:100%;padding:clamp(36px,6vh,72px) clamp(32px,4vw,72px)}
.hero h1{font-size:calc(clamp(46px,8.4vw,120px) * var(--type-scale));margin:0 0 30px;max-width:16ch;color:var(--paper)}
.hero .eyebrow{margin-bottom:26px;color:rgba(255,255,255,.82)}
.hero .tlink{color:var(--paper);border-bottom-color:var(--paper)}
.hero .tlink::before{background:var(--paper)}
.hero .tlink:hover{color:var(--ink);border-color:transparent}
.scroll-cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--paper);opacity:.75}
.scroll-cue .line{display:block;width:1px;height:40px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.scroll-cue .line::after{content:"";position:absolute;left:0;right:0;top:-100%;height:100%;background:var(--paper);animation:cue 2.4s cubic-bezier(.6,0,.2,1) infinite}
.scroll-cue .cue-txt{font-size:11px;letter-spacing:.21em;text-transform:uppercase;color:rgba(255,255,255,.7)}
@keyframes cue{0%{top:-100%}55%,100%{top:100%}}

/* ============================================================= MANIFESTO */
.manifesto-sec{position:relative;overflow:hidden}
.manifesto-sec .wrap{position:relative;z-index:2}
.manifesto-orb{position:absolute;z-index:0;border-radius:50%;pointer-events:none;
  width:clamp(340px,32vw,520px);height:clamp(340px,32vw,520px);right:-7%;top:-14%;
  filter:blur(72px);opacity:.72;
  background:radial-gradient(circle at 50% 50%,rgba(95,95,95,.72),rgba(95,95,95,0) 70%)}
@media (prefers-reduced-motion:no-preference){.manifesto-orb{animation:orbDrift 26s ease-in-out infinite alternate}}
.manifesto{max-width:1800px}
.about-shots{position:relative;margin-top:clamp(36px,5vh,60px);overflow:hidden}
.about-track{display:flex;will-change:transform}
.about-track.run{animation:aboutMarquee 30s linear infinite}
@keyframes aboutMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.about-track.run{animation:none}}
@media (max-width:760px){.about-track.run{animation-duration:5s}}
.about-track figure{flex:0 0 calc((100% - 3 * clamp(14px,1.8vw,24px)) / 3);margin:0 clamp(14px,1.8vw,24px) 0 0;overflow:hidden;background:var(--g-100);aspect-ratio:4/3}
.about-track figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}
.about-track figure:hover img{transform:scale(1.05)}
.about-dots{display:none}
@media (max-width:760px){.about-track figure{flex:0 0 calc(100% - clamp(14px,1.8vw,24px))}}
.manifesto p{font-family:var(--font-display);font-weight:var(--display-weight);font-size:calc(clamp(24px,3.1vw,42px) * var(--type-scale));line-height:1.28;letter-spacing:-.02em;margin:24px 0 0;text-wrap:pretty}

/* ============================================================= PILLARS */
.principles-dark{position:relative;overflow:hidden;background:#0A0A0A;color:var(--paper)}
.principles-dark::before,.principles-dark::after{content:"";position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}
.principles-dark::before{width:520px;height:520px;left:-8%;top:-30%;background:radial-gradient(circle at 30% 30%,rgba(0,0,0,.9),rgba(0,0,0,0) 70%)}
.principles-dark::after{width:560px;height:560px;right:-10%;bottom:-40%;background:radial-gradient(circle at 60% 60%,rgba(0,0,0,.9),rgba(0,0,0,0) 70%)}
.principles-dark>.wrap{position:relative;z-index:1}
@media (prefers-reduced-motion:no-preference){.principles-dark::before{animation:orbDrift 30s ease-in-out infinite alternate}.principles-dark::after{animation:orbDrift 24s ease-in-out infinite alternate-reverse}}
.principles-dark .eyebrow{color:var(--g-400)}
.principles-dark .pillar{border-left-color:rgba(255,255,255,.16)}
.principles-dark .pillar .num{color:rgba(255,255,255,.5)}
.principles-dark .pillar h3{color:var(--paper)}
.principles-dark .pillar p{color:rgba(255,255,255,.6)}
.principles-dark .pillar:hover .num{color:var(--paper)}
.principles-dark .pillar:hover p{color:rgba(255,255,255,.85)}
.principles-dark .pillar h3::after{background:var(--paper)}
.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.pillar{position:relative;padding:40px clamp(16px,1.8vw,30px) 8px;border-left:1px solid var(--hairline);transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.pillar:hover{transform:translateY(-6px)}
.pillar .num,.pillar h3,.pillar p{transition:color .45s ease}
.pillar:hover .num{color:var(--ink)}
.pillar:hover p{color:var(--g-800)}
@media (prefers-reduced-motion:reduce){.pillar{transition:none}}
.pillar:first-child{padding-left:0;border-left:0}
.pillar .num{font-family:var(--font-display);font-weight:300;font-size:15px;color:var(--g-400);letter-spacing:.05em}
.pillar h3{position:relative;display:inline-block;font-family:var(--font-display);font-weight:var(--display-weight);font-size:calc(clamp(19px,1.5vw,24px) * var(--type-scale));line-height:1.2;margin:24px 0 14px;text-wrap:balance}
.pillar h3::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.6,.2,1)}
.pillar:hover h3::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.pillar h3::after{transition:none}}
.pillar p{font-size:17px;line-height:1.55;color:var(--g-600);margin:0;max-width:30ch}
@media (max-width:1080px){
  .pillars{grid-template-columns:repeat(2,1fr)}
  .pillar{padding:34px clamp(18px,2.4vw,32px) 8px}
  .principles-dark .pillar:first-child{padding-left:clamp(18px,2.4vw,32px);border-left:1px solid rgba(255,255,255,.16)}
  .pillar:nth-child(odd){padding-left:0;border-left:0}
}
@media (max-width:760px){
  .pillars{grid-template-columns:1fr}
  #principles{padding-top:clamp(34px,6vh,48px)}
  #principles>.wrap>.eyebrow{margin-bottom:20px !important}
  .principles-dark .pillar,.principles-dark .pillar:first-child,.principles-dark .pillar:nth-child(odd){border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:26px 0 8px}
  .pillar:first-child{border-top:0;padding-top:4px}
}

/* ============================================================= COLLECTIONS GRID */
/* grey band sits behind the top portion of the category image; bottom half spills onto white */
#collections{position:relative;z-index:0;background:transparent}
#collections::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--cat-band-h,56%);background:var(--g-100);z-index:-1}
#collections .wrap{position:relative}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(36px,5vh,64px);flex-wrap:wrap}
.sec-head h2{font-family:var(--font-display);font-weight:var(--display-weight);font-size:calc(clamp(30px,4.4vw,58px) * var(--type-scale));margin:14px 0 0;line-height:1.05}

/* ---- contained single-category carousel ---- */
.carousel{position:relative}
.collections{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;width:100%}
.collections::-webkit-scrollbar{display:none}
.tile{position:relative;display:block;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.tile .frame{position:relative;overflow:hidden;background:var(--g-100);width:100%;aspect-ratio:2.32/1}
.tile .frame img{width:100%;height:100%;object-fit:cover;object-position:center center;transform-origin:center;animation:kenburns 10s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.tile .frame img{animation:none}}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.12)}}
.tile .frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(8,8,8,.80) 0%,rgba(8,8,8,.46) 22%,rgba(8,8,8,.12) 45%,rgba(8,8,8,0) 66%)}
/* category title overlaid on the image — large + bold */
.tile figcaption{position:absolute;left:0;bottom:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--paper);pointer-events:none;
  padding:clamp(26px,4vh,46px) calc(clamp(28px,3vw,48px) + 140px) clamp(26px,4vh,46px) clamp(28px,3vw,48px);max-width:min(88%,900px)}
.tile .c-idx{font-family:var(--font-body),sans-serif;font-weight:600;font-size:clamp(13px,1vw,15px);letter-spacing:.17em;color:rgba(255,255,255,.72)}
.tile .c-name{font-family:var(--font-body),sans-serif;font-weight:600;text-transform:none;font-size:calc(clamp(32px,5.2vw,74px) * var(--type-scale));line-height:1.0;letter-spacing:-.02em;color:var(--paper)}
.tile .c-name .u{display:inline-block}
.tile .c-meta{font-family:var(--font-body);font-size:clamp(13px,1.1vw,15px);color:rgba(255,255,255,.82);letter-spacing:.04em;margin:0}
/* overlay controls: pagination + arrows, bottom-right over the image */
.carousel-foot{position:absolute;right:0;bottom:clamp(26px,4vh,46px);z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:16px;padding-inline:clamp(28px,3vw,48px);margin:0;pointer-events:none}
.c-progress{position:relative;width:120px;height:2px;background:rgba(255,255,255,.34);pointer-events:auto}
.c-progress span{position:absolute;left:0;top:0;height:2px;background:var(--paper);width:50%;transition:left .45s cubic-bezier(.2,.6,.2,1),width .45s cubic-bezier(.2,.6,.2,1)}
.carousel-nav{display:flex;gap:12px;pointer-events:auto}
.cbtn{appearance:none;width:54px;height:54px;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.10);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--paper);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .35s ease,color .35s ease,border-color .35s ease,opacity .35s ease}
.cbtn:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cbtn:disabled{opacity:.32;pointer-events:none}
@media (max-width:680px){
  .cbtn{width:46px;height:46px}
  .tile figcaption{padding-right:calc(clamp(28px,3vw,48px) + 110px)}
}

/* ============================================================= FEATURED PRODUCTS */
.ptabs-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-bottom:1px solid var(--hairline);margin:18px 0 clamp(28px,4vh,48px);flex-wrap:wrap}
.ptabs{display:flex;gap:clamp(18px,2.6vw,40px);flex-wrap:wrap}
.ptab{appearance:none;border:0;background:none;cursor:pointer;font-family:var(--font-body),sans-serif;font-size:15px;font-weight:700;letter-spacing:-.01emem;color:var(--g-400);padding:0 0 18px;position:relative;white-space:nowrap;transition:color .3s ease}
.ptab:hover{color:var(--ink)}
.ptab.is-active{color:var(--ink)}
.ptab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.6,.2,1)}
.ptab.is-active::after{transform:scaleX(1)}
.ptabs-row .tlink{margin-bottom:16px}
.prod-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 clamp(24px,3vh,36px);flex-wrap:wrap}
.prod-head .tlink{margin-bottom:6px}
.products-foot{display:none}
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.product{display:block;animation:prodIn .6s cubic-bezier(.2,.6,.2,1) both}
@keyframes prodIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.product{animation:none}}
.product .pframe{background:var(--g-100);aspect-ratio:3/4;overflow:hidden;display:flex;align-items:center;justify-content:center}
.product .pframe img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1)}
.product:hover .pframe img{transform:scale(1.04)}
/* real cut-out product shots on white — show the whole piece */
.product .pframe.is-cutout{background:var(--g-100);aspect-ratio:4/3}
.product .pframe.is-cutout img{object-fit:contain;padding:7% 8%;mix-blend-mode:multiply}
.product .pframe.is-png{background:var(--g-100);aspect-ratio:4/3}
.product .pframe.is-png img{object-fit:contain;padding:7% 8%}
.product:hover .pframe.is-png img{transform:scale(1.05)}
.product:hover .pframe.is-cutout img{transform:scale(1.05)}
/* lifestyle hover crossfade */
.product .pframe{position:relative}
.product .pframe img.phover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;padding:0;opacity:0;mix-blend-mode:normal;transition:opacity .55s cubic-bezier(.2,.6,.2,1);z-index:2}
.product.has-hover:hover .pframe img.phover{opacity:1}
.product h3{font-family:var(--font-body),sans-serif;font-weight:500;font-size:14px;line-height:1.4;letter-spacing:-.01em;color:var(--ink);margin:18px 0 5px;text-wrap:pretty}
@media (min-width:761px){.product h3{font-size:17px;margin-top:20px}}
.product .pcol{position:relative;display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-body),sans-serif;font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--ink);padding-bottom:3px;border-bottom:1px solid var(--ink);width:fit-content;margin-top:14px;transition:gap .35s cubic-bezier(.2,.6,.2,1)}
.product .pcol .arw{transition:transform .35s cubic-bezier(.2,.6,.2,1)}
.product:hover .pcol{gap:.9em}
.product:hover .pcol .arw{transform:translateX(3px)}
@media (max-width:900px){.products{grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:760px){
  /* tabs: horizontal swipe row */
  .ptabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:26px;padding-bottom:0;margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter)}
  .ptabs::-webkit-scrollbar{display:none}
  .ptab{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
  /* products: horizontal swipe carousel */
  .products{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;margin-inline:0;padding-inline:0;scroll-padding-left:0}
  .products::-webkit-scrollbar{display:none}
  .product{flex:0 0 80%;scroll-snap-align:start;scroll-snap-stop:always}
}

/* ============================================================= FABRICS */
.fabrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fabrics-grid .fab{display:block;overflow:hidden}
.fabrics-grid .fab .fab-img{overflow:hidden;background:var(--g-100);aspect-ratio:4/3}
.fabrics-grid .fab img{position:relative;width:100%;height:100%;top:0;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.2,1)}
.fabrics-grid .fab:hover img{transform:scale(1.06)}
.fabrics-grid .fab h3{font-family:var(--font-display);font-weight:var(--display-weight);font-size:clamp(17px,1.5vw,21px);letter-spacing:-.02em;color:var(--ink);margin:0}
.fabrics-grid .fab .fab-head{display:flex;align-items:baseline;gap:18px;margin:20px 0 9px}
.fabrics-grid .fab .fab-desc{font-family:var(--font-body),sans-serif;font-size:14px;line-height:1.55;color:var(--g-600);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fabrics-grid .fab .fab-link{display:inline-flex;align-items:center;gap:.5em;margin-top:14px;font-family:var(--font-body),sans-serif;font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--ink);padding-bottom:3px;border-bottom:1px solid var(--ink)}padding-bottom:3px;border-bottom:1px solid var(--ink);transition:gap .35s cubic-bezier(.2,.6,.2,1)}
.fabrics-grid .fab .fab-link .arw{transition:transform .35s cubic-bezier(.2,.6,.2,1)}
.fabrics-grid .fab:hover .fab-link{gap:.8em}
.fabrics-grid .fab:hover .fab-link .arw{transform:translateX(3px)}
@media (max-width:680px){.fabrics-grid{grid-template-columns:1fr;gap:32px}}

/* ============================================================= DEALERS */
.dealers-sec{position:relative;overflow:hidden}
.dealers-sec.sec-pad{padding-block:clamp(48px,7vh,90px)}
.dealers-sec .wrap{position:relative;z-index:2}
.dealers-sec .orb{position:absolute;z-index:0;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.6}
.dealers-sec .orb-a{width:clamp(360px,38vw,620px);height:clamp(360px,38vw,620px);left:-6%;top:-22%;
  background:radial-gradient(circle at 50% 50%,rgba(15,15,15,.5),rgba(15,15,15,0) 70%)}
.dealers-sec .orb-b{width:clamp(320px,34vw,560px);height:clamp(320px,34vw,560px);right:-4%;bottom:-26%;
  background:radial-gradient(circle at 50% 50%,rgba(165,165,165,.5),rgba(165,165,165,0) 70%)}
.dealers-sec .dealers-frost{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:rgba(244,244,243,.18);-webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%)}
@media (prefers-reduced-motion:no-preference){
  .dealers-sec .orb{animation:orbDrift 22s ease-in-out infinite alternate}
  .dealers-sec .orb-b{animation-duration:28s;animation-direction:alternate-reverse}
}
@keyframes orbDrift{from{transform:translate(0,0)}to{transform:translate(40px,28px)}}
.dealers{display:grid;grid-template-columns:minmax(320px,.85fr) auto;align-items:center;gap:clamp(40px,6vw,110px);min-height:clamp(320px,38vh,440px)}
.dealers .d-text .eyebrow{margin-bottom:22px}
.dealers h2{font-family:var(--font-display);font-weight:var(--display-weight);font-size:calc(clamp(34px,4.4vw,60px) * var(--type-scale));line-height:1.06;margin:0 0 30px;letter-spacing:-.025em;max-width:none;white-space:nowrap}
.dealers .d-link{display:inline-block;font-family:var(--font-body);font-size:15px;font-weight:700;color:var(--ink);padding-bottom:10px;border-bottom:1px solid var(--ink);min-width:160px;transition:opacity .3s}
.dealers .d-link:hover{opacity:.6}
.geo{display:flex;flex-wrap:wrap;width:100%;gap:clamp(16px,1.8vw,28px);justify-content:flex-end;justify-self:end}
.geo .g{position:relative;display:block;width:540px;max-width:100%;height:405px;background:var(--g-100);overflow:hidden}
.geo .g iframe{position:absolute;left:-4%;top:-34%;width:108%;height:170%;border:0;filter:grayscale(1) contrast(.92);pointer-events:none}
.geo .g .g-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,9,.72) 0%,rgba(8,8,9,.2) 44%,rgba(8,8,9,0) 70%);pointer-events:none}
.geo .g .g-meta{position:absolute;left:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:5px;padding:clamp(18px,2vw,28px);pointer-events:none}
.geo .g .gmap{display:none}
.geo .g .gname{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.2vw,32px);line-height:1.05;letter-spacing:-.025em;color:var(--paper)}
.geo .g .gcount{font-family:var(--font-body);font-size:clamp(13px,1.1vw,15px);color:rgba(255,255,255,.85);letter-spacing:.01em}
@media (max-width:1024px){
  .dealers{grid-template-columns:1fr;gap:clamp(40px,6vh,64px)}
}
@media (max-width:560px){
  .geo{gap:14px}
}

/* ============================================================= FOOTER */
.footer{position:relative;z-index:2;color:var(--paper);background:#0a0a0b}
.footer .wrap{position:relative;z-index:1}
.footer a{color:#cfceca;transition:color .3s ease}
.footer a:hover{color:var(--paper)}
.f-grid{display:grid;grid-template-columns:repeat(4,max-content) 1fr;gap:44px 56px;padding-block:clamp(80px,12vh,150px)}
.f-news{justify-self:end;width:100%;min-width:300px;max-width:560px}
.f-col h4{font-family:var(--font-body),sans-serif;font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--paper);margin:0 0 16px;padding-bottom:14px;position:relative}
.f-col h4::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;background:rgba(255,255,255,.4)}
.f-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.f-col a{font-size:14px;font-weight:600;letter-spacing:-.01emem}
.f-col .f-plain{font-size:14px;letter-spacing:-.01emem;color:#cfceca}
.f-col .f-maplink{text-decoration:underline;text-underline-offset:3px}
.f-col .f-gap{margin-top:14px}
/* newsletter */
.f-news h4{font-family:var(--font-body),sans-serif;font-size:12px;font-weight:600;color:var(--paper);margin:0 0 16px;max-width:34ch;line-height:1.4}
.news-terms{display:flex;align-items:flex-start;gap:10px;margin-top:16px;cursor:pointer;font-family:var(--font-body),sans-serif;font-size:12px;line-height:1.5;color:var(--g-400)}
.news-terms input{position:absolute;opacity:0;width:0;height:0}
.news-terms .box{flex:0 0 auto;width:16px;height:16px;margin-top:1px;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;transition:background .25s ease,border-color .25s ease}
.news-terms .box svg{width:10px;height:10px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .2s ease}
.news-terms input:checked + .box{background:var(--paper);border-color:var(--paper)}
.news-terms input:checked + .box svg{opacity:1}
.news-terms input:focus-visible + .box{outline:2px solid var(--g-400);outline-offset:2px}
.news-terms a{color:#cfceca;text-decoration:underline;text-underline-offset:2px}
.news-terms a:hover{color:var(--paper)}
.news-form{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:10px}
.news-form input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:var(--font-body),sans-serif;font-size:13px;font-weight:700;color:var(--paper);padding:0}
.news-form input::placeholder{color:var(--g-400);font-weight:700}
.news-form button{appearance:none;border:0;background:none;cursor:pointer;color:var(--paper);display:flex;align-items:center;justify-content:center;padding:0;flex:0 0 auto;transition:transform .35s cubic-bezier(.2,.6,.2,1),opacity .3s ease}
.news-form button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.news-form button:hover{transform:translateX(3px)}
.news-form button:disabled{opacity:.6}
.f-social-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:0}
.f-quote{font-family:var(--font-display);font-weight:var(--display-weight);font-size:clamp(28px,4vw,56px);letter-spacing:-.03em;color:var(--paper);margin:clamp(40px,6vh,80px) 0 clamp(24px,4vh,44px);text-align:right}
.f-quote-row{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap;margin:clamp(40px,6vh,80px) 0 clamp(24px,4vh,44px)}
.f-quote-row .f-quote{margin:0;display:inline-flex;align-items:center;gap:16px}
.f-quote .q-slash{font-weight:400;color:var(--g-400)}
.f-quote-logo{height:54px;width:auto}
.f-lockup{display:inline-flex;align-items:center;gap:18px}
.f-lockup .f-wm{height:50px;width:auto;display:block}
.f-lockup .f-chair{height:80px;width:auto;display:block}
.f-social-row a{display:flex;align-items:center;justify-content:center;color:var(--g-400);transition:color .3s ease,transform .3s ease}
.f-social-row a:hover{color:var(--paper);transform:translateY(-2px)}
.f-social-row svg{width:20px;height:20px;fill:currentColor;stroke:none}
.f-logo-band{padding-block:clamp(40px,6vh,72px) 0}
.f-logo-band img{display:block;width:100%;max-width:220px;height:auto}
.f-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;border-top:1px solid rgba(255,255,255,.12);padding-block:26px 34px;font-size:12px;color:var(--g-400);letter-spacing:.01em;flex-wrap:wrap}
.f-bottom .f-credit a{color:#cfceca;text-decoration:underline;text-underline-offset:3px}
.f-bottom .f-credit a:hover{color:var(--paper)}
.f-bottom .f-copy{display:inline-flex;align-items:center;gap:12px}
.f-bottom .f-mark{height:16px;width:auto}
@media (max-width:1080px){.f-grid{grid-template-columns:repeat(3,max-content);gap:44px clamp(30px,5vw,60px)}.f-news{grid-column:1 / -1;justify-self:stretch;min-width:0;max-width:560px}}
@media (max-width:620px){.f-grid{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.f-grid{grid-template-columns:1fr}}
@media (max-width:760px){.f-top{grid-template-columns:1fr;gap:44px}.f-links{gap:40px}}

/* ============================================================= RESPONSIVE REFINEMENTS (laptop + mobile) */
/* Tablet / small laptop */
@media (max-width:1100px){
  #manifesto{height:auto !important}
  .manifesto p{font-size:clamp(28px,4.6vw,42px) !important}
}
/* Mobile */
@media (max-width:760px){
  :root{--gutter:12px}
  /* tighter vertical rhythm + smaller section titles */
  .sec-pad{padding-block:clamp(30px,5vh,46px)}
  .sec-pad-sm{padding-block:clamp(24px,4vh,38px)}
  .sec-head{margin-bottom:24px;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:14px}
  .sec-head h2{font-size:clamp(26px,6.8vw,34px) !important}
  #collections .sec-head>.reveal,#collections .sec-head>div:first-child{flex:1 1 auto;min-width:0}
  #collections .sec-head .tlink{flex:0 0 auto;white-space:nowrap;align-self:center;margin-bottom:0;font-size:12px;gap:.3em;padding:6px 0;border-bottom-width:1px}
  #collections .sec-head .tlink::before{display:none}
  #collections .sec-head .tlink .arw{margin-left:.1em}
  .manifesto p{margin-top:0}
  /* hero video edge-to-edge (no gutter) */
  .hero{padding:64px 0 0}
  .hero-media{max-width:none}
  /* manifesto: kill fixed height + scale the big intro text */
  #manifesto{height:auto !important}
  .manifesto .eyebrow{margin-bottom:22px !important}
  .manifesto p{font-size:clamp(23px,6.2vw,30px) !important;line-height:1.32}
  .manifesto p.reveal{margin-top:0 !important}
  .manifesto-orb{width:300px;height:300px;right:-18%;top:-8%}
  /* Προϊόντα heading */
  #featured h2.display{font-size:clamp(34px,9vw,46px) !important}
  /* footer grid: release fixed height so stacked content isn't clipped */
  .f-grid{height:auto !important}
  /* dealers: stacked rows — small map left, name+cities right */
  #dealers{padding-block:clamp(34px,6vh,52px)}
  .dealers{min-height:0;gap:0;display:flex;flex-direction:column}
  .dealers .d-text{display:contents}
  .dealers .d-text .eyebrow{margin-bottom:12px;order:0}
  .dealers h2{font-size:24px !important;white-space:nowrap;margin-bottom:20px;order:1}
  .dealers .d-link{margin-top:4px;order:3}
  .geo{display:flex;flex-direction:column;flex-wrap:nowrap;width:100%;gap:14px;margin:24px 0 26px;order:2}
  .geo .g{width:100%;height:auto;aspect-ratio:4/3}
  .geo .g .gname{font-size:19px}
  .geo .g .gcount{font-size:12px}
  /* collections image 3:4 on mobile */
  .tile .frame{aspect-ratio:4/5}
  /* carousel controls move below the image */
  .carousel-foot,.products-foot{position:static;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;padding-inline:0;margin-top:18px}
  .products-foot{margin-top:30px}
  .c-progress{flex:1;width:auto;background:var(--g-200)}
  .c-progress span{background:var(--ink)}
  .cbtn{width:46px;height:46px;border-color:var(--g-400);background:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ink)}
  .cbtn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  /* footer hypnosys logo smaller + tighter gap above */
  .f-logo-band{padding-block:10px 0}
  .f-logo-band img{max-width:66px}
  /* tighter footer grid gaps (newsletter spacing) */
  .f-grid{gap:24px 40px;padding-block:clamp(44px,8vh,70px)}
  .f-news{margin-top:22px}
  /* footer quote on one line */
  .f-quote-row{gap:12px;flex-direction:column;align-items:center;text-align:center;margin-top:20px}
  .f-quote-row .f-quote{font-size:5.2vw !important;white-space:nowrap;gap:8px}
  .f-quote .q-slash{margin-right:0}
  /* footer lockup (wordmark + chair) smaller on mobile */
  .f-lockup{width:auto !important;height:auto !important;gap:14px;justify-content:center}
  .f-lockup .f-wm{height:34px}
  .f-lockup .f-chair{height:46px;image-rendering:auto}
  /* cookie consent stacks cleanly */
  .cookie-inner{flex-direction:column;align-items:flex-start;gap:14px}
  .cookie .acts{width:100%}
  .cookie .acts button{flex:1}
}
/* Very small phones */
@media (max-width:430px){
}

/* ============================================================= COOKIE CONSENT */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:1200;background:var(--ink);color:var(--paper);transform:translateY(100%);transition:transform .6s cubic-bezier(.6,0,.2,1)}
.cookie.show{transform:none}
.cookie-inner{max-width:var(--maxw);margin:0 auto;padding:18px var(--gutter);display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cookie p{margin:0;font-size:13.5px;color:#d7d6d3;flex:1;min-width:240px}
.cookie p a{text-decoration:underline}
.cookie .acts{display:flex;gap:10px}
.cookie button{appearance:none;font:inherit;font-size:13px;font-weight:700;letter-spacing:.03em;cursor:pointer;padding:10px 20px;border:1px solid rgba(255,255,255,.4);background:none;color:var(--paper);transition:.3s}
.cookie button.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cookie button:hover{opacity:.82}

/* ============================================================= CATEGORIES PAGE */
body.catpage{background:var(--paper);color:var(--ink)}
/* dark header while over the black intro band (top, not scrolled) */
body.catpage .site-header:not(.scrolled){background:transparent;border-bottom-color:rgba(255,255,255,.14);box-shadow:none;color:var(--paper)}
body.catpage .site-header:not(.scrolled) .wordmark img{filter:invert(1)}
body.catpage .site-header:not(.scrolled) .lang button{color:rgba(255,255,255,.55)}
body.catpage .site-header:not(.scrolled) .lang button.active{color:var(--paper)}
body.catpage .site-header:not(.scrolled) .lang .sep{color:rgba(255,255,255,.4)}
body.catpage .site-header:not(.scrolled) .hdr-ico,body.catpage .site-header:not(.scrolled) .hdr-login,body.catpage .site-header:not(.scrolled) .burger{color:var(--paper)}

/* compact intro (no big hero) — dark band at top */
.cat-intro{position:fixed;inset:0 0 auto 0;height:100svh;background:#0A0A0A;color:var(--paper);margin-top:0;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;z-index:0;padding:clamp(120px,17vh,190px) 0 clamp(72px,10vh,120px)}
.cat-intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cat-intro-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(10,10,10,.55),rgba(10,10,10,.38) 42%,rgba(10,10,10,.72))}
.cat-intro>.wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.cat-intro .eyebrow{color:rgba(255,255,255,.55)}
.cat-h1{font-family:var(--font-display),Georgia,serif;font-weight:var(--display-weight);
  font-size:calc(clamp(52px,9.5vw,132px) * var(--type-scale));line-height:.98;letter-spacing:-.03em;
  margin:22px 0 0;max-width:18ch;text-wrap:balance}
.cat-lead{margin:28px auto 0;max-width:60ch;font-size:clamp(18px,1.9vw,24px);line-height:1.55;color:rgba(255,255,255,.78);font-weight:300}
.cat-count{display:flex;align-items:baseline;gap:14px;margin-top:38px;color:rgba(255,255,255,.4);font-size:12px;letter-spacing:.27em;text-transform:uppercase}
.cat-count .n{font-family:var(--font-display);font-size:14px;color:var(--paper);letter-spacing:.09em}

/* listing — single column, one row per category. Pinned-hero overlap: content scrolls up over the fixed video hero. */
.cat-list{position:relative;z-index:2;margin-top:100svh;margin-bottom:0;background:var(--paper);box-shadow:0 -40px 80px rgba(0,0,0,.28);padding-bottom:clamp(40px,9vh,120px)}
.cat-row{border-top:1px solid var(--hairline)}
.cat-row:last-child{border-bottom:1px solid var(--hairline)}
.cat-link{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,80px);
  padding:clamp(30px,5vh,64px) 0;position:relative}
.cat-row:nth-child(even) .cat-media{order:-1}
.cat-idx{font-family:var(--font-display);font-weight:400;font-size:13px;letter-spacing:.09em;color:var(--g-400)}
.cat-name{font-family:var(--font-display),Georgia,serif;font-weight:var(--display-weight);
  font-size:calc(clamp(34px,5.2vw,72px) * var(--type-scale));line-height:1.0;letter-spacing:-.03em;
  margin:16px 0 0;color:var(--ink)}
.cat-name .u{display:inline-block;position:relative}
.cat-name .u::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--ink);transition:right .5s cubic-bezier(.2,.6,.2,1)}
.cat-link:hover .cat-name .u::after{right:0}
.cat-desc{margin:20px 0 0;max-width:42ch;font-size:clamp(15px,1.3vw,17px);line-height:1.6;color:var(--g-600);font-weight:300}
.cat-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0}
.cat-tags li{font-size:12px;letter-spacing:.01em;color:var(--g-600);border:1px solid var(--hairline);border-radius:100px;padding:7px 14px;transition:border-color .4s ease,color .4s ease}
.cat-link:hover .cat-tags li{border-color:var(--g-400)}
.cat-cta{display:inline-flex;align-items:center;gap:.55em;margin-top:30px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ink);padding-bottom:4px;border-bottom:1px solid var(--ink);transition:gap .35s cubic-bezier(.2,.6,.2,1)}
.cat-cta .arw{transition:transform .35s cubic-bezier(.2,.6,.2,1)}
.cat-link:hover .cat-cta{gap:.95em}
.cat-link:hover .cat-cta .arw{transform:translateX(3px)}
.cat-media{overflow:hidden;background:var(--g-100);aspect-ratio:4/3}
.cat-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.001);transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}
.cat-link:hover .cat-media img{transform:scale(1.055)}

@media (max-width:820px){
  .cat-link{grid-template-columns:1fr;gap:22px;padding:34px 0}
  .cat-row:nth-child(even) .cat-media{order:0}
  .cat-media{aspect-ratio:16/10;order:-1}
  .cat-name{font-size:clamp(30px,9vw,44px) !important}
  .cat-h1{font-size:clamp(38px,12vw,60px) !important}
  .cat-desc,.cat-tags{max-width:none}
  .cat-cta{margin-top:24px}
}

/* ============================================================= PRODUCT LISTING (PLP) */
/* compact LIGHT header band (like the reference) */
.plp-head{position:relative;background:var(--paper);color:var(--ink);margin-top:0;text-align:left;padding:clamp(128px,15vh,180px) 0 clamp(30px,4vh,48px);overflow:hidden;isolation:isolate}
/* advanced blurred mesh background — layered drifting orbs + fine grain */
.plp-head .mesh{position:absolute;inset:-20% -10%;z-index:0;pointer-events:none;filter:blur(60px) saturate(115%)}
.plp-head .mesh span{position:absolute;border-radius:50%;mix-blend-mode:multiply;opacity:.9;will-change:transform}
.plp-head .mesh .o1{width:52vw;height:52vw;max-width:720px;max-height:720px;right:-4%;top:-24%;background:radial-gradient(circle at 35% 35%,rgba(18,18,20,.42),rgba(18,18,20,0) 68%)}
.plp-head .mesh .o2{width:46vw;height:46vw;max-width:620px;max-height:620px;right:14%;top:-8%;background:radial-gradient(circle at 50% 50%,rgba(150,152,158,.55),rgba(150,152,158,0) 70%)}
.plp-head .mesh .o3{width:38vw;height:38vw;max-width:520px;max-height:520px;right:-8%;top:20%;background:radial-gradient(circle at 60% 40%,rgba(74,76,82,.4),rgba(74,76,82,0) 70%)}
.plp-head .mesh .o4{width:30vw;height:30vw;max-width:400px;max-height:400px;left:22%;top:-30%;background:radial-gradient(circle at 50% 50%,rgba(120,122,128,.32),rgba(120,122,128,0) 72%)}
@media (prefers-reduced-motion:no-preference){
  .plp-head .mesh .o1{animation:ctDrift1 22s ease-in-out infinite alternate}
  .plp-head .mesh .o2{animation:ctDrift2 26s ease-in-out infinite alternate}
  .plp-head .mesh .o3{animation:ctDrift3 30s ease-in-out infinite alternate}
  .plp-head .mesh .o4{animation:ctDrift1 34s ease-in-out infinite alternate-reverse}
}
@keyframes ctDrift1{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-6%,7%,0) scale(1.12)}}
@keyframes ctDrift2{0%{transform:translate3d(0,0,0) scale(1.05)}100%{transform:translate3d(8%,-5%,0) scale(.92)}}
@keyframes ctDrift3{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-9%,-6%,0) scale(1.15)}}
/* frosted veil that fades the mesh into the page + subtle grain */
.plp-head::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.55) 62%,rgba(255,255,255,.92) 100%);
  -webkit-backdrop-filter:blur(22px) saturate(118%);backdrop-filter:blur(22px) saturate(118%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%)}
.plp-head>.wrap{position:relative;z-index:2}
.plp-crumbs{display:inline-flex;flex-wrap:nowrap;white-space:nowrap;align-items:center;justify-content:flex-start;gap:12px;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--g-600);margin:0 0 clamp(20px,3vh,32px)}
.plp-crumbs a{color:var(--g-600);transition:color .3s ease}
.plp-crumbs a:hover{color:var(--ink)}
.plp-crumbs .sep{width:3px;height:3px;border-radius:50%;background:var(--g-400);display:inline-block}
.plp-crumbs .cur{color:var(--ink)}
.plp-h1{font-family:var(--font-display),Georgia,serif;font-weight:700;
  font-size:calc(clamp(34px,5vw,68px) * var(--type-scale));line-height:1.04;letter-spacing:-.03em;margin:0;color:var(--ink)}
.plp-intro{margin:22px 0 0;max-width:64ch;font-size:clamp(15px,1.4vw,18px);line-height:1.62;color:var(--g-600);font-weight:300}

/* centered filter pills */
.plp-toolbar{position:sticky;top:90px;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:9px 0;margin-bottom:clamp(20px,3vh,34px)}
.plp-toolbar::before{content:"";position:absolute;top:-90px;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;
  background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid var(--hairline)}
@media (max-width:760px){.plp-toolbar{position:static;padding:0}.plp-toolbar::before{display:none}}
.plp-filters{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px}
.plp-filters .flabel{font-family:var(--font-body),sans-serif;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--g-600);margin-right:2px}
.frange{display:inline-flex;flex-direction:column;gap:9px;min-width:220px;padding:8px 4px}
.frange label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-family:var(--font-body),sans-serif;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--g-600)}
/* grid view toggle */
.plp-right{display:inline-flex;align-items:center;gap:20px;flex:0 0 auto}
.plp-count{font-family:var(--font-body),sans-serif;font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--g-600);white-space:nowrap}
.plp-count b{color:var(--ink);font-weight:700}
.plp-view{display:inline-flex;gap:6px;flex:0 0 auto}
.plp-view .vbtn{appearance:none;cursor:pointer;background:none;border:1px solid var(--hairline);border-radius:8px;width:40px;height:40px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;padding:11px;align-content:center;transition:border-color .3s ease,background .3s ease}
.plp-view .vbtn[data-cols="3"]{grid-template-columns:repeat(3,1fr)}
.plp-view .vbtn[data-cols="4"]{grid-template-columns:repeat(2,1fr)}
.plp-view .vbtn span{display:block;width:100%;height:100%;min-height:6px;background:var(--g-400);border-radius:1px;transition:background .3s ease}
.plp-view .vbtn:hover{border-color:var(--g-400)}
.plp-view .vbtn.is-on{border-color:var(--ink)}
.plp-view .vbtn.is-on span{background:var(--ink)}
@media (max-width:1000px){.plp-view{display:none}}
.frange label b{font-size:13px;letter-spacing:.01em;text-transform:none;color:var(--ink);font-weight:700}
.frange input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:none;outline:none;cursor:pointer;margin:0}
.frange input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,var(--ink) 0%,var(--ink) var(--fill,100%),var(--g-200) var(--fill,100%),var(--g-200) 100%)}
.frange input[type=range]::-moz-range-track{height:3px;border-radius:3px;background:var(--g-200)}
.frange input[type=range]::-moz-range-progress{height:3px;border-radius:3px;background:var(--ink)}
.frange input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-6.5px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.18);transition:transform .2s ease}
.frange input[type=range]:hover::-webkit-slider-thumb,.frange input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.frange input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.18)}
.fsel{position:relative}
.fsel select.dd-native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;overflow:hidden}
/* custom dropdown */
.dd-btn{display:inline-flex;align-items:center;gap:16px;font-family:var(--font-body),sans-serif;font-size:14px;font-weight:600;letter-spacing:-.01emem;color:var(--ink);background:none;border:1px solid var(--ink);border-radius:100px;padding:13px 22px;cursor:pointer;transition:background .35s ease,color .35s ease}
.dd.open .dd-btn{background:var(--ink);color:var(--paper)}
.dd-plus{position:relative;width:11px;height:11px;flex:0 0 auto;transition:transform .4s cubic-bezier(.2,.6,.2,1)}
.dd-plus::before,.dd-plus::after{content:"";position:absolute;background:currentColor}
.dd-plus::before{left:0;right:0;top:50%;height:1.5px;transform:translateY(-50%)}
.dd-plus::after{top:0;bottom:0;left:50%;width:1.5px;transform:translateX(-50%)}
.dd.open .dd-plus{transform:rotate(135deg)}
.dd-panel{position:absolute;top:calc(100% + 10px);left:0;min-width:calc(100% + 20px);white-space:nowrap;
  background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);
  border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:0 24px 50px -14px rgba(0,0,0,.26),0 3px 10px rgba(0,0,0,.05);
  padding:7px;display:flex;flex-direction:column;gap:2px;
  opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transform-origin:top left;
  transition:opacity .3s ease,transform .38s cubic-bezier(.2,.7,.2,1),visibility .3s;z-index:50}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:none}
.dd-opt{text-align:left;font-family:var(--font-body),sans-serif;font-size:14px;font-weight:500;letter-spacing:-.01emem;color:var(--g-600);background:none;border:0;border-radius:10px;padding:11px 18px;cursor:pointer;transition:background .25s ease,color .25s ease}
.dd-opt:hover{background:rgba(0,0,0,.05);color:var(--ink)}
.dd-opt.sel{color:var(--ink);font-weight:700}
@media (prefers-reduced-motion:reduce){.dd-panel{transition:opacity .2s ease,visibility .2s}.dd-plus{transition:none}}

.plp-body{background:var(--paper);padding-block:clamp(18px,2.5vh,34px) clamp(48px,8vh,110px)}

/* grid — homepage .product cards */
.plp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(30px,3.4vw,56px) clamp(16px,1.8vw,28px)}
.plp-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.plp-grid .product .pframe{aspect-ratio:4/3}
.plp-grid .product .pframe.is-cutout,.plp-grid .product .pframe.is-png{background:#f8f7f9}
.plp-grid .product .pinfo{display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.plp-grid .product .pinfo h3{margin:18px 0 0}
.plp-grid .product .pinfo .pcol{margin-top:18px;flex:0 0 auto}
@media (max-width:560px){
  .plp-grid .product .pinfo{flex-direction:column;gap:0}
  .plp-grid .product .pinfo .pcol{margin-top:8px}
}
.plp-empty{grid-column:1/-1;text-align:center;color:var(--g-600);padding:60px 0;font-size:15px}

/* SEO long copy block */
.plp-seo{border-top:1px solid var(--hairline);padding-block:clamp(48px,7vh,90px)}
.plp-seo .wrap{display:grid;grid-template-columns:1fr;gap:clamp(18px,3vh,32px);align-items:start}
.plp-seo h2{font-family:var(--font-display),Georgia,serif;font-weight:var(--display-weight);font-size:clamp(28px,3.4vw,44px);line-height:1.06;letter-spacing:-.025em;margin:0}
.plp-seo .body{max-width:78ch;margin:0 auto}
.plp-seo .body p{margin:0 0 18px;font-size:clamp(15px,1.15vw,17px);line-height:1.72;color:var(--g-600);font-weight:300;max-width:none}
.plp-seo .body p:last-child{margin-bottom:0}
.plp-seo .body h3{font-family:var(--font-body),sans-serif;font-size:15px;font-weight:600;letter-spacing:-.01emem;color:var(--ink);margin:28px 0 10px}
@media (max-width:820px){.plp-seo .wrap{grid-template-columns:1fr;gap:22px}}

/* FAQ accordion */
.plp-faq{position:relative;overflow:hidden;background:var(--g-100);padding-block:clamp(48px,7vh,96px) clamp(32px,4vh,52px);margin-bottom:0}
.plp-faq::before{content:"";position:absolute;left:50%;top:-120px;transform:translateX(-50%);width:min(1300px,140%);height:440px;z-index:0;pointer-events:none;
  background:radial-gradient(38% 52% at 22% 42%,rgba(10,10,10,.30),rgba(10,10,10,0) 66%),radial-gradient(38% 54% at 80% 32%,rgba(140,140,140,.38),rgba(140,140,140,0) 66%),radial-gradient(34% 46% at 56% 66%,rgba(70,70,70,.24),rgba(70,70,70,0) 68%);
  filter:blur(30px)}
.plp-faq>.wrap{position:relative;z-index:1}
.plp-faq .fq-head{margin-bottom:clamp(28px,4vh,48px)}
.plp-faq h2{font-family:var(--font-display),Georgia,serif;font-weight:var(--display-weight);font-size:clamp(28px,3.6vw,48px);line-height:1.04;letter-spacing:-.03em;margin:12px 0 0}
.faq-list{max-width:none;border-top:1px solid var(--g-200)}
.faq-item{border-bottom:1px solid var(--g-200)}
.faq-q{width:100%;appearance:none;background:none;border:0;cursor:pointer;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:clamp(20px,2.6vh,28px) 4px;font-family:var(--font-body),sans-serif;font-weight:600;
  font-size:clamp(16px,1.5vw,20px);color:var(--ink);line-height:1.35}
.faq-q .ic{position:relative;flex:0 0 auto;width:18px;height:18px}
.faq-q .ic::before,.faq-q .ic::after{content:"";position:absolute;background:var(--ink);transition:transform .4s cubic-bezier(.2,.6,.2,1),opacity .3s ease}
.faq-q .ic::before{left:0;right:0;top:50%;height:1.5px;transform:translateY(-50%)}
.faq-q .ic::after{top:0;bottom:0;left:50%;width:1.5px;transform:translateX(-50%)}
.faq-item.open .faq-q .ic::after{transform:translateX(-50%) scaleY(0);opacity:0}
.faq-a{overflow:hidden;max-height:0;transition:max-height .5s cubic-bezier(.2,.6,.2,1)}
.faq-a .inner{padding:0 4px clamp(22px,3vh,30px);max-width:none;font-size:clamp(15px,1.2vw,17px);line-height:1.72;color:var(--g-600);font-weight:300}

@media (max-width:1000px){.plp-grid,.plp-grid.cols-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){
  .plp-grid,.plp-grid.cols-3{grid-template-columns:1fr 1fr;gap:24px 12px}
  .plp-h1{font-size:clamp(32px,10vw,52px) !important}
  .plp-filters{gap:10px}
  .fsel select{padding:11px 40px 11px 18px;font-size:13px}
}

/* ============================================================= FABRICS PAGE */
.fb-stats{display:flex;gap:clamp(28px,5vw,64px);margin-top:clamp(30px,4vh,48px)}
.fb-stat{display:flex;flex-direction:column;gap:4px}
.fb-stat b{font-family:var(--font-display),Georgia,serif;font-weight:var(--display-weight);font-size:clamp(32px,4vw,54px);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.fb-stat span{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--g-600)}
.fb-body{background:var(--paper);padding-block:clamp(20px,3vh,40px) clamp(56px,9vh,120px)}
/* sticky filter toolbar */
.fb-toolbar{position:sticky;top:90px;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:12px 0;margin-bottom:clamp(30px,5vh,56px)}
.fb-toolbar::before{content:"";position:absolute;top:-90px;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid var(--hairline)}
.fb-filters{display:inline-flex;flex-wrap:wrap;gap:8px}
.fb-chip{appearance:none;cursor:pointer;font-family:var(--font-body),sans-serif;font-size:13px;font-weight:600;letter-spacing:-.01emem;color:var(--g-600);background:none;border:1px solid var(--hairline);border-radius:100px;padding:10px 20px;transition:background .35s ease,color .35s ease,border-color .35s ease}
.fb-chip:hover{border-color:var(--g-400);color:var(--ink)}
.fb-chip.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.fb-count{font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--g-600);white-space:nowrap}
.fb-count b{color:var(--ink);font-weight:700}
/* collection blocks */
.fb-collections{display:flex;flex-direction:column;gap:clamp(44px,7vh,88px)}
.fb-col{opacity:1;transition:opacity .4s ease}
.fb-col.hide{display:none}
.fb-col-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:clamp(20px,3vh,30px);padding-bottom:16px;border-bottom:1px solid var(--hairline)}
.fb-col-head .l{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.fb-col-head h2{font-family:var(--font-display),Georgia,serif;font-weight:var(--display-weight);font-size:clamp(26px,3.2vw,42px);line-height:1;letter-spacing:-.03em;margin:0}
.fb-col-head .cat{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--paper);background:var(--ink);border-radius:100px;padding:6px 13px}
.fb-col-head .qual{font-size:13.5px;color:var(--g-600)}
.fb-col-head .cnt{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--g-400)}
.fb-r{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.fb-care{display:inline-flex;align-items:center;gap:12px}
.fb-care .ci{position:relative;display:inline-flex;outline:none}
.fb-care .ci svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.75;transition:opacity .3s ease}
.fb-care .ci:hover svg,.fb-care .ci:focus-visible svg{opacity:1}
.fb-care .ci::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);
  background:#0A0A0A;color:#fff;font-family:var(--font-body),sans-serif;font-size:11px;font-weight:600;letter-spacing:-.01emem;line-height:1;
  white-space:nowrap;padding:8px 11px;border-radius:7px;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease;z-index:20}
.fb-care .ci::before{content:"";position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%) translateY(4px);
  border:5px solid transparent;border-top-color:#0A0A0A;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease;z-index:20}
.fb-care .ci:hover::after,.fb-care .ci:focus-visible::after,.fb-care .ci:hover::before,.fb-care .ci:focus-visible::before{opacity:1;transform:translateX(-50%) translateY(0)}
@media (max-width:560px){.fb-care .ci svg{width:19px;height:19px}.fb-care{gap:9px}}
/* swatch grid */
.fb-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:clamp(12px,1.4vw,20px)}
.fb-sw{position:relative;display:flex;flex-direction:column;gap:9px;cursor:pointer}
.fb-sw .chip{position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .5s cubic-bezier(.2,.6,.2,1),box-shadow .4s ease}
/* woven texture overlay */
.fb-sw .chip::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.5) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.28) 0 1px,transparent 1px 3px)}
.fb-sw .chip::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 120% at 30% 25%,rgba(255,255,255,.22),transparent 60%),radial-gradient(120% 120% at 75% 85%,rgba(0,0,0,.16),transparent 55%)}
.fb-sw:hover .chip{transform:translateY(-4px) scale(1.02);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 14px 26px -12px rgba(0,0,0,.32)}
.fb-sw .nm{font-size:11.5px;letter-spacing:.01em;color:var(--g-600);text-align:center;transition:color .3s ease}
.fb-sw:hover .nm{color:var(--ink)}
.fb-sw .chip.sel-ring{box-shadow:inset 0 0 0 2px var(--ink)}
/* wood-grain finish swatches (oak) */
.fb-sw .chip.is-wood::after{opacity:.6;mix-blend-mode:multiply;
  background-image:
    repeating-linear-gradient(90deg,rgba(52,30,12,.20) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgba(52,30,12,.11) 0 2px,transparent 2px 11px),
    repeating-linear-gradient(90deg,rgba(255,238,214,.12) 0 1px,transparent 1px 6px)}
.fb-sw .chip.is-wood::before{background:
    linear-gradient(90deg,rgba(0,0,0,.14),transparent 22%,transparent 78%,rgba(0,0,0,.14)),
    radial-gradient(140% 60% at 30% 20%,rgba(255,240,220,.22),transparent 55%),
    radial-gradient(120% 70% at 72% 88%,rgba(0,0,0,.2),transparent 55%)}
/* fabric zoom overlay */
.fb-zoom{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(10,10,10,.62);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);
  opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s}
.fb-zoom.open{opacity:1;visibility:visible}
.fb-zoom-x{position:absolute;top:22px;right:26px;appearance:none;border:0;background:none;color:var(--paper);font-size:22px;line-height:1;cursor:pointer;opacity:.8;transition:opacity .3s ease}
.fb-zoom-x:hover{opacity:1}
.fb-zoom-card{display:flex;flex-direction:column;align-items:center;gap:26px;transform:scale(.9);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.fb-zoom.open .fb-zoom-card{transform:none}
.fb-zoom-chip{position:relative;width:min(72vw,440px);height:min(72vw,440px);max-height:64vh;border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -24px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.12)}
.fb-zoom-chip::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.5) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(0,0,0,.28) 0 1px,transparent 1px 4px)}
.fb-zoom-chip::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 120% at 30% 25%,rgba(255,255,255,.22),transparent 60%),radial-gradient(120% 120% at 75% 85%,rgba(0,0,0,.18),transparent 55%)}
.fb-zoom-meta{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--paper);text-align:center}
.fb-zoom-col{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.fb-zoom-nm{font-family:var(--font-display),Georgia,serif;font-weight:var(--display-weight);font-size:clamp(24px,3vw,36px);letter-spacing:-.02em}
.fb-sw .chip{cursor:zoom-in}
/* sample CTA */
.fb-sample{background:#0A0A0A;color:var(--paper);padding-block:clamp(56px,9vh,110px)}
.fb-sample-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(30px,5vw,72px);align-items:center}
.fb-sample-txt .eyebrow{color:rgba(255,255,255,.6);margin-bottom:16px}
.fb-sample-txt h2{font-family:var(--font-display),Georgia,serif;font-weight:var(--display-weight);font-size:clamp(30px,4.2vw,58px);line-height:1.04;letter-spacing:-.03em;margin:0 0 20px;color:var(--paper)}
.fb-sample-lead{color:rgba(255,255,255,.68);font-size:clamp(15px,1.4vw,18px);line-height:1.6;margin:0;max-width:46ch;font-weight:300}
.fb-sample-acts{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.fb-btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-body),sans-serif;font-size:14px;font-weight:700;letter-spacing:.01em;color:var(--ink);background:var(--paper);border:1px solid var(--paper);border-radius:100px;padding:15px 30px;transition:gap .35s cubic-bezier(.2,.6,.2,1),background .35s ease,color .35s ease}
.fb-btn .arw{transition:transform .35s cubic-bezier(.2,.6,.2,1)}
.fb-btn:hover{gap:1em}
.fb-btn:hover .arw{transform:translateX(3px)}
.fb-btn.ghost{background:none;color:var(--paper);border-color:rgba(255,255,255,.4)}
.fb-btn.ghost:hover{border-color:var(--paper)}
@media (max-width:760px){
  .fb-toolbar{position:static;padding:0;margin-bottom:34px}
  .fb-toolbar::before{display:none}
  .fb-swatches{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:12px}
  .fb-sample-inner{grid-template-columns:1fr;gap:32px}
  .fb-sample-acts{flex-direction:row;flex-wrap:wrap}
}
