/* Matbaa Design & Print, site styles v2 */
[hidden]{display:none!important}
:root{
  --bg:#FFFFFF; --soft:#F5F5F2; --soft-2:#ECECE7; --line:#E2E2DC;
  --ink:#1C2333; --ink-2:#454C5E; --muted:#666C7A;
  --orange:#F29100; --orange-hi:#FFA51F; --orange-ink:#9E5400; --orange-soft:#FFF4E2;
  --xmas:#B3122B; --ok:#1F6B3A;
  --r-s:8px; --r-m:16px; --r-l:24px;
  --wrap:1240px;
  --font:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --shadow:0 1px 2px rgba(28,35,51,.06),0 8px 24px -12px rgba(28,35,51,.18);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--font);font-variation-settings:"wdth" 100}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--ink);color:#fff;padding:10px 16px}
.skip:focus{left:12px;top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3,h4{margin:0 0 .45em;line-height:1.08;letter-spacing:-.015em;font-weight:800}
h1{font-size:clamp(2.5rem,5.6vw,4.6rem);font-variation-settings:"wdth" 112}
h2{font-size:clamp(1.85rem,3.4vw,2.9rem);font-variation-settings:"wdth" 108}
h3{font-size:1.2rem;font-weight:750;line-height:1.25}
p{margin:0 0 1em;max-width:68ch}
.lead{font-size:1.17rem;color:var(--ink-2);max-width:58ch}
.muted{color:var(--muted)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 24px;border-radius:999px;border:2px solid transparent;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .18s ease,transform .18s ease,box-shadow .18s ease,color .18s ease}
.btn:active{transform:scale(.98)}
.btn svg{width:18px;height:18px;flex:none}
.btn--primary{background:var(--orange);color:var(--ink)}
.btn--primary:hover{background:var(--orange-hi);box-shadow:0 6px 18px -6px rgba(242,145,0,.6)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#2b3550}
.btn--line{border-color:var(--ink);background:transparent}
.btn--line:hover{background:var(--ink);color:#fff}
.btn--white{background:#fff;color:var(--ink)}
.btn--sm{min-height:40px;padding:0 16px;font-size:.93rem}
.link{font-weight:700;color:var(--orange-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:650;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--ink-2)}
.chip--orange{background:var(--orange-soft);color:var(--orange-ink)}

/* ---------- announcement ticker ---------- */
.ticker{background:var(--xmas);color:#fff;font-size:.9rem;font-weight:650;position:relative;display:flex;align-items:center;overflow:hidden}
.ticker[hidden]{display:none}
.ticker__viewport{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker__track{display:flex;width:max-content;animation:tick 55s linear infinite;padding:10px 0}
.ticker:hover .ticker__track,.ticker:focus-within .ticker__track{animation-play-state:paused}
.ticker__item{display:inline-flex;align-items:center;gap:14px;padding:0 22px;white-space:nowrap}
.ticker__item svg{width:14px;height:14px;opacity:.9}
.ticker__cta{flex:none;background:#fff;color:var(--xmas);text-decoration:none;font-weight:800;font-size:.85rem;padding:6px 14px;border-radius:999px;margin:0 14px}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none}}

/* ---------- header ---------- */
.utility{background:var(--soft);font-size:.86rem;color:var(--ink-2)}
.utility .wrap{display:flex;gap:22px;align-items:center;min-height:36px}
.utility a{text-decoration:none;font-weight:600}
.utility a:hover{color:var(--orange-ink)}
.utility .right{margin-left:auto;display:flex;gap:22px}
@media (max-width:860px){.utility{display:none}}
.header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.header .wrap{display:flex;align-items:center;gap:20px;height:76px}
.brand{flex:none;display:block}
.brand img{width:128px;height:auto}
.nav{display:flex;align-items:center;gap:4px;margin-left:8px}
.nav > a,.nav > button{white-space:nowrap;background:none;border:0;padding:10px 11px;border-radius:999px;font-weight:650;font-size:.97rem;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav > a:hover,.nav > button:hover,.nav > button[aria-expanded=true]{background:var(--soft)}
.nav > a[aria-current=page]{color:var(--orange-ink)}
.nav .caret{width:10px;height:10px;transition:transform .2s ease}
.nav button[aria-expanded=true] .caret{transform:rotate(180deg)}
.header__tools{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{width:46px;height:46px;border-radius:999px;border:1px solid var(--line);background:#fff;display:inline-grid;place-items:center;cursor:pointer;text-decoration:none}
.icon-btn:hover{background:var(--soft)}
.icon-btn svg{width:20px;height:20px}
.menu-toggle{display:none}
@media (max-width:1440px){.header .search{width:46px}.header .search input{padding:0;width:46px;color:transparent;cursor:pointer}.header .search input::placeholder{color:transparent}.header .search input:focus{position:absolute;right:0;top:0;width:340px;padding:0 16px 0 44px;color:var(--ink);z-index:2}.header .search input:focus::placeholder{color:var(--muted)}.header .search > svg{z-index:3}}
@media (max-width:1100px){.nav{display:none}.menu-toggle{display:inline-grid}.header .btn--primary{display:none}}
@media (max-width:420px){.brand img{width:108px}}

/* mega menu */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(28,35,51,.35);display:none}
.mega.open{display:block;animation:drop .22s ease}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}}
.mega__inner{display:grid;grid-template-columns:repeat(4,1fr) 1.2fr;gap:28px;padding:32px 24px 36px;max-width:var(--wrap);margin:0 auto}
.mega h3{font-size:1rem;margin-bottom:10px}
.mega h3 a{text-decoration:none}
.mega h3 a:hover{color:var(--orange-ink)}
.mega ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:6px;font-size:.94rem}
.mega li a{text-decoration:none;color:var(--ink-2)}
.mega li a:hover{color:var(--orange-ink);text-decoration:underline}
.mega__promo{background:var(--soft);border-radius:var(--r-m);padding:22px;display:flex;flex-direction:column;gap:10px}
.mega__promo img{border-radius:var(--r-s);aspect-ratio:4/3;object-fit:cover;width:100%}

/* search */
.search{position:relative;width:min(320px,28vw)}
.search input{width:100%;height:46px;border:1px solid var(--line);border-radius:999px;padding:0 16px 0 44px;font:inherit;font-size:.95rem;background:var(--soft)}
.search input:focus{background:#fff;outline:3px solid var(--orange);outline-offset:1px}
.search > svg{position:absolute;left:15px;top:13px;width:20px;height:20px;color:var(--muted);pointer-events:none}
.suggest{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:320px;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow);list-style:none;margin:0;padding:8px;z-index:95;max-height:420px;overflow:auto}
.suggest[hidden]{display:none}
.suggest a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;text-decoration:none}
.suggest a:hover,.suggest a[aria-selected=true]{background:var(--soft)}
.suggest img{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:8px;border:1px solid var(--line)}
.suggest small{display:block;color:var(--muted);font-size:.8rem}
.suggest .empty{padding:10px;color:var(--muted);font-size:.93rem}
@media (max-width:1100px){.header .search{display:none}}
.header .suggest{right:0;left:auto;width:380px}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:120;display:none}
.drawer.open{display:block}
.drawer__scrim{position:absolute;inset:0;background:rgba(28,35,51,.45)}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,92vw);background:#fff;overflow:auto;padding:18px 22px 120px;animation:slidein .25s ease}
@keyframes slidein{from{transform:translateX(30px);opacity:.4}}
.drawer__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.drawer .search{width:100%;margin-bottom:12px}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;cursor:pointer;padding:14px 0;font-weight:700;display:flex;justify-content:space-between}
.drawer summary::-webkit-details-marker{display:none}
.drawer details ul{list-style:none;padding:0 0 12px;margin:0;display:grid;gap:4px}
.drawer details li a{display:block;padding:7px 0;text-decoration:none;color:var(--ink-2)}
.drawer > .drawer__panel > a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-weight:700;text-decoration:none}

/* ---------- hero ---------- */
.hero{padding:48px 0 28px}
.hero__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.hero h1{margin-bottom:.3em}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 18px}
.hero__micro{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;color:var(--orange-ink)}
.hero__micro:hover{text-decoration:underline}
.hero__micro .dot{width:10px;height:10px;border-radius:50%;background:#2DB55D;box-shadow:0 0 0 4px rgba(45,181,93,.18)}
.trust{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:.95rem;color:var(--ink-2)}
.trust b{color:var(--ink)}
.stars{color:var(--orange);letter-spacing:1px}
.hero__media{position:relative}
.hero__photo{border-radius:var(--r-l);overflow:hidden;aspect-ratio:1.08/1;background:var(--soft)}
.hero__photo img{width:100%;height:100%;object-fit:cover}
.hero__badge{position:absolute;left:-22px;bottom:30px;background:#fff;border-radius:var(--r-m);box-shadow:var(--shadow);padding:14px 18px;display:flex;gap:12px;align-items:center;font-size:.93rem;max-width:280px}
.hero__badge img{width:54px;height:54px;object-fit:contain}
.hero__badge b{display:block}
.reg{position:absolute;width:28px;height:28px;color:var(--ink)}
.reg--tl{top:-14px;left:-14px}.reg--br{bottom:-14px;right:-14px}
@media (max-width:960px){.hero__grid{grid-template-columns:1fr;gap:34px}.hero__badge{left:12px;bottom:12px}}

/* moving strip of real products */
.strip{overflow:hidden;padding:26px 0 8px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.strip__track{display:flex;gap:16px;width:max-content;animation:tick 70s linear infinite}
.strip:hover .strip__track{animation-play-state:paused}
.strip a{flex:none;width:150px;height:150px;border:1px solid var(--line);border-radius:var(--r-m);background:#fff;display:grid;place-items:center;padding:14px}
.strip img{max-height:100%;width:auto;object-fit:contain}
@media (prefers-reduced-motion:reduce){.strip__track{animation:none;flex-wrap:nowrap;overflow-x:auto}}

/* ---------- sections ---------- */
.section{padding:88px 0}
.section--soft{background:var(--soft)}
.section--ink{background:var(--ink);color:#fff}
.section--ink .lead,.section--ink .muted{color:#c7ccd8}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.head > div{max-width:640px}
.head p{margin:0}
@media (max-width:760px){.section{padding:60px 0}}

/* product card */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cards--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.cards,.cards--3{grid-template-columns:repeat(2,1fr);gap:12px}}
.card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d2d2ca}
.card__img{aspect-ratio:1/1;display:grid;place-items:center;padding:18px;background:#fff}
.card__img img{max-height:100%;width:auto;object-fit:contain;transition:transform .35s ease}
.card:hover .card__img img{transform:scale(1.04)}
.card__img--cover{padding:0}
.card__img--cover img{width:100%;height:100%;object-fit:cover}
.card__body{padding:14px 16px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;flex:1}
.card__body h3{font-size:1.04rem;margin:0}
.card__meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:.88rem}
.card__quote{font-weight:750;color:var(--orange-ink)}
.card__quote::after{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);margin-left:6px;transition:transform .2s ease}
.card:hover .card__quote::after{transform:translateX(3px) rotate(45deg)}
.card--item .card__body{gap:10px}
.card--item button{align-self:flex-start}

/* reveal (cards only) */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
  .js .reveal.in{opacity:1;transform:none}
}

/* carousel */
.carousel{position:relative}
.carousel__track{align-items:start;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 8px}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__track > *{scroll-snap-align:start}
@media (max-width:1000px){.carousel__track{grid-auto-columns:calc((100% - 40px)/3)}}
@media (max-width:760px){.carousel__track{grid-auto-columns:72%;gap:12px}}
.carousel__btns{display:flex;gap:8px}

/* industries */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,1fr);gap:12px}}
.tile{position:relative;display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:14px;border-radius:var(--r-m);background:#fff;border:1px solid var(--line);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}
.tile:hover{border-color:var(--orange);box-shadow:var(--shadow)}
.tile img{width:96px;height:96px;object-fit:cover;border-radius:12px;background:var(--soft)}
.tile h3{margin:0 0 4px;font-size:1.05rem}
.tile p{margin:0;font-size:.88rem;color:var(--muted)}
@media (max-width:560px){.tile{grid-template-columns:64px 1fr;gap:12px;padding:10px}.tile img{width:64px;height:64px}.tile p{display:none}}

/* categories */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cat{position:relative;border-radius:var(--r-l);overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column}
.cat__img{aspect-ratio:4/3;display:grid;place-items:center;padding:20px;background:#fff}
.cat__img img{max-height:100%;width:auto;object-fit:contain;transition:transform .4s ease}
.cat:hover .cat__img img{transform:scale(1.05)}
.cat__body{padding:16px 18px 18px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.cat h3{margin:0;font-size:1.15rem}
.cat .count{font-size:.85rem;color:var(--muted)}
@media (max-width:1000px){.cats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cats{gap:12px}.cat__body{padding:12px}.cat h3{font-size:1rem}}

/* same day band */
.sameday{background:var(--orange);color:var(--ink);border-radius:var(--r-l);padding:56px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;overflow:hidden;position:relative}
.sameday h2{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.sameday ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sameday li{background:rgba(255,255,255,.55);border-radius:12px;padding:12px 14px;font-weight:650}
.sameday .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
@media (max-width:860px){.sameday{grid-template-columns:1fr;padding:32px 22px}}

/* packs */
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pack{border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:#fff;display:flex;flex-direction:column}
.pack__img{aspect-ratio:16/10;background:#fff;display:grid;place-items:center;padding:18px;border-bottom:1px solid var(--line)}
.pack__img img{max-height:100%;width:auto}
.pack__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.pack ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.pack li a{display:inline-block;font-size:.88rem;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--soft);text-decoration:none}
.pack li a:hover{background:var(--orange-soft);color:var(--orange-ink)}
.pack .btn{margin-top:auto;align-self:flex-start}
@media (max-width:900px){.packs{grid-template-columns:1fr}}

/* work gallery */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-weight:650;cursor:pointer}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.gallery{columns:4 240px;column-gap:16px}
.gallery figure{break-inside:avoid;margin:0 0 16px;border-radius:var(--r-m);overflow:hidden;position:relative;background:var(--soft)}
.gallery img{width:100%}
.gallery figcaption{position:absolute;left:10px;bottom:10px;right:10px;background:rgba(255,255,255,.94);border-radius:10px;padding:8px 12px;font-size:.86rem;font-weight:650;display:flex;justify-content:space-between;gap:8px}
.gallery figcaption span{color:var(--muted);font-weight:500}
.gallery figure[hidden]{display:none}

/* why */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px}
.why div{padding-top:18px;border-top:2px solid var(--ink)}
.why svg{width:30px;height:30px;color:var(--orange);margin-bottom:12px}
.why h3{font-size:1.08rem}
.why p{font-size:.95rem;color:var(--muted);margin:0}
@media (max-width:900px){.why{grid-template-columns:1fr 1fr}}

/* reviews */
.reviews{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.reviews::-webkit-scrollbar{display:none}
@media (max-width:900px){.reviews{grid-auto-columns:82%}}
.review{scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:24px;margin:0;display:flex;flex-direction:column;gap:14px}
.review blockquote{margin:0;font-size:1.03rem}
.review figcaption{margin-top:auto;font-weight:700;font-size:.95rem}
.review figcaption span{display:block;font-weight:500;color:var(--muted);font-size:.88rem}
.gscore{display:flex;align-items:center;gap:14px}
.gscore b{font-size:2.6rem;line-height:1;font-variation-settings:"wdth" 115}

/* brand names strip */
.names{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.names__track{display:flex;gap:56px;width:max-content;animation:tick 60s linear infinite;font-weight:800;font-size:1.35rem;color:#9a9ea8;font-variation-settings:"wdth" 118;letter-spacing:-.01em}
@media (prefers-reduced-motion:reduce){.names__track{animation:none;flex-wrap:wrap}}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;counter-reset:s}
.steps li{counter-increment:s;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-m);padding:20px 18px}
.steps li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--orange);color:var(--ink);font-weight:850;margin-bottom:14px}
.steps h3{font-size:1rem;margin-bottom:6px}
.steps p{font-size:.9rem;color:#c7ccd8;margin:0}
@media (max-width:1100px){.steps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.steps{grid-template-columns:1fr 1fr}}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split__media{border-radius:var(--r-l);overflow:hidden;background:var(--soft)}
.split__media img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:28px}}

/* production */
.prod{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.prod article{border-radius:var(--r-m);overflow:hidden;background:#fff;border:1px solid var(--line)}
.prod img{aspect-ratio:4/3;object-fit:cover;width:100%}
.prod div{padding:18px}
.prod p{margin:0;color:var(--muted);font-size:.95rem}
@media (max-width:1000px){.prod{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.prod{grid-template-columns:1fr}}

/* final CTA */
.final{background:var(--ink);color:#fff;border-radius:var(--r-l);padding:56px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px}
.final h2{font-size:clamp(2.4rem,5vw,4rem)}
.final dl{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0;align-self:center}
.final dt{color:#9aa3b8;font-weight:600}
.final dd{margin:0;font-weight:650}
.final a{color:#fff}
@media (max-width:860px){.final{grid-template-columns:1fr;padding:32px 22px}}

/* ---------- page layouts ---------- */
.crumbs{font-size:.88rem;color:var(--muted);padding-top:20px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:#b7bac2}
.crumbs a{color:var(--muted)}
.page-head{padding-top:22px;padding-bottom:44px}
.page-head .lead{margin-bottom:0}
.page-head--split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.page-head--split .ph-img{border-radius:var(--r-l);overflow:hidden;background:#fff;border:1px solid var(--line);aspect-ratio:4/3;display:grid;place-items:center;padding:18px}
.page-head--split .ph-img img{max-height:100%;width:auto;object-fit:contain}
.page-head--split .ph-img.cover{padding:0}.page-head--split .ph-img.cover img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.page-head--split{grid-template-columns:1fr}}

/* product detail */
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;padding-top:16px;padding-bottom:56px}
.pdp__gallery{position:sticky;top:96px}
.pdp__main{border:1px solid var(--line);border-radius:var(--r-l);aspect-ratio:1/1;display:grid;place-items:center;padding:36px;background:#fff}
.pdp__main img{max-height:100%;width:auto;object-fit:contain}
.pdp__thumbs{display:flex;gap:10px;margin-top:12px}
.pdp__thumbs button{width:76px;height:76px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:6px;cursor:pointer}
.pdp__thumbs button[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.pdp__thumbs img{width:100%;height:100%;object-fit:contain}
.pdp h1{font-size:clamp(2.1rem,4vw,3.3rem)}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.config{border:1px solid var(--line);border-radius:var(--r-l);padding:22px;background:#fff;margin-top:20px}
.config fieldset{border:0;padding:0;margin:0 0 16px}
.config legend{font-weight:750;font-size:.95rem;margin-bottom:8px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{position:relative}
.opts input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opts span{display:inline-block;padding:9px 14px;border:1px solid var(--line);border-radius:10px;font-size:.92rem;font-weight:600;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.opts input:checked + span{border-color:var(--ink);background:var(--ink);color:#fff}
.opts input:focus-visible + span{outline:3px solid var(--orange);outline-offset:2px}
.config__foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:16px;border-top:1px solid var(--line)}
.config__note{font-size:.88rem;color:var(--muted);margin:10px 0 0}
.assure{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.92rem}
.assure li{display:flex;gap:8px;align-items:flex-start}
.assure svg{width:18px;height:18px;color:var(--ok);flex:none;margin-top:3px}
@media (max-width:960px){.pdp{grid-template-columns:1fr}.pdp__gallery{position:static}}

.info{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media (max-width:900px){.info{grid-template-columns:1fr;gap:20px}}
.prose h2{font-size:clamp(1.45rem,2.4vw,2rem);margin-top:1.3em}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:20px}
.prose li{margin-bottom:.35em}
.spec{width:100%;border-collapse:collapse;font-size:.96rem}
.spec th,.spec td{text-align:left;padding:12px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.spec th{width:36%;font-weight:700}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;font-weight:700;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:24px;width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(-135deg);top:28px}
.faq details p{color:var(--ink-2)}

/* category page item grid */
.subnav{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:28px;scrollbar-width:thin}
.subnav a{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-weight:650;font-size:.92rem}
.subnav a:hover,.subnav a[aria-current=page]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* article */
.article{max-width:760px}
.article .prose p,.article .prose li{font-size:1.06rem}
.kcards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.kcard{border:1px solid var(--line);border-radius:var(--r-m);padding:24px;text-decoration:none;display:flex;flex-direction:column;gap:8px}
.kcard:hover{border-color:var(--orange)}
@media (max-width:760px){.kcards{grid-template-columns:1fr}}

/* contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.ways{display:grid;gap:12px}
.way{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--r-m);text-decoration:none;background:#fff}
.way:hover{border-color:var(--orange)}
.way svg{width:26px;height:26px;color:var(--orange-ink);flex:none}
.way b{display:block}
.way small{color:var(--muted)}

/* ---------- quote form & modal ---------- */
dialog.qm{border:0;padding:0;border-radius:var(--r-l);width:min(640px,94vw);max-height:92vh;box-shadow:0 40px 80px -20px rgba(0,0,0,.4)}
dialog.qm::backdrop{background:rgba(28,35,51,.55)}
.qm__inner{padding:28px}
.qm__close{position:absolute;top:14px;right:14px}
.qm h2{font-size:1.7rem;margin-right:40px}
.qm__product{display:flex;gap:12px;align-items:center;background:var(--soft);border-radius:12px;padding:10px 12px;margin:6px 0 18px}
.qm__product img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:8px}
.qm__product[hidden]{display:none}
.choices{display:grid;gap:10px}
.choice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-m);background:#fff;cursor:pointer;text-decoration:none}
.choice:hover{border-color:var(--orange);background:var(--orange-soft)}
.choice svg{width:26px;height:26px;flex:none;color:var(--orange-ink)}
.choice b{display:block;font-size:1.04rem}
.choice small{color:var(--muted)}
.choice--main{background:var(--ink);color:#fff;border-color:var(--ink)}
.choice--main small{color:#c7ccd8}.choice--main svg{color:var(--orange)}
.choice--main:hover{background:#2b3550;border-color:#2b3550}

.qf__progress{display:flex;gap:6px;margin:4px 0 6px}
.qf__progress span{height:5px;flex:1;border-radius:9px;background:var(--soft-2)}
.qf__progress span.on{background:var(--orange)}
.qf__count{font-size:.85rem;color:var(--muted);margin-bottom:14px}
.qf__step{display:none}
.qf__step.on{display:block;animation:fadein .25s ease}
@keyframes fadein{from{opacity:0;transform:translateX(8px)}}
.qf__step h3{font-size:1.3rem;margin-bottom:14px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label,.field .lbl{font-weight:650;font-size:.94rem}
.field small{color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #c5c8cf;border-radius:12px;padding:12px 14px;width:100%}
textarea{min-height:110px;resize:vertical}
.radios{display:grid;gap:8px}
.radios label{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-weight:600}
.radios label:has(input:checked){border-color:var(--ink);background:var(--soft)}
.radios input{accent-color:var(--ink);width:18px;height:18px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.two{grid-template-columns:1fr}}
.drop{border:2px dashed #c5c8cf;border-radius:var(--r-m);padding:26px;text-align:center;cursor:pointer;background:var(--soft)}
.drop.over{border-color:var(--orange);background:var(--orange-soft)}
.drop input{display:none}
.files{list-style:none;padding:0;margin:10px 0 0;font-size:.9rem}
.files li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}
.qf__nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.qf__error{color:var(--xmas);font-weight:650;font-size:.92rem;min-height:1.2em;margin:6px 0 0}
.qf__done{text-align:center;padding:20px 0}
.qf__done svg{width:56px;height:56px;color:var(--ok);margin:0 auto 12px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem}
.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--ink)}
.inline-form{border:1px solid var(--line);border-radius:var(--r-l);padding:28px;background:#fff}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:#c7ccd8;padding:72px 0 28px;font-size:.95rem;margin-top:0}
.footer a{color:#fff;text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer__grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
.footer h2{font-size:.98rem;color:#fff;margin-bottom:14px;font-variation-settings:"wdth" 100}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer__brand img{width:150px;margin-bottom:14px}
.news{display:flex;gap:8px;margin-top:14px}
.news input{border-radius:999px;border:0;padding:12px 16px;min-width:0;flex:1}
.footer__bottom{margin-top:52px;padding-top:22px;border-top:1px solid #2f3a55;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#8f98ad;font-size:.86rem}
@media (max-width:1000px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer__grid{grid-template-columns:1fr}}

/* sticky mobile bar */
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .mbar a,.mbar button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:999px;font-weight:750;text-decoration:none;border:1px solid var(--line);background:#fff;font-size:.95rem}
  .mbar svg{width:18px;height:18px}
  .mbar .q{background:var(--orange);border-color:var(--orange)}
  body{padding-bottom:72px}
}
/* mobile overflow guards */
.tile > div,.way > span,.contact-grid > *,.info > *,.split > *,.hero__grid > *{min-width:0}
.way b,.way small,.tile h3{overflow-wrap:anywhere}
@media (max-width:560px){.tiles{grid-template-columns:1fr}.tile p{display:block}}

/* =====================================================================
   v3: stronger Matbaa identity + motion
   ===================================================================== */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
:root{--orange-deep:#E07F00;--cream:#FFF6E8;--ease:cubic-bezier(.2,.8,.2,1)}
.header{border-bottom:3px solid var(--orange)}
::selection{background:var(--orange);color:var(--ink)}

/* button micro-interaction: an arrow that slides on hover */
.btn--arrow::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--ease);margin-left:2px}
.btn--arrow:hover::after{transform:translateX(4px) rotate(45deg)}
.btn--primary:hover{transform:translateY(-1px)}

/* ---------- hero v3: catalogue-style diagonal slices ---------- */
.hero3{position:relative;background:linear-gradient(180deg,var(--cream) 0%,#fff 88%);overflow:hidden;padding:40px 0 10px}
.hero3::before{content:"";position:absolute;right:-12%;top:-30%;width:62%;height:150%;background:var(--orange);transform:skewX(-24deg);opacity:.95}
.hero3__grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:560px}
.hero3 h1{font-size:clamp(2.7rem,6vw,5.2rem);line-height:1.02;margin-bottom:.35em}
.hero3 h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}
.hero3 h1 .w > span{display:inline-block}
.hero3 h1 .hl{color:var(--orange-deep)}
.slices{position:relative;aspect-ratio:1/1.02;width:100%;max-width:600px;justify-self:end}
.slice{position:absolute;inset:0;overflow:hidden;background:#ddd}
.slice img{width:100%;height:100%;object-fit:cover}
.slice--1{clip-path:polygon(0 0,46% 0,22% 100%,0 100%)}
.slice--2{clip-path:polygon(49% 0,80% 0,56% 100%,25% 100%)}
.slice--3{clip-path:polygon(83% 0,100% 0,100% 100%,59% 100%)}
.slices__badge{position:absolute;left:-8px;bottom:26px;z-index:3;background:#fff;border-radius:var(--r-m);box-shadow:0 24px 50px -20px rgba(28,35,51,.45);padding:14px 18px 14px 14px;display:flex;gap:12px;align-items:center;max-width:300px;font-size:.92rem}
.slices__badge img{width:56px;height:56px;object-fit:contain;mix-blend-mode:multiply}
.slices__badge b{display:block}
.slices__chip{position:absolute;right:6%;top:6%;z-index:3;background:var(--ink);color:#fff;border-radius:999px;padding:10px 16px;font-weight:700;font-size:.9rem;display:flex;gap:8px;align-items:center;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.slices__chip .dot{width:9px;height:9px;border-radius:50%;background:#2DB55D;box-shadow:0 0 0 4px rgba(45,181,93,.25)}
@media (prefers-reduced-motion:no-preference){
  .js .hero3 h1 .w > span{transform:translateY(105%);animation:rise .8s var(--ease) forwards}
  .js .hero3 .lead,.js .hero3 .hero__actions,.js .hero3 .hero__micro,.js .hero3 .trust{opacity:0;animation:fade .7s ease forwards .55s}
  .js .slice{animation:sliceIn 1s var(--ease) both}
  .js .slice--1{animation-delay:.05s}.js .slice--2{animation-delay:.2s}.js .slice--3{animation-delay:.35s}
  .js .slice img{animation:kb 9s ease-out both}
  .js .slices__badge{animation:pop .7s var(--ease) both .9s}
  .js .slices__chip{animation:pop .7s var(--ease) both 1.1s}
  .hero3::before{animation:sweep 1.1s var(--ease) both}
  @keyframes rise{to{transform:none}}
  @keyframes fade{to{opacity:1}}
  @keyframes sliceIn{from{transform:translateY(60px);opacity:0}}
  @keyframes kb{from{transform:scale(1.14)}}
  @keyframes pop{from{transform:translateY(16px) scale(.96);opacity:0}}
  @keyframes sweep{from{transform:skewX(-24deg) translateX(30%);opacity:0}}
}
@media (max-width:960px){
  .hero3::before{right:-40%;top:auto;bottom:-10%;height:55%;width:120%}
  .hero3__grid{grid-template-columns:1fr;min-height:0;gap:26px}
  .slices{justify-self:center;max-width:520px}
  .slices__badge{left:8px}
}

/* ---------- stats band with count-up ---------- */
.stats{background:var(--ink);color:#fff}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stats div.s{padding:34px 22px;border-left:1px solid #2f3a55}
.stats div.s:first-child{border-left:0;padding-left:0}
.stats b{display:block;font-size:clamp(2rem,4vw,3.2rem);line-height:1;color:var(--orange);font-weight:850;font-variation-settings:"wdth" 118;font-variant-numeric:tabular-nums}
.stats span{color:#c7ccd8;font-size:.95rem}
@media (max-width:760px){.stats .wrap{grid-template-columns:1fr 1fr}.stats div.s{padding:22px 14px}.stats div.s:nth-child(3){border-left:0;padding-left:0}}

/* ---------- brand tagline band (from the catalogue: Design | Print | Signs | Promo) ---------- */
.tagband{background:var(--orange);overflow:hidden;padding:22px 0;border-block:3px solid var(--ink)}
.tagband__track{display:flex;width:max-content;animation:tick 30s linear infinite;font-size:clamp(2.2rem,6vw,4.6rem);font-weight:850;line-height:1;color:var(--ink);font-variation-settings:"wdth" 120;letter-spacing:-.02em}
.tagband__track span{padding:0 .35em;white-space:nowrap}
.tagband__track i{font-style:normal;color:#fff;padding:0 .1em}
.tagband--rev .tagband__track{animation-direction:reverse}
@media (prefers-reduced-motion:reduce){.tagband__track{animation:none}}

/* ---------- shop the look: hotspots ---------- */
.look{display:grid;grid-template-columns:1.45fr .55fr;gap:28px;align-items:center}
.look__stage{position:relative;border-radius:var(--r-l);overflow:visible;background:var(--cream)}
.look__stage > img,.look__stage > .flat{border-radius:var(--r-l);width:100%;display:block}
.look__stage--photo{background:linear-gradient(160deg,#fff 0%,var(--cream) 100%);padding:4%}
.hs{position:absolute;transform:translate(-50%,-50%);z-index:4}
.hs__btn{width:34px;height:34px;border-radius:50%;border:0;background:#FFE14D;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 0 rgba(255,225,77,.7),0 4px 12px rgba(0,0,0,.25);transition:transform .2s var(--ease),background .2s ease;font-size:22px;font-weight:500;line-height:1}
.hs__btn:hover,.hs.open .hs__btn{transform:scale(1.12);background:#fff}
.hs.open .hs__btn{transform:rotate(45deg) scale(1.12)}
@media (prefers-reduced-motion:no-preference){.hs__btn{animation:pulse 2.4s ease-out infinite}.hs:nth-child(2n) .hs__btn{animation-delay:1.2s}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,225,77,.75),0 4px 12px rgba(0,0,0,.25)}70%{box-shadow:0 0 0 16px rgba(255,225,77,0),0 4px 12px rgba(0,0,0,.25)}100%{box-shadow:0 0 0 0 rgba(255,225,77,0),0 4px 12px rgba(0,0,0,.25)}}
.hs__card{position:absolute;left:50%;top:calc(100% + 12px);transform:translate(-50%,6px);width:270px;background:#fff;border-radius:18px;box-shadow:0 24px 48px -16px rgba(28,35,51,.45);padding:10px 14px 10px 10px;display:flex;gap:12px;align-items:center;text-decoration:none;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .25s var(--ease)}
.hs__card::before{content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:3px}
.hs.up .hs__card{top:auto;bottom:calc(100% + 12px)}
.hs.up .hs__card::before{top:auto;bottom:-7px}
.hs.left .hs__card{left:auto;right:-14px;transform:translate(0,6px)}.hs.left .hs__card::before{left:auto;right:24px}
.hs.right .hs__card{left:-14px;transform:translate(0,6px)}.hs.right .hs__card::before{left:24px}
.hs.open .hs__card,.hs:focus-within .hs__card{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.hs.left.open .hs__card,.hs.right.open .hs__card,.hs.left:focus-within .hs__card,.hs.right:focus-within .hs__card{transform:none}
.hs__card img{width:58px;height:58px;object-fit:contain;background:#F5F5F2;border-radius:12px;padding:4px;mix-blend-mode:normal}
.hs__card b{display:block;font-size:1rem;line-height:1.2}
.hs__card small{color:var(--muted);font-size:.86rem;line-height:1.3;display:block}
.hs__card em{font-style:normal;font-weight:750;color:var(--orange-ink);font-size:.84rem}
@media (hover:hover){.hs:hover .hs__card{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.hs.left:hover .hs__card,.hs.right:hover .hs__card{transform:none}}
.look__list{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:lk}
.look__list a{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:#fff;transition:border-color .2s ease,transform .2s var(--ease)}
.look__list a:hover,.look__list a.active{border-color:var(--orange);transform:translateX(4px)}
.look__list img{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#F5F5F2;padding:3px}
.look__list b{display:block;font-size:.97rem}
.look__list small{color:var(--muted)}
@media (max-width:900px){.look{grid-template-columns:1fr}.hs__card{width:230px}.hs__btn{width:30px;height:30px;font-size:20px}}

/* composed flat-lay from catalogue cut-outs (white backgrounds melt away with multiply) */
.flat{position:relative;aspect-ratio:16/10.5;background:radial-gradient(120% 90% at 30% 20%,#FFF1D6 0%,#FFD9A0 55%,#FDBB5B 100%);overflow:hidden}
.flat::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.0) 0 38px,rgba(255,255,255,.12) 38px 40px);pointer-events:none}
.flat .it{position:absolute;mix-blend-mode:multiply;transition:transform .5s var(--ease)}
.flat .it img{width:100%;height:auto;filter:saturate(1.05)}

/* section accents */
.head h2::after{content:"";display:block;width:56px;height:5px;border-radius:5px;background:var(--orange);margin-top:14px}
.page-head h1{position:relative}
.cat:hover{border-color:var(--orange);box-shadow:var(--shadow);transform:translateY(-3px)}
.cat{transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease}
.card:hover{border-color:var(--orange)}
.card__img{position:relative}
.card .card__img::after{content:"Get a fast quote";position:absolute;left:12px;right:12px;bottom:12px;background:var(--ink);color:#fff;border-radius:999px;text-align:center;font-weight:700;font-size:.85rem;padding:8px;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s var(--ease);pointer-events:none}
a.card:hover .card__img::after{opacity:1;transform:none}
@media (hover:none){.card .card__img::after{display:none}}
.tile{transition:border-color .2s ease,box-shadow .2s ease,transform .25s var(--ease)}
.tile:hover{transform:translateY(-3px)}
.tile img{transition:transform .4s var(--ease)}
.tile:hover img{transform:scale(1.06) rotate(-1.5deg)}
.gallery figure img{transition:transform .6s var(--ease)}
.gallery figure:hover img{transform:scale(1.05)}
.section--orange{background:var(--orange)}
.section--cream{background:var(--cream)}
.cat-title{font-weight:300;color:#B45F00;font-variation-settings:"wdth" 100;letter-spacing:-.03em}
.hs.open,.hs:hover,.hs:focus-within{z-index:20}
.slices__chip{text-decoration:none}
.look__list a:hover,.look__list a.active{transform:none;box-shadow:0 0 0 1px var(--orange)}
@media (max-width:560px){.hs__card{width:210px;padding:8px 10px 8px 8px}.hs__card img{width:44px;height:44px}}

/* =====================================================================
   v4: responsive hardening
   ===================================================================== */
html,body{overflow-x:clip}
img,video,svg{max-width:100%}
.pdp > *,.cards > *,.cats > *,.tiles > *,.packs > *,.prod > *,.why > *,.look > *,.final > *,.sameday > *,.xmas__grid > *,.footer__grid > *{min-width:0}
.pdp__thumbs{flex-wrap:wrap}
@media (max-width:560px){
  .pdp__thumbs button{width:62px;height:62px}
  .pdp__main{padding:20px}
  .btn{white-space:normal;text-align:center;line-height:1.2;padding:10px 20px}
  .sameday .btns .btn,.final .hero__actions .btn,.hero__actions .btn{flex:1 1 100%}
  .sameday{padding:28px 18px}
  .sameday ul{grid-template-columns:1fr 1fr;gap:8px}
  .sameday li{padding:10px;font-size:.92rem}
  .final{padding:28px 18px}
  .final dl{grid-template-columns:1fr;gap:2px}
  .final dd{margin-bottom:10px}
  .head{margin-bottom:24px}
  .carousel__btns{width:100%}
  h1{font-size:clamp(2.1rem,10vw,2.8rem)}
  .hero3 h1{font-size:clamp(2.3rem,11vw,3rem)}
  .section{padding:52px 0}
  .wrap{padding:0 18px}
  .ticker__cta{margin:0 8px;padding:6px 10px;font-size:.8rem}
  .stats b{font-size:1.9rem}
  .config{padding:16px}
  .opts span{padding:8px 11px;font-size:.88rem}
  .assure{grid-template-columns:1fr}
  .qm__inner{padding:20px 16px}
  .qm h2{font-size:1.35rem}
  .choice{padding:14px}
  .inline-form{padding:18px}
  .gallery{columns:2 140px;column-gap:10px}
  .gallery figure{margin-bottom:10px}
  .gallery figcaption{font-size:.78rem;padding:6px 8px;left:6px;right:6px;bottom:6px}
  .gallery figcaption span{display:none}
  .slices__badge{max-width:240px;padding:10px 12px;font-size:.85rem}
  .slices__badge img{width:42px;height:42px}
  .slices__chip{font-size:.8rem;padding:8px 12px}
  .spec th{width:40%}
  .footer{padding-top:52px}
}
@media (max-width:360px){
  .cards,.cards--3{grid-template-columns:1fr 1fr;gap:10px}
  .card__body{padding:10px 12px 12px}
  .card__meta{flex-direction:column;align-items:flex-start;gap:2px}
  .stats .wrap{grid-template-columns:1fr 1fr}
  .stats div.s{padding:18px 10px}
  .header .wrap{gap:10px}
  .icon-btn{width:42px;height:42px}
}
/* tablets: keep two-column layouts comfortable */
@media (min-width:761px) and (max-width:1100px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .look{grid-template-columns:1fr}
  .look__list{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(3,1fr)}
}
/* short landscape phones: keep the quote dialog usable */
@media (max-height:560px){dialog.qm{max-height:96vh}.qm__inner{padding:16px}.qf__step h3{font-size:1.1rem;margin-bottom:8px}}
/* hotspot cards: hidden ones are not focusable/clickable, and on phones they dock above the bottom bar */
.hs__card{visibility:hidden;transition:opacity .2s ease,transform .25s var(--ease),visibility 0s linear .25s}
.hs.open .hs__card,.hs:focus-within .hs__card{visibility:visible;transition:opacity .2s ease,transform .25s var(--ease),visibility 0s}
@media (hover:hover){.hs:hover .hs__card{visibility:visible;transition:opacity .2s ease,transform .25s var(--ease),visibility 0s}}
@media (max-width:640px){
  .hs__card,.hs.up .hs__card,.hs.left .hs__card,.hs.right .hs__card{position:fixed;left:12px;right:12px;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;transform:translateY(10px);z-index:95}
  .hs.open .hs__card,.hs:focus-within .hs__card,.hs.left.open .hs__card,.hs.right.open .hs__card,.hs.up.open .hs__card{transform:none}
  .hs__card::before{display:none}
}

/* product gallery: sensible size when stacked on tablets and phones */
@media (max-width:960px){.pdp__main{aspect-ratio:4/3;max-height:440px;padding:24px}.pdp{gap:24px}}
/* category cards: name and count stack on small screens */
@media (max-width:560px){.cat__body{flex-direction:column;align-items:flex-start;gap:2px;padding:12px}.cat h3{font-size:.98rem;line-height:1.2}.cat .count{font-size:.8rem}}
@media (max-width:1240px){.mega__inner{grid-template-columns:repeat(4,1fr)}.mega__promo{display:none}}
/* hotspots: centre with margins, not transform, so the phone pop-up can dock to the screen */
.hs{transform:none;margin:-17px 0 0 -17px}
@media (max-width:900px){.hs{margin:-15px 0 0 -15px}}

/* =====================================================================
   v5: single-image hero with crossfading slideshow
   ===================================================================== */
.hero4{background:var(--cream);padding:44px 0 28px;position:relative;overflow:hidden}
.hero4__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hero4 h1{font-size:clamp(2.6rem,5.2vw,4.5rem);line-height:1.03;letter-spacing:-.025em;margin-bottom:.4em;color:var(--ink)}
.hero4 .lead{font-size:clamp(1.08rem,1.5vw,1.25rem);color:var(--ink-2);max-width:34ch;line-height:1.55}
.hero4 .trust{border-top-color:#eadfcb}
.show-wrap{position:relative;padding:0 22px 22px 0}
.show-wrap::before{content:"";position:absolute;left:22px;top:22px;right:0;bottom:0;background:var(--orange);border-radius:28px}
.show{position:relative;aspect-ratio:5/6;border-radius:28px;overflow:hidden;background:#2a2f3c;box-shadow:0 30px 60px -28px rgba(28,35,51,.55);isolation:isolate}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;z-index:0}
.slide.on{opacity:1;z-index:1}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 7s cubic-bezier(.2,.6,.3,1)}
.slide.on img{transform:scale(1)}
.show__cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:64px 22px 20px;background:linear-gradient(180deg,rgba(15,18,28,0) 0%,rgba(15,18,28,.72) 100%);display:flex;justify-content:space-between;align-items:flex-end;gap:12px;color:#fff}
.show__label{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--ink);text-decoration:none;font-weight:750;border-radius:999px;padding:10px 16px 10px 12px;font-size:.98rem;box-shadow:0 10px 24px -10px rgba(0,0,0,.5);transition:transform .2s var(--ease)}
.show__label:hover{transform:translateY(-2px)}
.show__label .n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--orange);font-size:.8rem;font-weight:850}
.show__credit{font-size:.72rem;color:rgba(255,255,255,.82);text-decoration:none;text-align:right;line-height:1.3}
.show__credit:hover{text-decoration:underline}
.show__bars{position:absolute;top:16px;left:16px;right:64px;z-index:3;display:flex;gap:6px}
.show__bars button{flex:1;height:22px;border:0;background:none;padding:9px 0;cursor:pointer}
.show__bars button span{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.4);overflow:hidden}
.show__bars button span i{display:block;height:100%;width:0;background:#fff}
.show__bars button.done span i{width:100%}
.show__bars button.on span i{animation:barfill var(--dur,5.5s) linear forwards}
.show.paused .show__bars button.on span i{animation-play-state:paused}
@keyframes barfill{to{width:100%}}
.show__pause{position:absolute;top:10px;right:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(15,18,28,.45);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px)}
.show__pause svg{width:16px;height:16px}
.show__pause:hover{background:rgba(15,18,28,.7)}
@media (prefers-reduced-motion:reduce){.slide img{transform:none!important;transition:none}.slide{transition:opacity .2s}}
@media (prefers-reduced-motion:no-preference){
  .js .hero4 h1 .w > span{transform:translateY(105%);animation:rise .8s var(--ease) forwards}
  .js .hero4 .lead,.js .hero4 .hero__actions,.js .hero4 .hero__micro,.js .hero4 .trust{opacity:0;animation:fade .7s ease forwards .5s}
  .js .show-wrap{animation:pop .9s var(--ease) both .15s}
}
.hero4 h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}
.hero4 h1 .w > span{display:inline-block}
@media (max-width:960px){
  .hero4{padding:28px 0 18px}
  .hero4__grid{grid-template-columns:1fr;gap:30px}
  .hero4 .lead{max-width:none}
  .show{aspect-ratio:4/3}
  .show-wrap{padding:0 14px 14px 0}.show-wrap::before{left:14px;top:14px;border-radius:22px}
  .show{border-radius:22px}
}
@media (max-width:560px){.show__cap{padding:48px 14px 14px}.show__label{font-size:.88rem;padding:8px 12px 8px 8px}.show__credit{font-size:.66rem;max-width:40%}}

/* =====================================================================
   v6: device fonts, images locked inside their frames, socials
   ===================================================================== */
:root{--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
body{font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4{letter-spacing:-.02em;font-weight:800}
h1{letter-spacing:-.03em}
button,input,select,textarea{font-family:inherit}
p,li,dd,figcaption,blockquote{overflow-wrap:break-word}

/* Every product image sits inside its box and scales to fit; nothing can spill out
   (works the same in Safari, Chrome, Firefox and Edge). */
.card__img,.cat__img,.pack__img,.pdp__main,.page-head--split .ph-img,.strip a{position:relative;overflow:hidden;display:block}
.card__img > img,.cat__img > img,.pack__img > img,.pdp__main > img,.page-head--split .ph-img > img,.strip a > img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:calc(100% - 32px);max-height:calc(100% - 32px);object-fit:contain}
.card__img--cover > img,.page-head--split .ph-img.cover > img{max-width:none;max-height:none;width:100%;height:100%;object-fit:cover}
.cat__img{aspect-ratio:4/3}
.pack__img{aspect-ratio:16/10}
.pdp__main{aspect-ratio:1/1}
@media (max-width:960px){.pdp__main{aspect-ratio:4/3}}
.page-head--split .ph-img{aspect-ratio:4/3}
.strip a{width:150px;height:150px}
.strip a > img{max-width:calc(100% - 24px);max-height:calc(100% - 24px)}
.card:hover .card__img img{transform:scale(1.04)}
.tile img,.look__list img,.hs__card img,.suggest img,.qm__product img,.slices__badge img{flex:none;object-fit:contain}
.tile img{object-fit:cover}
.gallery img,.prod img,.split__media img,.hero__photo img{display:block;width:100%;height:auto}
.prod img{aspect-ratio:4/3;height:auto;object-fit:cover}
.split__media{aspect-ratio:4/3}
.split__media img{height:100%;object-fit:cover}
.look__stage > img{width:100%;height:auto;object-fit:contain}
.flat .it img{width:100%;height:auto;display:block}

/* socials */
.soc{display:flex;gap:8px;align-items:center}
.soc a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);transition:transform .2s var(--ease),background .2s ease,color .2s ease}
.soc a:hover{transform:translateY(-2px);background:var(--orange);border-color:var(--orange)}
.soc svg{width:18px;height:18px}
.soc--mini a{width:28px;height:28px;background:transparent;border:0}
.soc--mini svg{width:16px;height:16px}
.soc--footer a{background:#26304a;border-color:#34405f;color:#fff}
.soc--footer a:hover{color:var(--ink)}
.soc--dark a{background:var(--ink);color:#fff;border-color:var(--ink)}
.soc--dark a:hover{color:var(--ink)}
.way svg{width:26px;height:26px}

/* Instagram band */
.ig{background:linear-gradient(180deg,#fff 0%,var(--cream) 100%)}
.ig__head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.ig__head > div:first-child{max-width:620px}
.ig__head p{margin:0}
.ig__cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ig__cta .btn svg{width:18px;height:18px}
.ig__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.ig__tile{position:relative;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#eee;display:block}
.ig__tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ig__tile::after{content:"";position:absolute;inset:0;background:rgba(28,35,51,0);transition:background .3s ease}
.ig__tile:hover img{transform:scale(1.06)}
.ig__tile:hover::after{background:rgba(28,35,51,.18)}
@media (max-width:900px){.ig__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.ig__grid{gap:8px}.ig__tile{border-radius:10px}}

/* hero polish */
.hero4 .hero__actions{margin-top:28px}
.show__label .t{white-space:nowrap}
@media (max-width:360px){.show__label .t{white-space:normal}}

/* ===== v7: product-scene hero, contrast fixes ===== */
.show{background:#FFF3E0}
.slide img{object-fit:cover;transform:scale(1.035);transition:transform 7s cubic-bezier(.2,.6,.3,1)}
.slide.on img{transform:scale(1)}
.show__cap{background:none;padding:0 18px 18px}
.show__label{box-shadow:0 10px 26px -12px rgba(28,35,51,.45)}
.show__all{font-size:.84rem;font-weight:700;color:#fff;background:rgba(28,35,51,.82);text-decoration:none;border-radius:999px;padding:9px 14px;white-space:nowrap;backdrop-filter:blur(4px);transition:background .2s}
.show__all:hover{background:var(--ink)}
.show__bars button span{background:rgba(28,35,51,.16)}
.show__bars button span i{background:var(--orange)}
.show__pause{background:rgba(28,35,51,.55)}
@media (max-width:560px){.show__cap{padding:0 12px 12px}.show__all{display:none}}
/* dark call-to-action box: readable lead, visible white button */
.final .lead{color:#c9cfdc}
.final a.btn--white,.final .btn--white{color:var(--ink)}
.section--ink .lead{color:#c9cfdc}
.names span{color:#6b7385}
/* phones & tablets: products first, then the headline */
@media (max-width:960px){
  .hero4{padding:16px 0 18px}
  .hero4__grid{gap:22px}
  .hero4__grid > .show-wrap{order:-1}
}
/* utility bar: never wrap; drop the least important items as space runs out */
.utility .wrap{white-space:nowrap}
.utility .wrap > span,.utility .right a{white-space:nowrap}
@media (max-width:1180px){.utility .wrap > span:first-child{display:none}.utility .right{gap:16px}}
@media (max-width:980px){.utility .wrap > span:nth-child(2){display:none}}
/* hero caption: label shrinks with ellipsis, "All products" only when there is room */
.show__cap{flex-wrap:nowrap}
.show__label{min-width:0;max-width:100%}
.show__label .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.show__label .n{flex:none}
@media (max-width:1240px){.show__all{display:none}}
/* v8: bigger, sharper logo (SVG) */
.brand img{width:180px;height:auto}
@media (max-width:1100px){.brand img{width:160px}}
@media (max-width:640px){.brand img{width:138px}}
@media (max-width:380px){.brand img{width:120px}}
.footer__brand img{width:200px}
.drawer__top img{width:130px;height:auto}
.header .wrap{height:90px}
@media (max-width:1100px){.header .wrap{height:80px}}
@media (max-width:640px){.header .wrap{height:70px}}
@media (min-width:1101px) and (max-width:1280px){.brand img{width:146px}.nav > a,.nav > button{padding:10px 8px;font-size:.94rem}.header .wrap{gap:12px}}

/* ===== v9: chat widget (launcher + panel) ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cw{position:fixed;right:24px;bottom:24px;z-index:95;font-size:1rem}
.cw__launch{width:60px;height:60px;border-radius:50%;border:0;background:var(--ink);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 30px -10px rgba(28,35,51,.55);transition:transform .2s var(--ease),background .2s;position:relative}
.cw__launch:hover{transform:scale(1.06);background:#000}
.cw__launch svg{width:28px;height:28px;grid-area:1/1;transition:opacity .2s,transform .25s var(--ease)}
.cw__launch .i-close{opacity:0;transform:rotate(-90deg)}
.cw.open .cw__launch .i-chat{opacity:0;transform:rotate(90deg)}
.cw.open .cw__launch .i-close{opacity:1;transform:none}
.cw__launch::after{content:"";position:absolute;top:3px;right:3px;width:13px;height:13px;border-radius:50%;background:var(--orange);border:2px solid #fff}
.cw.open .cw__launch::after{display:none}
.cw__tip{position:absolute;right:0;bottom:74px;display:flex;align-items:center;gap:4px;background:#fff;border-radius:16px;box-shadow:0 16px 36px -14px rgba(28,35,51,.4);border:1px solid var(--line);padding:4px 4px 4px 0;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s var(--ease);white-space:nowrap}
.cw__tip.in{opacity:1;transform:none}
.cw__tipmsg{border:0;background:none;font:inherit;font-weight:650;color:var(--ink);padding:10px 4px 10px 14px;cursor:pointer}
.cw__tipx{border:0;background:var(--soft);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1;color:var(--ink-2)}
.cw__panel{position:absolute;right:0;bottom:76px;width:392px;height:min(680px,calc(100vh - 124px));background:#fff;border-radius:26px;box-shadow:0 30px 70px -20px rgba(28,35,51,.45),0 0 0 1px rgba(28,35,51,.06);display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .2s ease,transform .22s var(--ease)}
.cw.open .cw__panel{opacity:1;transform:none}
.cw__panel[hidden]{display:none!important}
.cw__top{display:flex;align-items:center;gap:10px;padding:20px 20px 10px 26px;min-height:72px}
.cw__logo{width:104px;height:auto}
.cw__title{font-weight:800;font-size:1.05rem;flex:1}
.cw__avatar{margin-left:auto;width:38px;height:38px;border-radius:50%}
.cw__x,.cw__back{border:0;background:none;width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--ink);font-size:1.6rem;line-height:1;display:grid;place-items:center}
.cw__x:hover,.cw__back:hover{background:var(--soft)}
.cw__back{margin-left:-14px}.cw__back svg{width:22px;height:22px}
.cw__back:not([hidden]) ~ .cw__avatar{margin-left:auto}
.cw__body{flex:1;overflow-y:auto;padding:6px 20px 20px;overscroll-behavior:contain;background:linear-gradient(180deg,#fff 0,#fff 60%,var(--cream) 100%)}
.cw__hi{font-size:1.75rem;line-height:1.2;letter-spacing:-.02em;margin:22px 6px 24px;font-weight:800}
.cw__h{font-size:1.3rem;margin:6px 4px 14px}
.cw__card{display:block;width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 14px -8px rgba(28,35,51,.18);margin-bottom:12px;text-align:left;font:inherit;color:inherit}
.cw__cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;transition:border-color .2s,transform .2s var(--ease)}
.cw__cta:hover{border-color:var(--orange);transform:translateY(-1px)}
.cw__cta b{display:block;font-size:1rem}.cw__cta small{display:block;color:var(--muted);font-size:.85rem;margin-top:2px}
.cw__cta svg{width:22px;height:22px;flex:none;color:var(--orange)}
.cw__helpcard{padding:8px}
.cw__search{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:var(--soft);border-radius:10px;padding:12px 12px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
.cw__search svg{width:19px;height:19px}
.cw__links{list-style:none;margin:4px 0 0;padding:0}
.cw__q,.cw__links a{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:none;padding:11px 12px;border-radius:10px;font:inherit;font-size:.95rem;color:var(--ink-2);text-align:left;cursor:pointer;text-decoration:none}
.cw__q:hover,.cw__links a:hover{background:var(--soft);color:var(--ink)}
.cw__q svg{width:18px;height:18px;flex:none;color:var(--ink)}
.cw__links a small{color:var(--muted);font-size:.78rem}
.cw__reach{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 18px;font-size:.9rem}
.cw__reach a{font-weight:750;color:var(--ink)}.cw__reach span{color:var(--muted);font-size:.82rem}
.cw__tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#fff;padding:8px 6px calc(8px + env(safe-area-inset-bottom))}
.cw__tabs button{border:0;background:none;font:inherit;font-size:.85rem;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;cursor:pointer;border-radius:12px}
.cw__tabs button svg{width:24px;height:24px}
.cw__tabs button.on{color:var(--ink);font-weight:750}
.cw__tabs button:hover{background:var(--soft)}
/* message form */
.cw__steps{display:flex;gap:6px;margin:2px 0 14px}.cw__steps i{flex:1;height:4px;border-radius:4px;background:var(--line)}.cw__steps i.on{background:var(--orange)}
.cw form fieldset{border:0;margin:0;padding:0;min-width:0}
.cw form legend{font-size:1.25rem;font-weight:800;padding:0;margin-bottom:4px}
.cw__hint{color:var(--muted);font-size:.88rem;margin:0 0 10px}
.cw form label{display:block;font-weight:650;font-size:.9rem;margin:12px 0 0}
.cw form label small{color:var(--muted);font-weight:500}
.cw form input:not([type=checkbox]),.cw form select,.cw form textarea{display:block;width:100%;margin-top:6px;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;font-size:16px;background:#fff;color:var(--ink)}
.cw form input:focus,.cw form select:focus,.cw form textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,145,0,.18)}
.cw form textarea{resize:vertical;min-height:96px}
.cw .cw__check{display:flex;align-items:center;gap:10px;font-weight:600}
.cw .cw__check input{width:20px;height:20px;accent-color:var(--orange)}
.cw__find{margin:0 0 10px!important}
.cw__find input{margin-top:0!important;background:var(--soft)!important;border-color:transparent!important}
.cw__picked{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cw__chip{display:inline-flex;align-items:center;gap:4px;background:var(--orange-soft);border:1px solid #f5cf93;color:var(--orange-ink);font-weight:700;font-size:.82rem;border-radius:999px;padding:4px 6px 4px 12px}
.cw__chip button{border:0;background:none;color:inherit;font-size:1.1rem;line-height:1;width:22px;height:22px;border-radius:50%;cursor:pointer}
.cw__chip button:hover{background:#fff}
.cw__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cw__tile{display:flex;flex-direction:column;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:8px 6px 10px;font:inherit;font-size:.78rem;font-weight:650;line-height:1.2;color:var(--ink);cursor:pointer;text-align:center;position:relative;transition:border-color .15s,background .15s}
.cw__tile:hover{border-color:#e7c58f}
.cw__tile.on{border-color:var(--orange);background:var(--orange-soft)}
.cw__tile.on::after{content:"✓";position:absolute;top:5px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--orange);color:#fff;font-size:.7rem;display:grid;place-items:center}
.cw__timg{width:100%;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#fff;position:relative}
.cw__timg img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;object-fit:contain}
.cw__tile--other .cw__timg{background:var(--soft);font-size:1.8rem;color:var(--muted);font-weight:400}
.cw__next{width:100%;margin-top:16px;justify-content:center}
.cw__err{color:#B42318;font-size:.86rem;margin:10px 0 0;font-weight:600}
.cw__err a{color:inherit}
.cw__fine{font-size:.8rem;color:var(--muted);margin:12px 0 0;text-align:center}
.cw__link{border:0;background:none;padding:0;font:inherit;color:var(--orange-ink);text-decoration:underline;cursor:pointer}
/* sent / messages / help */
.cw__done{text-align:center;padding-top:30px}
.cw__done h2{font-size:1.5rem;margin:14px 0 6px}.cw__done p{color:var(--ink-2);margin:0 0 20px}
.cw__tick{width:64px;height:64px;border-radius:50%;background:#E7F6EC;color:#1E8E3E;display:grid;place-items:center;margin:0 auto;animation:pop .5s var(--ease) both}
.cw__tick svg{width:32px;height:32px}
.cw__empty{text-align:center;padding:30px 10px;color:var(--ink-2)}
.cw__msg{display:flex;gap:12px;padding:14px;align-items:flex-start}
.cw__msg img{border-radius:50%;flex:none}
.cw__msg small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.cw__again{width:100%;justify-content:center;margin-top:4px}
.cw__res{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px;margin-bottom:12px}
.cw__faq{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;padding:0 14px}
.cw__faq summary{cursor:pointer;font-weight:700;padding:13px 0;list-style:none;display:flex;justify-content:space-between;gap:10px}
.cw__faq summary::-webkit-details-marker{display:none}
.cw__faq summary::after{content:"+";color:var(--orange);font-size:1.3rem;line-height:1}
.cw__faq[open] summary::after{content:"–"}
.cw__faq p{margin:0 0 14px;color:var(--ink-2);font-size:.92rem;line-height:1.55}
.cw__faq a{color:var(--orange-ink);font-weight:650}
.cw__more{display:flex;align-items:center;gap:6px;justify-content:center;margin:12px 0 4px;font-weight:700;color:var(--ink);text-decoration:none}
.cw__more svg{width:16px;height:16px}
/* above the mobile call / quote bar; full screen on phones */
@media (max-width:760px){.cw{right:14px;bottom:calc(80px + env(safe-area-inset-bottom))}.cw__launch{width:54px;height:54px}.cw__launch svg{width:25px;height:25px}}
@media (max-width:640px){
  .cw__panel{position:fixed;inset:0;width:auto;height:auto;border-radius:0;transform:translateY(16px);z-index:140}
  .cw.open .cw__launch{display:none}
  html.cw-open,html.cw-open body{overflow:hidden}
  .cw__top{padding:14px 14px 6px 20px;min-height:62px}
  .cw__body{padding:4px 16px 16px}
  .cw__hi{font-size:1.6rem;margin:16px 4px 20px}
}
@media (prefers-reduced-motion:reduce){.cw__panel,.cw__tip,.cw__launch svg{transition:none}}
@media print{.cw{display:none}}
/* v9: header search opens into the menu's space instead of covering it */
.header.searching .nav{display:none}
.header.searching .header__tools{flex:1;min-width:0}
.header.searching .search{flex:1;width:auto;max-width:720px;margin-left:auto}
.header.searching .search input,.header.searching .search input:focus{position:static;width:100%;padding:0 18px 0 46px;color:var(--ink);cursor:text}
.header.searching .search input::placeholder{color:var(--muted)}
.header.searching .search > svg{left:16px;color:var(--orange-ink)}
.header .search input::-webkit-search-cancel-button{-webkit-appearance:none}
.header .search .suggest{left:0;right:0;min-width:0}
.header .search:not(:focus-within) input{cursor:pointer}
.header .search .suggest,.header .suggest{width:auto}
@media (max-width:760px){.cw.cw--away:not(.open) .cw__launch{opacity:0;transform:scale(.6);pointer-events:none}.cw__launch{transition:transform .25s var(--ease),opacity .25s}}
/* v10: chat search fields (help + product picker) */
.cw__find{display:block;position:relative;margin:0 0 12px}
.cw__find input{display:block;width:100%;height:48px;margin:0;border:1.5px solid transparent;border-radius:12px;background:var(--soft);padding:0 14px 0 44px;font:inherit;font-size:16px;color:var(--ink);-webkit-appearance:none;appearance:none}
.cw__find input::placeholder{color:var(--muted)}
.cw__find input:focus{outline:none;background:#fff;border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,145,0,.18)}
.cw__find::before{content:"";position:absolute;left:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);pointer-events:none;
  background:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='%23666C7A' stroke-width='2.2'/%3E%3Cpath d='m20 20-3.5-3.5' stroke='%23666C7A' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}
.cw__find input::-webkit-search-cancel-button{-webkit-appearance:none}
/* header search: collapsed round button, icon centred, clear hover */
@media (max-width:1440px){
  .header:not(.searching) .search > svg{left:50%;top:50%;transform:translate(-50%,-50%);color:var(--ink)}
  .header:not(.searching) .search input{border-color:var(--line);background:#fff;transition:background .2s,border-color .2s}
  .header:not(.searching) .search:hover input{background:var(--soft);border-color:#d6d9e0}
}

/* ===== v11: mobile menu (drawer), app-like ===== */
.drawer__panel{width:min(440px,100vw);padding:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:-20px 0 60px -20px rgba(28,35,51,.4)}
.drawer__panel > *{flex:none}
.drawer__top{padding:12px 16px 12px 20px;margin:0;border-bottom:1px solid var(--line);background:#fff}
.drawer__top img{width:120px}
.drawer__panel .search{margin:14px 16px 6px;width:auto}
.drawer__panel .search input{height:48px;font-size:16px}
.drawer__panel{overflow-y:auto;overscroll-behavior:contain}
.drawer__panel > a{display:none}               /* old plain links */
.dr__label{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 20px 10px}
.dr__quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 16px 0}
.dr__quick a{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:14px;background:var(--orange-soft);text-decoration:none;color:var(--ink);border:1px solid #f6d7a6}
.dr__quick b{font-size:.92rem}.dr__quick small{font-size:.75rem;color:var(--orange-ink)}
.dr__cats{margin:0 16px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.dr__cat{border-bottom:1px solid var(--line)}
.dr__cat:last-child{border-bottom:0}
.dr__cat summary{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;cursor:pointer;list-style:none;min-height:64px}
.dr__cat summary::-webkit-details-marker{display:none}
.dr__cat[open] summary{background:var(--soft)}
.dr__cimg,.dr__pimg{flex:none;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}
.dr__cimg{width:48px;height:48px}.dr__pimg{width:40px;height:40px;border-radius:10px}
.dr__cimg img,.dr__pimg img{position:absolute;inset:0;margin:auto;max-width:calc(100% - 6px);max-height:calc(100% - 6px);width:auto;height:auto;object-fit:contain}
.dr__cname{flex:1;min-width:0;font-weight:750;font-size:1rem;line-height:1.2}
.dr__cname small{display:block;font-weight:500;color:var(--muted);font-size:.8rem;margin-top:2px}
.dr__chev{width:20px;height:20px;flex:none;color:var(--muted);transition:transform .2s var(--ease)}
.dr__cat[open] > summary .dr__chev{transform:rotate(90deg);color:var(--orange)}
.dr__cat ul{list-style:none;margin:0;padding:6px 10px 10px;display:grid;gap:2px;background:var(--soft)}
.dr__cat li a{display:flex;align-items:center;gap:12px;padding:6px;border-radius:12px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.dr__cat li a:hover,.dr__cat li a:active{background:#fff}
.dr__all a{justify-content:space-between;color:var(--orange-ink)!important;font-weight:750!important;padding:10px 8px!important}
.dr__all .dr__chev{color:var(--orange-ink)}
.dr__pop{display:flex;flex-wrap:wrap;gap:8px;margin:0 16px}
.dr__pop a{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);font-weight:650;font-size:.9rem}
.dr__pop a:active{background:var(--orange-soft);border-color:var(--orange)}
.dr__links{margin:0 16px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.dr__links a{display:flex;align-items:center;gap:14px;padding:14px;text-decoration:none;color:var(--ink);font-weight:650;border-bottom:1px solid var(--line)}
.dr__links a:last-child{border-bottom:0}
.dr__links a > svg:first-child{width:22px;height:22px;color:var(--orange);flex:none}
.dr__links a .dr__chev{margin-left:auto}
.dr__links a:active{background:var(--soft)}
.dr__contact{margin:22px 16px 0;padding:16px;border-radius:16px;background:var(--ink);color:#fff;display:grid;gap:12px}
.dr__contact a{color:#fff;text-decoration:none}
.dr__contact b{display:block;font-size:1.05rem}.dr__contact small{display:block;color:#c9cfdc;font-size:.82rem}
.dr__soc{margin-top:2px}
.dr__soc a{background:rgba(255,255,255,.1);color:#fff}
.dr__bar{position:sticky;bottom:0;margin-top:20px;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
.dr__bar .btn{justify-content:center;width:100%;min-height:50px}
.dr__bar .btn svg{width:18px;height:18px}
html.drawer-open,html.drawer-open body{overflow:hidden}
@media (max-width:440px){.drawer__panel{width:100vw}}
/* v11: category titles bold like other headings; product cards breathe on phones */
.cat-title{font-weight:800;color:var(--ink);letter-spacing:-.025em}
@media (max-width:640px){
  .card__body{padding:12px 12px 14px;gap:8px}
  .card__body h3{font-size:.98rem;line-height:1.25}
  .card__meta{flex-direction:column;align-items:flex-start;gap:4px;font-size:.84rem}
  .card__meta .muted{line-height:1.3}
  .card__quote{white-space:nowrap}
}
/* v11: artwork note + "or paste a link" */
.qf__note{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#E7F6EC;color:#14532D;font-size:.92rem;line-height:1.45;border:1px solid #bfe5cb}
.qf__or{display:flex;align-items:center;gap:12px;margin:18px 0 6px;color:var(--muted);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.qf__or::before,.qf__or::after{content:"";flex:1;height:1px;background:var(--line)}
.qf .field small{display:block;margin-top:6px;font-size:.8rem}
.cw__linkbox{margin-top:10px}
.cw__linkbox small{display:block;color:var(--muted);font-size:.78rem;margin-top:5px;font-weight:500}
.drawer details.dr__cat ul{padding:6px 10px 10px;gap:2px}
.drawer details.dr__cat li a{display:flex;align-items:center;gap:12px;padding:6px;border-radius:12px;color:var(--ink);font-weight:600}
.drawer details.dr__cat li.dr__all a{justify-content:space-between;padding:10px 8px}
.drawer details.dr__cat{border-bottom:1px solid var(--line)}
.drawer details.dr__cat:last-child{border-bottom:0}
