/* ============================================================= DESIGN SYSTEM */
:root{
  /* Color — strict monochrome, no accent */
  --paper:#FFFFFF;
  --ink:#0A0A0A;
  --g-100:#F4F4F3;
  --g-200:#E7E6E4;
  --g-400:#B9B8B5;
  --g-600:#6E6D6A;
  --g-800:#2A2A28;

  /* Type */
  --font-display:"Syne";
  --font-body:"Syne";
  --display-weight:700;
  --type-scale:0.93;     /* global headline multiplier */
  --track-label:.39em;   /* uppercase eyebrow tracking */

  --maxw:100000px;   /* no cap — content fills viewport with consistent --gutter on both sides at any resolution (2K/4K included) */
  --gutter:45px;
  --hairline:var(--g-200);
}

*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:96px;scrollbar-width:thin;scrollbar-color:var(--g-400) transparent}
/* custom monochrome page scrollbar (WebKit) */
html::-webkit-scrollbar{width:11px}
html::-webkit-scrollbar-track{background:var(--g-100)}
html::-webkit-scrollbar-thumb{background:var(--g-400);border:3px solid var(--g-100);border-radius:20px}
html::-webkit-scrollbar-thumb:hover{background:var(--ink)}
body{
  margin:0;
  font-family:var(--font-body),system-ui,sans-serif;
  font-weight:300;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:17px;
  letter-spacing:-.005em;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* Display type */
.display{
  font-family:var(--font-display),Georgia,serif;
  font-weight:var(--display-weight);
  line-height:1.04;
  letter-spacing:-.02em;
  text-wrap:balance;
}

/* Eyebrow / small uppercase label */
.eyebrow{
  font-family:var(--font-body),sans-serif;
  font-weight:400;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:var(--track-label);
  color:var(--g-600);
  margin:0;
}

/* Text link — underline reveal, the only "button" style */
.tlink{
  position:relative;overflow:hidden;z-index:0;
  display:inline-flex;align-items:center;gap:.55em;
  font-size:13px;font-weight:700;letter-spacing:.01em;
  padding:9px 14px;
  border:1px solid transparent;
  border-bottom-color:var(--ink);
  width:fit-content;
  transition:gap .35s cubic-bezier(.2,.6,.2,1),color .45s ease,border-color .45s ease;
}
.tlink::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .5s cubic-bezier(.2,.6,.2,1);z-index:-1}
.tlink .arw{transition:transform .35s cubic-bezier(.2,.6,.2,1)}
.tlink:hover{gap:.9em;color:var(--paper);border-color:transparent}
.tlink:hover::before{transform:scaleY(1)}
.tlink:hover .arw{transform:translateX(3px)}
.tlink.on-dark{border-bottom-color:var(--paper)}

/* Outline link variant (thin 1px outline, no fill) */
.olink{
  display:inline-flex;align-items:center;gap:.6em;
  font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  padding:15px 26px;border:1px solid var(--ink);
  transition:background .4s,color .4s;
}
.olink:hover{background:var(--ink);color:var(--paper)}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
section{position:relative}
.hairline{height:1px;background:var(--hairline);border:0;margin:0}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(22px);transition:opacity 1.05s cubic-bezier(.16,.7,.2,1),transform 1.05s cubic-bezier(.16,.7,.2,1);will-change:opacity,transform}
.reveal.is-in{opacity:1;transform:none}
.reveal.is-in{will-change:auto}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* Parallax layers (subtle, transform driven by scroll) */
.parallax{will-change:transform}

/* ============================================================= 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;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:900px){
  .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,.12)}.hero .veil-2{position:absolute;inset:0;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%)}
.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));font-weight:700;letter-spacing:-.03em;line-height:1.0;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{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 span{font-size:11px;letter-spacing:.17em;text-transform:uppercase;writing-mode:vertical-rl;display:none}
@keyframes cue{0%{top:-100%}55%,100%{top:100%}}

/* ============================================================= HERO — inherited from Κατηγορίες (fixed video, curtain reveal) */
.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;color:var(--paper)}
.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-intro .scroll-cue .cue-txt{display:block;font-size:11px;letter-spacing:.21em;text-transform:uppercase;color:rgba(255,255,255,.7);writing-mode:horizontal-tb}
/* the page content scrolls up over the fixed hero as one sheet */
.page-sheet{position:relative;z-index:2;margin-top:100svh;background:var(--paper);box-shadow:0 -40px 80px rgba(0,0,0,.28)}
.page-sheet>section:first-child{margin-top:0}
@media (max-width:760px){.cat-h1{font-size:clamp(38px,12vw,60px)}}

/* ============================================================= 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}
.manifesto p.manifesto-sub{font-family:var(--font-body);font-weight:400;font-size:clamp(16px,1.25vw,19px);line-height:1.7;letter-spacing:0;max-width:66ch;color:var(--g-500);margin-top:clamp(24px,3vh,38px)}

/* ============================================================= 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}
}

/* ============================================================= HERITAGE / STORY */
.heritage{background:var(--paper)}
.heritage-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,96px);align-items:center}
.heritage-main{display:flex;flex-direction:column;gap:clamp(36px,5vh,64px)}
.heritage-media{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--g-100)}
.heritage-media img{width:100%;height:100%;object-fit:cover;display:block}
.heritage-lead{font-family:var(--font-display);font-weight:var(--display-weight);font-size:calc(clamp(24px,2.8vw,40px) * var(--type-scale));line-height:1.24;letter-spacing:-.02em;margin:0;text-wrap:balance;max-width:44ch}
.heritage-sub{font-family:var(--font-body);font-weight:400;font-size:clamp(15px,1.15vw,18px);line-height:1.7;color:#6E6D6A;margin:clamp(18px,2.2vh,26px) 0 0;max-width:52ch}
.heritage-stats{display:flex;gap:clamp(40px,6vw,96px);flex-wrap:wrap}
.hstat{display:flex;flex-direction:column;gap:clamp(14px,1.4vw,20px)}
.hstat .hnum{font-family:var(--font-display);font-weight:var(--display-weight);font-size:clamp(36px,4.4vw,64px);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.hstat .hlbl{font-size:clamp(15px,1.05vw,17px);line-height:1.5;color:var(--g-600);max-width:14ch}
@media (max-width:820px){
  .heritage-grid{grid-template-columns:1fr;gap:clamp(28px,4vh,44px);align-items:start}
  .heritage-stats{gap:clamp(20px,5vw,40px)}
}
@media (max-width:560px){
  .heritage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 12px}
  .heritage-stats .hnum{font-size:clamp(28px,8vw,40px)}
  .heritage-stats .hlbl{font-size:13px;max-width:none}
}

/* ============================================================= COMPANY CTA */
.company-cta{background:var(--g-100);border-top:1px solid var(--hairline)}
.cta-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(28px,4vh,48px)}
.cta-inner h2{font-family:var(--font-display);font-weight:var(--display-weight);font-size:calc(clamp(34px,5vw,72px) * var(--type-scale));line-height:1.02;letter-spacing:-.03em;margin:0}
.cta-links{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,44px);flex-wrap:wrap}

/* ============================================================= 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;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}
  .manifesto p.manifesto-sub{font-size:clamp(15px,2.2vw,18px) !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.manifesto-sub{font-size:15px !important;line-height:1.65}
  .manifesto p.manifesto-sub.reveal{margin-top:18px !important}
  .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}
