:root{
  /* Indigo family built on the logo's own hue (245.5deg), so the interface
     and the brand mark read as one colour system rather than two.
     White text scores AAA on every surface tone below. */
  --navy: #2A245E;
  --indigo-lt: #4D43AD;
  --brand-indigo: #302B62;   /* the logo itself */
  --brand-paper: #EFEDE4;
  --navy-deep: #1B1842;
  --navy-2: #39327E;
  --orange: #F2884B;
  --orange-light: #FFB27A;
  --paper: #F6F5F3;
  --ink: #16202C;
  --muted: #6B7684;
  --line: #E7E4DE;
  --font-display: 'Poppins', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'Roboto Mono', ui-monospace, monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body); color:var(--ink); background:#fff; margin:0; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,.display-font{font-family:var(--font-display); letter-spacing:-0.02em;}
a{text-decoration:none; color:inherit;}
.container-xl{max-width:1240px; margin:0 auto; padding:0 24px;}
.mono{font-family:var(--font-mono); letter-spacing:.02em;}
:focus-visible{outline:2px solid var(--orange); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){*{animation:none !important; transition:none !important;}}

/* ===== TOPBAR ===== */
.topbar{background:var(--navy-deep); color:#9fb0c6; font-size:12.5px; padding:8px 0;}
.topbar .container-xl{display:flex; justify-content:space-between; align-items:center;}
.topbar a{color:#9fb0c6; margin-left:20px; transition:color .15s;}
.topbar a:hover{color:#fff;}

/* ===== HEADER ===== */
.header{border-bottom:1px solid var(--line);padding:5px 0;background:#fff;position:sticky;top:0;z-index:50;}
.header .container-xl{display:flex; align-items:center; gap:30px;}
.logo{display:inline-flex; align-items:center; gap:2px; flex-wrap:nowrap; white-space:nowrap; line-height:1; font-family:var(--font-display); font-weight:700; font-size:21px; color:var(--navy); flex-shrink:0;}
/* The mark sizes to its own SVG — a fixed box here was padding it out and
   pushing the wordmark onto a second line in narrow containers. */
.logo-mark{display:inline-flex;align-items:center;background:transparent;
  color:#2A245E;flex-shrink:0;line-height:0;}
/* Sized in em so the mark tracks the wordmark at any font size, and nudged
   down because 'commercin' is lowercase-only — its optical centre sits below
   the line-box centre that flexbox aligns to. */
.logo-mark svg{display:block;width:1.25em;height:1.25em;transform:translateY(0.06em);}
/* footer logo sits on deep navy */
footer .logo-mark{color:#fff;}
footer .logo{font-size:21px;line-height:1;align-items:center;}
/* ===== HEADER SEARCH ===== */
.search-bar{flex:1;display:flex;align-items:stretch;max-width:600px;background:#fff;
  border:1px solid var(--line);border-radius:11px;overflow:hidden;
  transition:border-color .16s,box-shadow .16s;}
.search-bar:hover{border-color:#cfd5dd;}
.search-bar:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(42,36,94,.10);}

/* Category dropdown — native arrow replaced with a custom chevron */
.search-cat{position:relative;flex:0 0 auto;display:flex;align-items:center;}
.search-cat::after{content:"";position:absolute;right:13px;top:50%;width:9px;height:9px;
  margin-top:-5px;pointer-events:none;
  background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7684' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center/contain;}
.search-cat::before{content:"";position:absolute;right:0;top:9px;bottom:9px;width:1px;background:var(--line);}
.search-bar select{appearance:none;-webkit-appearance:none;border:none;outline:none;background:transparent;
  padding:0 32px 0 16px;height:100%;font-family:inherit;font-size:13px;font-weight:600;
  color:var(--navy);cursor:pointer;max-width:135px;text-overflow:ellipsis;}

/* Input with leading magnifier */
.search-field{flex:1;display:flex;align-items:center;gap:9px;padding:0 14px;min-width:0;}
.search-field svg{width:16px;height:16px;color:#9aa4b1;flex-shrink:0;transition:color .16s;}
.search-bar:focus-within .search-field svg{color:var(--navy);}
.search-bar input{flex:1;border:none;outline:none;padding:12px 0;font-size:14px;
  font-family:inherit;color:var(--ink);min-width:0;background:transparent;}
.search-bar input::placeholder{color:#9aa4b1;}

/* Submit */
.search-bar button{display:flex;align-items:center;gap:7px;background:var(--orange);border:none;
  padding:0 22px;color:#fff;font-weight:600;font-size:13.5px;font-family:inherit;cursor:pointer;
  transition:background .16s;white-space:nowrap;}
.search-bar button svg{width:15px;height:15px;}
.search-bar button:hover{background:#dd7038;}
.search-bar button:active{background:#cf6730;}
.header-icons{display:flex; align-items:center; gap:16px; flex-shrink:0;}
/* the three utility icons read as one group, distinct from the CTA */
.icon-cluster{display:flex;align-items:center;gap:4px;}
.icon-btn{display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--navy); padding:8px 11px; border-radius:8px; transition:background .15s,color .15s;}
.icon-btn:hover{color:var(--orange);}
.icon-btn:hover{background:var(--paper);}
.icon-btn svg{width:19px; height:19px;}
.header-cta{background:var(--navy); color:#fff; padding:10px 20px; border-radius:8px; font-weight:600; font-size:13.5px; white-space:nowrap; transition:background .15s;}
.header-cta:hover{background:var(--navy-2);}

.navrow{background:var(--navy-deep);}
.navrow .container-xl{display:flex; align-items:center; gap:28px; font-size:13.5px; font-weight:500;}
.navrow a{color:#c3cedd; padding:12px 0; display:inline-block; border-bottom:2px solid transparent; transition:.15s;}
.navrow a:hover, .navrow a.active{color:#fff; border-color:var(--orange);}
.navrow .cats-btn{background:var(--orange); color:#fff; font-weight:600; padding:11px 16px; display:flex; align-items:center; gap:8px;}
.navrow .cats-btn:hover{background:#dd7038; color:#fff;}

/* ===== HERO ===== */
.hero{background:
    radial-gradient(ellipse 700px 500px at 85% -10%, rgba(242,136,75,.12), transparent),
    linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);
  color:#fff; padding:70px 0 52px; position:relative; overflow:hidden;}
.hero::before{content:""; position:absolute; inset:0; background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:44px 44px; mask-image:linear-gradient(180deg, transparent, #000 15%, #000 70%, transparent);}
.hero .container-xl{display:grid; grid-template-columns:1.05fr 0.95fr; gap:50px; align-items:center; position:relative; z-index:2;}
.hero .eyebrow{display:inline-flex; align-items:center; gap:8px; background:rgba(242,136,75,.14); color:var(--orange-light); border:1px solid rgba(242,136,75,.3); padding:6px 14px; border-radius:30px; font-size:12px; font-weight:600; margin-bottom:20px; font-family:var(--font-mono);}
.pulse-dot{width:6px; height:6px; border-radius:50%; background:var(--orange); display:inline-block; animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;} 50%{opacity:.35;}}
.hero h1{font-size:44px; font-weight:700; line-height:1.14; margin:0 0 20px;}
.hero h1 span{color:var(--orange-light);}
.hero p{font-size:16.5px; color:#aebdd0; max-width:460px; margin-bottom:30px; line-height:1.6;}
.hero-ctas{display:flex; gap:12px; margin-bottom:44px;}
.btn-orange{background:var(--orange); color:#fff; padding:13px 26px; border-radius:8px; font-weight:600; font-size:14.5px; border:none; display:inline-block; transition:.15s; cursor:pointer;}
.btn-orange:hover{background:#dd7038; transform:translateY(-1px);}
.btn-outline-light{border:1.5px solid rgba(255,255,255,.3); color:#fff; padding:11.5px 25px; border-radius:8px; font-weight:600; font-size:14.5px; transition:.15s;}
.btn-outline-light:hover{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.5);}
.hero-stats{display:flex; gap:44px; border-top:1px solid rgba(255,255,255,.1); padding-top:28px; margin-top:8px;}
.hero-stats div b{display:block; font-family:var(--font-mono); font-weight:600; font-size:22px; color:#fff;}
.hero-stats div span{font-size:12px; color:#8494a8;}

/* ===== SIGNATURE: SHIPMENT MANIFEST CARD ===== */
.manifest{background:#fff; border-radius:14px; padding:0; box-shadow:0 30px 60px -20px rgba(0,0,0,.4); transform:rotate(1.2deg); position:relative; overflow:hidden;}
.manifest::before{content:""; position:absolute; top:0; left:0; right:0; height:5px; background:repeating-linear-gradient(90deg, var(--orange) 0 10px, transparent 10px 20px);}
.manifest-head{padding:22px 24px 16px; border-bottom:1px dashed var(--line); display:flex; justify-content:space-between; align-items:flex-start;}
.manifest-head .label{font-family:var(--font-mono); font-size:10.5px; color:var(--muted); letter-spacing:.06em; text-transform:uppercase;}
.manifest-head .num{font-family:var(--font-mono); font-size:15px; color:var(--navy); font-weight:600; margin-top:3px;}
.stamp{border:2px solid var(--orange); color:var(--orange); font-family:var(--font-mono); font-size:11px; font-weight:700; padding:5px 10px; border-radius:6px; transform:rotate(6deg); letter-spacing:.04em;}
.manifest-body{padding:20px 24px;}
.manifest-row{display:flex; justify-content:space-between; font-size:12.5px; padding:9px 0; border-bottom:1px solid var(--line); color:var(--ink);}
.manifest-row span:first-child{color:var(--muted); font-family:var(--font-mono); font-size:11px;}
.manifest-route{padding:22px 24px 26px; position:relative;}
.route-line{position:relative; height:2px; background:var(--line); margin:20px 0;}
.route-line .fill{position:absolute; left:0; top:0; height:100%; width:64%; background:var(--orange);}
.route-line .dot{position:absolute; top:50%; transform:translate(-50%,-50%); width:10px; height:10px; border-radius:50%; background:#fff; border:3px solid var(--navy);}
.route-line .dot.start{left:0;}
.route-line .dot.end{left:100%;}
.route-line .ship{position:absolute; left:64%; top:50%; transform:translate(-50%,-50%); width:20px; height:20px; background:var(--orange); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 5px rgba(242,136,75,.18);}
.route-labels{display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:11px; color:var(--muted); margin-top:-8px;}
.route-labels b{color:var(--navy); display:block; font-size:12.5px; font-family:var(--font-body); font-weight:700;}

/* ===== TRUST STRIP ===== */
.trust-strip{background:#fff; border-bottom:1px solid var(--line);}
.trust-strip .container-xl{display:grid; grid-template-columns:repeat(4,1fr);}
.trust-strip .item{padding:30px 22px; border-right:1px solid var(--line); display:flex; gap:14px; align-items:flex-start;}
.trust-strip .item:last-child{border-right:none;}
.trust-strip .icon-wrap{width:38px; height:38px; border-radius:9px; background:var(--paper); display:flex; align-items:center; justify-content:center; color:var(--orange); flex-shrink:0;}
.trust-strip .icon-wrap svg{width:19px; height:19px;}
.trust-strip p{margin:0; font-size:13.5px; font-weight:700; color:var(--navy);}
.trust-strip span{font-size:11.5px; color:var(--muted);}

/* ===== SECTIONS ===== */
.section{padding:76px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px;}
.section-head .eyebrow-sm{color:var(--orange); font-weight:700; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; display:block; font-family:var(--font-mono);}
.section-head h2{font-size:29px; font-weight:700; color:var(--navy); margin:0;}
.section-head .link-more{font-weight:600; font-size:13.5px; color:var(--navy); border-bottom:2px solid var(--orange); padding-bottom:2px; white-space:nowrap; transition:.15s;}
.section-head .link-more:hover{color:var(--orange);}
.bg-paper{background:var(--paper);}

/* ===== CATEGORY GRID ===== */
.cat-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
.cat-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px 14px; text-align:center; transition:.18s; display:block;}
.cat-card:hover{border-color:var(--orange); box-shadow:0 12px 24px -8px rgba(42,36,94,.14); transform:translateY(-4px);}
.cat-icon{width:44px; height:44px; margin:0 auto 14px; background:var(--paper); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--navy); transition:.18s;}
.cat-icon svg{width:22px; height:22px;}
.cat-card:hover .cat-icon{background:var(--orange); color:#fff;}
.cat-card p{font-size:12.5px; font-weight:600; color:var(--ink); margin:0; line-height:1.35;}

/* ===== PRODUCT CARDS ===== */
.prod-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.prod-card{background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; transition:.18s;}
.prod-card:hover{box-shadow:0 16px 32px -12px rgba(42,36,94,.16); transform:translateY(-4px); border-color:#d8dde3;}
.prod-img{height:215px; position:relative; display:flex; align-items:center; justify-content:center;
  padding:14px; background:#fff; border-bottom:1px solid var(--line); overflow:hidden;}
.prod-img img{transition:transform .3s;}
.prod-card:hover .prod-img img{transform:scale(1.04);}
.prod-img svg{width:38px; height:38px; color:#c7cdd5;}
.badge-hot{position:absolute; top:11px; left:11px; background:var(--orange); color:#fff; font-size:10px; font-weight:700; padding:4px 10px; border-radius:20px; font-family:var(--font-mono);}
.prod-body{padding:17px;}
.prod-body .cat-tag{font-size:10.5px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-family:var(--font-mono);}
.prod-body h4{font-size:14.5px; font-weight:600; margin:7px 0 9px; line-height:1.35; color:var(--ink); height:38px; overflow:hidden;}
.prod-price{color:var(--navy); font-weight:700; font-size:16.5px; font-family:var(--font-mono);}
.moq{font-size:11.5px; color:var(--muted);}
.prod-foot{display:flex; justify-content:space-between; align-items:center; margin-top:13px; padding-top:13px; border-top:1px solid var(--line);}
.rfq-btn{font-size:12.5px; font-weight:700; color:var(--orange);}
.heart-btn{width:30px; height:30px; border-radius:7px; display:flex; align-items:center; justify-content:center; color:var(--muted); transition:.15s; border:1px solid var(--line);}
.heart-btn:hover{color:var(--orange); border-color:var(--orange);}

/* ===== HOW IT WORKS ===== */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.step{background:#fff; padding:28px 24px;}
.step .num{font-family:var(--font-mono); font-weight:600; font-size:13px; color:var(--orange); margin-bottom:18px;}
.step h4{font-size:15.5px; font-weight:700; color:var(--navy); margin-bottom:9px;}
.step p{font-size:13.5px; color:var(--muted); line-height:1.6; margin:0;}

/* ===== TRUST 2-COL ===== */
.trust-2col{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.trust-card{border-radius:14px; padding:36px; color:#fff; position:relative; overflow:hidden;}
.trust-card.c1{background:linear-gradient(135deg, var(--navy), var(--navy-2));}
.trust-card.c2{background:linear-gradient(135deg, #E8763A, var(--orange));}
.trust-card h3{font-size:21px; font-weight:700; margin-bottom:10px;}
.trust-card p{font-size:14px; opacity:.88; line-height:1.6; margin-bottom:20px; max-width:380px;}
.trust-card .ring{position:absolute; right:-40px; bottom:-40px; width:160px; height:160px; border:1.5px solid rgba(255,255,255,.25); border-radius:50%;}
.trust-card .ring2{position:absolute; right:-10px; bottom:-10px; width:100px; height:100px; border:1.5px solid rgba(255,255,255,.2); border-radius:50%;}

/* ===== CTA BANNER ===== */
.cta-banner{background:var(--navy-deep); color:#fff; border-radius:16px; padding:50px 54px; display:flex; justify-content:space-between; align-items:center;
  background-image:radial-gradient(circle 400px at 90% 50%, rgba(242,136,75,.1), transparent);}
.cta-banner h3{font-size:25px; font-weight:700; margin-bottom:7px;}
.cta-banner p{color:#9fb0c6; margin:0; font-size:14.5px;}

/* ===== FOOTER ===== */
footer{background:var(--navy-deep); color:#8494a8; padding:60px 0 0; font-size:13.5px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr; gap:32px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.08);}
.footer-grid h5{color:#fff; font-size:12.5px; font-weight:700; margin-bottom:18px; text-transform:uppercase; letter-spacing:.05em;}
.footer-grid a{color:#8494a8; display:block; margin-bottom:10px; transition:.15s;}
.footer-grid a:hover{color:var(--orange-light);}
.footer-bottom{padding:22px 0; display:flex; justify-content:space-between; align-items:center; font-size:12px;}

@media (max-width: 992px){
  .hero .container-xl{grid-template-columns:1fr;}
  .manifest{display:none;}
  .cat-grid{grid-template-columns:repeat(3,1fr);}
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .trust-2col{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .trust-strip .container-xl{grid-template-columns:repeat(2,1fr);}
  .search-bar{display:none;}
}

/* ============================================================
   SUPPLIER DIRECTORY & STOREFRONT
   ============================================================ */

/* --- Directory hero --- */
.sup-hero{background:linear-gradient(155deg,var(--navy-deep) 0%,var(--navy) 100%);color:#fff;padding:60px 0 54px;position:relative;overflow:hidden;}
.sup-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(ellipse 80% 70% at 15% 15%,#000,transparent 70%);}
.sup-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,136,75,.16),transparent 65%);}
.sup-hero-inner{position:relative;z-index:2;}
.sup-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(242,136,75,.14);color:var(--orange-light);
  border:1px solid rgba(242,136,75,.32);padding:6px 14px;border-radius:30px;font-size:11.5px;font-weight:600;
  margin-bottom:18px;font-family:var(--font-mono);letter-spacing:.04em;}
.sup-hero h1{font-size:38px;line-height:1.12;margin:0 0 14px;font-weight:700;max-width:560px;}
.sup-hero h1 em{font-style:normal;color:var(--orange-light);}
.sup-hero p{color:#aebdd0;font-size:15.5px;max-width:520px;margin:0 0 28px;line-height:1.6;}
.sup-search{max-width:520px;display:flex;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px -12px rgba(0,0,0,.45);}
.sup-search input{flex:1;border:none;padding:14px 18px;font-size:14px;outline:none;font-family:inherit;color:var(--ink);}
.sup-search button{background:var(--orange);border:none;padding:0 26px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s;}
.sup-search button:hover{background:#dd7038;}
.sup-hero-stats{display:flex;gap:40px;margin-top:34px;flex-wrap:wrap;}
.sup-hero-stats div b{display:block;font-family:var(--font-mono);font-weight:600;font-size:22px;line-height:1.2;}
.sup-hero-stats div span{font-size:12px;color:#8494a8;}

/* --- Directory toolbar --- */
.sup-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:28px;}
.sup-count{font-size:14px;color:var(--muted);}
.sup-count b{color:var(--navy);font-family:var(--font-mono);}

/* --- Directory cards --- */
.sup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sup-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;}
.sup-card:hover{transform:translateY(-4px);border-color:#d5dae1;box-shadow:0 18px 38px -14px rgba(42,36,94,.22);}
.sup-card-cover{height:88px;background:linear-gradient(120deg,var(--navy),var(--navy-2));position:relative;}
.sup-card-cover img{width:100%;height:100%;object-fit:cover;}
.sup-card-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.18));}
.sup-card-body{padding:0 22px 22px;position:relative;flex:1;display:flex;flex-direction:column;}
.sup-card-logo{width:64px;height:64px;border-radius:14px;background:#fff;border:3px solid #fff;
  box-shadow:0 6px 16px rgba(42,36,94,.14);display:flex;align-items:center;justify-content:center;
  overflow:hidden;margin-top:-32px;position:relative;z-index:2;}
.sup-card-logo img{width:100%;height:100%;object-fit:cover;}
.sup-card-name{font-size:16px;font-weight:700;color:var(--navy);margin:14px 0 5px;line-height:1.3;
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.sup-card-loc{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:12px;}
.sup-card-loc svg{width:13px;height:13px;flex-shrink:0;}
.sup-card-desc{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 18px;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sup-card-foot{display:flex;justify-content:space-between;align-items:center;
  padding-top:15px;border-top:1px solid var(--line);font-size:13px;}
.sup-rating{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--navy);font-family:var(--font-mono);}
.sup-rating svg{width:14px;height:14px;color:#F2AB3B;fill:#F2AB3B;}
.sup-rating em{font-style:normal;color:var(--muted);font-weight:400;font-family:var(--font-body);}
.sup-pills{display:inline-flex;align-items:center;gap:5px;background:var(--paper);border-radius:20px;
  padding:5px 12px;font-size:11.5px;font-weight:600;color:var(--navy);font-family:var(--font-mono);}
.verified-chip{display:inline-flex;align-items:center;gap:4px;background:#e8f6ee;color:#1a7a3f;
  font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;font-family:var(--font-mono);letter-spacing:.03em;}

.sup-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted);
  border:1px dashed var(--line);border-radius:16px;}

/* --- Storefront --- */
.store-banner{height:280px;background:linear-gradient(135deg,var(--navy),var(--navy-2));position:relative;overflow:hidden;}
.store-banner img{width:100%;height:100%;object-fit:cover;}
.store-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,35,58,.15) 0%,rgba(18,35,58,.55) 100%);}
.store-head{background:#fff;border-bottom:1px solid var(--line);}
.store-head-row{display:flex;gap:26px;align-items:flex-end;margin-top:-44px;position:relative;z-index:3;
  padding-bottom:26px;flex-wrap:wrap;}
.store-logo{width:116px;height:116px;border-radius:20px;background:#fff;border:5px solid #fff;
  box-shadow:0 10px 28px rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;
  overflow:hidden;flex-shrink:0;}
.store-logo img{width:100%;height:100%;object-fit:cover;}
.store-id{flex:1;min-width:230px;padding-bottom:10px;padding-top:14px;}
.store-id h1{font-size:28px;color:var(--navy);margin:0;font-weight:700;line-height:1.25;display:flex;align-items:center;gap:12px;flex-wrap:wrap;letter-spacing:-.02em;}
.store-tagline{margin:9px 0 0;font-size:13.5px;color:var(--muted);}
.store-cta{display:flex;gap:10px;padding-bottom:10px;flex-wrap:wrap;align-self:flex-end;}
.store-statbar{display:grid;grid-template-columns:repeat(4,auto);gap:0;border-top:1px solid var(--line);}
.store-statbar div{padding:16px 28px 16px 0;margin-right:28px;border-right:1px solid var(--line);}
.store-statbar div:last-child{border-right:none;}
.store-statbar b{display:block;font-family:var(--font-mono);font-size:18px;color:var(--navy);font-weight:600;}
.store-statbar span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-mono);}
.store-tabs{display:flex;gap:30px;border-top:1px solid var(--line);}
.store-tabs a{padding:15px 0;font-size:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;}
.store-tabs a:hover{color:var(--navy);}
.store-tabs a.active{color:var(--navy);border-color:var(--orange);}
.store-about{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;line-height:1.7;font-size:14.5px;color:var(--ink);}

/* --- Reviews --- */
.rev-summary{display:flex;align-items:center;gap:26px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:24px 28px;margin-bottom:24px;flex-wrap:wrap;}
.rev-score{font-family:var(--font-mono);font-size:42px;font-weight:600;color:var(--navy);line-height:1;}
.rev-stars{color:#F2AB3B;letter-spacing:3px;font-size:15px;}
.rev-row{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:12px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.rev-avatar{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:flex;
  align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;font-family:var(--font-display);}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* Tablet landscape */
@media (max-width:1024px){
  .container-xl{padding:0 22px;}
  .sup-grid{grid-template-columns:repeat(2,1fr);}
  .sup-hero h1{font-size:32px;}
  .store-banner{height:220px;}
  .store-statbar{grid-template-columns:repeat(2,auto);}
  .store-statbar div{border-right:none;padding-right:0;margin-right:0;}
}

/* Tablet portrait / large phone */
@media (max-width:768px){
  .section{padding:48px 0;}
  .hero{padding:44px 0 36px;}
  .hero h1{font-size:31px;}
  .hero-stats{gap:24px;flex-wrap:wrap;}
  .cat-grid{grid-template-columns:repeat(3,1fr)!important;}
  .prod-grid{grid-template-columns:repeat(2,1fr)!important;}
  .steps{grid-template-columns:repeat(2,1fr)!important;}
  .footer-grid{grid-template-columns:repeat(2,1fr)!important;gap:26px;}
  .trust-strip .container-xl{grid-template-columns:repeat(2,1fr)!important;}
  .trust-strip .item:nth-child(2){border-right:none;}
  .section-head{flex-direction:column;align-items:flex-start;gap:10px;}
  .cta-banner{flex-direction:column;align-items:flex-start;gap:18px;padding:32px 26px;}
  .navrow .container-xl{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .navrow .container-xl::-webkit-scrollbar{display:none;}
  .navrow a{white-space:nowrap;}
  .sup-hero{padding:44px 0 40px;}
  .sup-hero h1{font-size:28px;}
  .store-head-row{margin-top:-34px;}
  .store-id{padding-top:10px;}
  .store-logo{width:92px;height:92px;border-width:4px;border-radius:16px;}
  .store-id h1{font-size:22px;}
  .store-cta{width:100%;}
  .store-cta form,.store-cta > *{flex:1;}
  .store-cta button,.store-cta a{width:100%;text-align:center;}
  .store-tabs{gap:22px;overflow-x:auto;scrollbar-width:none;}
  .store-tabs::-webkit-scrollbar{display:none;}
  .dash-content{padding:18px;}
  .stat-grid{grid-template-columns:repeat(2,1fr)!important;}
}

/* Phone */
@media (max-width:540px){
  .container-xl{padding:0 16px;}
  .section{padding:38px 0;}
  .hero h1{font-size:26px;}
  .hero p{font-size:14.5px;}
  .hero-ctas{flex-direction:column;}
  .hero-ctas a{text-align:center;}
  .hero-stats{gap:18px;}
  .hero-stats div b{font-size:19px;}
  .cat-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px;}
  .cat-card{padding:18px 10px;}
  .prod-grid{grid-template-columns:1fr!important;}
  .steps{grid-template-columns:1fr!important;}
  .footer-grid{grid-template-columns:1fr!important;}
  .trust-strip .item{padding:16px 12px;}
  .section-head h2{font-size:22px;}
  .topbar .container-xl{flex-direction:column;gap:5px;text-align:center;}
  .topbar{padding-bottom:10px;}
  .topbar a{margin:0 9px;}
  .header .container-xl{flex-wrap:wrap;gap:12px;}
  .header-icons{gap:14px;}
  .logo{font-size:19px;}
  .navrow a{font-size:12.5px;}
  .sup-hero h1{font-size:24px;}
  .sup-hero p{font-size:14px;}
  .sup-search{flex-direction:column;}
  .sup-search button{padding:13px;}
  .sup-hero-stats{gap:22px;}
  .sup-grid{grid-template-columns:1fr;}
  .store-banner{height:170px;}
  .store-id{min-width:100%;}
  .store-statbar{grid-template-columns:repeat(2,auto);gap:0;}
  .store-statbar b{font-size:16px;}
  .rev-summary{gap:16px;}
  .rev-score{font-size:34px;}
  .stat-grid{grid-template-columns:1fr!important;}
  .dash-sidebar{width:250px;}
  .dash-table{font-size:12.5px;}
}

/* Mobile search icon — desktop uses the full search bar instead */
.mobile-search-icon{display:none;}
@media (max-width:992px){.mobile-search-icon{display:flex;}}

/* ============================================================
   CATEGORY SLIDER (single row, horizontally scrollable)
   ============================================================ */
.cat-slider{position:relative;}
.cat-track{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
  padding:6px 2px 14px;scrollbar-width:none;-ms-overflow-style:none;}
.cat-track::-webkit-scrollbar{display:none;}

.cat-slide{flex:0 0 190px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:22px 18px;transition:transform .18s,box-shadow .18s,border-color .18s;
  display:flex;flex-direction:column;gap:12px;}
.cat-slide:hover{transform:translateY(-4px);border-color:var(--orange);
  box-shadow:0 16px 32px -14px rgba(42,36,94,.2);}
.cat-slide-icon{width:46px;height:46px;border-radius:12px;background:var(--paper);display:flex;
  align-items:center;justify-content:center;color:var(--navy);transition:.18s;overflow:hidden;}
.cat-slide-icon img{width:100%;height:100%;object-fit:cover;}
.cat-slide:hover .cat-slide-icon{background:var(--orange);color:#fff;}
.cat-slide-name{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35;margin:0;}
.cat-slide-count{font-size:11.5px;color:var(--muted);font-family:var(--font-mono);margin-top:auto;}

/* "See all" tile pinned at the end of the track */
.cat-slide-all{background:linear-gradient(140deg,var(--navy),var(--navy-2));border-color:transparent;
  color:#fff;justify-content:center;align-items:flex-start;}
.cat-slide-all:hover{border-color:transparent;}
.cat-slide-all .cat-slide-name{color:#fff;font-size:15px;}
.cat-slide-all .cat-slide-count{color:#9fb0c6;}
.cat-slide-all .arrow-circle{width:34px;height:34px;border-radius:50%;background:var(--orange);
  display:flex;align-items:center;justify-content:center;margin-bottom:4px;}

/* Arrow controls */
.slider-nav{display:flex;gap:8px;}
.slider-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);
  transition:.15s;flex-shrink:0;}
.slider-btn:hover:not(:disabled){background:var(--navy);color:#fff;border-color:var(--navy);}
.slider-btn:disabled{opacity:.32;cursor:default;}
.slider-btn svg{width:16px;height:16px;}

/* Edge fade so cut-off cards read as "more to scroll" rather than broken */
.cat-slider::after{content:"";position:absolute;top:0;right:0;bottom:14px;width:56px;
  background:linear-gradient(90deg,transparent,#fff);pointer-events:none;opacity:1;transition:opacity .2s;}
.cat-slider.at-end::after{opacity:0;}
.bg-paper .cat-slider::after{background:linear-gradient(90deg,transparent,var(--paper));}

/* All-categories page grid */
.cat-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}

@media (max-width:1024px){
  .cat-page-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:768px){
  .cat-slide{flex:0 0 165px;}
  .cat-page-grid{grid-template-columns:repeat(2,1fr);}
  .slider-nav{display:none;}
}
@media (max-width:540px){
  .cat-slide{flex:0 0 150px;padding:18px 15px;}
  .cat-slider::after{width:36px;}
}

/* ============================================================
   SHOP PAGE — sidebar filters + results
   ============================================================ */
.shop-head{background:linear-gradient(155deg,var(--navy-deep),var(--navy));color:#fff;
  padding:40px 0 36px;position:relative;overflow:hidden;}
.shop-head::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 80% at 12% 20%,#000,transparent 70%);}
.shop-head-inner{position:relative;z-index:2;}
.shop-crumb{font-size:12px;color:#8fa0b6;font-family:var(--font-mono);margin-bottom:12px;}
.shop-crumb a{color:#8fa0b6;}
.shop-crumb a:hover{color:#fff;}
.shop-head h1{font-size:30px;margin:0 0 8px;font-weight:700;}
.shop-head p{color:#aebdd0;font-size:14.5px;margin:0;}

.shop-layout{display:grid;grid-template-columns:262px 1fr;gap:34px;align-items:start;}

/* --- Sidebar --- */
.filters{position:sticky;top:92px;}
.filter-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px;}
.filter-card h4{font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);margin:0 0 14px;font-weight:700;}
.filter-cat{display:block;padding:8px 10px;margin:0 -10px;border-radius:8px;font-size:13.5px;
  color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:10px;transition:.14s;}
.filter-cat:hover{background:var(--paper);}
.filter-cat.active{background:var(--navy);color:#fff;font-weight:600;}
.filter-cat span{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);flex-shrink:0;}
.filter-cat.active span{color:#b9c6d6;}

.price-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-bottom:14px;}
.price-row input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;
  font-size:13px;font-family:var(--font-mono);outline:none;}
.price-row input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(42,36,94,.09);}
.price-row .dash{color:var(--muted);font-size:12px;}
.price-hint{font-size:11px;color:var(--muted);font-family:var(--font-mono);margin:0 0 14px;}

.check-row{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink);
  cursor:pointer;margin-bottom:10px;line-height:1.45;}
.check-row input{margin-top:2px;flex-shrink:0;}

.btn-filter{width:100%;background:var(--navy);color:#fff;border:none;padding:11px;border-radius:9px;
  font-weight:600;font-size:13.5px;cursor:pointer;transition:background .15s;font-family:inherit;}
.btn-filter:hover{background:var(--navy-2);}
.btn-filter-ghost{display:block;text-align:center;width:100%;margin-top:9px;padding:10px;
  border:1px solid var(--line);border-radius:9px;font-size:13px;font-weight:600;color:var(--muted);}
.btn-filter-ghost:hover{color:var(--navy);border-color:var(--navy);}

/* --- Results toolbar --- */
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap;}
.shop-count{font-size:14px;color:var(--muted);}
.shop-count b{color:var(--navy);font-family:var(--font-mono);}
.sort-wrap{display:flex;align-items:center;gap:9px;}
.sort-wrap label{font-size:12.5px;color:var(--muted);white-space:nowrap;}
.sort-wrap select{appearance:none;-webkit-appearance:none;border:1px solid var(--line);border-radius:9px;
  padding:9px 34px 9px 13px;font-size:13.5px;font-family:inherit;font-weight:600;color:var(--navy);
  background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7684' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/9px;
  cursor:pointer;outline:none;}
.sort-wrap select:focus{border-color:var(--navy);}

/* --- Active filter chips --- */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line);
  border-radius:20px;padding:5px 12px;font-size:12.5px;color:var(--navy);font-weight:600;}
.chip a{color:var(--muted);font-size:14px;line-height:1;display:flex;}
.chip a:hover{color:#c0392b;}
.chip-clear{color:var(--orange);font-weight:700;font-size:12.5px;align-self:center;}

/* --- Empty state --- */
.shop-empty{border:1px dashed var(--line);border-radius:16px;padding:60px 24px;text-align:center;
  grid-column:1/-1;color:var(--muted);}
.shop-empty b{display:block;color:var(--navy);font-size:15px;margin-bottom:6px;}

/* --- Mobile filter toggle --- */
.filter-toggle{display:none;width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:12px;font-weight:600;font-size:13.5px;color:var(--navy);cursor:pointer;margin-bottom:18px;
  align-items:center;justify-content:center;gap:8px;font-family:inherit;}

@media (max-width:1024px){
  .shop-layout{grid-template-columns:222px 1fr;gap:24px;}
}
@media (max-width:820px){
  .shop-layout{grid-template-columns:1fr;}
  .filters{position:static;display:none;}
  .filters.open{display:block;}
  .filter-toggle{display:flex;}
}

/* ============================================================
   CATEGORY DROPDOWN (shop sidebar)
   ============================================================ */
.cat-dd{position:relative;}
.cat-dd-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;
  font-family:inherit;font-size:13.5px;font-weight:600;color:var(--navy);text-align:left;
  transition:border-color .15s,box-shadow .15s;}
.cat-dd-trigger:hover{border-color:#cfd5dd;}
.cat-dd-trigger.open{border-color:var(--navy);box-shadow:0 0 0 3px rgba(42,36,94,.09);}
.cat-dd-label{display:flex;align-items:center;gap:9px;min-width:0;}
.cat-dd-label svg{width:16px;height:16px;color:var(--orange);flex-shrink:0;}
.cat-dd-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cat-dd-chev{width:11px;height:11px;color:var(--muted);flex-shrink:0;transition:transform .18s;}
.cat-dd-trigger.open .cat-dd-chev{transform:rotate(180deg);}

.cat-dd-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;background:#fff;
  border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -12px rgba(20,32,48,.24);
  overflow:hidden;}
.cat-dd-search{padding:10px;border-bottom:1px solid var(--line);}
.cat-dd-search input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:8px;
  font-size:13px;font-family:inherit;outline:none;}
.cat-dd-search input:focus{border-color:var(--navy);}
.cat-dd-list{max-height:288px;overflow-y:auto;padding:6px;}
.cat-dd-list::-webkit-scrollbar{width:8px;}
.cat-dd-list::-webkit-scrollbar-thumb{background:#dfe3e8;border-radius:8px;}
.cat-dd-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;
  border-radius:8px;font-size:13.5px;color:var(--ink);transition:.13s;}
.cat-dd-item:hover{background:var(--paper);}
.cat-dd-item.active{background:var(--navy);color:#fff;font-weight:600;}
.cat-dd-item em{font-style:normal;font-family:var(--font-mono);font-size:11.5px;color:var(--muted);flex-shrink:0;}
.cat-dd-item.active em{color:#b9c6d6;}
.cat-dd-empty{padding:18px 12px;text-align:center;font-size:12.5px;color:var(--muted);}

[x-cloak]{display:none!important;}


/* ============================================================
   FOOTER SOCIAL BAR — full width, single line
   ============================================================ */
.footer-social-bar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  gap:20px;padding:22px 0;margin-top:8px;border-top:1px solid rgba(255,255,255,.08);}
.social-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:#6d7d92;white-space:nowrap;}
.social-icons{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;}
.social-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);color:#c3cedd;
  flex-shrink:0;transition:transform .18s,background .18s,color .18s,border-color .18s;}
.social-btn svg{width:17px;height:17px;}
.social-btn:hover{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-3px);}
.social-btn:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}

@media (max-width:700px){
  .footer-social-bar{flex-direction:column;align-items:flex-start;gap:12px;}
  .social-icons{gap:9px;}
}
@media (max-width:420px){
  /* keep all six on one line on the narrowest screens */
  .social-btn{width:34px;height:34px;}
  .social-btn svg{width:15px;height:15px;}
  .social-icons{gap:7px;}
}

/* ============================================================
   APP PROMO SECTION
   ============================================================ */
.app-promo{background:var(--paper);overflow:hidden;}
.app-promo-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}

.app-copy h2{font-size:38px;line-height:1.14;color:var(--navy);margin:0 0 16px;font-weight:700;}
.app-copy > p{font-size:15.5px;color:var(--muted);margin:0 0 24px;max-width:420px;line-height:1.6;}

.app-note{display:flex;align-items:flex-start;gap:12px;background:#EAF2FB;border:1px solid #CFE0F3;
  border-radius:10px;padding:14px 16px;margin-bottom:26px;max-width:470px;}
.app-note-body{flex:1;min-width:0;}
.app-note b{display:block;font-size:13.5px;color:#1B4F8A;margin-bottom:3px;}
.app-note span{font-size:13px;color:#2C6AAE;line-height:1.5;}
.app-note-close{border:none;background:none;color:#6E97C4;font-size:17px;line-height:1;cursor:pointer;
  padding:0 2px;flex-shrink:0;}
.app-note-close:hover{color:#1B4F8A;}

.store-buttons{display:flex;gap:14px;flex-wrap:wrap;}
.store-btn{display:inline-flex;align-items:center;gap:11px;padding:13px 24px;border-radius:10px;
  font-weight:600;font-size:15px;transition:transform .16s,box-shadow .16s,background .16s;}
.store-btn svg{width:20px;height:20px;flex-shrink:0;}
.store-btn-dark{background:var(--navy-deep);color:#fff;border:1.5px solid var(--navy-deep);}
.store-btn-dark:hover{background:var(--navy);transform:translateY(-2px);
  box-shadow:0 10px 22px -8px rgba(18,35,58,.45);color:#fff;}
.store-btn-light{background:#fff;color:var(--navy-deep);border:1.5px solid var(--navy-deep);}
.store-btn-light:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(18,35,58,.3);}

/* --- Phone mockup: built in CSS/HTML, renders crisp at any density --- */
.phone-stage{position:relative;display:flex;align-items:center;justify-content:center;
  min-height:500px;perspective:1400px;}
.phone-blob{position:absolute;width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle at 34% 28%,var(--navy-2),var(--navy-deep));}
.phone-blob::after{content:"";position:absolute;inset:-26px;border-radius:50%;
  border:1px dashed rgba(255,255,255,.14);}

.phone{position:relative;width:250px;height:508px;background:linear-gradient(150deg,#2b3340,#11161e 45%,#232b36);
  border-radius:36px;padding:8px;box-shadow:0 46px 70px -26px rgba(6,12,20,.72),0 0 0 1px rgba(255,255,255,.06);
  transform:rotateY(-17deg) rotateX(5deg) rotateZ(-2deg);transform-style:preserve-3d;}
/* side buttons */
.phone::before{content:"";position:absolute;right:-2px;top:112px;width:3px;height:54px;
  background:linear-gradient(90deg,#3a4553,#171d26);border-radius:2px;}
.phone::after{content:"";position:absolute;left:-2px;top:96px;width:3px;height:34px;
  background:linear-gradient(90deg,#171d26,#3a4553);border-radius:2px;}

.phone-screen{position:relative;width:100%;height:100%;background:#F3F5F8;border-radius:29px;
  overflow:hidden;display:flex;flex-direction:column;}
/* glass sheen */
.phone-screen::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;
  background:linear-gradient(118deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.05) 26%,transparent 47%);}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:88px;height:20px;
  background:#10151d;border-radius:0 0 13px 13px;z-index:4;}
.phone-cam{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:6px;height:6px;
  border-radius:50%;background:#2c3a4d;box-shadow:inset 0 0 2px #0a0f16;z-index:5;}

/* --- app header --- */
.ps-top{background:linear-gradient(160deg,var(--navy),var(--navy-2));padding:26px 12px 14px;}
.ps-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;}
.ps-brand-name{display:flex;align-items:center;gap:5px;color:#fff;font-family:var(--font-display);
  font-weight:700;font-size:13px;letter-spacing:-.02em;}
.ps-logo{display:flex;align-items:center;justify-content:center;color:#fff;
  width:auto;height:auto;background:none;border-radius:0;}
.ps-logo svg{display:block;width:14px;height:14px;}
.ps-burger{display:flex;flex-direction:column;gap:2.5px;}
.ps-burger i{width:13px;height:1.7px;background:#fff;border-radius:2px;display:block;}
.ps-cart{position:relative;}
.ps-cart b{position:absolute;top:-5px;right:-6px;background:var(--orange);color:#fff;font-size:6.5px;
  width:11px;height:11px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;}
.ps-search{background:#fff;border-radius:8px;height:28px;display:flex;align-items:center;
  padding:0 9px;gap:6px;box-shadow:0 3px 8px rgba(0,0,0,.14);}
.ps-search span{flex:1;font-size:8.5px;color:#9aa4b1;}

/* --- category tiles --- */
.ps-chips{display:flex;gap:5px;padding:11px 12px 0;}
.ps-chip{flex:1;background:#fff;border-radius:8px;padding:7px 3px;display:flex;flex-direction:column;
  align-items:center;gap:3px;box-shadow:0 1px 3px rgba(20,32,48,.07);}
.ps-chip i{width:15px;height:15px;border-radius:4px;display:block;}
.ps-chip span{font-size:6px;color:var(--navy);font-weight:700;}

/* --- promo banner --- */
.ps-banner{margin:11px 12px 0;border-radius:10px;padding:12px;position:relative;overflow:hidden;
  background:linear-gradient(115deg,#EAF0FA 0%,#FDF0E2 100%);}
.ps-banner b{display:block;font-family:var(--font-display);font-size:11.5px;color:var(--navy);
  line-height:1.15;font-weight:800;}
.ps-banner em{font-style:normal;font-size:6.5px;color:#5b6b7d;display:block;margin-top:3px;}
.ps-banner span{display:inline-block;margin-top:8px;background:var(--orange);color:#fff;font-size:6.5px;
  font-weight:700;padding:4px 10px;border-radius:20px;}
.ps-banner-art{position:absolute;right:8px;bottom:8px;width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(242,136,75,.35),rgba(42,36,94,.18));}

/* --- products --- */
.ps-row{display:flex;justify-content:space-between;align-items:baseline;padding:13px 12px 7px;}
.ps-row b{font-size:9.5px;color:var(--ink);font-weight:800;}
.ps-row span{font-size:7px;color:var(--orange);font-weight:700;}
.ps-cards{display:flex;gap:7px;padding:0 12px;}
.ps-card{flex:1;background:#fff;border-radius:9px;padding:7px;position:relative;
  box-shadow:0 1px 4px rgba(20,32,48,.08);}
.ps-card .thumb{height:42px;border-radius:6px;margin-bottom:6px;
  background:repeating-linear-gradient(135deg,#EDF0F4 0 3px,#F6F8FA 3px 9px);}
.ps-card .off{position:absolute;top:5px;right:5px;background:#E23D3D;color:#fff;font-size:5.5px;
  font-weight:800;padding:2px 5px;border-radius:10px;}
.ps-card p{font-size:6.5px;color:var(--ink);margin:0 0 3px;line-height:1.3;font-weight:600;}
.ps-stars{font-size:5.5px;color:#F2AB3B;letter-spacing:.4px;margin-bottom:3px;}
.ps-stars em{font-style:normal;color:#9aa4b1;}
.ps-price{display:flex;align-items:center;justify-content:space-between;}
.ps-price strong{font-size:8.5px;color:var(--navy);font-family:var(--font-mono);}
.ps-price s{font-size:6px;color:#9aa4b1;margin-left:3px;}
.ps-price i{width:15px;height:15px;border-radius:4px;background:var(--orange);display:flex;
  align-items:center;justify-content:center;}

/* --- tab bar --- */
.ps-tabbar{margin-top:auto;background:#fff;border-top:1px solid #E6E9EE;display:flex;padding:7px 0 10px;}
.ps-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:5.8px;color:#98a2b0;}
.ps-tab svg{width:12px;height:12px;}
.ps-tab.on{color:var(--navy);font-weight:800;}

@media (max-width:900px){
  .app-promo-inner{grid-template-columns:1fr;gap:34px;}
  .app-copy h2{font-size:30px;}
  .phone-stage{min-height:460px;}
  .phone{transform:rotateY(-12deg) rotateX(4deg) rotateZ(-2deg);}
}
@media (max-width:540px){
  .app-copy h2{font-size:25px;}
  .store-buttons{flex-direction:column;}
  .store-btn{justify-content:center;}
  .phone{transform:rotateY(-8deg) rotateZ(-1deg) scale(.82);}
  .phone-blob{width:300px;height:300px;}
  .phone-stage{min-height:400px;}
}

/* ============================================================
   FEATURED PRODUCTS SLIDER
   ============================================================ */
.prod-slider{position:relative;}
.prod-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;
  scroll-snap-type:x mandatory;padding:6px 2px 16px;
  scrollbar-width:none;-ms-overflow-style:none;}
.prod-track::-webkit-scrollbar{display:none;}
.prod-slide{flex:0 0 300px;scroll-snap-align:start;}
.prod-slide .prod-card{height:100%;}

/* fade cue on the right, hidden once the end is reached */
.prod-slider::after{content:"";position:absolute;top:0;right:0;bottom:16px;width:60px;
  background:linear-gradient(90deg,transparent,var(--paper));pointer-events:none;
  opacity:1;transition:opacity .2s;}
.prod-slider.at-end::after{opacity:0;}

.feat-empty{border:1px dashed var(--line);border-radius:16px;padding:48px 24px;text-align:center;}
.feat-empty b{display:block;color:var(--navy);font-size:15px;margin-bottom:6px;}
.feat-empty span{font-size:13.5px;color:var(--muted);}

@media (max-width:768px){
  .prod-slide{flex:0 0 232px;}
}
@media (max-width:540px){
  .prod-slide{flex:0 0 210px;}
  .prod-slider::after{width:34px;}
}

/* ============================================================
   REPORT LISTING BUTTON + MODAL
   ============================================================ */
.report-link{display:inline-flex;align-items:center;gap:7px;background:none;border:none;padding:0;
  margin-top:18px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);
  cursor:pointer;transition:color .15s;}
.report-link svg{width:14px;height:14px;}
.report-link:hover{color:#c0392b;}

.modal-backdrop{position:fixed;inset:0;background:rgba(18,35,58,.6);z-index:200;
  align-items:center;justify-content:center;padding:16px;}
.modal-box{background:#fff;border-radius:16px;padding:26px;max-width:470px;width:100%;
  max-height:90vh;overflow-y:auto;box-shadow:0 30px 60px -20px rgba(19,16,48,.5);}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;}
.modal-head h3{margin:0 0 4px;font-size:18px;color:var(--navy);}
.modal-head p{margin:0;font-size:13px;color:var(--muted);}
.modal-head button{border:none;background:none;font-size:24px;line-height:1;color:var(--muted);
  cursor:pointer;padding:0 2px;}
.modal-head button:hover{color:var(--navy);}

.report-product{background:var(--paper);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;margin-bottom:18px;}
.report-product strong{display:block;font-size:13.5px;color:var(--navy);margin-bottom:3px;}
.report-product span{font-size:11.5px;color:var(--muted);font-family:var(--font-mono);}
.report-note{font-size:11.5px;color:var(--muted);text-align:center;margin:12px 0 0;line-height:1.5;}

/* ============================================================
   STOCK STATUS + QUANTITY / BUY BOX
   ============================================================ */
.stock-line{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:20px;}
.stock-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:20px;
  font-size:12px;font-weight:700;font-family:var(--font-mono);letter-spacing:.02em;}
.stock-badge .dot{width:7px;height:7px;border-radius:50%;display:block;}
.stock-badge.in{background:#E8F6EE;color:#1A7A3F;}
.stock-badge.in .dot{background:#25A55B;box-shadow:0 0 0 3px rgba(37,165,91,.18);}
.stock-badge.low{background:#FFF4E3;color:#9A6412;}
.stock-badge.low .dot{background:#E9A227;box-shadow:0 0 0 3px rgba(233,162,39,.2);}
.stock-badge.out{background:#FDECEA;color:#A12622;}
.stock-badge.out .dot{background:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.16);}
.stock-note{font-size:12.5px;color:var(--muted);}

.buy-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:4px;}
.buy-box.out-of-stock{text-align:center;}
.buy-box.out-of-stock p{margin:0 0 14px;font-size:13.5px;color:var(--muted);}

.qty-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.qty-label{font-size:13px;font-weight:700;color:var(--navy);min-width:62px;}
.qty-unit{font-size:12.5px;color:var(--muted);}

.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background:#fff;}
.qty-stepper button{width:40px;height:42px;border:none;background:#fff;color:var(--navy);
  font-size:17px;line-height:1;cursor:pointer;transition:background .14s,color .14s;font-family:inherit;}
.qty-stepper button:hover:not(:disabled){background:var(--paper);color:var(--orange);}
.qty-stepper button:disabled{color:#c9d0d8;cursor:not-allowed;}
.qty-stepper input{width:58px;height:42px;border:none;border-left:1px solid var(--line);
  border-right:1px solid var(--line);text-align:center;font-size:14.5px;font-weight:700;
  color:var(--navy);font-family:var(--font-mono);outline:none;background:#fff;}
.qty-stepper input:focus{background:#FCFDFE;}

.qty-hint{font-size:11.5px;color:var(--muted);margin:9px 0 0;}

.buy-total{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  margin:18px 0 16px;padding-top:16px;border-top:1px solid var(--line);}
.buy-total-label{display:block;font-size:11px;font-family:var(--font-mono);text-transform:uppercase;
  letter-spacing:.06em;color:var(--muted);margin-bottom:4px;}
.buy-total-unit{font-size:15px;font-weight:700;color:var(--ink);font-family:var(--font-mono);}
.buy-total-value{font-size:23px;font-weight:700;color:var(--navy);font-family:var(--font-mono);}

.buy-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;}
.buy-actions .btn-outline-light{display:flex;align-items:center;}

@media (max-width:540px){
  .buy-actions{flex-direction:column;}
  .buy-actions .btn-outline-light{justify-content:center;}
  .buy-total-value{font-size:20px;}
}

/* ============================================================
   BADGES + NOTIFICATION DROPDOWN
   ============================================================ */
.icon-badge-wrap{position:relative;display:inline-flex;}
.icon-badge{position:absolute;top:-6px;right:-9px;min-width:17px;height:17px;padding:0 5px;
  border-radius:9px;background:var(--orange);color:#fff;font-size:10px;font-weight:800;
  font-family:var(--font-mono);display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;line-height:1;}

.notif-wrap{position:relative;}
.notif-trigger{background:none;border:none;font-family:inherit;cursor:pointer;}

.notif-panel{position:absolute;top:calc(100% + 10px);right:0;width:340px;background:#fff;
  border:1px solid var(--line);border-radius:14px;z-index:80;overflow:hidden;
  box-shadow:0 22px 48px -14px rgba(20,32,48,.28);}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;
  border-bottom:1px solid var(--line);}
.notif-head strong{font-size:13.5px;color:var(--navy);}
.notif-head button{background:none;border:none;font-family:inherit;font-size:11.5px;font-weight:700;
  color:var(--orange);cursor:pointer;padding:0;}

.notif-list{max-height:334px;overflow-y:auto;}
.notif-list::-webkit-scrollbar{width:8px;}
.notif-list::-webkit-scrollbar-thumb{background:#dfe3e8;border-radius:8px;}

.notif-item{display:flex;gap:11px;align-items:flex-start;padding:13px 16px;
  border-bottom:1px solid var(--line);transition:background .13s;}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--paper);}
.notif-item.unread{background:#FFF8F2;}
.notif-item.unread:hover{background:#FFF2E7;}

.notif-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px;background:var(--muted);}
.notif-dot.type-message{background:#3B82C4;}
.notif-dot.type-report{background:#C0392B;}
.notif-dot.type-order{background:#25A55B;}
.notif-dot.type-rfq{background:var(--orange);}
.notif-dot.type-verification{background:#8A5BB8;}

.notif-body{flex:1;min-width:0;display:block;}
.notif-body b{display:block;font-size:13px;color:var(--navy);font-weight:700;line-height:1.35;margin-bottom:2px;}
.notif-body span{display:block;font-size:12px;color:var(--muted);line-height:1.45;margin-bottom:3px;}
.notif-body em{font-style:normal;font-size:11px;color:#9aa4b1;font-family:var(--font-mono);}

.notif-empty{padding:30px 16px;text-align:center;font-size:12.5px;color:var(--muted);margin:0;}
.notif-foot{display:block;padding:12px;text-align:center;font-size:12.5px;font-weight:700;
  color:var(--navy);border-top:1px solid var(--line);background:var(--paper);}
.notif-foot:hover{color:var(--orange);}

/* full notifications page */
.notif-page{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;}
.notif-page .notif-item{padding:16px 18px;}

/* dashboard bell */
.dash-bell{position:relative;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
  color:var(--navy);transition:.15s;}
.dash-bell svg{width:18px;height:18px;}
.dash-bell:hover{border-color:var(--navy);background:var(--paper);}
.dash-bell .icon-badge{top:-4px;right:-4px;}

@media (max-width:540px){
  .notif-panel{width:min(320px, calc(100vw - 32px));right:-8px;}
}

/* ============================================================
   LIVE BADGE POP + TOASTS
   ============================================================ */
.icon-badge.pop{animation:badgePop .42s cubic-bezier(.34,1.56,.64,1);}
@keyframes badgePop{
  0%{transform:scale(.4);opacity:.4;}
  55%{transform:scale(1.28);}
  100%{transform:scale(1);opacity:1;}
}

.toast-stack{position:fixed;right:20px;bottom:20px;z-index:300;display:flex;
  flex-direction:column;gap:10px;pointer-events:none;}
.toast{background:var(--navy-deep);color:#fff;padding:13px 18px;border-radius:11px;
  font-size:13.5px;font-weight:600;max-width:330px;line-height:1.45;
  box-shadow:0 16px 36px -12px rgba(19,16,48,.5);
  opacity:0;transform:translateY(14px);transition:opacity .24s,transform .24s;
  border-left:3px solid var(--orange);pointer-events:auto;}
.toast.show{opacity:1;transform:translateY(0);}
.toast.success{border-left-color:#25A55B;}
.toast.info{border-left-color:var(--orange);}

@media (max-width:540px){
  .toast-stack{right:12px;left:12px;bottom:12px;}
  .toast{max-width:none;}
}

/* ============================================================
   TRADE EVENTS SPOTLIGHT (full-bleed hero band)
   ============================================================ */
.spotlight{position:relative;padding:88px 0 96px;margin-bottom:80px;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(ellipse 55% 75% at 18% 15%, rgba(77,67,173,.55), transparent 62%),
    radial-gradient(ellipse 48% 66% at 86% 28%, rgba(242,136,75,.22), transparent 64%),
    linear-gradient(158deg, #2F2869 0%, var(--navy-deep) 52%, #171436 100%);}

/* Layered depth: fine grid, angled light beam, soft vignette */
.spotlight::before{content:"";position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(ellipse 92% 82% at 50% 38%, #000 18%, transparent 76%);}
.spotlight::after{content:"";position:absolute;left:50%;top:-34%;width:130%;height:86%;z-index:-2;
  transform:translateX(-50%) rotate(-9deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.055) 44%,transparent 72%);}

/* Optional photo background */
.spotlight.has-photo{background-size:cover;background-position:center;}
.spotlight.has-photo .spotlight-scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(12,23,37,.84),rgba(12,23,37,.93));}

/* --- heading --- */
.spotlight-head{text-align:center;max-width:760px;margin:0 auto 52px;position:relative;z-index:2;}
.spot-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.13);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.30);padding:7px 16px;
  border-radius:30px;font-size:11.5px;font-weight:700;font-family:var(--font-mono);
  letter-spacing:.08em;margin-bottom:22px;}
.spot-eyebrow .pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);
  animation:pulse 2s ease-in-out infinite;}

.spotlight-head h2{font-size:46px;line-height:1.06;color:#fff;margin:0 0 16px;font-weight:800;
  letter-spacing:-.03em;}
.spotlight-head h2 .accent{
  background:linear-gradient(100deg,var(--orange-light),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.spotlight-head .sub{font-size:22px;color:#dbe6f2;margin:0 0 18px;font-weight:500;line-height:1.35;}
.spotlight-head .sub em{font-style:italic;font-weight:700;color:var(--orange-light);}
.spotlight-head .lede{font-size:15px;color:#9fb3ca;margin:0;line-height:1.7;max-width:560px;
  margin-inline:auto;}
.spot-rule{width:54px;height:3px;border-radius:3px;margin:24px auto 0;
  background:linear-gradient(90deg,var(--orange),rgba(242,136,75,0));}

/* --- cards --- */
.spotlight-cards{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:960px;
  margin:0 auto;position:relative;z-index:2;}
.spot-card{position:relative;background:#fff;border-radius:20px;padding:38px 32px 32px;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 30px 60px -22px rgba(4,11,22,.62);
  transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s;}
.spot-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--navy),var(--orange));
  transform:scaleX(.28);transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.3,1);}
.spot-card:hover{transform:translateY(-6px);box-shadow:0 40px 72px -22px rgba(4,11,22,.72);}
.spot-card:hover::before{transform:scaleX(1);}

.spot-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;
  justify-content:center;margin-bottom:20px;background:linear-gradient(140deg,var(--navy),var(--navy-2));
  color:#fff;box-shadow:0 10px 20px -8px rgba(42,36,94,.5);}
.spot-card:nth-child(2) .spot-icon{background:linear-gradient(140deg,#E8763A,var(--orange));
  box-shadow:0 10px 20px -8px rgba(242,136,75,.5);}
.spot-icon svg{width:23px;height:23px;}

.spot-card h3{font-size:20px;color:var(--navy);margin:0 0 14px;font-weight:700;line-height:1.28;
  letter-spacing:-.01em;}
.spot-card p{font-size:14px;color:#55637a;line-height:1.75;margin:0 0 14px;}

.spot-points{list-style:none;padding:0;margin:0 0 26px;}
.spot-points li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#41506a;
  padding:7px 0;line-height:1.5;}
.spot-points svg{width:16px;height:16px;color:var(--orange);flex-shrink:0;margin-top:2px;}

.spot-cta{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:9px;
  background:var(--navy);color:#fff;padding:12px 24px;border-radius:9px;font-size:13.5px;
  font-weight:600;transition:.18s;}
.spot-cta svg{width:15px;height:15px;transition:transform .18s;}
.spot-cta:hover{background:var(--orange);color:#fff;}
.spot-cta:hover svg{transform:translateX(3px);}

/* --- market strip --- */
.spot-markets{position:relative;z-index:2;max-width:960px;margin:44px auto 0;text-align:center;}
.spot-markets span.label{display:block;font-family:var(--font-mono);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:#7286a0;margin-bottom:16px;}
.spot-markets .tags{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;}
.spot-markets .tags a{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);
  color:#c7d5e6;font-size:12.5px;font-weight:600;padding:7px 15px;border-radius:22px;
  transition:.16s;}
.spot-markets .tags a:hover{background:var(--orange);border-color:var(--orange);color:#fff;
  transform:translateY(-2px);}

@media (max-width:900px){
  .spotlight{padding:62px 0 70px;margin-bottom:56px;}
  .spotlight-head h2{font-size:34px;}
  .spotlight-head .sub{font-size:19px;}
  .spotlight-cards{grid-template-columns:1fr;gap:20px;max-width:540px;}
  .spot-card{padding:30px 26px 26px;}
}
@media (max-width:540px){
  .spotlight{padding:48px 0 56px;margin-bottom:40px;}
  .spotlight-head h2{font-size:27px;}
  .spotlight-head .sub{font-size:16.5px;}
  .spotlight-head .lede{font-size:14px;}
  .spot-cta{align-self:stretch;justify-content:center;}
}


/* ============================================================
   WISHLIST BUTTONS + HEADER DASHBOARD CTA
   ============================================================ */
.heart-btn{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;color:var(--muted);border:1px solid var(--line);background:#fff;
  cursor:pointer;transition:.16s;padding:0;}
.heart-btn svg{width:16px;height:16px;transition:transform .18s;}
.heart-btn:hover{color:#E24A5B;border-color:#F3C2C8;background:#FFF5F6;}
.heart-btn.saved{color:#E24A5B;border-color:#F3C2C8;background:#FFF1F3;}
.heart-btn.saved svg{fill:#E24A5B;animation:heartPop .4s cubic-bezier(.34,1.56,.64,1);}
@keyframes heartPop{0%{transform:scale(.6);}55%{transform:scale(1.25);}100%{transform:scale(1);}}

.wish-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;
  border:1.5px solid var(--line);background:#fff;color:var(--muted);font-family:inherit;
  font-size:14px;font-weight:600;cursor:pointer;transition:.16s;}
.wish-btn svg{width:17px;height:17px;transition:transform .18s;}
.wish-btn:hover{color:#E24A5B;border-color:#F0A9B3;background:#FFF5F6;}
.wish-btn.saved{color:#E24A5B;border-color:#F0A9B3;background:#FFF1F3;}
.wish-btn.saved svg{fill:#E24A5B;animation:heartPop .4s cubic-bezier(.34,1.56,.64,1);}

.header-cta-ghost{display:inline-flex;align-items:center;gap:8px;background:#fff;
  color:var(--navy);border:1.5px solid var(--navy);}
.header-cta-ghost svg{width:15px;height:15px;}
.header-cta-ghost:hover{background:var(--navy);color:#fff;}

/* Collapse the icon labels before the CTA, so the header never wraps */
@media (max-width:1080px){
  .icon-cluster .icon-btn{padding:8px;}
  .icon-cluster .icon-btn{font-size:0;gap:0;}
  .icon-cluster .icon-btn svg{width:20px;height:20px;}
}

/* ============================================================
   CHECKOUT / ORDERS / RECEIPTS
   ============================================================ */
.checkout-layout{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start;}
.checkout-side{position:sticky;top:92px;}

.co-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;margin-bottom:20px;}
.co-card h3{font-size:17px;color:var(--navy);margin:0 0 20px;font-weight:700;}
.co-card .opt{font-weight:400;color:var(--muted);font-size:12.5px;}
.co-card label em{color:#c0392b;font-style:normal;}
.co-card textarea,.co-card input[type=text],.co-card input[type=email],
.co-card input[type=tel],.co-card input[type=password],.co-card input[type=number],
.co-card input[type=date],.co-card input[type=file]{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:9px;
  font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;}
.co-card input:focus,.co-card textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(42,36,94,.09);}
.co-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}

.co-check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink);
  cursor:pointer;line-height:1.5;margin-top:6px;}
.co-check input{margin-top:3px;flex-shrink:0;}
.co-check a{color:var(--orange);font-weight:600;}

/* summary */
.co-summary h3{margin-bottom:16px;}
.co-lines{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px;}
.co-line{display:flex;justify-content:space-between;gap:14px;padding:8px 0;font-size:13.5px;}
.co-line-name{color:var(--ink);line-height:1.45;}
.co-line-name span{color:var(--muted);font-family:var(--font-mono);font-size:12px;}
.co-line-price{font-family:var(--font-mono);font-weight:600;color:var(--navy);white-space:nowrap;}
.co-totals div{display:flex;justify-content:space-between;padding:7px 0;font-size:13.5px;color:#55637a;}
.co-totals div span:last-child{font-family:var(--font-mono);color:var(--ink);}
.co-grand{border-top:1px solid var(--line);margin-top:8px;padding-top:14px !important;
  font-size:16px !important;font-weight:700;color:var(--navy) !important;}
.co-grand span:last-child{font-size:20px;font-weight:700;color:var(--navy) !important;}
.co-note-split{font-size:12px;color:var(--muted);background:var(--paper);border-radius:9px;
  padding:11px 13px;margin:14px 0 0;line-height:1.55;}

.co-payment{border:1.5px solid var(--orange);border-radius:11px;padding:16px;margin-top:18px;
  background:#FFF8F3;}
.co-payment-head{display:flex;gap:11px;align-items:flex-start;}
.co-radio{width:17px;height:17px;border-radius:50%;border:5px solid var(--orange);
  background:#fff;flex-shrink:0;margin-top:2px;}
.co-payment-head strong{display:block;font-size:14px;color:var(--navy);}
.co-payment-head span{font-size:12px;color:var(--muted);}
.co-payment-body{font-size:12.5px;color:#55637a;line-height:1.6;margin:12px 0 0;}

/* order confirmation */
.order-hero{text-align:center;padding:12px 0 30px;}
.order-tick{width:62px;height:62px;border-radius:50%;background:#E8F6EE;color:#1A7A3F;
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.order-tick svg{width:28px;height:28px;}
.order-hero h1{font-size:28px;color:var(--navy);margin:0 0 10px;font-weight:700;}
.order-hero p{font-size:14.5px;color:var(--muted);line-height:1.65;margin:0;}

.order-meta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;
  border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:20px;}
.order-meta-strip div{padding:16px 18px;border-right:1px solid var(--line);}
.order-meta-strip div:last-child{border-right:none;}
.order-meta-strip span{display:block;font-family:var(--font-mono);font-size:10.5px;
  text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px;}
.order-meta-strip strong{font-size:14.5px;color:var(--navy);}

/* bank details */
.bank-box{background:linear-gradient(160deg,var(--navy-deep),var(--navy));color:#fff;
  border-radius:14px;padding:26px;margin-bottom:20px;}
.bank-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.bank-head svg{width:26px;height:26px;color:var(--orange-light);flex-shrink:0;}
.bank-head strong{display:block;font-size:16px;margin-bottom:3px;}
.bank-head span{font-size:12.5px;color:#a9bbd0;}
.bank-rows{margin:0;}
.bank-rows div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.09);}
.bank-rows div:last-child{border-bottom:none;}
.bank-rows dt{font-size:12.5px;color:#a9bbd0;margin:0;}
.bank-rows dd{margin:0;font-size:13.5px;color:#fff;text-align:right;word-break:break-all;}
.bank-rows dd.ref{color:var(--orange-light);font-weight:700;}
.bank-rows dd.amount{font-size:17px;font-weight:700;font-family:var(--font-mono);}
.bank-note{font-size:12.5px;color:#a9bbd0;line-height:1.6;margin:16px 0 0;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.09);}
.bank-missing{font-size:13.5px;color:#ffc9a8;margin:0;line-height:1.6;}

/* order table */
.order-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.order-table th{text-align:left;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;
  letter-spacing:.05em;color:var(--muted);padding:0 0 10px;border-bottom:1px solid var(--line);}
.order-table th:last-child,.order-table td:last-child{text-align:right;}
.order-table td{padding:12px 0;border-bottom:1px solid var(--line);}
.order-table tfoot td{border-bottom:none;padding:7px 0;color:var(--muted);}
.order-table tfoot .grand td{padding-top:14px;border-top:1px solid var(--line);
  font-size:16px;font-weight:700;color:var(--navy);}

.order-totals-mini{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.order-totals-mini div{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;color:#55637a;}
.order-totals-mini .grand{font-size:16px;font-weight:700;color:var(--navy);padding-top:12px;
  margin-top:6px;border-top:1px solid var(--line);}

/* receipts */
.upload-intro{font-size:13.5px;color:var(--muted);line-height:1.6;margin:0 0 18px;}
.field-hint{font-size:11.5px;color:var(--muted);margin:6px 0 0;}
.receipt-history{margin-bottom:22px;}
.receipt-row{display:flex;gap:13px;align-items:flex-start;padding:13px;border:1px solid var(--line);
  border-radius:11px;margin-bottom:10px;background:var(--paper);}
.receipt-icon{width:34px;height:34px;border-radius:8px;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.receipt-icon svg{width:16px;height:16px;}
.receipt-meta{flex:1;min-width:0;}
.receipt-meta strong{display:block;font-size:13px;color:var(--navy);margin-bottom:2px;word-break:break-all;}
.receipt-meta span{display:block;font-size:11.5px;color:var(--muted);}
.receipt-note{margin-top:4px;color:#a12622 !important;}

.status-panel{border-radius:11px;padding:18px;}
.status-panel strong{display:block;font-size:14.5px;margin-bottom:5px;}
.status-panel span{font-size:13px;line-height:1.6;}
.status-panel.pending{background:#FFF4E3;border:1px solid #F5D9A8;color:#9A6412;}
.status-panel.ok{background:#E8F6EE;border:1px solid #B7E3C7;color:#1A7A3F;}

.keep-link{background:var(--paper);border:1px dashed var(--line);border-radius:12px;padding:18px;
  text-align:center;}
.keep-link strong{display:block;font-size:13.5px;color:var(--navy);margin-bottom:5px;}
.keep-link span{font-size:12.5px;color:var(--muted);line-height:1.6;}

/* admin review */
.receipt-review{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start;}
.receipt-preview{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--paper);}
.receipt-preview img{width:100%;display:block;max-height:520px;object-fit:contain;background:#fff;}
.receipt-pdf{padding:48px 20px;text-align:center;color:var(--muted);}
.receipt-pdf svg{width:44px;height:44px;margin-bottom:12px;}
.receipt-pdf strong{display:block;font-size:13.5px;color:var(--navy);word-break:break-all;}

@media (max-width:1024px){
  .checkout-layout{grid-template-columns:1fr;}
  .checkout-side{position:static;}
  .receipt-review{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .co-grid-2{grid-template-columns:1fr;}
  .co-card{padding:20px;}
  .order-meta-strip{grid-template-columns:1fr 1fr;}
  .order-meta-strip div:nth-child(2){border-right:none;}
  .order-meta-strip div:nth-child(1),.order-meta-strip div:nth-child(2){border-bottom:1px solid var(--line);}
  .bank-rows div{flex-direction:column;gap:3px;}
  .bank-rows dd{text-align:left;}
}

/* Orders list: highlight payments the customer still has to finish */
.pay-now-link{display:inline-flex;align-items:center;gap:6px;background:var(--orange);color:#fff;
  padding:7px 14px;border-radius:7px;font-size:12.5px;font-weight:700;transition:.15s;}
.pay-now-link:hover{background:#dd7038;color:#fff;}

/* ============================================================
   EVENTS & EXHIBITIONS — listing, filters, cards
   ============================================================ */
.ev-hero{background:radial-gradient(ellipse 55% 75% at 18% 15%, rgba(77,67,173,.5), transparent 62%),
  radial-gradient(ellipse 48% 66% at 86% 28%, rgba(242,136,75,.2), transparent 64%),
  linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);
  color:#fff;padding:56px 0 52px;position:relative;overflow:hidden;}
.ev-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 92% 82% at 50% 38%,#000 18%,transparent 76%);}
.ev-hero-inner{position:relative;z-index:2;}
.ev-hero h1{font-size:38px;margin:0 0 12px;font-weight:800;letter-spacing:-.02em;}
.ev-hero p{color:#a9bbd0;font-size:15px;max-width:560px;margin:0;line-height:1.65;}
.ev-hero-stats{display:flex;gap:38px;margin-top:28px;flex-wrap:wrap;}
.ev-hero-stats b{display:block;font-family:var(--font-mono);font-size:22px;}
.ev-hero-stats span{font-size:12px;color:#8494a8;}

.ev-layout{display:grid;grid-template-columns:270px 1fr;gap:32px;align-items:start;}
.ev-side{position:sticky;top:92px;}
.ev-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:24px;}
.ev-count{font-size:14px;color:var(--muted);}
.ev-count b{color:var(--navy);font-family:var(--font-mono);}

/* filters */
.ev-filters{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;}
.ev-filter-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px;
  padding-bottom:14px;border-bottom:1px solid var(--line);}
.ev-filter-head h4{margin:0;font-size:14px;color:var(--navy);font-weight:700;}
.ev-filter-head a{font-size:11.5px;color:var(--orange);font-weight:700;}
.ev-fgroup{margin-bottom:18px;}
.ev-flabel{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin-bottom:9px;font-weight:700;}
.ev-fgroup input[type=text],.ev-fgroup input[type=date],.ev-fgroup select{
  width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;
  font-family:inherit;outline:none;background:#fff;}
.ev-fgroup input:focus,.ev-fgroup select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(42,36,94,.09);}
.ev-seg{display:flex;flex-wrap:wrap;gap:6px;}
.ev-seg label{flex:1;min-width:70px;text-align:center;border:1px solid var(--line);border-radius:8px;
  padding:7px 8px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:.14s;}
.ev-seg label:hover{border-color:#cfd5dd;color:var(--navy);}
.ev-seg label.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.ev-seg input{display:none;}
.ev-date-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center;}
.ev-date-pair span{font-size:11.5px;color:var(--muted);}
.ev-apply{width:100%;background:var(--navy);color:#fff;border:none;padding:11px;border-radius:9px;
  font-weight:600;font-size:13.5px;cursor:pointer;font-family:inherit;transition:background .15s;}
.ev-apply:hover{background:var(--navy-2);}
.ev-filter-toggle{display:none;width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:12px;font-weight:600;font-size:13.5px;color:var(--navy);cursor:pointer;margin-bottom:18px;
  align-items:center;justify-content:center;gap:8px;font-family:inherit;}

/* cards */
.ev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.ev-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;}
.ev-card:hover{transform:translateY(-4px);border-color:#d5dae1;box-shadow:0 18px 38px -14px rgba(42,36,94,.22);}
.ev-card.is-past{opacity:.72;}
.ev-media{position:relative;display:block;height:172px;background:linear-gradient(135deg,var(--navy),var(--navy-2));overflow:hidden;}
.ev-media img{width:100%;height:100%;object-fit:cover;}
.ev-media-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.25);}
.ev-media-fallback svg{width:52px;height:52px;}
.ev-date-chip{position:absolute;top:12px;left:12px;background:#fff;border-radius:10px;padding:7px 11px;
  text-align:center;box-shadow:0 6px 16px rgba(10,20,34,.25);line-height:1;}
.ev-date-chip b{display:block;font-family:var(--font-display);font-size:17px;color:var(--navy);font-weight:800;}
.ev-date-chip span{font-size:9.5px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;}
.ev-type-badge{position:absolute;top:12px;right:12px;font-family:var(--font-mono);font-size:9.5px;
  font-weight:800;letter-spacing:.05em;padding:5px 10px;border-radius:20px;color:#fff;}
.ev-type-badge.is-exhibition{background:var(--navy);}
.ev-type-badge.is-event{background:#5B3E85;}
.ev-live{position:absolute;bottom:12px;left:12px;display:inline-flex;align-items:center;gap:6px;
  background:#25A55B;color:#fff;font-family:var(--font-mono);font-size:9.5px;font-weight:800;
  padding:5px 10px;border-radius:20px;letter-spacing:.05em;}
.ev-live i{width:5px;height:5px;border-radius:50%;background:#fff;animation:pulse 1.6s ease-in-out infinite;}
.ev-live.is-past{background:#6B7684;}

.ev-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.ev-cat{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:8px;}
.ev-body h3{font-size:16.5px;margin:0 0 8px;line-height:1.32;font-weight:700;}
.ev-body h3 a{color:var(--navy);}
.ev-body h3 a:hover{color:var(--orange);}
.ev-desc{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 14px;}
.ev-meta{list-style:none;padding:0;margin:0 0 16px;}
.ev-meta li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#55637a;padding:3px 0;line-height:1.45;}
.ev-meta svg{width:14px;height:14px;color:var(--muted);flex-shrink:0;margin-top:1px;}
.ev-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding-top:14px;border-top:1px solid var(--line);margin-top:auto;}
.ev-price b{font-family:var(--font-mono);font-size:17px;color:var(--navy);font-weight:700;}
.ev-price span{font-size:11.5px;color:var(--muted);display:block;}
.ev-free,.ev-free-lg{color:#1A7A3F;font-weight:800;}
.ev-free{font-size:15px;}
.ev-free-lg{font-size:22px;}
.ev-pill{font-family:var(--font-mono);font-size:10px;font-weight:800;padding:5px 10px;border-radius:20px;letter-spacing:.04em;}
.ev-pill.is-green{background:#E8F6EE;color:#1A7A3F;}
.ev-pill.is-amber{background:#FFF4E3;color:#9A6412;}
.ev-pill.is-red{background:#FDECEA;color:#A12622;}
.ev-pill.is-grey{background:#EEF1F4;color:#6B7684;}
.ev-actions{display:flex;gap:9px;margin-top:14px;}
.ev-btn-ghost,.ev-btn-solid{flex:1;text-align:center;padding:10px;border-radius:8px;font-size:13px;font-weight:600;transition:.15s;}
.ev-btn-ghost{border:1px solid var(--line);color:var(--navy);}
.ev-btn-ghost:hover{border-color:var(--navy);}
.ev-btn-solid{background:var(--orange);color:#fff;}
.ev-btn-solid:hover{background:#dd7038;color:#fff;}

.ev-empty{border:1px dashed var(--line);border-radius:16px;padding:56px 24px;text-align:center;color:var(--muted);}
.ev-empty svg{width:44px;height:44px;color:#c9d0d8;margin-bottom:14px;}
.ev-empty b{display:block;color:var(--navy);font-size:15.5px;margin-bottom:6px;}
.ev-empty span{font-size:13.5px;}

/* ===== event details ===== */
.evd-banner{position:relative;height:330px;background:linear-gradient(135deg,var(--navy),var(--navy-2));overflow:hidden;
  display:flex;align-items:flex-end;}
.evd-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.evd-banner-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,23,37,.25),rgba(12,23,37,.9));}
.evd-banner-inner{position:relative;z-index:2;padding-bottom:32px;color:#fff;}
.evd-badges{display:flex;gap:9px;align-items:center;margin-bottom:14px;flex-wrap:wrap;}
.evd-badges .ev-type-badge,.evd-badges .ev-live{position:static;}
.evd-cat{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);color:#fff;
  font-family:var(--font-mono);font-size:9.5px;font-weight:700;padding:5px 10px;border-radius:20px;letter-spacing:.05em;}
.evd-banner-inner h1{font-size:36px;margin:0 0 10px;font-weight:800;line-height:1.12;letter-spacing:-.02em;max-width:760px;}
.evd-sub{font-size:14.5px;color:#c7d5e6;margin:0;}

.evd-layout{display:grid;grid-template-columns:1fr 330px;gap:28px;align-items:start;}
.evd-side{position:sticky;top:92px;}
.evd-prose{font-size:14.5px;line-height:1.8;color:#41506a;}
.evd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.evd-gallery img{width:100%;height:106px;object-fit:cover;border-radius:9px;border:1px solid var(--line);transition:.16s;}
.evd-gallery a:hover img{transform:scale(1.03);}
.evd-facts{margin:0;}
.evd-facts div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);}
.evd-facts div:last-child{border-bottom:none;}
.evd-facts dt{font-size:13px;color:var(--muted);margin:0;}
.evd-facts dd{margin:0;font-size:13.5px;color:var(--ink);text-align:right;font-weight:600;}
.evd-organizer{display:flex;gap:14px;align-items:flex-start;}
.evd-org-avatar{width:46px;height:46px;border-radius:12px;background:linear-gradient(140deg,var(--navy),var(--navy-2));
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0;
  font-family:var(--font-display);}
.evd-organizer strong{display:block;font-size:15px;color:var(--navy);margin-bottom:6px;}
.evd-organizer ul{list-style:none;padding:0;margin:0;}
.evd-organizer li{font-size:13px;color:var(--muted);padding:2px 0;}
.evd-organizer a{color:var(--orange);word-break:break-all;}

.evd-book{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;
  box-shadow:0 14px 34px -18px rgba(42,36,94,.28);}
.evd-book-price{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px;}
.evd-book-price b{font-family:var(--font-mono);font-size:26px;color:var(--navy);font-weight:700;}
.evd-book-price span{font-size:12.5px;color:var(--muted);display:block;margin-top:2px;}
.evd-book-facts{list-style:none;padding:0;margin:0 0 20px;}
.evd-book-facts li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#41506a;padding:6px 0;line-height:1.5;}
.evd-book-facts svg{width:15px;height:15px;color:var(--orange);flex-shrink:0;margin-top:1px;}
.evd-book-btn{display:block;text-align:center;width:100%;}
.evd-book-note{font-size:11.5px;color:var(--muted);text-align:center;margin:12px 0 0;line-height:1.55;}
.evd-blocked{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px;text-align:center;}
.evd-blocked strong{display:block;font-size:13.5px;color:var(--navy);margin-bottom:5px;}
.evd-blocked span{font-size:12.5px;color:var(--muted);line-height:1.55;}

/* registration summary */
.reg-ev{display:flex;gap:14px;align-items:flex-start;}
.reg-ev img,.reg-ev-fallback{width:74px;height:74px;border-radius:11px;object-fit:cover;flex-shrink:0;
  border:1px solid var(--line);}
.reg-ev-fallback{background:linear-gradient(135deg,var(--navy),var(--navy-2));display:flex;
  align-items:center;justify-content:center;color:rgba(255,255,255,.4);}
.reg-ev-fallback svg{width:26px;height:26px;}
.reg-ev strong{display:block;font-size:14.5px;color:var(--navy);margin-bottom:5px;line-height:1.35;}
.reg-ev span{display:block;font-size:12.5px;color:var(--muted);line-height:1.5;}

@media (max-width:1024px){
  .ev-layout{grid-template-columns:230px 1fr;gap:22px;}
  .evd-layout{grid-template-columns:1fr;}
  .evd-side{position:static;}
  .evd-banner{height:260px;}
  .evd-banner-inner h1{font-size:28px;}
}
@media (max-width:900px){
  .ev-layout{grid-template-columns:1fr;}
  .ev-filter-toggle{display:flex;}

  /* Slide-in drawer rather than a collapsed block, so long filter lists
     stay usable on a phone instead of pushing results far down the page. */
  .ev-side{position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);z-index:220;
    background:#fff;overflow-y:auto;padding:18px;transform:translateX(-100%);
    transition:transform .26s cubic-bezier(.2,.7,.3,1);box-shadow:0 0 40px rgba(10,20,34,.28);}
  .ev-side.open{transform:translateX(0);}
  .ev-side-close{display:flex;}
  .ev-filters{border:none;padding:0;}
  .ev-side-backdrop{position:fixed;inset:0;background:rgba(12,23,37,.5);z-index:210;
    opacity:0;pointer-events:none;transition:opacity .22s;}
  .ev-side-backdrop.on{opacity:1;pointer-events:auto;}
}
@media (max-width:640px){
  .ev-hero h1{font-size:27px;}
  .ev-grid{grid-template-columns:1fr;}
  .evd-banner{height:210px;}
  .evd-banner-inner h1{font-size:23px;}
  .evd-gallery{grid-template-columns:repeat(2,1fr);}
  .evd-facts div{flex-direction:column;gap:3px;}
  .evd-facts dd{text-align:left;}
}

/* ===== Events filter drawer chrome ===== */
.ev-side-backdrop{display:none;}
.ev-side-close{display:none;position:absolute;top:12px;right:14px;width:30px;height:30px;
  border:none;background:var(--paper);border-radius:50%;font-size:20px;line-height:1;
  color:var(--muted);cursor:pointer;align-items:center;justify-content:center;z-index:2;}
.ev-side-close:hover{color:var(--navy);}
.ev-filter-count{background:var(--orange);color:#fff;font-family:var(--font-mono);font-size:10.5px;
  font-weight:800;min-width:18px;height:18px;border-radius:9px;display:inline-flex;
  align-items:center;justify-content:center;padding:0 5px;margin-left:2px;}
@media (max-width:900px){ .ev-side-backdrop{display:block;} }

/* Admin tables scroll rather than overflow on small screens */
.dash-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.dash-table-wrap .dash-table{min-width:720px;}
@media (max-width:600px){
  .dash-stats{grid-template-columns:1fr 1fr;}
}

/* ============================================================
   DAILY DEALS
   ============================================================ */
.deals-hero{position:relative;overflow:hidden;padding:54px 0 58px;color:#fff;
  background:radial-gradient(ellipse 50% 70% at 12% 18%, rgba(242,136,75,.34), transparent 62%),
    radial-gradient(ellipse 45% 65% at 88% 30%, rgba(77,67,173,.5), transparent 64%),
    linear-gradient(155deg,#1B2E48 0%,var(--navy-deep) 55%,#171436 100%);}
.deals-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:50px 50px;mask-image:radial-gradient(ellipse 90% 80% at 40% 40%,#000 15%,transparent 75%);}
.deals-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 360px;
  gap:44px;align-items:center;}

.deals-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.15);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.34);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:18px;}
.deals-hero h1{font-size:44px;margin:0 0 14px;font-weight:800;letter-spacing:-.03em;line-height:1.05;}
.deals-hero h1 .accent{background:linear-gradient(100deg,var(--orange-light),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.deals-hero-copy > p{font-size:15px;color:#a9bbd0;margin:0 0 26px;line-height:1.65;max-width:440px;}

.deals-countdown{display:flex;align-items:center;gap:10px;margin-bottom:26px;}
.deals-countdown > div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);
  border-radius:11px;padding:10px 14px;text-align:center;min-width:64px;}
.deals-countdown b{display:block;font-family:var(--font-mono);font-size:24px;font-weight:700;
  color:#fff;line-height:1;letter-spacing:-.01em;}
.deals-countdown span{font-size:9.5px;color:#8fa0b6;font-family:var(--font-mono);
  letter-spacing:.08em;text-transform:uppercase;margin-top:4px;display:block;}
.deals-countdown i{font-style:normal;font-size:20px;color:var(--orange);font-weight:700;}

.deals-stats{display:flex;gap:34px;flex-wrap:wrap;}
.deals-stats b{display:block;font-family:var(--font-mono);font-size:21px;color:#fff;}
.deals-stats span{font-size:11.5px;color:#8494a8;}

/* deal of the day */
.deals-feature{display:block;background:#fff;border-radius:18px;overflow:hidden;position:relative;
  box-shadow:0 30px 60px -22px rgba(4,11,22,.65);transition:transform .2s,box-shadow .2s;}
.deals-feature:hover{transform:translateY(-5px);box-shadow:0 40px 72px -22px rgba(4,11,22,.75);}
.deals-feature-flag{position:absolute;top:0;left:0;z-index:3;background:var(--orange);color:#fff;
  font-family:var(--font-mono);font-size:9.5px;font-weight:800;letter-spacing:.08em;
  padding:7px 14px;border-radius:0 0 12px 0;}
.deals-feature-img{position:relative;display:block;height:186px;background:var(--paper);overflow:hidden;}
.deals-feature-img img{width:100%;height:100%;object-fit:cover;}
.deals-feature-img > svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:52px;height:52px;color:#c9d0d8;}
.deals-feature-off{position:absolute;bottom:12px;right:12px;background:#E23D3D;color:#fff;
  font-family:var(--font-mono);font-size:16px;font-weight:800;padding:7px 13px;border-radius:10px;
  box-shadow:0 8px 18px -6px rgba(226,61,61,.6);}
.deals-feature-body{display:block;padding:20px;}
.deals-feature-body b{display:block;font-size:16px;color:var(--navy);line-height:1.35;margin-bottom:5px;}
.deals-feature-seller{display:block;font-size:12px;color:var(--muted);margin-bottom:12px;}
.deals-feature-price{display:flex;align-items:baseline;gap:10px;}
.deals-feature-price em{font-style:normal;font-family:var(--font-mono);font-size:25px;
  font-weight:700;color:var(--navy);}
.deals-feature-price s{font-size:14px;color:#9aa4b1;}
.deals-feature-save{display:block;margin-top:8px;font-size:12.5px;font-weight:700;color:#1A7A3F;}

/* toolbar */
.deals-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  flex-wrap:wrap;margin-bottom:16px;}
.deals-chips{display:flex;gap:8px;flex-wrap:wrap;flex:1;}
.deal-chip{border:1px solid var(--line);background:#fff;border-radius:22px;padding:8px 15px;
  font-size:13px;font-weight:600;color:var(--ink);transition:.15s;display:inline-flex;
  align-items:center;gap:7px;}
.deal-chip em{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.deal-chip:hover{border-color:var(--navy);color:var(--navy);}
.deal-chip.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.deal-chip.on em{color:#b9c6d6;}

.deals-sort{display:flex;align-items:center;gap:9px;flex-shrink:0;}
.deals-sort label{font-size:12.5px;color:var(--muted);}
.deals-sort select{appearance:none;-webkit-appearance:none;border:1px solid var(--line);
  border-radius:9px;padding:9px 32px 9px 13px;font-size:13.5px;font-family:inherit;font-weight:600;
  color:var(--navy);cursor:pointer;outline:none;
  background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7684' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center/9px;}

.deals-filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:14px 0;margin-bottom:20px;}
.deals-filter-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.deals-filter-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.07em;
  text-transform:uppercase;color:var(--muted);font-weight:700;margin-right:3px;}
.deal-pill{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 14px;
  font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;font-family:inherit;transition:.15s;}
.deal-pill:hover{border-color:var(--orange);color:var(--orange);}
.deal-pill.on{background:var(--orange);border-color:var(--orange);color:#fff;}
.deal-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink);
  cursor:pointer;margin-left:8px;}
.deals-clear{font-size:12.5px;font-weight:700;color:var(--orange);margin-left:auto;}
.deals-count{font-size:14px;color:var(--muted);margin-bottom:20px;}
.deals-count b{color:var(--navy);font-family:var(--font-mono);}

/* grid */
.deals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.deal-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;}
.deal-card:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 18px 38px -14px rgba(42,36,94,.24);}
.deal-media{position:relative;display:block;height:200px;background:#fff;border-bottom:1px solid var(--line);overflow:hidden;}
.deal-media img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .3s;}
.deal-card:hover .deal-media img{transform:scale(1.04);}
.deal-media-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#c9d0d8;}
.deal-media-fallback svg{width:40px;height:40px;}
.deal-off{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff;
  font-family:var(--font-mono);font-size:12px;font-weight:800;padding:5px 10px;border-radius:8px;}
.deal-off.is-hot{background:#E23D3D;box-shadow:0 6px 14px -5px rgba(226,61,61,.65);}
.deal-low{position:absolute;bottom:10px;left:10px;background:rgba(18,35,58,.86);color:#FFD9A8;
  font-family:var(--font-mono);font-size:9.5px;font-weight:700;padding:4px 9px;border-radius:20px;}

.deal-body{padding:16px;display:flex;flex-direction:column;flex:1;}
.deal-cat{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--orange);font-weight:700;margin-bottom:7px;}
.deal-body h3{font-size:14.5px;margin:0 0 4px;line-height:1.35;font-weight:700;}
.deal-body h3 a{color:var(--navy);}
.deal-body h3 a:hover{color:var(--orange);}
.deal-seller{font-size:11.5px;color:var(--muted);margin-bottom:12px;display:block;}
.deal-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.deal-price b{font-family:var(--font-mono);font-size:19px;font-weight:700;color:var(--navy);}
.deal-price s{font-size:12.5px;color:#9aa4b1;}
.deal-unit{font-size:11.5px;color:var(--muted);}
.deal-save{display:inline-block;font-size:11.5px;font-weight:700;color:#1A7A3F;
  background:#E8F6EE;padding:3px 9px;border-radius:20px;margin-top:8px;align-self:flex-start;}
.deal-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;
  margin-top:auto;padding-top:14px;}
.deal-moq{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);}
.deal-actions{display:flex;align-items:center;gap:8px;}
.deal-btn{background:var(--orange);color:#fff;font-size:12.5px;font-weight:600;
  padding:8px 14px;border-radius:8px;transition:background .15s;white-space:nowrap;}
.deal-btn:hover{background:#dd7038;color:#fff;}

@media (max-width:1100px){
  .deals-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:940px){
  .deals-hero-inner{grid-template-columns:1fr;gap:32px;}
  .deals-feature{max-width:430px;}
  .deals-hero h1{font-size:34px;}
}
@media (max-width:760px){
  .deals-grid{grid-template-columns:repeat(2,1fr);}
  .deals-bar{flex-direction:column;}
  .deals-sort{width:100%;}
  .deals-sort select{flex:1;}
  .deals-clear{margin-left:0;}
}
@media (max-width:520px){
  .deals-hero h1{font-size:28px;}
  .deals-countdown > div{min-width:56px;padding:9px 11px;}
  .deals-countdown b{font-size:20px;}
  .deals-stats{gap:22px;}
  .deals-grid{grid-template-columns:1fr;}
  .deal-media{height:180px;}
}

/* ============================================================
   DISCOUNT PRICING ON PRODUCT CARDS
   ============================================================ */
.was-price{color:#9aa4b1;font-size:13px;font-weight:400;margin-left:6px;
  font-family:var(--font-mono);text-decoration:line-through;}
.save-pill{display:inline-block;font-size:11.5px;font-weight:700;color:#1A7A3F;
  background:#E8F6EE;padding:3px 9px;border-radius:20px;margin-top:6px;}

/* discount badge replaces HOT so the two never overlap */
.badge-off{position:absolute;top:10px;left:10px;z-index:2;background:var(--navy);color:#fff;
  font-family:var(--font-mono);font-size:11.5px;font-weight:800;padding:5px 10px;border-radius:8px;}
.badge-off.is-hot{background:#E23D3D;box-shadow:0 6px 14px -5px rgba(226,61,61,.6);}

.off-badge{display:inline-block;background:#E23D3D;color:#fff;font-family:var(--font-mono);
  font-size:12.5px;font-weight:800;padding:4px 9px;border-radius:7px;margin-left:8px;
  vertical-align:middle;}

/* ============================================================
   HELP CENTER
   ============================================================ */
.help-hero{position:relative;overflow:hidden;padding:62px 0 58px;color:#fff;text-align:center;
  background:radial-gradient(ellipse 50% 70% at 20% 20%, rgba(77,67,173,.5), transparent 62%),
    radial-gradient(ellipse 45% 65% at 82% 28%, rgba(242,136,75,.22), transparent 64%),
    linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);}
.help-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:52px 52px;mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000 15%,transparent 76%);}
.help-hero-inner{position:relative;z-index:2;max-width:720px;margin:0 auto;}
.help-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.14);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.32);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:20px;}
.help-hero h1{font-size:38px;margin:0 0 12px;font-weight:800;letter-spacing:-.025em;line-height:1.12;}
.help-hero > .container-xl > p,.help-hero-inner p{font-size:15px;color:#a9bbd0;margin:0 0 30px;line-height:1.65;}

.help-search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:13px;
  padding:6px 6px 6px 16px;box-shadow:0 20px 44px -18px rgba(4,11,22,.6);}
.help-search svg{width:19px;height:19px;color:#9aa4b1;flex-shrink:0;}
.help-search input{flex:1;border:none;outline:none;padding:13px 0;font-size:14.5px;
  font-family:inherit;color:var(--ink);min-width:0;background:transparent;}
.help-search button{background:var(--orange);color:#fff;border:none;padding:13px 26px;border-radius:9px;
  font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;}
.help-search button:hover{background:#dd7038;}

.help-quick{margin-top:18px;display:flex;gap:9px;flex-wrap:wrap;justify-content:center;align-items:center;}
.help-quick span{font-size:12px;color:#8494a8;font-family:var(--font-mono);}
.help-quick a{font-size:12.5px;color:#c7d5e6;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.05);padding:5px 12px;border-radius:20px;transition:.15s;}
.help-quick a:hover{background:var(--orange);border-color:var(--orange);color:#fff;}

/* category grid */
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.help-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.help-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--navy),var(--orange));transform:scaleX(0);
  transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.help-card:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 20px 42px -16px rgba(42,36,94,.24);}
.help-card:hover::before{transform:scaleX(1);}
.help-card-icon{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;
  justify-content:center;background:linear-gradient(140deg,var(--navy),var(--navy-2));color:#fff;
  margin-bottom:16px;box-shadow:0 10px 20px -10px rgba(42,36,94,.6);}
.help-card-icon svg{width:22px;height:22px;}
.help-card h3{font-size:17px;margin:0 0 6px;font-weight:700;}
.help-card h3 a{color:var(--navy);}
.help-card h3 a:hover{color:var(--orange);}
.help-card-desc{font-size:13px;color:var(--muted);margin:0 0 16px;line-height:1.55;}
.help-card-list{list-style:none;padding:0;margin:0 0 16px;}
.help-card-list li{border-top:1px solid var(--line);}
.help-card-list li:first-child{border-top:none;}
.help-card-list a{display:flex;align-items:flex-start;gap:8px;padding:9px 0;font-size:13.2px;
  color:#41506a;line-height:1.45;transition:color .14s;}
.help-card-list svg{width:13px;height:13px;color:var(--orange);flex-shrink:0;margin-top:3px;
  transition:transform .16s;}
.help-card-list a:hover{color:var(--orange);}
.help-card-list a:hover svg{transform:translateX(2px);}
.help-card-more{margin-top:auto;font-size:12.5px;font-weight:700;color:var(--navy);}
.help-card-more:hover{color:var(--orange);}

/* search results */
.help-results-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  flex-wrap:wrap;margin-bottom:20px;}
.help-results-head h2{font-size:20px;color:var(--navy);margin:0;}
.help-results{display:grid;gap:12px;margin-bottom:8px;}
.help-result{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:18px 20px;transition:.16s;}
.help-result:hover{border-color:var(--orange);box-shadow:0 10px 24px -14px rgba(42,36,94,.3);}
.help-result-cat{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:6px;}
.help-result b{display:block;font-size:15px;color:var(--navy);margin-bottom:5px;}
.help-result-ex{font-size:13px;color:var(--muted);line-height:1.55;}

.help-empty{border:1px dashed var(--line);border-radius:16px;padding:52px 24px;text-align:center;color:var(--muted);}
.help-empty b{display:block;color:var(--navy);font-size:15.5px;margin-bottom:6px;}
.help-empty span{font-size:13.5px;}

/* bottom CTA */
.help-cta{margin-top:48px;background:linear-gradient(150deg,var(--navy-deep),var(--navy));
  border-radius:18px;padding:34px;display:flex;justify-content:space-between;align-items:center;
  gap:26px;flex-wrap:wrap;color:#fff;}
.help-cta h3{font-size:22px;margin:0 0 8px;font-weight:700;}
.help-cta p{font-size:14px;color:#a9bbd0;margin:0;line-height:1.6;max-width:440px;}
.help-cta-actions{display:flex;gap:12px;flex-wrap:wrap;}
.help-cta-actions .btn-outline-light{border-color:rgba(255,255,255,.3);color:#fff;}
.help-cta-actions .btn-outline-light:hover{background:rgba(255,255,255,.1);}

/* sub pages */
.help-sub-hero{background:linear-gradient(160deg,var(--navy-deep),var(--navy));color:#fff;padding:36px 0 34px;}
.help-crumb{font-size:12.5px;color:#8fa0b6;margin-bottom:14px;font-family:var(--font-mono);}
.help-crumb a{color:#8fa0b6;}
.help-crumb a:hover{color:#fff;}
.help-sub-head{display:flex;gap:18px;align-items:center;}
.help-sub-icon{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;
  color:var(--orange-light);flex-shrink:0;}
.help-sub-icon svg{width:25px;height:25px;}
.help-sub-head h1{font-size:29px;margin:0 0 5px;font-weight:800;letter-spacing:-.02em;}
.help-sub-head p{font-size:14px;color:#a9bbd0;margin:0;}
.help-article-title{font-size:30px;margin:0 0 12px;font-weight:800;letter-spacing:-.02em;max-width:760px;line-height:1.2;}
.help-article-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:#8fa0b6;font-family:var(--font-mono);}

.help-layout{display:grid;grid-template-columns:1fr 290px;gap:32px;align-items:start;}
.help-side{position:sticky;top:92px;}
.help-side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px;}
.help-side-card h4{font-size:13px;color:var(--navy);margin:0 0 14px;font-weight:700;}
.help-side-card ul{list-style:none;padding:0;margin:0;}
.help-side-card li{border-top:1px solid var(--line);}
.help-side-card li:first-child{border-top:none;}
.help-side-card li a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;
  font-size:13px;color:#41506a;line-height:1.45;}
.help-side-card li a:hover{color:var(--orange);}
.help-side-card li em{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.help-side-card.is-cta{background:var(--paper);}
.help-side-card.is-cta p{font-size:12.5px;color:var(--muted);line-height:1.55;margin:0 0 14px;}

.help-article-list{display:grid;gap:10px;}
.help-article-row{display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 20px;transition:.16s;}
.help-article-row:hover{border-color:var(--orange);transform:translateX(3px);}
.help-article-body b{display:block;font-size:14.5px;color:var(--navy);margin-bottom:4px;}
.help-article-body span{font-size:12.8px;color:var(--muted);line-height:1.5;}
.help-article-row > svg{width:16px;height:16px;color:var(--orange);flex-shrink:0;}

.help-prose{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;
  font-size:15px;line-height:1.85;color:#41506a;}
.help-feedback{margin-top:22px;background:var(--paper);border:1px solid var(--line);border-radius:12px;
  padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.help-feedback strong{font-size:14px;color:var(--navy);}
.help-feedback form{display:flex;gap:10px;}
.help-vote{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);
  border-radius:9px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;
  color:var(--muted);cursor:pointer;transition:.15s;}
.help-vote svg{width:15px;height:15px;}
.help-vote:hover{border-color:var(--navy);color:var(--navy);}

@media (max-width:1000px){
  .help-grid{grid-template-columns:repeat(2,1fr);}
  .help-layout{grid-template-columns:1fr;}
  .help-side{position:static;}
}
@media (max-width:640px){
  .help-hero{padding:44px 0 42px;}
  .help-hero h1{font-size:27px;}
  .help-search{flex-wrap:wrap;padding:10px;gap:8px;}
  .help-search input{width:100%;padding:6px 4px;}
  .help-search button{width:100%;}
  .help-grid{grid-template-columns:1fr;}
  .help-cta{padding:26px;text-align:center;justify-content:center;}
  .help-cta p{max-width:none;}
  .help-cta-actions{width:100%;flex-direction:column;}
  .help-sub-head{flex-direction:column;align-items:flex-start;gap:12px;}
  .help-article-title{font-size:23px;}
  .help-prose{padding:22px;}
  .help-feedback{flex-direction:column;align-items:flex-start;}
  .help-feedback form{width:100%;}
  .help-vote{flex:1;justify-content:center;}
}

/* ============================================================
   ABOUT US
   ============================================================ */
.ab-hero{position:relative;overflow:hidden;padding:62px 0 66px;color:#fff;
  background:radial-gradient(ellipse 52% 72% at 16% 18%, rgba(77,67,173,.52), transparent 62%),
    radial-gradient(ellipse 46% 64% at 86% 30%, rgba(242,136,75,.22), transparent 64%),
    linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);}
.ab-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 90% 80% at 45% 40%,#000 16%,transparent 76%);}
.ab-hero-inner{position:relative;z-index:2;max-width:780px;}
.ab-crumb{font-size:12.5px;color:#8fa0b6;font-family:var(--font-mono);margin-bottom:20px;}
.ab-crumb a{color:#8fa0b6;}
.ab-crumb a:hover{color:#fff;}
.ab-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.14);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.32);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:20px;}
.ab-hero h1{font-size:44px;margin:0 0 16px;font-weight:800;letter-spacing:-.03em;line-height:1.08;}
.ab-hero h1 .accent{background:linear-gradient(100deg,var(--orange-light),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.ab-hero-inner > p{font-size:15.5px;color:#a9bbd0;margin:0 0 32px;line-height:1.7;max-width:560px;}
.ab-hero-stats{display:flex;gap:44px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);}
.ab-hero-stats b{display:block;font-family:var(--font-mono);font-size:26px;color:#fff;letter-spacing:-.01em;}
.ab-hero-stats span{font-size:12px;color:#8494a8;}

/* pillars */
.ab-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ab-pillar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;
  position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s;}
.ab-pillar::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--navy),var(--orange));transform:scaleX(0);
  transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.ab-pillar:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 22px 44px -18px rgba(42,36,94,.26);}
.ab-pillar:hover::before{transform:scaleX(1);}
.ab-pillar-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;
  justify-content:center;color:#fff;margin-bottom:18px;}
.ab-pillar-icon svg{width:24px;height:24px;}
.ab-pillar-icon.is-navy{background:linear-gradient(140deg,#2A245E,#3D5F8A);box-shadow:0 10px 20px -10px rgba(42,36,94,.6);}
.ab-pillar-icon.is-orange{background:linear-gradient(140deg,#E8763A,#F2A76B);box-shadow:0 10px 20px -10px rgba(242,136,75,.6);}
.ab-pillar-icon.is-green{background:linear-gradient(140deg,#1A7A3F,#3FAE6B);box-shadow:0 10px 20px -10px rgba(26,122,63,.6);}
.ab-pillar h3{font-size:19px;color:var(--navy);margin:0 0 10px;font-weight:700;}
.ab-pillar p{font-size:14px;color:#55637a;line-height:1.75;margin:0;}

/* why choose us */
.ab-why{background:var(--paper);}
.ab-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.ab-why-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:28px;text-align:center;}
.ab-why-icon{width:56px;height:56px;border-radius:50%;background:#FFF4EC;border:1px solid #FBDCC6;
  display:flex;align-items:center;justify-content:center;color:var(--orange);margin:0 auto 18px;}
.ab-why-icon svg{width:25px;height:25px;}
.ab-why-card h4{font-size:16.5px;color:var(--navy);margin:0 0 10px;font-weight:700;}
.ab-why-card p{font-size:13.5px;color:#55637a;line-height:1.7;margin:0;}

/* how we work */
.ab-how{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center;}
.ab-how-copy h2{font-size:31px;color:var(--navy);margin:8px 0 14px;font-weight:700;
  line-height:1.2;letter-spacing:-.02em;}
.ab-how-copy p{font-size:14.5px;color:var(--muted);line-height:1.75;margin:0;}
.ab-steps{list-style:none;padding:0;margin:0;counter-reset:step;}
.ab-steps li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.ab-steps li:last-child{border-bottom:none;}
.ab-step-no{font-family:var(--font-mono);font-size:13px;font-weight:800;color:var(--orange);
  background:#FFF4EC;border-radius:10px;width:42px;height:42px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;}
.ab-steps b{display:block;font-size:15.5px;color:var(--navy);margin-bottom:5px;}
.ab-steps span{font-size:13.5px;color:#55637a;line-height:1.65;}

/* partners */
.ab-partners{background:var(--paper);}
.ab-partner-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.ab-partner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:#fff;border:1px solid var(--line);border-radius:14px;height:104px;padding:14px;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.ab-partner:hover{transform:translateY(-3px);border-color:#d5dae1;
  box-shadow:0 14px 30px -14px rgba(42,36,94,.24);}
.ab-partner img{max-width:100%;max-height:52px;object-fit:contain;filter:grayscale(1);opacity:.72;
  transition:filter .2s,opacity .2s;}
.ab-partner:hover img{filter:grayscale(0);opacity:1;}
.ab-partner-initials{width:38px;height:38px;border-radius:11px;
  background:linear-gradient(140deg,var(--navy),var(--navy-2));color:#fff;display:flex;
  align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:14px;}
.ab-partner-name{font-size:11px;color:var(--muted);text-align:center;line-height:1.3;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* leadership */
.ab-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.ab-member{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 24px;
  text-align:center;transition:transform .18s,box-shadow .18s,border-color .18s;}
.ab-member:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 22px 44px -18px rgba(42,36,94,.24);}
.ab-member-photo{width:88px;height:88px;border-radius:50%;margin:0 auto 16px;overflow:hidden;
  background:linear-gradient(140deg,var(--navy),var(--navy-2));display:flex;align-items:center;
  justify-content:center;box-shadow:0 12px 24px -12px rgba(42,36,94,.55);}
.ab-member-photo img{width:100%;height:100%;object-fit:cover;}
.ab-member-photo span{color:#fff;font-family:var(--font-display);font-weight:800;font-size:28px;
  letter-spacing:-.02em;}
.ab-member h4{font-size:17px;color:var(--navy);margin:0 0 4px;font-weight:700;}
.ab-member-role{display:block;font-size:12.5px;color:var(--orange);font-weight:700;margin-bottom:12px;}
.ab-member-region{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);
  background:var(--paper);border-radius:20px;padding:5px 12px;line-height:1.4;text-align:left;}
.ab-member-region svg{width:12px;height:12px;flex-shrink:0;}
.ab-member-bio{font-size:13px;color:#55637a;line-height:1.65;margin:14px 0 0;}
.ab-member-links{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.ab-member-links a{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);
  word-break:break-all;transition:color .15s;}
.ab-member-links a:hover{color:var(--orange);}
.ab-member-links svg{width:13px;height:13px;flex-shrink:0;}
.ab-member-in{background:var(--paper);width:26px;height:26px;border-radius:7px;
  justify-content:center;flex-shrink:0;}
.ab-member-in svg{width:12px;height:12px;}

/* admin avatars */
@media (max-width:1100px){
  .ab-partner-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:980px){
  .ab-pillars,.ab-why-grid,.ab-team-grid{grid-template-columns:repeat(2,1fr);}
  .ab-how{grid-template-columns:1fr;gap:28px;}
  .ab-hero h1{font-size:34px;}
}
@media (max-width:640px){
  .ab-hero{padding:44px 0 48px;}
  .ab-hero h1{font-size:27px;}
  .ab-hero-stats{gap:26px;}
  .ab-hero-stats b{font-size:21px;}
  .ab-pillars,.ab-why-grid,.ab-team-grid{grid-template-columns:1fr;}
  .ab-partner-grid{grid-template-columns:repeat(2,1fr);}
  .ab-how-copy h2{font-size:24px;}
}

/* ============================================================
   CONTACT US
   ============================================================ */
.ct-hero{position:relative;overflow:hidden;padding:62px 0 84px;color:#fff;
  background:radial-gradient(ellipse 52% 72% at 18% 18%, rgba(77,67,173,.5), transparent 62%),
    radial-gradient(ellipse 46% 64% at 84% 28%, rgba(242,136,75,.22), transparent 64%),
    linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);}
.ct-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 90% 80% at 45% 40%,#000 16%,transparent 76%);}
.ct-hero-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;text-align:center;}
.ct-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.14);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.32);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:20px;}
.ct-hero h1{font-size:42px;margin:0 0 16px;font-weight:800;letter-spacing:-.03em;line-height:1.1;}
.ct-hero h1 .accent{background:linear-gradient(100deg,var(--orange-light),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.ct-hero-inner > p{font-size:15.5px;color:#a9bbd0;margin:0 auto 32px;line-height:1.7;max-width:600px;}
.ct-hero-actions{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;}
.ct-hero-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:10px;
  font-size:14.5px;font-weight:600;transition:transform .16s,background .16s,box-shadow .16s;}
.ct-hero-btn svg{width:18px;height:18px;}
.ct-hero-btn.is-solid{background:var(--orange);color:#fff;}
.ct-hero-btn.is-solid:hover{background:#dd7038;color:#fff;transform:translateY(-2px);
  box-shadow:0 12px 24px -10px rgba(242,136,75,.6);}
.ct-hero-btn.is-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);color:#fff;}
.ct-hero-btn.is-ghost:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-2px);}

/* floating contact cards */
/* Flex rather than a fixed grid: with two or three cards they stay centred
   instead of clustering against the left edge. */
.ct-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:48px;}
.ct-cards{align-items:stretch;}
.ct-card{flex:0 1 246px;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:30px 22px;text-align:center;box-shadow:0 18px 40px -20px rgba(19,16,48,.35);
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.ct-card b{display:block;font-size:15px;color:var(--navy);margin-bottom:7px;
  font-weight:700;letter-spacing:-.015em;}
.ct-card span,.ct-card p,.ct-card a{font-size:13.5px;line-height:1.7;color:var(--muted);}
.ct-card:not(.is-static):hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 26px 50px -20px rgba(19,16,48,.42);}
/* Tinted tile with a coloured glyph reads lighter and more refined than a
   saturated block, and keeps the card's focus on the information itself. */
/* Flex with explicit centring on both axes, plus line-height:0 so no inline
   baseline space can shift the glyph off centre inside the tile. */
/* The glyph is positioned absolutely and pulled back by half its own size.
   Flex centring depends on the parent's layout context staying intact; this
   does not, so nothing in the card can push the icon off centre. */
.ct-card-icon{position:relative;width:60px;height:60px;border-radius:18px;
  display:block;line-height:0;font-size:0;
  margin:0 auto 18px;flex-shrink:0;
  transition:transform .22s cubic-bezier(.2,.7,.3,1), box-shadow .22s;}
.ct-card-icon svg{position:absolute;top:50%;left:50%;
  width:25px;height:25px;margin:-12.5px 0 0 -12.5px;
  display:block;z-index:2;}
/* faint outer ring, concentric with the tile */
.ct-card-icon::before{content:"";position:absolute;top:-5px;left:-5px;
  right:-5px;bottom:-5px;border-radius:23px;
  border:1px solid currentColor;opacity:.16;transition:opacity .22s;}
.ct-card:not(.is-static):hover .ct-card-icon::before{opacity:.34;}
.ct-card:not(.is-static):hover .ct-card-icon{transform:translateY(-3px) scale(1.05);
  box-shadow:inset 0 0 0 1px currentColor, 0 12px 22px -12px currentColor;}
.ct-card-icon.is-navy{color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.ct-card-icon.is-orange{color:#D9702F;background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;}
.ct-card-icon.is-green{color:#1A7A3F;background:#EAF7EF;box-shadow:inset 0 0 0 1px #C6E7D3;}
.ct-card-icon.is-purple{color:#6B4A96;background:#F3EEFA;box-shadow:inset 0 0 0 1px #DDD0EE;}
.ct-card b{display:block;font-size:14.5px;color:var(--navy);margin-bottom:6px;font-weight:700;}
.ct-card span{display:block;font-size:13px;color:var(--muted);line-height:1.6;word-break:break-word;}
.ct-card:not(.is-static){cursor:pointer;}

/* layout */
.ct-layout{display:grid;grid-template-columns:1fr 330px;gap:30px;align-items:start;}
.ct-form-wrap{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;}
.ct-form-head{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line);text-align:center;}
.ct-form-head h2{font-size:25px;color:var(--navy);margin:8px 0 10px;font-weight:700;letter-spacing:-.02em;}
.ct-form-head p{font-size:14px;color:var(--muted);margin:0 auto;line-height:1.65;max-width:440px;}

.ct-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.ct-form label em{color:#c0392b;font-style:normal;}
.ct-form .opt{font-weight:400;color:var(--muted);font-size:12.5px;}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],
.ct-form select,.ct-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:9px;font-size:14px;font-family:inherit;outline:none;
  transition:border-color .15s,box-shadow .15s;background:#fff;}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(42,36,94,.09);}
.ct-check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink);
  cursor:pointer;line-height:1.55;margin:6px 0 22px;}
.ct-check input{margin-top:3px;flex-shrink:0;}
.ct-check a{color:var(--orange);font-weight:600;}
.ct-check em{color:#c0392b;font-style:normal;}
.ct-submit{width:100%;padding:14px;font-size:15px;}

/* honeypot stays out of sight without display:none, which some bots detect */
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.ct-success{display:flex;align-items:flex-start;gap:12px;background:#E8F6EE;border:1px solid #B7E3C7;
  border-radius:11px;padding:16px 18px;margin-bottom:22px;color:#1A7A3F;}
.ct-success svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;}
.ct-success span{font-size:13.5px;line-height:1.6;font-weight:600;}

/* sidebar */
.ct-side{position:sticky;top:92px;}
.ct-side-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px;margin-bottom:18px;}
.ct-side-card h4{font-size:15px;color:var(--navy);margin:0 0 8px;font-weight:700;}
.ct-side-card p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 16px;}
.ct-socials{display:flex;flex-wrap:wrap;gap:8px;}
.ct-socials a{border:1px solid var(--line);border-radius:8px;padding:8px 13px;font-size:12.5px;
  font-weight:600;color:var(--navy);transition:.15s;}
.ct-socials a:hover{background:var(--orange);border-color:var(--orange);color:#fff;}

.ct-side-card.is-dark{background:linear-gradient(150deg,var(--navy-deep),var(--navy));border-color:transparent;}
.ct-side-card.is-dark h4{color:#fff;}
.ct-side-card.is-dark p{color:#a9bbd0;}
.ct-news{display:flex;}
.ct-news input{flex:1;min-width:0;border:none;padding:11px 13px;border-radius:8px 0 0 8px;
  font-size:13px;font-family:inherit;outline:none;}
.ct-news button{background:var(--orange);border:none;color:#fff;padding:0 18px;
  border-radius:0 8px 8px 0;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit;
  transition:background .15s;}
.ct-news button:hover{background:#dd7038;}
.ct-news-note{display:block;margin-top:11px;font-size:11.5px;color:#8494a8;line-height:1.55;}
.ct-news-note a{color:var(--orange-light);}

/* admin enquiry body */
@media (max-width:1024px){
  .ct-layout{grid-template-columns:1fr;}
  .ct-side{position:static;}
}
@media (max-width:640px){
  .ct-hero{padding:44px 0 70px;}
  .ct-hero h1{font-size:27px;}
  .ct-hero-actions{flex-direction:column;}
  .ct-hero-btn{justify-content:center;}
  .ct-card{flex:1 1 100%;}
  .ct-form-wrap{padding:22px;}
  .ct-grid-2{grid-template-columns:1fr;}
  .ct-form-head h2{font-size:21px;}
}

/* Admins see this when contact details haven't been filled in yet */
.ct-setup-hint{background:#FFF8F3;border:1px dashed var(--orange);border-radius:12px;
  padding:18px 22px;margin-bottom:26px;text-align:center;}
.ct-setup-hint b{display:block;font-size:14px;color:var(--navy);margin-bottom:5px;}
.ct-setup-hint span{display:block;font-size:13px;color:var(--muted);margin-bottom:10px;}
.ct-setup-hint a{font-size:13px;font-weight:700;color:var(--orange);}

/* ============================================================
   TRADE PROTECTION
   ============================================================ */
.tp-hero{position:relative;overflow:hidden;padding:70px 0 66px;color:#fff;text-align:center;
  background:radial-gradient(ellipse 50% 70% at 20% 18%, rgba(77,67,173,.5), transparent 62%),
    radial-gradient(ellipse 46% 64% at 82% 28%, rgba(242,136,75,.2), transparent 64%),
    linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);}
.tp-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000 15%,transparent 76%);}
/* faint shield watermark behind the hero copy */
.tp-hero::after{content:"";position:absolute;right:6%;top:50%;transform:translateY(-50%);
  width:320px;height:320px;opacity:.05;pointer-events:none;
  background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='.8'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.4 8 11 4.6-1.6 8-6 8-11V5z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") no-repeat center/contain;}
.tp-hero-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;}
.tp-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.14);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.32);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:20px;}
.tp-hero h1{font-size:46px;margin:0 0 12px;font-weight:800;letter-spacing:-.03em;line-height:1.05;}
.tp-lead{font-size:19px;color:#dbe6f2;margin:0 0 20px;font-weight:500;line-height:1.4;}
.tp-intro{font-size:15px;color:#a9bbd0;margin:0 auto 30px;line-height:1.75;max-width:640px;}
.tp-hero-actions{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;}
.tp-btn{display:inline-flex;align-items:center;padding:13px 28px;border-radius:10px;
  font-size:14.5px;font-weight:600;transition:transform .16s,background .16s,box-shadow .16s;}
.tp-btn.is-solid{background:var(--orange);color:#fff;}
.tp-btn.is-solid:hover{background:#dd7038;color:#fff;transform:translateY(-2px);
  box-shadow:0 12px 24px -10px rgba(242,136,75,.6);}
.tp-btn.is-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);color:#fff;}
.tp-btn.is-ghost:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-2px);}

/* stats band */
.tp-stats-band{background:#fff;border-bottom:1px solid var(--line);}
.tp-stats{display:grid;grid-template-columns:repeat(4,1fr);}
.tp-stat{text-align:center;padding:30px 18px;border-right:1px solid var(--line);}
.tp-stat:last-child{border-right:none;}
.tp-stat b{display:block;font-family:var(--font-mono);font-size:34px;font-weight:700;
  color:var(--navy);letter-spacing:-.02em;line-height:1;
  background:linear-gradient(120deg,var(--navy),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.tp-stat span{display:block;margin-top:8px;font-size:12.5px;color:var(--muted);
  font-family:var(--font-mono);letter-spacing:.03em;}

.tp-section-sub{font-size:14.5px;color:var(--muted);margin:12px auto 0;max-width:560px;line-height:1.7;}

/* steps */
.tp-steps{list-style:none;padding:0;margin:44px 0 0;display:grid;
  grid-template-columns:repeat(4,1fr);gap:22px;position:relative;}
/* connecting rail behind the numbers */
.tp-steps::before{content:"";position:absolute;top:26px;left:12%;right:12%;height:2px;
  background:linear-gradient(90deg,var(--navy),var(--orange));opacity:.18;}
.tp-step{position:relative;text-align:center;}
.tp-step-num{position:relative;z-index:2;width:52px;height:52px;border-radius:50%;
  background:#fff;border:2px solid var(--navy);color:var(--navy);display:grid;place-items:center;
  margin:0 auto 18px;font-family:var(--font-mono);font-size:19px;font-weight:800;
  transition:transform .2s,background .2s,color .2s,box-shadow .2s;}
.tp-step:hover .tp-step-num{background:var(--navy);color:#fff;transform:translateY(-3px);
  box-shadow:0 12px 24px -10px rgba(42,36,94,.6);}
.tp-step-body h3{font-size:15.5px;color:var(--navy);margin:0 0 8px;font-weight:700;line-height:1.35;}
.tp-step-body p{font-size:13.5px;color:#55637a;line-height:1.7;margin:0;}

/* what's covered */
.tp-covered{background:var(--paper);}
.tp-cover-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.tp-cover{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:26px 22px;text-align:center;align-items:center;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.tp-cover:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 20px 42px -16px rgba(42,36,94,.24);}
.tp-cover-icon{position:relative;width:58px;height:58px;border-radius:17px;display:grid;
  place-items:center;margin-bottom:16px;transition:transform .22s;}
.tp-cover-icon svg{display:block;width:25px;height:25px;}
.tp-cover:hover .tp-cover-icon{transform:translateY(-2px) scale(1.05);}
.tp-cover-icon.is-navy{color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.tp-cover-icon.is-green{color:#1A7A3F;background:#EAF7EF;box-shadow:inset 0 0 0 1px #C6E7D3;}
.tp-cover-icon.is-orange{color:#D9702F;background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;}
.tp-cover-icon.is-purple{color:#6B4A96;background:#F3EEFA;box-shadow:inset 0 0 0 1px #DDD0EE;}
.tp-cover b{display:block;font-size:14.5px;color:var(--navy);margin-bottom:8px;font-weight:700;line-height:1.35;}
.tp-cover > span{display:block;font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:14px;}
.tp-cover em{font-style:normal;margin-top:auto;font-size:12.5px;font-weight:700;color:var(--orange);}

/* detail blocks */
.tp-detail{display:grid;grid-template-columns:110px 1fr;gap:30px;align-items:start;
  padding:34px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px;}
.tp-detail:last-child{border-bottom:none;}
.tp-detail-side{display:flex;flex-direction:column;align-items:center;gap:12px;}
.tp-detail-icon{position:relative;width:74px;height:74px;border-radius:20px;display:grid;
  place-items:center;}
.tp-detail-icon svg{display:block;width:32px;height:32px;}
.tp-detail-icon.is-navy{color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.tp-detail-icon.is-green{color:#1A7A3F;background:#EAF7EF;box-shadow:inset 0 0 0 1px #C6E7D3;}
.tp-detail-icon.is-orange{color:#D9702F;background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;}
.tp-detail-icon.is-purple{color:#6B4A96;background:#F3EEFA;box-shadow:inset 0 0 0 1px #DDD0EE;}
.tp-detail-tag{font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.1em;
  color:var(--muted);}
.tp-detail-body h3{font-size:23px;color:var(--navy);margin:0 0 14px;font-weight:700;
  letter-spacing:-.02em;}
.tp-detail-body p{font-size:14.8px;color:#41506a;line-height:1.85;margin:0 0 14px;max-width:760px;}
.tp-detail-body p:last-child{margin-bottom:0;}
.tp-detail-body sup{color:var(--orange);font-weight:700;}

.tp-note{display:flex;gap:12px;background:var(--paper);border-left:3px solid var(--orange);
  border-radius:0 10px 10px 0;padding:16px 18px;margin-top:18px;}
.tp-note-mark{color:var(--orange);font-weight:800;font-size:16px;line-height:1.4;flex-shrink:0;}
.tp-note p{font-size:12.8px !important;color:var(--muted) !important;line-height:1.75 !important;
  margin:0 !important;}
.tp-note a{color:var(--orange);font-weight:600;}

@media (max-width:1024px){
  .tp-steps{grid-template-columns:repeat(2,1fr);gap:32px 22px;}
  .tp-steps::before{display:none;}
  .tp-cover-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .tp-hero{padding:50px 0 48px;}
  .tp-hero h1{font-size:32px;}
  .tp-lead{font-size:16.5px;}
  .tp-stats{grid-template-columns:repeat(2,1fr);}
  .tp-stat{border-bottom:1px solid var(--line);padding:22px 14px;}
  .tp-stat:nth-child(2n){border-right:none;}
  .tp-stat:nth-last-child(-n+2){border-bottom:none;}
  .tp-stat b{font-size:27px;}
  .tp-detail{grid-template-columns:1fr;gap:18px;}
  .tp-detail-side{flex-direction:row;align-items:center;gap:14px;}
  .tp-detail-body h3{font-size:19px;}
}
@media (max-width:520px){
  .tp-hero h1{font-size:27px;}
  .tp-hero-actions{flex-direction:column;}
  .tp-btn{justify-content:center;}
  .tp-steps,.tp-cover-grid{grid-template-columns:1fr;}
}

/* ============================================================
   CERTIFIED SUPPLIER
   ============================================================ */
.cs-hero{position:relative;overflow:hidden;padding:70px 0 66px;color:#fff;text-align:center;
  background:radial-gradient(ellipse 50% 70% at 18% 18%, rgba(77,67,173,.5), transparent 62%),
    radial-gradient(ellipse 46% 64% at 84% 28%, rgba(242,136,75,.2), transparent 64%),
    linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);}
.cs-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000 15%,transparent 76%);}
/* rosette watermark, echoing the certification theme */
.cs-hero::after{content:"";position:absolute;left:5%;top:52%;transform:translateY(-50%);
  width:300px;height:300px;opacity:.045;pointer-events:none;
  background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='.7'%3E%3Ccircle cx='12' cy='9' r='6.5'/%3E%3Cpath d='m9 9 2 2 4-4'/%3E%3Cpath d='M8.5 14.5 7 22l5-2.4L17 22l-1.5-7.5'/%3E%3C/svg%3E") no-repeat center/contain;}
.cs-hero-inner{position:relative;z-index:2;max-width:780px;margin:0 auto;}
.cs-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.14);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.32);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:20px;}
.cs-hero h1{font-size:46px;margin:0 0 12px;font-weight:800;letter-spacing:-.03em;line-height:1.05;}
.cs-hero h1 .accent{background:linear-gradient(100deg,var(--orange-light),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.cs-lead{font-size:19px;color:#dbe6f2;margin:0 0 20px;font-weight:500;}
.cs-intro{font-size:15px;color:#a9bbd0;margin:0 auto 30px;line-height:1.8;max-width:680px;}
.cs-hero-actions{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;}
.cs-btn{display:inline-flex;align-items:center;padding:13px 28px;border-radius:10px;
  font-size:14.5px;font-weight:600;transition:transform .16s,background .16s,box-shadow .16s;}
.cs-btn.is-solid{background:var(--orange);color:#fff;}
.cs-btn.is-solid:hover{background:#dd7038;color:#fff;transform:translateY(-2px);
  box-shadow:0 12px 24px -10px rgba(242,136,75,.6);}
.cs-btn.is-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);color:#fff;}
.cs-btn.is-ghost:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-2px);}

.cs-section-sub{font-size:14.5px;color:var(--muted);margin:12px auto 0;max-width:560px;line-height:1.7;}

/* benefits */
.cs-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cs-benefit{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;
  text-align:center;transition:transform .18s,box-shadow .18s,border-color .18s;}
.cs-benefit:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 20px 42px -16px rgba(42,36,94,.24);}
.cs-benefit-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;
  margin:0 auto 18px;transition:transform .22s;}
.cs-benefit-icon svg{display:block;width:25px;height:25px;}
.cs-benefit:hover .cs-benefit-icon{transform:translateY(-2px) scale(1.05);}
.cs-benefit-icon.is-navy{color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.cs-benefit-icon.is-orange{color:#D9702F;background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;}
.cs-benefit-icon.is-green{color:#1A7A3F;background:#EAF7EF;box-shadow:inset 0 0 0 1px #C6E7D3;}
.cs-benefit h3{font-size:17px;color:var(--navy);margin:0 0 10px;font-weight:700;}
.cs-benefit p{font-size:13.8px;color:#55637a;line-height:1.75;margin:0;}

/* supplier types */
.cs-types-band{background:var(--paper);}
.cs-types{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cs-type{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:32px 28px;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s;}
.cs-type::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--navy),var(--orange));transform:scaleX(0);
  transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.3,1);}
.cs-type:hover{transform:translateY(-5px);border-color:#d5dae1;
  box-shadow:0 24px 48px -18px rgba(42,36,94,.26);}
.cs-type:hover::before{transform:scaleX(1);}
.cs-type-no{position:absolute;top:22px;right:24px;font-family:var(--font-mono);font-size:34px;
  font-weight:800;color:var(--line);line-height:1;letter-spacing:-.02em;}
.cs-type-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;margin-bottom:20px;}
.cs-type-icon svg{display:block;width:27px;height:27px;}
.cs-type-icon.is-navy{color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.cs-type-icon.is-orange{color:#D9702F;background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;}
.cs-type-icon.is-purple{color:#6B4A96;background:#F3EEFA;box-shadow:inset 0 0 0 1px #DDD0EE;}
.cs-type h3{font-size:18.5px;color:var(--navy);margin:0 0 12px;font-weight:700;line-height:1.3;}
.cs-type p{font-size:13.8px;color:#55637a;line-height:1.8;margin:0;}

/* who qualifies */
.cs-qualify{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start;}
.cs-qualify-copy h2{font-size:31px;color:var(--navy);margin:8px 0 14px;font-weight:700;
  line-height:1.2;letter-spacing:-.02em;}
.cs-qualify-copy > p{font-size:14.5px;color:#55637a;line-height:1.8;margin:0 0 24px;}
.cs-bodies-label{font-size:13.5px;color:var(--muted);margin:0 0 14px !important;}
.cs-bodies{display:flex;gap:10px;flex-wrap:wrap;}
.cs-bodies span{background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:12px 22px;font-family:var(--font-display);font-size:16px;font-weight:800;
  color:var(--navy);letter-spacing:.02em;box-shadow:0 6px 16px -10px rgba(42,36,94,.3);}

.cs-criteria{list-style:none;padding:0;margin:0;}
.cs-criteria li{display:flex;gap:14px;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:13px;padding:18px 20px;margin-bottom:12px;
  font-size:14px;color:#41506a;line-height:1.75;transition:border-color .16s,transform .16s;}
.cs-criteria li:hover{border-color:#d5dae1;transform:translateX(3px);}
.cs-tick{width:26px;height:26px;border-radius:50%;background:#EAF7EF;color:#1A7A3F;
  display:grid;place-items:center;flex-shrink:0;margin-top:2px;}
.cs-tick svg{display:block;width:13px;height:13px;}

/* verification process */
.cs-process-band{background:var(--paper);}
.cs-process{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:900px;margin:0 auto;}
.cs-process-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:30px 28px 30px 76px;transition:transform .18s,box-shadow .18s,border-color .18s;}
.cs-process-step:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 20px 42px -16px rgba(42,36,94,.24);}
.cs-process-num{position:absolute;left:26px;top:30px;width:34px;height:34px;border-radius:50%;
  background:var(--navy);color:#fff;display:grid;place-items:center;
  font-family:var(--font-mono);font-size:15px;font-weight:800;}
.cs-process-step h3{font-size:17px;color:var(--navy);margin:0 0 10px;font-weight:700;line-height:1.3;}
.cs-process-step p{font-size:13.8px;color:#55637a;line-height:1.8;margin:0;}

/* how to find */
.cs-find{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cs-find-card{display:flex;gap:15px;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:22px;}
.cs-find-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
  color:var(--orange);background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;flex-shrink:0;}
.cs-find-icon svg{display:block;width:20px;height:20px;}
.cs-find-card p{font-size:13.8px;color:#41506a;line-height:1.7;margin:0;}

/* disclaimer */
.cs-disclaimer{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px 30px;}
.cs-disclaimer-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.cs-disclaimer-head span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);color:var(--muted);flex-shrink:0;}
.cs-disclaimer-head span svg{display:block;width:17px;height:17px;}
.cs-disclaimer-head h3{font-size:15px;color:var(--navy);margin:0;font-weight:700;
  font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;}
.cs-disclaimer p{font-size:13px;color:var(--muted);line-height:1.85;margin:0;}

@media (max-width:1024px){
  .cs-benefits,.cs-types,.cs-find{grid-template-columns:1fr;}
  .cs-qualify{grid-template-columns:1fr;gap:30px;}
  .cs-hero h1{font-size:36px;}
}
@media (max-width:760px){
  .cs-hero{padding:50px 0 48px;}
  .cs-hero h1{font-size:30px;}
  .cs-lead{font-size:16.5px;}
  .cs-process{grid-template-columns:1fr;}
  .cs-qualify-copy h2{font-size:24px;}
}
@media (max-width:520px){
  .cs-hero h1{font-size:26px;}
  .cs-hero-actions{flex-direction:column;}
  .cs-btn{justify-content:center;}
  .cs-type{padding:26px 22px;}
  .cs-type-no{font-size:27px;top:18px;right:18px;}
  .cs-process-step{padding:26px 22px 26px 22px;}
  .cs-process-num{position:static;margin-bottom:14px;}
  .cs-disclaimer{padding:22px;}
}

/* ============================================================
   FOOTER REFINEMENT
   ============================================================ */
footer{position:relative;overflow:hidden;
  background:linear-gradient(168deg,#16273D 0%,var(--navy-deep) 55%,#0A1421 100%);}
/* faint grid + warm glow so the footer has depth rather than reading flat */
footer::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 80% 70% at 30% 0%,#000 10%,transparent 72%);}
footer::after{content:"";position:absolute;top:-140px;right:-80px;width:420px;height:420px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(242,136,75,.14),transparent 68%);}
footer > .container-xl{position:relative;z-index:2;}

/* five columns: brand is wider than the link lists */
.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1.15fr 1fr 1.1fr;
  gap:36px 30px;padding:56px 0 40px;}

.footer-grid h5,.foot-col h5{font-size:12px;font-family:var(--font-mono);letter-spacing:.08em;
  text-transform:uppercase;color:#fff;font-weight:700;margin:0 0 18px;position:relative;
  padding-bottom:11px;}
.footer-grid h5::after,.foot-col h5::after{content:"";position:absolute;left:0;bottom:0;
  width:26px;height:2px;border-radius:2px;background:var(--orange);}

.foot-col a{display:block;font-size:13.2px;color:#9fb0c6;padding:6px 0;line-height:1.5;
  transition:color .16s,transform .16s;position:relative;}
.foot-col a:hover{color:#fff;transform:translateX(4px);}
.foot-col a::before{content:"";position:absolute;left:-11px;top:50%;width:3px;height:3px;
  border-radius:50%;background:var(--orange);opacity:0;transform:translateY(-50%);
  transition:opacity .16s;}
.foot-col a:hover::before{opacity:1;}

/* trust chips under the brand blurb */
.foot-trust{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:9px;}
.foot-trust li{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#8fa0b6;}
.foot-trust svg{width:15px;height:15px;color:var(--orange);flex-shrink:0;}

/* newsletter block */
.footer-grid form input{background:#fff;}
.footer-grid form input::placeholder{color:#9aa4b1;}

/* bottom bar */
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;
  flex-wrap:wrap;padding:22px 0 30px;border-top:1px solid rgba(255,255,255,.08);
  font-size:12.5px;color:#7286a0;}
.footer-bottom .mono{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;
  color:#6a7d96;}

@media (max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:34px 26px;}
}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px 22px;padding:42px 0 32px;}
}
@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;text-align:left;}
  .foot-trust{flex-direction:row;flex-wrap:wrap;gap:14px;}
}

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.lg-hero{background:linear-gradient(160deg,#2F2869,var(--navy-deep));color:#fff;
  padding:44px 0 42px;position:relative;overflow:hidden;}
.lg-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:52px 52px;mask-image:radial-gradient(ellipse 80% 80% at 25% 30%,#000 12%,transparent 74%);}
.lg-hero-inner{position:relative;z-index:2;}
.lg-crumb{font-size:12.5px;color:#8fa0b6;font-family:var(--font-mono);margin-bottom:16px;}
.lg-crumb a{color:#8fa0b6;}
.lg-crumb a:hover{color:#fff;}
.lg-eyebrow{display:inline-block;background:rgba(242,136,75,.14);color:var(--orange-light);
  border:1px solid rgba(242,136,75,.32);padding:5px 14px;border-radius:30px;
  font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;margin-bottom:14px;}
.lg-hero h1{font-size:36px;margin:0 0 12px;font-weight:800;letter-spacing:-.025em;}
.lg-revised{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#a9bbd0;margin:0;
  font-family:var(--font-mono);}
.lg-revised svg{width:15px;height:15px;color:var(--orange-light);}

.lg-layout{display:grid;grid-template-columns:264px 1fr;gap:38px;align-items:start;}
.lg-side{position:sticky;top:92px;max-height:calc(100vh - 120px);overflow-y:auto;
  scrollbar-width:thin;padding-right:4px;}
.lg-side::-webkit-scrollbar{width:6px;}
.lg-side::-webkit-scrollbar-thumb{background:#dfe3e8;border-radius:6px;}

.lg-nav,.lg-toc{background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:20px;margin-bottom:16px;}
.lg-nav h4,.lg-toc h4{font-size:11px;font-family:var(--font-mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 14px;}
.lg-nav ul{list-style:none;padding:0;margin:0;}
.lg-nav li{border-top:1px solid var(--line);}
.lg-nav li:first-child{border-top:none;}
.lg-nav a{display:block;padding:9px 0;font-size:13.2px;color:#41506a;line-height:1.45;
  transition:color .15s,transform .15s;}
.lg-nav a:hover{color:var(--orange);transform:translateX(3px);}
.lg-nav a.on{color:var(--navy);font-weight:700;}

.lg-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc;}
.lg-toc li{counter-increment:toc;}
.lg-toc a{display:flex;gap:9px;padding:6px 0 6px 10px;font-size:12.6px;color:var(--muted);
  line-height:1.45;border-left:2px solid transparent;transition:.15s;}
.lg-toc a::before{content:counter(toc) ".";font-family:var(--font-mono);font-size:11px;
  color:#b6c0cc;flex-shrink:0;}
.lg-toc a:hover{color:var(--navy);border-left-color:var(--line);}
.lg-toc a.on{color:var(--orange);border-left-color:var(--orange);font-weight:600;}
.lg-toc a.on::before{color:var(--orange);}

/* document */
.lg-doc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:44px 48px;}
.lg-intro{background:var(--paper);border-left:3px solid var(--orange);border-radius:0 12px 12px 0;
  padding:20px 24px;margin-bottom:36px;}
.lg-intro p{font-size:14.5px;color:#41506a;line-height:1.8;margin:0;}

.lg-section{padding:30px 0;border-top:1px solid var(--line);scroll-margin-top:96px;}
.lg-section:first-of-type{border-top:none;padding-top:0;}
.lg-section h2{display:flex;align-items:center;gap:13px;font-size:21px;color:var(--navy);
  margin:0 0 16px;font-weight:700;letter-spacing:-.015em;line-height:1.3;}
.lg-section h2 span{flex-shrink:0;width:32px;height:32px;border-radius:9px;
  background:linear-gradient(140deg,var(--navy),var(--navy-2));color:#fff;
  display:grid;place-items:center;font-family:var(--font-mono);font-size:13px;font-weight:800;}
.lg-section p{font-size:14.6px;color:#41506a;line-height:1.9;margin:0 0 14px;}
.lg-section p:last-child{margin-bottom:0;}
.lg-section a{color:var(--orange);font-weight:600;}
.lg-section a:hover{text-decoration:underline;}

.lg-list{list-style:none;padding:0;margin:0 0 16px;}
.lg-list li{position:relative;padding:7px 0 7px 26px;font-size:14.4px;color:#41506a;line-height:1.8;}
.lg-list li::before{content:"";position:absolute;left:6px;top:16px;width:6px;height:6px;
  border-radius:50%;background:var(--orange);opacity:.55;}

/* placeholders the client still has to fill in */
.lg-todo{background:#FFF4E3;color:#9A6412;border:1px dashed #E9A227;border-radius:5px;
  padding:1px 7px;font-size:13.5px;font-weight:600;}

.lg-contact{margin-top:38px;padding-top:30px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;}
.lg-contact h3{font-size:19px;color:var(--navy);margin:0 0 6px;font-weight:700;}
.lg-contact p{font-size:14px;color:var(--muted);margin:0;line-height:1.65;}

@media (max-width:1024px){
  .lg-layout{grid-template-columns:1fr;gap:24px;}
  .lg-side{position:static;max-height:none;overflow:visible;}
  .lg-toc{display:none;}
  .lg-doc{padding:32px 30px;}
}
@media (max-width:600px){
  .lg-hero{padding:34px 0 32px;}
  .lg-hero h1{font-size:26px;}
  .lg-doc{padding:24px 20px;}
  .lg-section h2{font-size:18px;gap:10px;}
  .lg-section h2 span{width:28px;height:28px;font-size:12px;}
  .lg-section p,.lg-list li{font-size:14px;}
  .lg-contact{flex-direction:column;align-items:flex-start;}
}

/* ============================================================
   INTEGRITY COMPLIANCE
   ============================================================ */
/* Icon variant of the numbered section badge used on Terms */
.lg-section h2 span svg{display:block;width:16px;height:16px;}

/* numbered violation cards */
.ic-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ic-item{display:flex;gap:14px;align-items:flex-start;background:var(--paper);
  border:1px solid var(--line);border-radius:13px;padding:18px 20px;
  transition:border-color .16s,transform .16s,background .16s;}
.ic-item:hover{border-color:#d5dae1;background:#fff;transform:translateY(-2px);}
.ic-num{flex-shrink:0;width:28px;height:28px;border-radius:9px;background:#fff;
  border:1px solid var(--line);color:var(--navy);display:grid;place-items:center;
  font-family:var(--font-mono);font-size:12.5px;font-weight:800;margin-top:1px;}
.ic-item:hover .ic-num{background:var(--navy);border-color:var(--navy);color:#fff;}
.ic-item p{font-size:14px !important;color:#41506a !important;line-height:1.75 !important;margin:0 !important;}

/* whistleblower callout */
.ic-callout{display:flex;gap:20px;align-items:flex-start;
  background:linear-gradient(150deg,var(--navy-deep),var(--navy));border-radius:16px;
  padding:28px 30px;color:#fff;}
.ic-callout-icon{flex-shrink:0;width:52px;height:52px;border-radius:15px;
  background:rgba(242,136,75,.16);border:1px solid rgba(242,136,75,.34);
  color:var(--orange-light);display:grid;place-items:center;}
.ic-callout-icon svg{display:block;width:24px;height:24px;}
.ic-callout-body h3{font-size:18px;color:#fff;margin:0 0 12px;font-weight:700;}
.ic-callout-body p{font-size:14.2px !important;color:#c3d1e2 !important;
  line-height:1.85 !important;margin:0 0 12px !important;}
.ic-callout-body p:last-child{margin-bottom:0 !important;}

/* business compliance rows */
.ic-rows{display:grid;gap:11px;}
.ic-row{display:flex;gap:16px;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:13px;padding:18px 22px;
  transition:border-color .16s,transform .16s,box-shadow .16s;}
.ic-row:hover{border-color:var(--orange);transform:translateX(4px);
  box-shadow:0 10px 24px -14px rgba(42,36,94,.3);}
.ic-row-num{flex-shrink:0;font-family:var(--font-mono);font-size:14px;font-weight:800;
  color:var(--line);letter-spacing:-.02em;min-width:26px;padding-top:1px;
  transition:color .16s;}
.ic-row:hover .ic-row-num{color:var(--orange);}
.ic-row b{display:block;font-size:14.8px;color:var(--navy);margin-bottom:5px;font-weight:700;}
.ic-row span:not(.ic-row-num){display:block;font-size:14px;color:#55637a;line-height:1.75;}
.ic-row.is-other{background:var(--paper);border-style:dashed;}

@media (max-width:820px){
  .ic-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .ic-callout{flex-direction:column;gap:16px;padding:22px;}
  .ic-callout-icon{width:44px;height:44px;}
  .ic-row{padding:16px 18px;gap:12px;}
  .ic-item{padding:15px 16px;}
}

/* ============================================================
   PRIVACY POLICY
   ============================================================ */
.pp-sub{font-size:14px;color:var(--navy);font-weight:700;margin:24px 0 14px;
  font-family:var(--font-mono);letter-spacing:.02em;}

/* applicable laws */
.pp-laws{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px;}
.pp-laws span{background:var(--paper);border:1px solid var(--line);border-radius:9px;
  padding:9px 15px;font-size:13px;color:var(--navy);font-weight:600;}

/* data-collected cards */
.pp-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pp-data{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;
  transition:border-color .16s,transform .16s,box-shadow .16s;}
.pp-data:hover{border-color:#d5dae1;transform:translateY(-3px);
  box-shadow:0 16px 32px -16px rgba(42,36,94,.24);}
.pp-data-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
  margin-bottom:14px;}
.pp-data-icon svg{display:block;width:20px;height:20px;}
.pp-data-icon.is-navy{color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.pp-data-icon.is-orange{color:#D9702F;background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;}
.pp-data-icon.is-green{color:#1A7A3F;background:#EAF7EF;box-shadow:inset 0 0 0 1px #C6E7D3;}
.pp-data-icon.is-purple{color:#6B4A96;background:#F3EEFA;box-shadow:inset 0 0 0 1px #DDD0EE;}
.pp-data b{display:block;font-size:14.5px;color:var(--navy);margin-bottom:6px;font-weight:700;}
.pp-data > span:not(.pp-data-icon){display:block;font-size:13.5px;color:#55637a;line-height:1.7;}

/* AI rights box */
.pp-rights-box{background:linear-gradient(150deg,var(--navy-deep),var(--navy));
  border-radius:14px;padding:24px 26px;margin-top:20px;color:#fff;}
.pp-rights-box h4{font-size:15px;color:#fff;margin:0 0 14px;font-weight:700;}
.pp-rights-box ul{list-style:none;padding:0;margin:0 0 14px;}
.pp-rights-box li{position:relative;padding:6px 0 6px 22px;font-size:13.8px;color:#c3d1e2;
  line-height:1.75;}
.pp-rights-box li::before{content:"";position:absolute;left:5px;top:15px;width:6px;height:6px;
  border-radius:50%;background:var(--orange);}
.pp-rights-box p{font-size:13.5px !important;color:#a9bbd0 !important;margin:0 !important;}
.pp-rights-box a{color:var(--orange-light);font-weight:600;}

/* retention */
.pp-retention{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 18px;}
.pp-ret{background:var(--paper);border:1px solid var(--line);border-radius:14px;
  padding:20px;text-align:center;}
.pp-ret b{display:block;font-family:var(--font-mono);font-size:26px;font-weight:700;
  color:var(--navy);line-height:1;margin-bottom:10px;letter-spacing:-.02em;}
.pp-ret > span{display:block;font-size:13.2px;color:var(--ink);font-weight:600;
  line-height:1.5;margin-bottom:4px;}
.pp-ret em{font-style:normal;font-size:11.5px;color:var(--muted);font-family:var(--font-mono);}

/* "we do not sell your data" emphasis */
.pp-emphasis{display:flex;gap:14px;align-items:center;background:#EAF7EF;
  border:1px solid #C6E7D3;border-radius:13px;padding:18px 22px;margin-top:18px;}
.pp-emphasis svg{width:24px;height:24px;color:#1A7A3F;flex-shrink:0;}
.pp-emphasis p{font-size:14.5px !important;color:#146334 !important;margin:0 !important;
  line-height:1.6 !important;font-weight:600;}

/* user rights */
.pp-rights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 18px;}
.pp-right{display:flex;gap:14px;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  transition:border-color .16s,transform .16s;}
.pp-right:hover{border-color:var(--orange);transform:translateY(-2px);}
.pp-right-num{flex-shrink:0;font-family:var(--font-mono);font-size:13px;font-weight:800;
  color:var(--line);transition:color .16s;padding-top:1px;}
.pp-right:hover .pp-right-num{color:var(--orange);}
.pp-right b{display:block;font-size:13.8px;color:var(--navy);margin-bottom:4px;font-weight:700;
  line-height:1.4;}
.pp-right span:not(.pp-right-num){display:block;font-size:13px;color:#55637a;line-height:1.65;}

/* cookies */
.pp-cookies{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.pp-cookie{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px 20px;}
.pp-cookie-tag{display:inline-block;font-family:var(--font-mono);font-size:9.5px;
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;
  border-radius:20px;margin-bottom:11px;}
.pp-cookie-tag.is-required{background:#EFEEF8;color:#39327E;}
.pp-cookie-tag.is-optional{background:#FFF3EA;color:#D9702F;}
.pp-cookie b{display:block;font-size:14px;color:var(--navy);margin-bottom:5px;font-weight:700;}
.pp-cookie span:not(.pp-cookie-tag){display:block;font-size:13px;color:#55637a;line-height:1.65;}

.pp-browsers{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.pp-browsers a{background:#fff;border:1px solid var(--line);border-radius:9px;
  padding:10px 20px;font-size:13.2px;font-weight:600;color:var(--navy);transition:.15s;}
.pp-browsers a:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px);}

@media (max-width:900px){
  .pp-data-grid,.pp-rights{grid-template-columns:1fr;}
  .pp-retention,.pp-cookies{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .pp-emphasis{flex-direction:column;align-items:flex-start;gap:10px;}
  .pp-browsers a{flex:1 1 calc(50% - 5px);text-align:center;}
}

/* ============================================================
   POLICIES AND RULES (long-form legal document)
   ============================================================ */
/* nested contents — chapters collapsed to their titles until active */
.pr-toc{max-height:none;}
.pr-toc ol{counter-reset:none;}
.pr-toc li{counter-increment:none;}
.pr-toc-chapter{margin-bottom:4px;}
.pr-toc-top{display:flex !important;align-items:baseline;gap:9px;padding:8px 0 8px 8px !important;
  font-size:13px !important;font-weight:700 !important;color:var(--navy) !important;
  border-left:2px solid transparent;}
.pr-toc-top::before{content:none !important;}
.pr-toc-top em{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--orange);
  font-weight:800;flex-shrink:0;}
.pr-toc-top:hover{color:var(--orange) !important;}
.pr-toc-top.on{color:var(--orange) !important;border-left-color:var(--orange);}

.pr-toc-chapter ul{list-style:none;padding:0 0 6px 17px;margin:0;
  max-height:0;overflow:hidden;transition:max-height .3s ease;}
.pr-toc-chapter.open ul,.pr-toc-chapter:hover ul{max-height:420px;}
.pr-toc-chapter ul a{display:flex !important;gap:8px;padding:5px 0 5px 9px !important;
  font-size:12.2px !important;color:var(--muted) !important;border-left:2px solid var(--line);
  line-height:1.45;}
.pr-toc-chapter ul a::before{content:none !important;}
.pr-toc-chapter ul a i{font-style:normal;font-family:var(--font-mono);font-size:10.5px;
  color:#b6c0cc;flex-shrink:0;}
.pr-toc-chapter ul a:hover{color:var(--navy) !important;border-left-color:#cfd5dd;}
.pr-toc-chapter ul a.on{color:var(--orange) !important;border-left-color:var(--orange);font-weight:600;}
.pr-toc-chapter ul a.on i{color:var(--orange);}

/* chapter blocks */
.pr-chapter{margin-bottom:16px;scroll-margin-top:96px;}
.pr-chapter-head{display:flex;flex-direction:column;gap:6px;padding:30px 0 20px;
  border-top:2px solid var(--line);margin-bottom:6px;}
.pr-chapter:first-of-type .pr-chapter-head{border-top:none;padding-top:0;}
.pr-chapter-head span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--orange);font-weight:800;}
.pr-chapter-head h2{font-size:25px;color:var(--navy);margin:0;font-weight:700;
  letter-spacing:-.02em;line-height:1.25;}

.pr-sub{padding:22px 0;border-top:1px solid var(--line);scroll-margin-top:96px;}
.pr-sub:first-of-type{border-top:none;}
.pr-sub h3{display:flex;align-items:baseline;gap:11px;font-size:17px;color:var(--navy);
  margin:0 0 13px;font-weight:700;line-height:1.35;letter-spacing:-.01em;}
.pr-sub h3 i{font-style:normal;font-family:var(--font-mono);font-size:12.5px;font-weight:800;
  color:var(--orange);flex-shrink:0;}
.pr-sub p{font-size:14.4px;color:#41506a;line-height:1.9;margin:0 0 13px;}
.pr-sub p:last-child{margin-bottom:0;}
.pr-h4{font-size:13px;color:var(--navy);font-weight:700;margin:20px 0 12px;
  font-family:var(--font-mono);letter-spacing:.02em;}

/* card grid used for scope, event types, data types */
.pr-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 16px;}
.pr-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  transition:border-color .16s,background .16s,transform .16s;}
.pr-card:hover{border-color:#d5dae1;background:#fff;transform:translateY(-2px);}
.pr-card b{display:block;font-size:13.8px;color:var(--navy);margin-bottom:5px;font-weight:700;}
.pr-card span{display:block;font-size:13px;color:#55637a;line-height:1.7;}

/* prohibited lists */
.pr-prohibited{display:grid;gap:9px;margin:6px 0 4px;}
.pr-prohibited div{display:flex;gap:12px;align-items:flex-start;background:#FDF2F1;
  border:1px solid #F3D2CE;border-radius:11px;padding:14px 17px;font-size:13.8px;
  color:#7A2A22;line-height:1.7;}
.pr-prohibited svg{width:17px;height:17px;color:#C0392B;flex-shrink:0;margin-top:2px;}
.pr-prohibited b{color:#8C2F26;font-weight:700;}

/* warning callout */
.pr-warn{display:flex;gap:13px;align-items:flex-start;background:#FFF4E3;border:1px solid #F5D9A8;
  border-radius:12px;padding:16px 19px;margin-top:16px;}
.pr-warn svg{width:20px;height:20px;color:#B8791A;flex-shrink:0;margin-top:1px;}
.pr-warn p{font-size:13.8px !important;color:#8A5D14 !important;margin:0 !important;
  line-height:1.75 !important;}

/* numbered process steps */
.pr-steps{display:grid;gap:11px;margin:6px 0;}
.pr-step{display:flex;gap:15px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:17px 20px;transition:border-color .16s,transform .16s;}
.pr-step:hover{border-color:var(--orange);transform:translateX(3px);}
.pr-step > span{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--navy);
  color:#fff;display:grid;place-items:center;font-family:var(--font-mono);font-size:12.5px;
  font-weight:800;}
.pr-step b{display:block;font-size:14.2px;color:var(--navy);margin-bottom:5px;font-weight:700;}
.pr-step em{font-style:normal;display:block;font-size:13.2px;color:#55637a;line-height:1.7;}

/* force majeure chips */
.pr-fm{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 16px;}
.pr-fm span{background:var(--paper);border:1px solid var(--line);border-radius:9px;
  padding:9px 15px;font-size:13px;color:var(--navy);font-weight:600;}

@media (max-width:900px){
  .pr-cards{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .pr-chapter-head h2{font-size:20px;}
  .pr-sub h3{font-size:15.5px;gap:9px;}
  .pr-sub p{font-size:14px;}
  .pr-step{padding:15px 16px;gap:12px;}
  .pr-prohibited div{padding:13px 15px;font-size:13.2px;}
}

/* ============================================================
   POLICIES AND RULES (multi-chapter legal document)
   ============================================================ */
.pr-chapter{padding:34px 0;border-top:1px solid var(--line);scroll-margin-top:96px;}
.pr-chapter:first-of-type{border-top:none;padding-top:0;}
.pr-chapter-head{display:flex;align-items:center;gap:16px;margin-bottom:26px;
  padding-bottom:18px;border-bottom:2px solid var(--line);position:relative;}
.pr-chapter-head::after{content:"";position:absolute;left:0;bottom:-2px;width:70px;height:2px;
  background:linear-gradient(90deg,var(--navy),var(--orange));}
.pr-chapter-num{flex-shrink:0;font-family:var(--font-mono);font-size:30px;font-weight:800;
  color:var(--line);letter-spacing:-.03em;line-height:1;}
.pr-chapter-head h2{font-size:24px;color:var(--navy);margin:0;font-weight:700;
  letter-spacing:-.02em;line-height:1.25;}

.pr-sub{margin-bottom:28px;}
.pr-sub:last-child{margin-bottom:0;}
.pr-sub h3{font-size:16px;color:var(--navy);margin:0 0 12px;font-weight:700;
  padding-left:13px;border-left:3px solid var(--orange);line-height:1.4;}
.pr-sub p{font-size:14.5px;color:#41506a;line-height:1.9;margin:0 0 13px;}
.pr-sub p:last-child{margin-bottom:0;}
.pr-sub a{color:var(--orange);font-weight:600;}
.pr-sub a:hover{text-decoration:underline;}

/* definition cards */
.pr-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:14px 0;}
.pr-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:17px 19px;
  transition:border-color .16s,background .16s,transform .16s;}
.pr-card:hover{border-color:#d5dae1;background:#fff;transform:translateY(-2px);}
.pr-card b{display:block;font-size:14px;color:var(--navy);margin-bottom:6px;font-weight:700;}
.pr-card span{display:block;font-size:13.2px;color:#55637a;line-height:1.7;}

/* numbered process steps */
.pr-steps{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:11px;}
.pr-steps li{display:flex;gap:15px;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:12px;padding:17px 20px;
  transition:border-color .16s,transform .16s;}
.pr-steps li:hover{border-color:var(--orange);transform:translateX(3px);}
.pr-steps li > span{flex-shrink:0;width:28px;height:28px;border-radius:50%;
  background:var(--navy);color:#fff;display:grid;place-items:center;
  font-family:var(--font-mono);font-size:12.5px;font-weight:800;margin-top:1px;}
.pr-steps b{display:block;font-size:14.2px;color:var(--navy);margin-bottom:4px;font-weight:700;}
.pr-steps div span{display:block;font-size:13.4px;color:#55637a;line-height:1.7;}

/* inline alerts */
.pr-alert{display:flex;gap:14px;align-items:flex-start;background:#FFF4E3;
  border:1px solid #F5D9A8;border-radius:12px;padding:17px 20px;margin-top:16px;}
.pr-alert svg{width:21px;height:21px;color:#B8791A;flex-shrink:0;margin-top:2px;}
.pr-alert b{display:block;font-size:14px;color:#8A5A10;margin-bottom:5px;font-weight:700;}
.pr-alert span{display:block;font-size:13.4px;color:#9A6412;line-height:1.75;}
.pr-alert.is-neutral{background:var(--paper);border-color:var(--line);}
.pr-alert.is-neutral svg{color:var(--navy);}
.pr-alert.is-neutral b{color:var(--navy);}
.pr-alert.is-neutral span{color:#55637a;}

/* prohibited items panel */
.pr-prohibited{background:#FDECEA;border:1px solid #F5C2C0;border-radius:13px;
  padding:20px 22px;margin-top:16px;}
.pr-prohibited-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.pr-prohibited-head svg{width:20px;height:20px;color:#A12622;flex-shrink:0;}
.pr-prohibited-head b{font-size:14.5px;color:#A12622;font-weight:700;}
.pr-prohibited p{font-size:13.6px !important;color:#7A1E1A !important;
  line-height:1.75 !important;margin:0 0 10px !important;}
.pr-prohibited ul{list-style:none;padding:0;margin:0;}
.pr-prohibited li{position:relative;padding:5px 0 5px 22px;font-size:13.4px;color:#7A1E1A;
  line-height:1.7;}
.pr-prohibited li::before{content:"";position:absolute;left:6px;top:14px;width:6px;height:6px;
  border-radius:50%;background:#C0392B;opacity:.6;}

/* prohibited conduct grid */
.pr-banned{display:grid;gap:11px;margin-top:14px;}
.pr-ban{background:#fff;border:1px solid var(--line);border-left:3px solid #C0392B;
  border-radius:0 12px 12px 0;padding:16px 20px;transition:transform .16s,box-shadow .16s;}
.pr-ban:hover{transform:translateX(3px);box-shadow:0 10px 22px -14px rgba(42,36,94,.3);}
.pr-ban b{display:block;font-size:14.2px;color:var(--navy);margin-bottom:5px;font-weight:700;}
.pr-ban span{display:block;font-size:13.4px;color:#55637a;line-height:1.7;}

/* force majeure chips */
.pr-force{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0;}
.pr-force span{background:var(--paper);border:1px solid var(--line);border-radius:9px;
  padding:9px 15px;font-size:13px;color:var(--ink);}

@media (max-width:820px){
  .pr-cards{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .pr-chapter-head{flex-direction:column;align-items:flex-start;gap:8px;}
  .pr-chapter-head h2{font-size:19px;}
  .pr-chapter-num{font-size:24px;}
  .pr-sub h3{font-size:15px;}
  .pr-sub p{font-size:14px;}
  .pr-steps li{padding:15px 17px;gap:12px;}
}

/* ============================================================
   PRODUCT COMPLIANCE RULES
   ============================================================ */
.pc-warning{display:flex;gap:15px;align-items:flex-start;background:#FFF4E3;
  border:1px solid #F5D9A8;border-radius:13px;padding:20px 22px;margin-bottom:34px;}
.pc-warning svg{width:23px;height:23px;color:#B8791A;flex-shrink:0;margin-top:2px;}
.pc-warning b{display:block;font-size:14.5px;color:#8A5A10;margin-bottom:6px;font-weight:700;}
.pc-warning span{display:block;font-size:13.6px;color:#9A6412;line-height:1.8;}

/* controversial-items lettered list */
.pc-controversial{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;}
.pc-controversial > div{display:flex;gap:12px;align-items:flex-start;background:var(--paper);
  border:1px solid var(--line);border-radius:11px;padding:14px 16px;}
.pc-controversial span{flex-shrink:0;width:24px;height:24px;border-radius:7px;background:#fff;
  border:1px solid var(--line);color:var(--navy);display:grid;place-items:center;
  font-family:var(--font-mono);font-size:11.5px;font-weight:800;text-transform:uppercase;}
.pc-controversial p{font-size:13.3px !important;color:#55637a !important;
  line-height:1.7 !important;margin:0 !important;}

/* sanctioned goods */
.pc-sanction-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:14px;}
.pc-sanction{background:#FDECEA;border:1px solid #F5C2C0;border-radius:12px;padding:17px 19px;}
.pc-sanction.is-wide{grid-column:1/-1;}
.pc-origin{display:inline-block;background:#C0392B;color:#fff;font-family:var(--font-mono);
  font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;margin-bottom:10px;}
.pc-origin.is-dest{background:#8A5A10;}
.pc-sanction p{font-size:13.4px !important;color:#7A1E1A !important;
  line-height:1.75 !important;margin:0 !important;}

/* geographic prohibitions */
.pc-geo-list{display:grid;gap:16px;margin-top:20px;}
.pc-geo{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px 24px;
  transition:border-color .16s,box-shadow .16s;}
.pc-geo:hover{border-color:#d5dae1;box-shadow:0 16px 34px -18px rgba(42,36,94,.24);}
.pc-geo > header{display:flex;align-items:center;gap:13px;margin-bottom:13px;
  padding-bottom:0;border-bottom:none;}
.pc-geo-num{flex-shrink:0;font-family:var(--font-mono);font-size:16px;font-weight:800;
  color:var(--line);letter-spacing:-.02em;}
.pc-geo > header h3{flex:1;font-size:16.5px;color:var(--navy);margin:0;font-weight:700;
  padding:0;border:none;line-height:1.3;}
.pc-level{flex-shrink:0;font-family:var(--font-mono);font-size:9px;font-weight:800;
  letter-spacing:.07em;padding:4px 10px;border-radius:20px;}
.pc-level.is-prohibited{background:#FDECEA;color:#A12622;}
.pc-level.is-restricted{background:#FFF4E3;color:#9A6412;}
.pc-geo-rule{font-size:13.8px !important;color:#55637a !important;
  line-height:1.8 !important;margin:0 0 14px !important;}

.pc-countries{display:flex;flex-wrap:wrap;gap:8px;}
.pc-countries span{background:var(--paper);border:1px solid var(--line);border-radius:20px;
  padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--navy);}

.pc-subrule{background:var(--paper);border-radius:10px;padding:14px 16px;margin-top:11px;}
.pc-subrule p{font-size:13.2px !important;color:#55637a !important;
  line-height:1.7 !important;margin:0 0 10px !important;}
.pc-subrule .pc-countries span{background:#fff;}

.pc-exempt{background:#EAF7EF;border:1px solid #C6E7D3;border-radius:11px;
  padding:16px 18px;margin-top:14px;}
.pc-exempt b{display:block;font-size:13px;color:#146334;margin-bottom:9px;font-weight:700;
  font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;}
.pc-exempt ul{list-style:none;padding:0;margin:0 0 11px;}
.pc-exempt li{position:relative;padding:4px 0 4px 20px;font-size:13.2px;color:#1A5A33;
  line-height:1.7;}
.pc-exempt li::before{content:"";position:absolute;left:5px;top:13px;width:6px;height:6px;
  border-radius:50%;background:#25A55B;opacity:.6;}
.pc-exempt p{font-size:12.6px !important;color:#2A6B44 !important;
  line-height:1.7 !important;margin:0 !important;}

.pc-geo-note{font-size:13px !important;color:var(--muted) !important;line-height:1.75 !important;
  margin:12px 0 0 !important;padding-left:13px;border-left:2px solid var(--line);}

/* qualification-required list */
.pc-qual{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;}
.pc-qual-item{display:flex;align-items:center;gap:12px;background:#fff;
  border:1px solid var(--line);border-radius:11px;padding:14px 17px;
  font-size:14px;color:var(--navy);font-weight:600;transition:border-color .16s,transform .16s;}
.pc-qual-item:hover{border-color:var(--orange);transform:translateX(3px);}
.pc-qual-item span{flex-shrink:0;width:28px;height:28px;border-radius:8px;background:#EFEEF8;
  color:#39327E;display:grid;place-items:center;}
.pc-qual-item span svg{display:block;width:15px;height:15px;}

@media (max-width:820px){
  .pc-controversial,.pc-sanction-grid,.pc-qual{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .pc-warning{flex-direction:column;gap:10px;}
  .pc-geo{padding:18px 19px;}
  .pc-geo > header{flex-wrap:wrap;gap:9px;}
  .pc-geo > header h3{flex:1 1 100%;order:3;font-size:15.5px;}
}

/* ============================================================
   LEGAL NOTICE (multilingual)
   ============================================================ */
.ln-langs{display:flex;gap:8px;margin-bottom:30px;padding-bottom:20px;
  border-bottom:1px solid var(--line);flex-wrap:wrap;}
.ln-langs button{display:inline-flex;align-items:center;gap:9px;background:#fff;
  border:1px solid var(--line);border-radius:10px;padding:10px 18px;cursor:pointer;
  font-family:inherit;font-size:13.5px;font-weight:600;color:var(--muted);transition:.16s;}
.ln-langs button:hover{border-color:#cfd5dd;color:var(--navy);}
.ln-langs button.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.ln-lang-code{font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.06em;
  background:var(--paper);color:var(--navy);padding:3px 7px;border-radius:5px;}
.ln-langs button.on .ln-lang-code{background:rgba(255,255,255,.18);color:#fff;}

.ln-title{font-size:23px;color:var(--navy);margin:0 0 24px;font-weight:700;
  letter-spacing:-.02em;padding-bottom:16px;border-bottom:1px solid var(--line);}

/* company details grid inside the document */
.ln-info{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;}
.ln-info > div{background:var(--paper);border:1px solid var(--line);border-radius:11px;
  padding:14px 17px;}
.ln-info > div.is-wide{grid-column:1/-1;}
.ln-info span{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:700;}
.ln-info b{display:block;font-size:14px;color:var(--navy);font-weight:700;
  line-height:1.5;word-break:break-word;}
.ln-info a{color:var(--navy);}
.ln-info a:hover{color:var(--orange);}

/* sidebar company card — stays constant across languages */
.ln-company{background:linear-gradient(150deg,var(--navy-deep),var(--navy));
  border-radius:14px;padding:20px;color:#fff;}
.ln-company h4{font-size:11px;font-family:var(--font-mono);letter-spacing:.08em;
  text-transform:uppercase;color:#8fa0b6;font-weight:700;margin:0 0 14px;}
.ln-company dl{margin:0;}
.ln-company dl > div{padding:9px 0;border-top:1px solid rgba(255,255,255,.09);}
.ln-company dl > div:first-child{border-top:none;padding-top:0;}
.ln-company dt{font-size:11px;color:#7286a0;margin:0 0 3px;font-family:var(--font-mono);}
.ln-company dd{margin:0;font-size:12.8px;color:#e6edf6;line-height:1.55;word-break:break-word;}
.ln-company dd a{color:var(--orange-light);}
.ln-company dd a:hover{text-decoration:underline;}

/* contact links at the end of each language block */
.ln-contact-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:14px;}
.ln-contact-row a{display:inline-flex;align-items:center;gap:9px;background:#fff;
  border:1px solid var(--line);border-radius:10px;padding:12px 18px;font-size:13.5px;
  font-weight:600;color:var(--navy);transition:.16s;}
.ln-contact-row a:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px);}
.ln-contact-row svg{width:17px;height:17px;flex-shrink:0;}

@media (max-width:820px){
  .ln-info{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .ln-langs button{flex:1 1 calc(50% - 4px);justify-content:center;padding:10px 12px;}
  .ln-title{font-size:19px;}
  .ln-contact-row a{flex:1 1 100%;justify-content:center;}
}

/* ===== INVOICE DOWNLOAD BUTTON ===== */
.invoice-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1px solid var(--line);border-radius:9px;padding:9px 16px;font-size:13px;
  font-weight:600;color:var(--navy);transition:.16s;white-space:nowrap;}
.invoice-btn svg{width:15px;height:15px;flex-shrink:0;}
.invoice-btn:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px);
  box-shadow:0 10px 22px -14px rgba(42,36,94,.35);}
.invoice-btn.is-lg{padding:13px 26px;font-size:14px;background:var(--navy);color:#fff;
  border-color:var(--navy);}
.invoice-btn.is-lg:hover{background:var(--orange);border-color:var(--orange);color:#fff;}

/* ===== DOWNLOAD INVOICE BUTTON ===== */
.invoice-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1px solid var(--line);border-radius:9px;padding:9px 16px;font-size:13px;
  font-weight:600;color:var(--navy);transition:.16s;white-space:nowrap;}
.invoice-btn svg{width:15px;height:15px;flex-shrink:0;}
.invoice-btn:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-1px);}

/* ============================================================
   FOOTER — refinement
   ============================================================ */
/* Level the brand lockup with the column headings. The h5 cap-height starts
   a few px below its box top, so the larger logo needs a small lift to sit
   on the same optical line. */
.foot-logo{margin-top:-5px;margin-bottom:18px;color:#fff;font-size:22px;}
.foot-tagline{font-size:13.2px;line-height:1.75;color:#9fb0c6;max-width:270px;margin:0;}

/* trust chips — pill-shaped, so they read as badges rather than a plain list */
.foot-trust{list-style:none;padding:0;margin:20px 0 0;display:flex;
  flex-direction:column;align-items:flex-start;gap:8px;}
.foot-trust li{display:inline-flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);
  border-radius:24px;padding:7px 14px 7px 11px;font-size:12.5px;color:#c3d1e2;
  transition:background .16s,border-color .16s,transform .16s;}
.foot-trust li:hover{background:rgba(255,255,255,.09);
  border-color:rgba(242,136,75,.35);transform:translateX(3px);}
.foot-trust svg{width:15px;height:15px;color:var(--orange);flex-shrink:0;}

/* headings: keep the orange rule but tighten the type */
.footer-grid h5,.foot-col h5{font-size:11.5px;letter-spacing:.1em;margin-bottom:20px;
  padding-bottom:12px;}

/* links sit closer together and get a smoother hover */
.foot-col a{display:block;font-size:13.4px;color:#9fb0c6;padding:7px 0;line-height:1.5;
  transition:color .16s,transform .16s;position:relative;width:fit-content;}
.foot-col a:hover{color:#fff;transform:translateX(4px);}
.foot-col a::before{content:"";position:absolute;left:-12px;top:50%;width:4px;height:4px;
  border-radius:50%;background:var(--orange);opacity:0;transform:translateY(-50%) scale(.5);
  transition:opacity .18s,transform .18s;}
.foot-col a:hover::before{opacity:1;transform:translateY(-50%) scale(1);}

/* newsletter input polish */
.footer-grid form input{border-radius:8px 0 0 8px;font-size:13px;padding:11px 13px;
  border:1px solid transparent;transition:border-color .16s;}
.footer-grid form input:focus{outline:none;border-color:var(--orange);}

/* social row */
.footer-social-bar{padding:24px 0;}
.social-btn{width:38px;height:38px;}

/* bottom bar */
.footer-bottom{padding:20px 0 32px;font-size:12.5px;}

@media (max-width:1100px){
  .foot-logo{margin-top:0;}
  .foot-tagline{max-width:none;}
}
@media (max-width:760px){
  .foot-trust{flex-direction:row;flex-wrap:wrap;gap:8px;}
}

/* Placeholder shown when a stored image file is missing, so cards degrade
   gracefully instead of rendering a broken-image icon and raw alt text. */
/* hidden by default — only revealed when an image fails to load, so a working
   photo is never sitting on a striped backdrop */
.img-fallback{position:absolute;inset:0;display:none;align-items:center;justify-content:center;
  background:repeating-linear-gradient(135deg,#EDF0F4 0 3px,#F6F8FA 3px 9px);
  color:#c2cad4;z-index:0;}
.prod-img.no-img .img-fallback,
.deal-media.no-img .img-fallback,
.ev-media.no-img .img-fallback{display:flex;}
.img-fallback svg{width:38px;height:38px;}
.prod-img,.deal-media,.ev-media{position:relative;}

/* ============================================================
   PRODUCT IMAGERY — responsive sizing
   ============================================================ */
/* Image height scales with the viewport instead of sitting at one fixed
   value, so photos stay generous on large screens and stay proportionate
   on small ones. */
.prod-img{height:clamp(180px, 17vw, 240px);}
.deal-media{height:clamp(170px, 16vw, 225px);}

/* Grids size to available space rather than a hard column count, so cards
   never end up narrow with a stranded image in the middle. */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));gap:22px;}
.deals-grid{grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));}

/* Shop page keeps its own column rules; let them win where set inline */
@media (min-width:1400px){
  .prod-img{height:250px;}
  .deal-media{height:235px;}
}
@media (max-width:540px){
  .prod-img{height:200px;padding:12px;}
  .deal-media{height:190px;}
  .prod-grid,.deals-grid{grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));gap:14px;}
  .prod-slide{flex:0 0 240px;}
}

/* ============================================================
   HOMEPAGE VERTICAL RHYTHM
   ============================================================ */
/* The trust strip previously ran straight into the next section heading.
   A dedicated gap below it separates the two bands cleanly. */
.trust-strip{margin-bottom:0;}
.trust-strip + .section{padding-top:64px;}

@media (max-width:900px){
  .trust-strip .container-xl{grid-template-columns:repeat(2,1fr);}
  .trust-strip .item{border-bottom:1px solid var(--line);}
  .trust-strip .item:nth-child(2n){border-right:none;}
  .trust-strip .item:nth-last-child(-n+2){border-bottom:none;}
}
@media (max-width:768px){
  .hero-stats{gap:26px;padding-top:22px;}
  .trust-strip + .section{padding-top:44px;}
}
@media (max-width:540px){
  .trust-strip .container-xl{grid-template-columns:1fr;}
  .trust-strip .item{border-right:none;padding:20px 16px;}
  .trust-strip .item:last-child{border-bottom:none;}
  .hero-stats{gap:20px 28px;}
}

/* ============================================================
   SUPPLIER STOREFRONT HEADER
   ============================================================ */
/* Verified chip: aligned to the name's optical centre rather than its box */
.store-id h1 .badge-verified,
.store-id h1 .verified-chip{position:relative;top:1px;}

/* Stat bar gets clearer separation from the identity row above it */
.store-statbar{margin-top:2px;}
.store-statbar div{padding:18px 28px 18px 0;}

@media (max-width:900px){
  .store-head-row{gap:20px;}
  .store-cta{width:100%;padding-bottom:0;}
}
@media (max-width:640px){
  .store-head-row{margin-top:-30px;padding-bottom:22px;}
  .store-id{padding-top:12px;min-width:0;}
  .store-id h1{font-size:22px;gap:9px;}
  .store-cta{width:100%;}
  .store-cta > *{flex:1;text-align:center;}
}

/* ============================================================
   SELL ON — vendor acquisition page
   ============================================================ */
.sv-hero{position:relative;overflow:hidden;padding:76px 0 70px;color:#fff;text-align:center;
  background:radial-gradient(ellipse 52% 72% at 18% 16%, rgba(77,67,173,.5), transparent 62%),
    radial-gradient(ellipse 46% 64% at 84% 28%, rgba(242,136,75,.24), transparent 64%),
    linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);}
.sv-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000 15%,transparent 76%);}
.sv-hero-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;}
.sv-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.14);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.32);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:22px;}
.sv-hero h1{font-size:46px;margin:0 0 18px;font-weight:800;letter-spacing:-.03em;line-height:1.06;}
.sv-hero h1 .accent{background:linear-gradient(100deg,var(--orange-light),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.sv-hero-inner > p{font-size:15.5px;color:#a9bbd0;margin:0 auto 30px;line-height:1.8;max-width:620px;}
.sv-hero-actions{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;margin-bottom:34px;}
.sv-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 30px;
  border-radius:10px;font-size:14.5px;font-weight:600;transition:transform .16s,background .16s,box-shadow .16s;}
.sv-btn.is-solid{background:var(--orange);color:#fff;}
.sv-btn.is-solid:hover{background:#dd7038;color:#fff;transform:translateY(-2px);
  box-shadow:0 14px 26px -10px rgba(242,136,75,.6);}
.sv-btn.is-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);color:#fff;}
.sv-btn.is-ghost:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-2px);}
.sv-hero-points{list-style:none;padding:26px 0 0;margin:0;display:flex;gap:28px;flex-wrap:wrap;
  justify-content:center;border-top:1px solid rgba(255,255,255,.1);}
.sv-hero-points li{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#c3d1e2;}
.sv-hero-points svg{width:15px;height:15px;color:var(--orange);}

.sv-sub{font-size:14.5px;color:var(--muted);margin:12px auto 0;max-width:600px;line-height:1.75;}

/* steps */
.sv-steps{list-style:none;padding:0;margin:44px 0 0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:22px;position:relative;}
.sv-steps::before{content:"";position:absolute;top:36px;left:16%;right:16%;height:2px;
  background:linear-gradient(90deg,var(--navy),var(--orange));opacity:.16;}
.sv-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:30px 26px;text-align:center;transition:transform .18s,box-shadow .18s,border-color .18s;}
.sv-step:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 22px 44px -18px rgba(42,36,94,.24);}
.sv-step-icon{position:relative;z-index:2;width:58px;height:58px;border-radius:17px;display:grid;
  place-items:center;margin:0 auto 16px;color:#39327E;background:#EFEEF8;
  box-shadow:inset 0 0 0 1px #D9D6EE;transition:transform .2s;}
.sv-step:hover .sv-step-icon{transform:translateY(-2px) scale(1.05);}
.sv-step-icon svg{display:block;width:25px;height:25px;}
.sv-step-n{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:8px;}
.sv-step h3{font-size:17px;color:var(--navy);margin:0 0 7px;font-weight:700;}
.sv-step p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.7;}

/* join band */
.sv-band{background:linear-gradient(150deg,var(--navy-deep),var(--navy));color:#fff;
  padding:44px 0;position:relative;overflow:hidden;}
.sv-band::after{content:"";position:absolute;top:-100px;right:-60px;width:340px;height:340px;
  border-radius:50%;background:radial-gradient(circle,rgba(242,136,75,.16),transparent 68%);}
.sv-band-inner{position:relative;z-index:2;display:flex;justify-content:space-between;
  align-items:center;gap:26px;flex-wrap:wrap;}
.sv-band h2{font-size:26px;margin:0 0 8px;font-weight:700;letter-spacing:-.02em;}
.sv-band p{font-size:14.5px;color:#a9bbd0;margin:0;}

/* fees */
.sv-fees{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;}
.sv-fee{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 28px;
  text-align:center;position:relative;overflow:hidden;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.sv-fee::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--navy),var(--orange));transform:scaleX(0);
  transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.3,1);}
.sv-fee:hover{transform:translateY(-5px);border-color:#d5dae1;
  box-shadow:0 24px 48px -18px rgba(42,36,94,.26);}
.sv-fee:hover::before,.sv-fee.is-featured::before{transform:scaleX(1);}
.sv-fee.is-featured{border-color:#F5C9A8;box-shadow:0 18px 40px -20px rgba(242,136,75,.4);}
.sv-fee b{display:block;font-family:var(--font-mono);font-size:44px;font-weight:700;
  color:var(--navy);line-height:1;letter-spacing:-.03em;margin-bottom:14px;
  background:linear-gradient(120deg,var(--navy),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.sv-fee h3{font-size:16.5px;color:var(--navy);margin:0 0 10px;font-weight:700;}
.sv-fee h3 sup{color:var(--orange);}
.sv-fee p{font-size:13.5px;color:#55637a;line-height:1.75;margin:0;}
.sv-fee-note{font-size:12.5px;color:var(--muted);text-align:center;margin:22px auto 0;
  max-width:640px;line-height:1.75;}
.sv-fee-note sup{color:var(--orange);font-weight:700;}

/* trending categories */
.sv-cats-band{background:var(--paper);}
.sv-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;}
.sv-cat{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;
  border:1px solid var(--line);border-radius:13px;padding:18px 22px;font-size:14.5px;
  font-weight:600;color:var(--navy);transition:.18s;}
.sv-cat svg{width:17px;height:17px;color:var(--orange);flex-shrink:0;transition:transform .18s;}
.sv-cat:hover{border-color:var(--orange);transform:translateX(4px);
  box-shadow:0 12px 26px -16px rgba(42,36,94,.32);}
.sv-cat:hover svg{transform:translateX(3px);}

/* security trio */
.sv-secure{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;}
.sv-sec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.sv-sec:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 22px 44px -18px rgba(42,36,94,.24);}
.sv-sec-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  margin-bottom:18px;}
.sv-sec-icon svg{display:block;width:24px;height:24px;}
.sv-sec-icon.is-navy{color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.sv-sec-icon.is-green{color:#1A7A3F;background:#EAF7EF;box-shadow:inset 0 0 0 1px #C6E7D3;}
.sv-sec-icon.is-orange{color:#D9702F;background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;}
.sv-sec h3{font-size:17px;color:var(--navy);margin:0 0 9px;font-weight:700;}
.sv-sec p{font-size:13.8px;color:#55637a;line-height:1.75;margin:0;}

/* open shop cta */
.sv-open{background:linear-gradient(150deg,var(--navy-deep),var(--navy));border-radius:20px;
  padding:40px 44px;display:flex;justify-content:space-between;align-items:center;gap:26px;
  flex-wrap:wrap;color:#fff;position:relative;overflow:hidden;}
.sv-open::after{content:"";position:absolute;bottom:-120px;left:-40px;width:320px;height:320px;
  border-radius:50%;background:radial-gradient(circle,rgba(242,136,75,.15),transparent 68%);}
.sv-open > *{position:relative;z-index:2;}
.sv-open h2{font-size:27px;margin:8px 0 0;font-weight:700;letter-spacing:-.02em;
  line-height:1.3;max-width:520px;}

/* faq */
.sv-faq{margin-top:38px;display:grid;gap:11px;}
.sv-faq-item{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;
  transition:border-color .18s,box-shadow .18s;}
.sv-faq-item.on{border-color:var(--orange);box-shadow:0 14px 30px -18px rgba(42,36,94,.28);}
.sv-faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;
  gap:16px;background:none;border:none;padding:20px 24px;font-family:inherit;font-size:15px;
  font-weight:700;color:var(--navy);text-align:left;cursor:pointer;line-height:1.4;}
.sv-faq-item svg{width:18px;height:18px;color:var(--orange);flex-shrink:0;
  transition:transform .25s cubic-bezier(.2,.7,.3,1);}
.sv-faq-item.on svg{transform:rotate(45deg);}
.sv-faq-body{padding:0 24px 22px;}
.sv-faq-body p{font-size:14px;color:#55637a;line-height:1.85;margin:0;}
.sv-faq-more{text-align:center;font-size:13.5px;color:var(--muted);margin-top:26px;}
.sv-faq-more a{color:var(--orange);font-weight:600;}

@media (max-width:900px){
  .sv-steps,.sv-fees,.sv-cats,.sv-secure{grid-template-columns:1fr;}
  .sv-steps::before{display:none;}
  .sv-hero h1{font-size:34px;}
  .sv-band-inner,.sv-open{flex-direction:column;align-items:flex-start;}
  .sv-open h2{font-size:23px;}
}
@media (max-width:540px){
  .sv-hero{padding:52px 0 50px;}
  .sv-hero h1{font-size:27px;}
  .sv-hero-actions{flex-direction:column;width:100%;}
  .sv-hero-points{gap:14px;flex-direction:column;align-items:flex-start;text-align:left;}
  .sv-open{padding:28px 24px;}
  .sv-fee{padding:28px 22px;}
  .sv-fee b{font-size:36px;}
  .sv-faq-item button{padding:17px 18px;font-size:14.2px;}
  .sv-faq-body{padding:0 18px 18px;}
}

/* FAQ reveal without Alpine's collapse plugin */
.faq-enter{transition:opacity .22s ease, transform .22s ease;}
.faq-enter-start{opacity:0;transform:translateY(-6px);}

/* ============================================================
   SELL ON — vendor landing
   ============================================================ */
.sv-hero{position:relative;overflow:hidden;padding:76px 0 70px;color:#fff;text-align:center;
  background:radial-gradient(ellipse 52% 70% at 18% 16%, rgba(77,67,173,.5), transparent 62%),
    radial-gradient(ellipse 48% 66% at 84% 26%, rgba(242,136,75,.22), transparent 64%),
    linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);}
.sv-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000 14%,transparent 76%);}
.sv-hero-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;}
.sv-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.14);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.32);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:22px;}
.sv-hero h1{font-size:48px;margin:0 0 18px;font-weight:800;letter-spacing:-.03em;line-height:1.05;}
.sv-hero h1 .accent{background:linear-gradient(100deg,var(--orange-light),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.sv-hero-inner > p{font-size:16px;color:#a9bbd0;margin:0 auto 32px;line-height:1.8;max-width:610px;}
.sv-hero-actions{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;margin-bottom:34px;}
.sv-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 30px;
  border-radius:10px;font-size:14.5px;font-weight:600;transition:transform .16s,background .16s,box-shadow .16s;}
.sv-btn.is-solid{background:var(--orange);color:#fff;}
.sv-btn.is-solid:hover{background:#dd7038;color:#fff;transform:translateY(-2px);
  box-shadow:0 14px 26px -10px rgba(242,136,75,.6);}
.sv-btn.is-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);color:#fff;}
.sv-btn.is-ghost:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-2px);}
.sv-hero-points{list-style:none;padding:0;margin:0;display:flex;gap:26px;flex-wrap:wrap;
  justify-content:center;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);}
.sv-hero-points li{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#c3d1e2;}
.sv-hero-points svg{width:15px;height:15px;color:var(--orange);flex-shrink:0;}

.sv-sub{font-size:14.5px;color:var(--muted);margin:12px auto 0;max-width:620px;line-height:1.75;}

/* steps */
.sv-steps{list-style:none;padding:0;margin:44px 0 0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:22px;position:relative;}
.sv-steps::before{content:"";position:absolute;top:38px;left:17%;right:17%;height:2px;
  background:linear-gradient(90deg,var(--navy),var(--orange));opacity:.16;}
.sv-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:30px 26px;text-align:center;transition:transform .18s,box-shadow .18s,border-color .18s;}
.sv-step:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 22px 44px -18px rgba(42,36,94,.24);}
.sv-step-num{position:absolute;top:-13px;left:50%;transform:translateX(-50%);z-index:2;
  width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;
  place-items:center;font-family:var(--font-mono);font-size:13px;font-weight:800;
  border:3px solid #fff;}
.sv-step-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;
  margin:12px auto 18px;color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;
  transition:transform .22s;}
.sv-step-icon svg{display:block;width:25px;height:25px;}
.sv-step:hover .sv-step-icon{transform:translateY(-2px) scale(1.05);}
.sv-step h3{font-size:17px;color:var(--navy);margin:0 0 8px;font-weight:700;}
.sv-step p{font-size:13.8px;color:#55637a;line-height:1.7;margin:0;}

/* join band */
.sv-band{background:linear-gradient(150deg,var(--navy-deep),var(--navy));color:#fff;
  position:relative;overflow:hidden;}
.sv-band::after{content:"";position:absolute;top:-120px;right:-70px;width:360px;height:360px;
  border-radius:50%;background:radial-gradient(circle,rgba(242,136,75,.16),transparent 68%);}
.sv-band-inner{position:relative;z-index:2;display:flex;align-items:center;
  justify-content:space-between;gap:26px;padding:38px 0;flex-wrap:wrap;}
.sv-band-eyebrow{display:block;font-size:20px;font-weight:800;letter-spacing:-.01em;
  margin-bottom:8px;}
.sv-band-inner p{font-size:14px;color:#a9bbd0;margin:0;line-height:1.7;}

/* pricing */
.sv-pricing{background:var(--paper);}
.sv-fees{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sv-fee{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 28px;
  text-align:center;position:relative;overflow:hidden;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.sv-fee::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--navy),var(--orange));transform:scaleX(0);
  transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.sv-fee:hover{transform:translateY(-5px);border-color:#d5dae1;
  box-shadow:0 24px 48px -18px rgba(42,36,94,.26);}
.sv-fee:hover::before{transform:scaleX(1);}
.sv-fee b{display:block;font-family:var(--font-mono);font-size:46px;font-weight:700;
  letter-spacing:-.03em;line-height:1;margin-bottom:14px;
  background:linear-gradient(120deg,var(--navy),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.sv-fee.is-free b{background:linear-gradient(120deg,#1A7A3F,#3FAE6B);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.sv-fee h3{font-size:16px;color:var(--navy);margin:0 0 10px;font-weight:700;}
.sv-fee h3 sup{color:var(--orange);}
.sv-fee p{font-size:13.5px;color:#55637a;line-height:1.75;margin:0;}
.sv-fee-note{text-align:center;font-size:12.5px;color:var(--muted);margin-top:22px;}
.sv-fee-note sup{color:var(--orange);font-weight:700;}

/* trending categories */
.sv-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.sv-cat{display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px 22px;
  font-size:14.5px;font-weight:600;color:var(--navy);
  transition:transform .16s,border-color .16s,box-shadow .16s;}
.sv-cat:hover{transform:translateX(4px);border-color:var(--orange);color:var(--navy);
  box-shadow:0 14px 30px -16px rgba(42,36,94,.28);}
.sv-cat svg{width:18px;height:18px;color:var(--line);flex-shrink:0;transition:color .16s,transform .16s;}
.sv-cat:hover svg{color:var(--orange);transform:translateX(3px);}

/* open shop cta */
.sv-open{display:flex;align-items:center;justify-content:space-between;gap:26px;
  background:linear-gradient(150deg,#FFF4EC,#FFEBDC);border:1px solid #FBDCC6;
  border-radius:18px;padding:38px 40px;flex-wrap:wrap;}
.sv-open-copy h2{font-size:27px;color:var(--navy);margin:0 0 8px;font-weight:700;
  letter-spacing:-.02em;}
.sv-open-copy p{font-size:14.5px;color:#8A5A10;margin:0;line-height:1.7;}

/* trust */
.sv-trust-band{background:var(--paper);}
.sv-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sv-trust-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.sv-trust-card:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 22px 44px -18px rgba(42,36,94,.24);}
.sv-trust-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  margin-bottom:18px;}
.sv-trust-icon svg{display:block;width:24px;height:24px;}
.sv-trust-icon.is-navy{color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.sv-trust-icon.is-green{color:#1A7A3F;background:#EAF7EF;box-shadow:inset 0 0 0 1px #C6E7D3;}
.sv-trust-icon.is-orange{color:#D9702F;background:#FFF3EA;box-shadow:inset 0 0 0 1px #FBDCC6;}
.sv-trust-card h3{font-size:16.5px;color:var(--navy);margin:0 0 10px;font-weight:700;}
.sv-trust-card p{font-size:13.8px;color:#55637a;line-height:1.75;margin:0;}

/* faq */
.sv-faq-wrap{display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:start;}
.sv-faq-head h2{font-size:31px;color:var(--navy);margin:8px 0 14px;font-weight:700;
  line-height:1.2;letter-spacing:-.02em;}
.sv-faq-head p{font-size:14.5px;color:var(--muted);line-height:1.75;margin:0 0 16px;}
.sv-faq-link{font-size:14px;font-weight:700;color:var(--orange);}
.sv-faq-link:hover{text-decoration:underline;}

.sv-faq{display:grid;gap:11px;}
.sv-faq-item{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;
  transition:border-color .16s,box-shadow .16s;}
.sv-faq-item.is-open{border-color:var(--orange);box-shadow:0 14px 30px -18px rgba(42,36,94,.26);}
.sv-faq-item button{width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:16px;background:none;border:none;padding:19px 22px;cursor:pointer;text-align:left;
  font-family:inherit;font-size:15px;font-weight:600;color:var(--navy);line-height:1.45;}
.sv-faq-item svg{width:17px;height:17px;color:var(--muted);flex-shrink:0;
  transition:transform .22s,color .22s;}
.sv-faq-item.is-open svg{transform:rotate(180deg);color:var(--orange);}
.sv-faq-body{padding:0 22px 20px;}
.sv-faq-body p{font-size:14px;color:#55637a;line-height:1.85;margin:0;}

@media (max-width:1024px){
  .sv-hero h1{font-size:38px;}
  .sv-faq-wrap{grid-template-columns:1fr;gap:26px;}
}
@media (max-width:860px){
  .sv-steps{grid-template-columns:1fr;gap:32px;}
  .sv-steps::before{display:none;}
  .sv-fees,.sv-trust{grid-template-columns:1fr;}
  .sv-cats{grid-template-columns:1fr 1fr;}
  .sv-band-inner,.sv-open{flex-direction:column;align-items:flex-start;text-align:left;}
}
@media (max-width:540px){
  .sv-hero{padding:52px 0 50px;}
  .sv-hero h1{font-size:30px;}
  .sv-hero-actions{flex-direction:column;}
  .sv-hero-points{flex-direction:column;gap:12px;align-items:flex-start;text-align:left;}
  .sv-cats{grid-template-columns:1fr;}
  .sv-open{padding:26px 22px;}
  .sv-open-copy h2{font-size:22px;}
  .sv-fee b{font-size:38px;}
  .sv-faq-item button{font-size:14px;padding:16px 18px;}
}

/* ============================================================
   CURRENCY SWITCHER
   ============================================================ */
.cur-switch{position:relative;flex-shrink:0;}
.cur-trigger{display:inline-flex;align-items:center;gap:7px;background:none;border:none;
  padding:8px 10px;border-radius:9px;cursor:pointer;font-family:inherit;font-size:13px;
  font-weight:600;color:var(--navy);transition:background .15s;}
.cur-trigger:hover{background:var(--paper);}
.cur-code{font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;}
.cur-sym{color:var(--orange);font-weight:700;}
.cur-trigger svg{width:13px;height:13px;color:var(--muted);transition:transform .2s;}
.cur-trigger[aria-expanded="true"] svg{transform:rotate(180deg);}

.cur-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:216px;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;
  box-shadow:0 22px 44px -18px rgba(19,16,48,.32);}
.cur-menu form{margin:0;}
.cur-menu button{width:100%;display:flex;align-items:center;gap:11px;background:none;
  border:none;padding:10px 11px;border-radius:9px;cursor:pointer;font-family:inherit;
  text-align:left;transition:background .14s;}
.cur-menu button:hover{background:var(--paper);}
.cur-menu button.on{background:#FFF4EC;}
.cur-menu-sym{width:28px;height:28px;border-radius:8px;background:var(--paper);
  display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--navy);
  flex-shrink:0;}
.cur-menu button.on .cur-menu-sym{background:var(--orange);color:#fff;}
.cur-menu-name{flex:1;min-width:0;font-size:12.5px;color:var(--muted);line-height:1.3;}
.cur-menu-name b{display:block;font-size:13px;color:var(--navy);font-weight:700;
  font-family:var(--font-mono);letter-spacing:.02em;margin-bottom:2px;}
.cur-menu button svg{width:14px;height:14px;color:var(--orange);flex-shrink:0;}

@media (max-width:900px){
  .cur-trigger{padding:8px;}
  .cur-code{display:none;}
  .cur-sym{font-size:15px;}
}

/* ============================================================
   LANGUAGE + CURRENCY SWITCHER
   ============================================================ */
.topbar-trust{font-size:11.5px;}
.topbar-right{display:flex;align-items:center;gap:4px;}

.ls{position:relative;}
.ls-trigger{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:5px 12px;cursor:pointer;
  font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;
  color:#c3d1e2;transition:background .16s,border-color .16s,color .16s;margin-left:6px;}
.ls-trigger:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff;}
.ls-trigger[aria-expanded="true"]{background:rgba(242,136,75,.18);
  border-color:rgba(242,136,75,.42);color:#fff;}
.ls-globe{width:13px;height:13px;opacity:.85;}
.ls-dot{opacity:.45;}
.ls-caret{width:11px;height:11px;opacity:.7;transition:transform .2s;}
.ls-trigger[aria-expanded="true"] .ls-caret{transform:rotate(180deg);}

.ls-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:200;width:266px;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;
  box-shadow:0 26px 54px -20px rgba(19,16,48,.4);}
.ls-arrow{position:absolute;top:-6px;right:20px;width:11px;height:11px;background:#fff;
  border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg);}

.ls-group + .ls-group{margin-top:0;}
.ls-label{display:block;font-family:var(--font-mono);font-size:9.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
.ls-opts{display:grid;gap:4px;}
.ls-opts.is-grid{grid-template-columns:1fr 1fr;gap:6px;}
.ls-opts form{margin:0;}

.ls-opt{width:100%;display:flex;align-items:center;gap:11px;background:none;border:none;
  padding:9px 10px;border-radius:9px;cursor:pointer;font-family:inherit;text-align:left;
  transition:background .14s;}
.ls-opt:hover{background:var(--paper);}
.ls-opt.on{background:#FFF4EC;}
.ls-flag{font-size:19px;line-height:1;flex-shrink:0;}
.ls-opt-text{flex:1;min-width:0;line-height:1.25;}
.ls-opt-text b{display:block;font-size:13.5px;color:var(--navy);font-weight:600;}
.ls-opt-text em{font-style:normal;font-family:var(--font-mono);font-size:10px;
  color:var(--muted);letter-spacing:.05em;}
.ls-opt svg{width:14px;height:14px;color:var(--orange);flex-shrink:0;}

.ls-divider{height:1px;background:var(--line);margin:12px -14px;}

.ls-cur{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;
  background:var(--paper);border:1px solid transparent;border-radius:9px;padding:10px 8px;
  cursor:pointer;font-family:inherit;transition:.14s;}
.ls-cur:hover{background:#fff;border-color:var(--line);}
.ls-cur.on{background:var(--navy);border-color:var(--navy);}
.ls-cur-sym{font-size:14px;font-weight:700;color:var(--orange);line-height:1;}
.ls-cur-code{font-family:var(--font-mono);font-size:11.5px;font-weight:700;
  color:var(--navy);letter-spacing:.04em;}
.ls-cur.on .ls-cur-sym{color:var(--orange-light);}
.ls-cur.on .ls-cur-code{color:#fff;}

@media (max-width:768px){
  .topbar-trust{display:none;}
  .topbar-right{width:100%;justify-content:flex-end;}
  .ls-panel{width:240px;}
}

/* ============================================================
   BLOG
   ============================================================ */
.bl-hero{position:relative;overflow:hidden;padding:60px 0 56px;color:#fff;text-align:center;
  background:radial-gradient(ellipse 52% 70% at 18% 16%, rgba(77,67,173,.5), transparent 62%),
    radial-gradient(ellipse 48% 66% at 84% 26%, rgba(242,136,75,.2), transparent 64%),
    linear-gradient(158deg,#2F2869 0%,var(--navy-deep) 52%,#171436 100%);}
.bl-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000 14%,transparent 76%);}
.bl-hero-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.bl-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(242,136,75,.14);
  color:var(--orange-light);border:1px solid rgba(242,136,75,.32);padding:6px 15px;border-radius:30px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:18px;}
.bl-hero h1{font-size:42px;margin:0 0 14px;font-weight:800;letter-spacing:-.03em;line-height:1.08;}
.bl-hero h1 .accent{background:linear-gradient(100deg,var(--orange-light),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.bl-hero-inner > p{font-size:15px;color:#a9bbd0;margin:0 auto 28px;line-height:1.75;max-width:520px;}

.bl-search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;
  padding:6px 6px 6px 16px;max-width:480px;margin:0 auto;
  box-shadow:0 18px 40px -20px rgba(19,16,48,.5);}
.bl-search svg{width:18px;height:18px;color:var(--muted);flex-shrink:0;}
.bl-search input{flex:1;min-width:0;border:none;outline:none;font-family:inherit;font-size:14px;
  padding:10px 0;color:var(--ink);}
.bl-search button{background:var(--orange);border:none;color:#fff;padding:11px 22px;
  border-radius:9px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;
  transition:background .15s;}
.bl-search button:hover{background:#dd7038;}

/* category pills */
.bl-cats{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px;}
.bl-cats a{display:inline-flex;align-items:center;gap:7px;background:#fff;
  border:1px solid var(--line);border-radius:24px;padding:9px 17px;font-size:13.2px;
  font-weight:600;color:var(--navy);transition:.16s;}
.bl-cats a:hover{border-color:var(--orange);color:var(--orange);}
.bl-cats a.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.bl-cats a span{font-family:var(--font-mono);font-size:10.5px;opacity:.6;}
.bl-result-note{font-size:13.5px;color:var(--muted);margin-bottom:22px;}
.bl-result-note a{color:var(--orange);font-weight:600;}

/* featured */
.bl-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:0;background:#fff;
  border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:34px;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.bl-feature:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 28px 56px -22px rgba(42,36,94,.28);}
.bl-feature-media{position:relative;min-height:320px;background:var(--paper);overflow:hidden;}
.bl-feature-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.bl-feature-tag{position:absolute;top:16px;left:16px;z-index:2;background:var(--orange);
  color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding:6px 13px;border-radius:20px;}
.bl-feature-body{padding:36px 38px;display:flex;flex-direction:column;justify-content:center;}
.bl-feature-body h2{font-size:27px;color:var(--navy);margin:12px 0 12px;font-weight:700;
  line-height:1.28;letter-spacing:-.02em;}
.bl-feature-body p{font-size:14.5px;color:#55637a;line-height:1.8;margin:0 0 16px;}

.bl-cat-chip{display:inline-block;background:#EFEEF8;color:#39327E;font-family:var(--font-mono);
  font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  padding:5px 11px;border-radius:20px;}

.bl-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;
  color:var(--muted);font-family:var(--font-mono);}
.bl-dot{opacity:.5;}
.bl-readmore{margin-top:18px;font-size:14px;font-weight:700;color:var(--orange);}

/* grid */
.bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;}
.bl-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;}
.bl-card:hover{transform:translateY(-4px);border-color:#d5dae1;
  box-shadow:0 24px 48px -20px rgba(42,36,94,.26);}
.bl-card-media{display:block;position:relative;height:190px;background:var(--paper);
  overflow:hidden;}
.bl-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.bl-card:hover .bl-card-media img{transform:scale(1.05);}
.bl-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(135deg,#EDF0F4 0 3px,#F6F8FA 3px 9px);color:#c2cad4;}
.bl-noimg svg{width:36px;height:36px;}
.bl-card-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.bl-card-body h3{font-size:17px;margin:11px 0 9px;font-weight:700;line-height:1.4;}
.bl-card-body h3 a{color:var(--navy);transition:color .15s;}
.bl-card-body h3 a:hover{color:var(--orange);}
.bl-card-body p{font-size:13.5px;color:#55637a;line-height:1.7;margin:0 0 16px;}
.bl-card-body .bl-meta{margin-top:auto;}

.bl-empty{text-align:center;padding:60px 20px;background:#fff;border:1px solid var(--line);
  border-radius:16px;}
.bl-empty svg{width:46px;height:46px;color:#c2cad4;margin-bottom:16px;}
.bl-empty h3{font-size:19px;color:var(--navy);margin:0 0 8px;font-weight:700;}
.bl-empty p{font-size:14px;color:var(--muted);margin:0 0 20px;line-height:1.7;}

/* ---------- article ---------- */
.bp-head{background:linear-gradient(165deg,#2F2869,var(--navy-deep));color:#fff;
  padding:44px 0 40px;}
.bp-head-inner{max-width:760px;margin:0 auto;text-align:center;}
.bp-crumb{font-size:12px;color:#8fa0b6;font-family:var(--font-mono);margin-bottom:18px;}
.bp-crumb a{color:#8fa0b6;}
.bp-crumb a:hover{color:#fff;}
.bp-cat{display:inline-block;background:rgba(242,136,75,.16);color:var(--orange-light);
  border:1px solid rgba(242,136,75,.34);font-family:var(--font-mono);font-size:10px;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;
  border-radius:20px;margin-bottom:18px;}
.bp-head h1{font-size:36px;margin:0 0 16px;font-weight:800;letter-spacing:-.025em;line-height:1.2;}
.bp-lede{font-size:16px;color:#a9bbd0;margin:0 auto 22px;line-height:1.75;max-width:620px;}
.bp-meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  font-size:12.5px;color:#8fa0b6;font-family:var(--font-mono);}
.bp-author{display:inline-flex;align-items:center;gap:8px;color:#c3d1e2;}
.bp-avatar{width:24px;height:24px;border-radius:50%;background:var(--orange);color:#fff;
  display:grid;place-items:center;font-size:11px;font-weight:800;}
.bp-dot{opacity:.5;}

.bp-cover{margin:-28px auto 0;max-width:900px;border-radius:16px;overflow:hidden;
  position:relative;z-index:3;box-shadow:0 26px 54px -22px rgba(19,16,48,.42);}
.bp-cover img{width:100%;display:block;}

.bp-layout{display:grid;grid-template-columns:1fr 240px;gap:46px;align-items:start;
  max-width:960px;margin:0 auto;padding:44px 0 20px;}
.bp-body{font-size:16px;color:#33415a;line-height:1.95;}
.bp-body p{margin-bottom:20px;}

.bp-side{position:sticky;top:96px;}
.bp-share{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;
  margin-bottom:16px;}
.bp-share h4,.bp-cta h4{font-size:10.5px;font-family:var(--font-mono);letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:700;}
.bp-share-links{display:flex;gap:8px;}
.bp-share-links a,.bp-share-links button{width:36px;height:36px;border-radius:10px;
  background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;
  color:var(--navy);cursor:pointer;transition:.15s;}
.bp-share-links a:hover,.bp-share-links button:hover{background:var(--navy);
  border-color:var(--navy);color:#fff;}
.bp-share-links button.copied{background:#1A7A3F;border-color:#1A7A3F;color:#fff;}
.bp-share-links svg{width:15px;height:15px;}

.bp-cta{background:linear-gradient(150deg,var(--navy-deep),var(--navy));border-radius:14px;
  padding:20px;color:#fff;}
.bp-cta h4{color:#8fa0b6;}
.bp-cta p{font-size:13px;color:#a9bbd0;line-height:1.7;margin:0 0 14px;}
.bp-cta .btn-orange{display:block;text-align:center;font-size:13.5px;padding:11px;}

.bp-related{background:var(--paper);margin-top:30px;}

@media (max-width:900px){
  .bl-feature{grid-template-columns:1fr;}
  .bl-feature-media{min-height:230px;}
  .bl-feature-body{padding:26px 24px;}
  .bl-feature-body h2{font-size:22px;}
  .bp-layout{grid-template-columns:1fr;gap:26px;padding-top:34px;}
  .bp-side{position:static;}
  .bp-share-links{justify-content:flex-start;}
}
@media (max-width:600px){
  .bl-hero{padding:44px 0 42px;}
  .bl-hero h1{font-size:29px;}
  .bl-search{flex-wrap:wrap;padding:8px;}
  .bl-search input{width:100%;padding:10px 8px;}
  .bl-search button{width:100%;}
  .bp-head h1{font-size:25px;}
  .bp-body{font-size:15px;}
  .bp-cover{margin-top:-18px;}
}

/* ============================================================
   PASSWORD RESET PAGES
   ============================================================ */
.pw-wrap{max-width:440px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:40px 38px;text-align:center;
  box-shadow:0 24px 52px -26px rgba(19,16,48,.22);}
.pw-icon{width:60px;height:60px;border-radius:18px;margin:0 auto 20px;display:grid;
  place-items:center;color:#39327E;background:#EFEEF8;box-shadow:inset 0 0 0 1px #D9D6EE;}
.pw-icon svg{display:block;width:27px;height:27px;}
.pw-wrap h1{font-size:24px;color:var(--navy);margin:0 0 10px;font-weight:700;
  letter-spacing:-.02em;}
.pw-lede{font-size:14px;color:var(--muted);line-height:1.75;margin:0 0 26px;}
.pw-form{text-align:left;}
.pw-form .dash-form-group label{font-size:12.5px;font-weight:600;color:var(--navy);
  display:block;margin-bottom:7px;}
.pw-form input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:9px;
  font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;}
.pw-form input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(42,36,94,.09);}
.pw-submit{width:100%;padding:13px;font-size:15px;margin-top:6px;}
.pw-back{font-size:13.5px;color:var(--muted);margin:22px 0 0;}
.pw-back a{color:var(--orange);font-weight:600;}

.pw-alert{display:flex;gap:11px;align-items:flex-start;border-radius:11px;padding:15px 17px;
  margin-bottom:22px;text-align:left;font-size:13.5px;line-height:1.65;}
.pw-alert svg{width:17px;height:17px;flex-shrink:0;margin-top:2px;}
.pw-alert.is-ok{background:#EAF7EF;border:1px solid #C6E7D3;color:#146334;font-weight:600;}
.pw-alert.is-error{background:#FDECEA;border:1px solid #F5C2C0;color:#A12622;}

@media (max-width:520px){
  .pw-wrap{padding:30px 24px;}
  .pw-wrap h1{font-size:21px;}
}

/* ============================================================
   MOBILE HEADER — complete redesign (≤768px only)
   Desktop header is untouched.
   ============================================================ */
@media (max-width:768px){

  /* ── Row 1: logo + action icons ── */
  .header .container-xl{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    gap:0;
    padding:0 16px;
    align-items:center;
  }

  /* Logo — row 1 col 1 */
  .header .logo{
    grid-column:1;
    grid-row:1;
    padding:12px 0;
    font-size:20px;
  }

  /* Icon cluster — row 1 col 2 */
  .header .header-icons{
    grid-column:2;
    grid-row:1;
    display:flex;
    align-items:center;
    gap:4px;
    padding:8px 0;
  }

  /* Search bar — row 2, full width */
  .header .search-bar{
    grid-column:1 / -1;
    grid-row:2;
    display:flex !important;
    width:100%;
    margin:0 0 12px;
    border-radius:10px;
    overflow:hidden;
    border:1.5px solid var(--line);
    background:#fff;
    box-shadow:0 2px 8px -4px rgba(19,16,48,.12);
  }

  /* Hide category dropdown on mobile — wastes space */
  .header .search-cat{display:none;}

  .header .search-field{
    flex:1;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 12px;
    min-width:0;
  }
  .header .search-field svg{
    width:16px;height:16px;
    color:var(--muted);flex-shrink:0;
  }
  .header .search-field input{
    flex:1;min-width:0;border:none;outline:none;
    font-size:14px;font-family:inherit;
    padding:11px 0;background:transparent;
    color:var(--ink);
  }
  .header .search-bar button{
    background:var(--orange);border:none;color:#fff;
    padding:11px 16px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .15s;flex-shrink:0;
    font-size:0; /* hide text, keep icon */
  }
  .header .search-bar button:hover{background:#dd7038;}
  .header .search-bar button svg{width:17px;height:17px;display:block;}

  /* Hide the separate mobile-search icon — we now show the full bar */
  .mobile-search-icon{display:none !important;}

  /* ── Icon buttons: compact pill style ── */
  .header .icon-cluster{
    display:flex;align-items:center;gap:2px;
  }
  .header .icon-btn{
    width:38px;height:38px;padding:0;
    display:flex;align-items:center;justify-content:center;
    border-radius:10px;font-size:0;gap:0; /* icons only */
    color:var(--navy);transition:background .15s,color .15s;
  }
  .header .icon-btn:hover{background:var(--paper);color:var(--orange);}
  .header .icon-btn svg{width:21px;height:21px;}

  /* Badge position tweak for smaller buttons */
  .header .icon-badge{
    top:-4px;right:-4px;
    min-width:16px;height:16px;
    font-size:9px;padding:0 4px;
  }

  /* ── CTA button: compact ── */
  .header .header-cta{
    display:inline-flex;align-items:center;justify-content:center;
    padding:9px 14px;font-size:13px;font-weight:700;
    border-radius:10px;white-space:nowrap;
    background:var(--navy);color:#fff;border:none;
  }
  .header .header-cta svg{display:none;} /* hide dashboard icon */
  .header .header-cta-ghost{
    background:transparent;
    border:1.5px solid var(--line);
    color:var(--navy);
  }

  /* ── Notification panel: full-width on mobile ── */
  .notif-panel{
    width:calc(100vw - 32px);
    right:-80px;
  }

  /* ── Language/currency switcher ── */
  .ls-trigger{
    font-size:10px;padding:5px 9px;gap:4px;
  }
  .ls-panel{
    right:-10px;width:240px;
  }
}

/* Extra small — 390px and below */
@media (max-width:390px){
  .header .header-cta{padding:8px 10px;font-size:12px;}
  .header .logo{font-size:18px;}
  .header .icon-btn{width:34px;height:34px;}
  .header .icon-btn svg{width:19px;height:19px;}
}

/* ============================================================
   MOBILE HEADER  —  all rules scoped to small screens only,
   so the desktop header is completely unaffected.
   ============================================================ */

/* new mobile-only elements stay hidden on desktop */
.mob-burger,.mob-search,.mob-overlay,.mob-drawer{display:none;}

@media (max-width:900px){

  /* ---- single compact row: burger | logo | icons ---- */
  .header{padding:0;}
  .header > .container-xl{display:flex;align-items:center;gap:10px;
    padding-top:9px;padding-bottom:9px;flex-wrap:nowrap;}

  .mob-burger{display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;flex-shrink:0;background:none;border:none;padding:0;
    border-radius:9px;color:var(--navy);cursor:pointer;transition:background .15s;}
  .mob-burger:active{background:var(--paper);}
  .mob-burger svg{width:21px;height:21px;}

  .header .logo{font-size:19px;flex:1;min-width:0;gap:3px;}
  .header .logo-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

  /* Search, wishlist and alerts move into the drawer. Cart stays visible —
     a shopper who has just added an item needs to reach it in one tap, and
     burying it behind the menu hides the badge that says they have items. */
  .header .search-bar,
  .header .mob-search{display:none!important;}

  .header .icon-cluster{display:flex!important;gap:0;}
  .header .icon-cluster > *{display:none!important;}
  .header .icon-cluster > [data-cart-link]{display:inline-flex!important;}

  .header-icons{gap:4px;margin-left:auto;flex-shrink:0;}

  /* Compact square. font-size:0 hides the "Cart" text label, so the badge
     must set its own size explicitly or it inherits zero and vanishes. */
  .header .icon-cluster > [data-cart-link]{width:42px;height:42px;padding:0;
    align-items:center;justify-content:center;border-radius:10px;font-size:0;
    transition:background .15s;}
  .header .icon-cluster > [data-cart-link]:active{background:var(--paper);}

  .header .icon-cluster > [data-cart-link] .icon-badge-wrap{position:relative;
    display:inline-flex;align-items:center;justify-content:center;
    width:24px;height:24px;}

  .header .icon-cluster > [data-cart-link] svg{width:23px!important;
    height:23px!important;display:block;stroke-width:1.9;}

  .header .icon-cluster > [data-cart-link] .icon-badge{position:absolute;
    top:-7px;right:-9px;min-width:18px;height:18px;padding:0 5px;
    border-radius:10px;background:var(--orange);color:#fff;
    font-size:10.5px!important;font-weight:800;font-family:var(--font-mono);
    line-height:1;display:flex;align-items:center;justify-content:center;
    border:2px solid #fff;box-shadow:0 1px 3px rgba(19,16,48,.25);}

  /* compact sign-in / dashboard button */
  .header-cta{padding:8px 14px;font-size:13px;white-space:nowrap;}
  .header-cta svg{display:none;}
  .header-cta-ghost{padding:8px 12px;}

  /* ---- collapsible search ---- */
  .mob-search{display:block;border-top:1px solid var(--line);background:#fff;
    padding:10px 16px 12px;}
  .mob-search form{display:flex;align-items:center;gap:8px;background:var(--paper);
    border:1px solid var(--line);border-radius:10px;padding:4px 4px 4px 12px;}
  .mob-search svg{width:17px;height:17px;color:var(--muted);flex-shrink:0;}
  .mob-search input{flex:1;min-width:0;background:none;border:none;outline:none;
    font-family:inherit;font-size:14px;padding:9px 0;color:var(--ink);}
  .mob-search button{background:var(--orange);border:none;color:#fff;padding:9px 16px;
    border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;
    flex-shrink:0;}

  /* ---- the horizontal nav row moves into the drawer ---- */
  .navrow{display:none;}

  /* ---- drawer ---- */
  .mob-overlay{display:block;position:fixed;inset:0;z-index:998;
    background:rgba(19,16,48,.5);backdrop-filter:blur(2px);}

  .mob-drawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;
    z-index:999;width:min(84vw,320px);background:#fff;overflow-y:auto;
    box-shadow:0 0 60px rgba(19,16,48,.3);padding-bottom:28px;}

  .mob-drawer-head{display:flex;align-items:center;justify-content:space-between;
    padding:16px;border-bottom:1px solid var(--line);position:sticky;top:0;
    background:#fff;z-index:2;}
  .mob-drawer-head .logo{font-size:18px;}
  .mob-drawer-head button{width:34px;height:34px;background:var(--paper);border:none;
    border-radius:9px;display:grid;place-items:center;color:var(--navy);cursor:pointer;
    flex-shrink:0;}
  .mob-drawer-head button svg{width:17px;height:17px;}

  /* signed-in user card */
  .mob-user{display:flex;align-items:center;gap:12px;padding:15px 16px;
    border-bottom:1px solid var(--line);background:var(--paper);}
  .mob-avatar{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;
    display:grid;place-items:center;font-size:15px;font-weight:700;flex-shrink:0;}
  .mob-user-txt{min-width:0;line-height:1.3;}
  .mob-user-txt b{display:block;font-size:14px;color:var(--navy);font-weight:600;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mob-user-txt em{font-style:normal;font-size:11.5px;color:var(--orange);font-weight:600;}

  .mob-auth{display:flex;gap:9px;padding:15px 16px;border-bottom:1px solid var(--line);}
  .mob-btn{flex:1;text-align:center;padding:11px;border-radius:9px;font-size:13.5px;
    font-weight:600;}
  .mob-btn.is-solid{background:var(--orange);color:#fff;}
  .mob-btn.is-ghost{background:var(--paper);color:var(--navy);border:1px solid var(--line);}

  /* nav groups */
  .mob-nav{padding:14px 10px 6px;border-bottom:1px solid var(--line);}
  .mob-label{display:block;font-family:var(--font-mono);font-size:9.5px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 8px 8px;}
  .mob-nav a{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:9px;
    font-size:14.5px;font-weight:500;color:var(--ink);transition:background .14s;}
  .mob-nav a:active{background:var(--paper);}
  .mob-nav a svg{width:19px;height:19px;color:var(--muted);flex-shrink:0;}
  .mob-count{margin-left:auto;background:var(--orange);color:#fff;font-size:10.5px;
    font-weight:700;min-width:19px;height:19px;border-radius:20px;display:grid;
    place-items:center;padding:0 5px;}

  .mob-sell{display:block;margin:16px;padding:13px;text-align:center;border-radius:10px;
    background:linear-gradient(140deg,var(--navy-deep),var(--navy));color:#fff;
    font-size:13.5px;font-weight:600;}

  .mob-logout{padding:0 16px;}
  .mob-logout button{width:100%;background:none;border:1px solid var(--line);
    border-radius:9px;padding:11px;font-family:inherit;font-size:13.5px;font-weight:600;
    color:#c0392b;cursor:pointer;}

  /* slide animation */
  .mob-slide-in{animation:mobIn .22s cubic-bezier(.2,.7,.3,1);}
  .mob-slide-out{animation:mobOut .18s ease-in forwards;}
  @keyframes mobIn{from{transform:translateX(-100%);}to{transform:translateX(0);}}
  @keyframes mobOut{from{transform:translateX(0);}to{transform:translateX(-100%);}}
}

@media (max-width:400px){
  .header .logo{font-size:15px;}
  .header-cta{padding:8px 11px;font-size:12.5px;}
  .icon-btn{width:34px;height:34px;}
  .icon-btn svg{width:18px;height:18px;}
  .mob-burger{width:34px;height:34px;}
}

/* search field inside the mobile drawer */
.mob-drawer-search{display:none;}
@media (max-width:900px){
  .mob-drawer-search{display:flex;align-items:center;gap:9px;margin:14px 16px 4px;
    background:var(--paper);border:1px solid var(--line);border-radius:10px;
    padding:0 12px;}
  .mob-drawer-search svg{width:16px;height:16px;color:var(--muted);flex-shrink:0;}
  .mob-drawer-search input{flex:1;min-width:0;background:none;border:none;outline:none;
    font-family:inherit;font-size:13.5px;padding:11px 0;color:var(--ink);}
}

/* ============================================================
   PRODUCT DETAIL PAGE
   ============================================================ */
.pdp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;
  align-items:start;}

/* ---- gallery ---- */
.pdp-gallery{position:sticky;top:96px;}
.pdp-main{position:relative;background:#fff;border:1px solid var(--line);
  border-radius:16px;aspect-ratio:1/1;display:flex;align-items:center;
  justify-content:center;overflow:hidden;padding:22px;}
/* contain, not cover — a cropped forklift or pump loses the part the buyer
   is actually trying to see */
.pdp-main img{max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;display:block;}
.pdp-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  background:repeating-linear-gradient(135deg,#EDF0F4 0 3px,#F6F8FA 3px 9px);
  color:#c2cad4;border-radius:12px;}
.pdp-noimg svg{width:54px;height:54px;}
.pdp-off{position:absolute;top:14px;left:14px;z-index:2;background:#E5484D;color:#fff;
  font-family:var(--font-mono);font-size:12px;font-weight:800;padding:6px 12px;
  border-radius:20px;letter-spacing:.02em;}

.pdp-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px;
  scrollbar-width:thin;}
.pdp-thumbs button{flex:0 0 74px;height:74px;padding:5px;background:#fff;
  border:1.5px solid var(--line);border-radius:10px;cursor:pointer;overflow:hidden;
  transition:border-color .16s,transform .16s;}
.pdp-thumbs button:hover{border-color:#c9d2dd;transform:translateY(-2px);}
.pdp-thumbs button.on{border-color:var(--orange);}
.pdp-thumbs img{width:100%;height:100%;object-fit:contain;display:block;}

/* ---- info column ---- */
.pdp-cat{display:inline-block;color:var(--orange);font-weight:700;text-transform:uppercase;
  font-size:11.5px;letter-spacing:.07em;font-family:var(--font-mono);margin-bottom:10px;}
.pdp-title{font-size:27px;color:var(--navy);margin:0 0 16px;font-weight:700;
  line-height:1.3;letter-spacing:-.02em;
  /* long B2B product names must wrap sensibly, not one word per line */
  overflow-wrap:break-word;word-break:normal;hyphens:auto;}

.pdp-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.pdp-now{font-size:30px;font-weight:700;color:var(--navy);font-family:var(--font-display);
  letter-spacing:-.02em;line-height:1.2;}
.pdp-was{font-size:17px;color:#9aa6b4;}
.pdp-unit{font-size:14px;font-weight:400;color:#8a97a8;}
.pdp-save{display:inline-block;margin-bottom:14px;}
.pdp-meta{color:#8a97a8;margin:0 0 16px;font-size:13.5px;line-height:1.6;}
.pdp-desc{color:#4a5768;line-height:1.75;margin-bottom:24px;font-size:14.5px;}

@media (max-width:1100px){
  .pdp-grid{gap:32px;}
  .pdp-title{font-size:24px;}
}

/* ---- the layout was locked to two columns at every width, which is why the
   title wrapped one word per line on a phone ---- */
@media (max-width:860px){
  .pdp-grid{grid-template-columns:1fr;gap:26px;}
  .pdp-gallery{position:static;}
  .pdp-main{aspect-ratio:4/3;padding:16px;}
  .pdp-title{font-size:22px;}
  .pdp-now{font-size:26px;}
}

@media (max-width:540px){
  .pdp-section{padding-top:22px;}
  .pdp-main{aspect-ratio:1/1;border-radius:14px;padding:12px;}
  .pdp-thumbs button{flex:0 0 60px;height:60px;}
  .pdp-title{font-size:19px;line-height:1.35;margin-bottom:12px;}
  .pdp-now{font-size:24px;}
  .pdp-was{font-size:15px;}
  .pdp-price{gap:8px;}
  .pdp-desc{font-size:14px;}
}

/* two-up form row that collapses on narrow screens */
.pdp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:540px){ .pdp-form-row{grid-template-columns:1fr;} }

/* ============================================================
   CATEGORY ICONS — one distinct icon + colour per category
   ============================================================ */
.cat-ico{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  border-radius:inherit;}
.cat-ico svg{width:22px;height:22px;display:block;}

/* the wrapper carries the tint, so the tone class controls both */
.cat-slide-icon:has(.cat-ico){background:transparent;padding:0;}

.tone-green  {background:#E8F6EC;color:#1B7F3F;box-shadow:inset 0 0 0 1px #C6E7D0;}
.tone-amber  {background:#FEF3E2;color:#B4690E;box-shadow:inset 0 0 0 1px #F8DFB8;}
.tone-indigo {background:#EAEEFB;color:#3A4DA8;box-shadow:inset 0 0 0 1px #CBD4F2;}
.tone-yellow {background:#FEF7DF;color:#9A7B0A;box-shadow:inset 0 0 0 1px #F5E6B0;}
.tone-violet {background:#F1EAFB;color:#6D3FB0;box-shadow:inset 0 0 0 1px #DCCBF2;}
.tone-slate  {background:#EDF1F6;color:#3D5877;box-shadow:inset 0 0 0 1px #D3DDE9;}
.tone-cyan   {background:#E2F5F8;color:#0E7490;box-shadow:inset 0 0 0 1px #BCE4EC;}
.tone-blue   {background:#EAE8F7;color:#1D5BB8;box-shadow:inset 0 0 0 1px #CFCBEA;}
.tone-teal   {background:#E4F5F1;color:#0F7A66;box-shadow:inset 0 0 0 1px #C0E7DE;}
.tone-rose   {background:#FDECEC;color:#B0303A;box-shadow:inset 0 0 0 1px #F6CDD0;}
.tone-stone  {background:#F0EEEA;color:#6B5B48;box-shadow:inset 0 0 0 1px #DDD7CE;}
.tone-pink   {background:#FCEBF3;color:#A83368;box-shadow:inset 0 0 0 1px #F5CBDE;}
.tone-brown  {background:#F3EDE6;color:#84542B;box-shadow:inset 0 0 0 1px #E3D6C5;}

/* lift the icon slightly on hover, matching the card's own motion */
.cat-slide:hover .cat-ico,
.cat-card:hover .cat-ico{transform:translateY(-1px) scale(1.06);}
.cat-ico{transition:transform .2s cubic-bezier(.2,.7,.3,1);}

/* three languages now — a touch more room so Cyrillic labels sit comfortably */
.ls-panel{width:278px;}
@media (max-width:768px){ .ls-panel{width:252px;} }

/* struck-through list price beside the FREE promotion */
.sv-fee-strike{display:block;font-family:var(--font-mono);font-size:15px;
  color:#9aa6b4;text-decoration:line-through;margin-bottom:4px;}

/* ============================================================
   ZERO GLYPH
   ============================================================ */
/* Roboto Mono ships a dotted zero by default, which reads as a bug in
   prices and statistics. "zero" 0 turns the dot off across the whole site. */
/* font-feature-settings inherits, so setting it once on body turns the dotted
   zero off everywhere. Fonts without a "zero" feature (Inter, Poppins) are
   unaffected, so this is safe to apply globally. */
body{font-feature-settings:"zero" 0;}
.mono, [class*="mono"], code, kbd, pre, samp{
  font-feature-settings:"zero" 0;
  font-variant-numeric:lining-nums tabular-nums;
}

/* ============================================================
   HOMEPAGE — visual refresh
   ============================================================ */

/* ---------- shared rhythm ---------- */
.section{padding:86px 0;}
.section-head{align-items:flex-end;margin-bottom:32px;padding-bottom:20px;}
.section-head h2{font-size:33px;font-weight:700;letter-spacing:-.03em;line-height:1.15;
  margin:6px 0 0;}
.eyebrow-sm{font-family:var(--font-mono);font-size:10.5px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--orange);}

/* ---------- hero ---------- */
.hero h1{font-size:clamp(32px,4.4vw,54px);line-height:1.06;letter-spacing:-.035em;
  font-weight:800;}
.hero p{font-size:16.5px;line-height:1.8;color:#a9bbd0;max-width:520px;}
.hero-ctas .btn-orange,.hero-ctas .btn-outline-light{padding:14px 28px;font-size:14.5px;
  border-radius:10px;transition:transform .18s,box-shadow .18s,background .18s;}
.hero-ctas .btn-orange:hover{transform:translateY(-2px);
  box-shadow:0 16px 30px -12px rgba(242,136,75,.62);}
.hero-ctas .btn-outline-light:hover{transform:translateY(-2px);
  background:rgba(255,255,255,.1);}

.hero-stats b{font-size:29px;font-weight:800;letter-spacing:-.02em;
  background:linear-gradient(120deg,#fff 30%,#B9CCE3);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-stats span{font-size:12px;letter-spacing:.02em;color:#8fa3bb;}

/* manifest card — lift it off the background */
.manifest{border-radius:18px;
  box-shadow:0 40px 80px -30px rgba(5,12,22,.6), 0 0 0 1px rgba(255,255,255,.06);}
.manifest-head .num{font-size:17px;letter-spacing:-.01em;}
.stamp{letter-spacing:.09em;}

/* ---------- trust strip ---------- */
.trust-strip .icon-wrap{width:42px;height:42px;border-radius:12px;
  transition:transform .2s,background .2s;}
.trust-strip .item:hover .icon-wrap{transform:translateY(-2px) scale(1.05);}
.trust-strip .item p{font-size:14.5px;font-weight:600;letter-spacing:-.01em;}
.trust-strip .item span{font-size:12.5px;line-height:1.6;}

/* ---------- category slider ---------- */
.cat-slide{border-radius:15px;transition:transform .22s cubic-bezier(.2,.7,.3,1),
  box-shadow .22s,border-color .22s;}
.cat-slide:hover{transform:translateY(-5px);border-color:#D6DEE8;
  box-shadow:0 26px 50px -22px rgba(42,36,94,.3);}
.cat-slide-icon{width:46px;height:46px;border-radius:13px;}
.cat-slide h4,.cat-slide .cat-name{font-size:14.5px;font-weight:650;letter-spacing:-.01em;
  line-height:1.42;}
.cat-slide .cat-count{font-size:11.5px;color:var(--muted);font-family:var(--font-mono);}

/* ---------- how it works ---------- */
.steps{gap:22px;}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:28px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;}
.step::before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;
  background:linear-gradient(90deg,var(--navy),var(--orange));border-radius:2px;
  transform:scaleX(0);transform-origin:left;transition:transform .34s cubic-bezier(.2,.7,.3,1);}
.step:hover{transform:translateY(-5px);border-color:#D6DEE8;
  box-shadow:0 26px 50px -22px rgba(42,36,94,.28);}
.step:hover::before{transform:scaleX(1);}
.step .num{font-size:10.5px;letter-spacing:.12em;color:var(--orange);font-weight:700;
  margin-bottom:14px;}
.step h4{font-size:17px;color:var(--navy);margin:0 0 9px;font-weight:700;
  letter-spacing:-.015em;}
.step p{font-size:13.8px;line-height:1.75;color:#55637a;margin:0;}

/* ---------- two-column trust ---------- */
.trust-card{border-radius:18px;padding:38px 36px;overflow:hidden;position:relative;
  transition:transform .22s,box-shadow .22s;}
.trust-card:hover{transform:translateY(-4px);
  box-shadow:0 32px 60px -26px rgba(19,16,48,.45);}
.trust-card h3{font-size:23px;letter-spacing:-.025em;margin-bottom:12px;}
.trust-card p{font-size:14.5px;line-height:1.8;margin-bottom:22px;}
.trust-card .ring,.trust-card .ring2{transition:transform .5s cubic-bezier(.2,.7,.3,1);}
.trust-card:hover .ring{transform:scale(1.09) rotate(6deg);}
.trust-card:hover .ring2{transform:scale(1.12) rotate(-5deg);}

/* ---------- spotlight ---------- */
.spotlight-head h2{font-size:clamp(28px,3.6vw,42px);letter-spacing:-.035em;
  line-height:1.1;font-weight:800;}
.spotlight-head .sub{font-size:17px;}
.spotlight-head .lede{font-size:15px;line-height:1.85;}
.spot-card{border-radius:16px;transition:transform .22s,box-shadow .22s,border-color .22s;}
.spot-card:hover{transform:translateY(-5px);
  box-shadow:0 30px 56px -24px rgba(19,16,48,.5);}
.spot-icon{transition:transform .24s;}
.spot-card:hover .spot-icon{transform:translateY(-2px) scale(1.06);}

/* ---------- closing CTA ---------- */
.cta-banner{border-radius:20px;padding:44px 46px;position:relative;overflow:hidden;}
.cta-banner::after{content:"";position:absolute;top:-90px;right:-60px;width:320px;
  height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,136,75,.2),transparent 66%);}
.cta-banner > *{position:relative;z-index:2;}
.cta-banner h3{font-size:27px;letter-spacing:-.025em;line-height:1.25;margin-bottom:9px;}
.cta-banner p{font-size:14.5px;line-height:1.75;}
.cta-banner .btn-orange{padding:14px 30px;font-size:14.5px;border-radius:10px;
  transition:transform .18s,box-shadow .18s;}
.cta-banner .btn-orange:hover{transform:translateY(-2px);
  box-shadow:0 16px 30px -12px rgba(242,136,75,.6);}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .section{padding:64px 0;}
  .section-head h2{font-size:28px;}
}
@media (max-width:768px){
  .section{padding:52px 0;}
  .section-head h2{font-size:25px;}
  .step{padding:24px 20px;}
  .trust-card{padding:30px 26px;}
  .trust-card h3{font-size:20px;}
  .cta-banner{padding:32px 26px;}
  .cta-banner h3{font-size:22px;}
}

/* ============================================================
   HERO — refined statistics band
   ============================================================ */
/* Numbers now use the display face. Monospace made the figures look like
   terminal output rather than headline statistics. */
.hero-stats{gap:0;display:flex;flex-wrap:wrap;align-items:stretch;
  border-top:1px solid rgba(255,255,255,.12);padding-top:0;margin-top:14px;}
.hero-stats > div{padding:26px 34px 4px 0;margin-right:34px;position:relative;}
.hero-stats > div + div::before{content:"";position:absolute;left:-34px;top:26px;
  bottom:8px;width:1px;background:rgba(255,255,255,.12);}
.hero-stats b{display:block;font-family:var(--font-display);font-size:34px;
  font-weight:800;letter-spacing:-.035em;line-height:1;color:#fff;
  margin-bottom:7px;background:none;-webkit-text-fill-color:#fff;}
.hero-stats b i{font-style:normal;color:var(--orange);font-size:.62em;
  vertical-align:super;margin-left:2px;font-weight:700;}
.hero-stats span{display:block;font-size:12.5px;color:#8fa3bb;letter-spacing:.01em;
  font-family:var(--font-body);}

/* sector strip — concrete credibility under the numbers */
.hero-proof{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);}
.hero-proof-label{font-family:var(--font-mono);font-size:10px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:#66809e;flex-shrink:0;}
.hero-proof-items{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.hero-proof-items span{font-size:12.5px;color:#a9bbd0;font-weight:500;
  letter-spacing:.01em;}
.hero-proof-items i{width:3px;height:3px;border-radius:50%;
  background:rgba(255,255,255,.26);flex-shrink:0;}

@media (max-width:768px){
  .hero-stats{margin-top:10px;}
  .hero-stats > div{padding:20px 22px 4px 0;margin-right:22px;}
  .hero-stats > div + div::before{left:-22px;top:20px;}
  .hero-stats b{font-size:26px;}
  .hero-proof{gap:12px;margin-top:20px;}
}
@media (max-width:480px){
  .hero-stats > div{padding-right:16px;margin-right:16px;}
  .hero-stats > div + div::before{left:-16px;}
  .hero-stats b{font-size:22px;}
  .hero-stats span{font-size:11.5px;}
}

/* ============================================================
   HOMEPAGE — depth pass
   ============================================================ */

/* ---------- hero atmosphere ---------- */
/* A single flat navy reads as a template. Layered light gives the section
   a focal point and stops the right-hand card floating on nothing. */
.hero{position:relative;isolation:isolate;}
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(760px 420px at 72% 18%, rgba(242,136,75,.14), transparent 68%),
    radial-gradient(620px 480px at 8% 88%, rgba(77,67,173,.20), transparent 70%);}
.hero > .container-xl{position:relative;z-index:2;}

.hero .eyebrow{backdrop-filter:blur(6px);}

/* ---------- section headings ---------- */
/* A hairline that stops at the text, rather than a full-width divider —
   reads as considered rather than default. */
.section-head{position:relative;border-bottom:none;}
.section-head::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:2px;
  background:linear-gradient(90deg,var(--orange),rgba(242,136,75,0));border-radius:2px;}
.section-head h2{position:relative;}

/* ---------- category cards ---------- */
.cat-slide{position:relative;overflow:hidden;background:#fff;}
.cat-slide::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(160deg,rgba(242,136,75,.055),transparent 52%);
  opacity:0;transition:opacity .28s;}
.cat-slide:hover::after{opacity:1;}

/* ---------- product cards ---------- */
.prod-card{position:relative;transition:transform .22s cubic-bezier(.2,.7,.3,1),
  box-shadow .22s,border-color .22s;}
.prod-card:hover{transform:translateY(-5px);border-color:#D6DEE8;
  box-shadow:0 28px 54px -24px rgba(42,36,94,.3);}
.prod-title,.prod-body h3{letter-spacing:-.012em;line-height:1.45;}

/* ---------- how it works: connecting rail ---------- */
.steps{position:relative;}
/* old rail removed — it drew across the cards rather than behind them */
.step{z-index:1;}

/* ---------- trust panels ---------- */
.trust-card{background-image:linear-gradient(155deg,rgba(255,255,255,.06),transparent 58%);}
.trust-card::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);border-radius:inherit;}

/* ---------- closing CTA ---------- */
.cta-banner{background-image:
  radial-gradient(600px 300px at 88% -20%, rgba(242,136,75,.18), transparent 64%),
  linear-gradient(150deg,var(--navy-deep),var(--navy));}

/* ---------- buttons: consistent weight ---------- */
.btn-orange{font-weight:600;letter-spacing:-.005em;}
.btn-outline-light{font-weight:600;letter-spacing:-.005em;}

/* ---------- links ---------- */
.section-link{font-weight:600;position:relative;}
.section-link::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;
  background:var(--orange);transform:scaleX(0);transform-origin:right;
  transition:transform .28s cubic-bezier(.2,.7,.3,1);}
.section-link:hover::after{transform:scaleX(1);transform-origin:left;}

/* ============================================================
   HOMEPAGE REDESIGN
   ============================================================ */

/* ---------- 1. HERO ---------- */
.hero{padding:82px 0 66px;}
.hero .eyebrow{background:rgba(242,136,75,.12);border:1px solid rgba(242,136,75,.3);
  padding:7px 16px;border-radius:30px;font-size:10.5px;letter-spacing:.12em;
  backdrop-filter:blur(8px);}

/* An oversized watermark behind the headline gives the section scale and
   stops the left column reading as a plain text block. */
.hero > .container-xl::before{content:"B2B";position:absolute;top:-32px;left:-28px;
  font-family:var(--font-display);font-size:210px;font-weight:800;line-height:1;
  color:rgba(255,255,255,.022);letter-spacing:-.06em;pointer-events:none;
  z-index:0;user-select:none;}

.manifest{border-radius:20px;transform:perspective(1400px) rotateY(-5deg) rotateX(2deg);
  transition:transform .55s cubic-bezier(.2,.7,.3,1);}
.manifest:hover{transform:perspective(1400px) rotateY(0deg) rotateX(0deg) translateY(-4px);}

/* ---------- 2. TRUST STRIP ---------- */
.trust-strip{background:#fff;border-bottom:1px solid var(--line);
  position:relative;z-index:3;}
.trust-strip .container-xl{display:grid;grid-template-columns:repeat(4,1fr);}
.trust-strip .item{position:relative;padding:30px 26px;display:flex;gap:15px;
  align-items:flex-start;border-right:1px solid var(--line);
  transition:background .22s;}
.trust-strip .item:last-child{border-right:none;}
.trust-strip .item::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;
  transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.trust-strip .item:hover{background:#FCFCFD;}
.trust-strip .item:hover::before{transform:scaleX(1);}
.trust-strip .icon-wrap{width:44px;height:44px;border-radius:13px;display:grid;
  place-items:center;flex-shrink:0;color:#39327E;background:#EFEEF8;
  box-shadow:inset 0 0 0 1px #D9D6EE;transition:transform .22s,background .22s,color .22s;}
.trust-strip .icon-wrap svg{width:20px;height:20px;}
.trust-strip .item:hover .icon-wrap{background:var(--orange);color:#fff;
  box-shadow:inset 0 0 0 1px var(--orange);transform:translateY(-2px) scale(1.05);}
.trust-strip .item p{font-size:14.5px;font-weight:650;color:var(--navy);margin:0 0 4px;
  letter-spacing:-.012em;}
.trust-strip .item span{font-size:12.5px;color:var(--muted);line-height:1.6;}

/* ---------- 3. HOW IT WORKS ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:32px 26px 28px;overflow:hidden;
  transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .24s;}

/* Ghost numeral — carries the sequence without a heavy badge. */
.step-index{position:absolute;top:6px;right:14px;font-family:var(--font-display);
  font-size:78px;font-weight:800;line-height:1;color:rgba(42,36,94,.045);
  letter-spacing:-.05em;pointer-events:none;transition:color .3s;}
.step:hover .step-index{color:rgba(242,136,75,.12);}

.step-ico{position:relative;z-index:1;width:50px;height:50px;border-radius:14px;
  display:grid;place-items:center;margin-bottom:18px;color:#39327E;background:#EFEEF8;
  box-shadow:inset 0 0 0 1px #D9D6EE;transition:transform .24s,background .24s,color .24s;}
.step-ico svg{width:22px;height:22px;display:block;}
.step:hover .step-ico{background:var(--navy);color:#fff;
  box-shadow:inset 0 0 0 1px var(--navy);transform:translateY(-3px);}

.step .num{position:relative;z-index:1;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:10px;}
.step h4{position:relative;z-index:1;font-size:17.5px;color:var(--navy);margin:0 0 10px;
  font-weight:700;letter-spacing:-.018em;}
.step p{position:relative;z-index:1;font-size:13.8px;line-height:1.78;color:#55637a;margin:0;}

.step:hover{transform:translateY(-6px);border-color:#D6DEE8;
  box-shadow:0 30px 58px -24px rgba(42,36,94,.3);}

/* ---------- 4. SECTION HEADS ---------- */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;
  gap:24px;flex-wrap:wrap;margin-bottom:34px;padding-bottom:22px;}
.link-more{font-size:13.5px;font-weight:600;color:var(--navy);position:relative;
  white-space:nowrap;transition:color .16s;}
.link-more:hover{color:var(--orange);}
.link-more::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1.5px;
  background:var(--orange);transform:scaleX(0);transform-origin:right;
  transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.link-more:hover::after{transform:scaleX(1);transform-origin:left;}

.slider-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--navy);
  transition:background .16s,border-color .16s,transform .16s;}
.slider-btn:hover{background:var(--navy);border-color:var(--navy);color:#fff;
  transform:scale(1.06);}
.slider-btn svg{width:15px;height:15px;}

/* ---------- 5. RESPONSIVE ---------- */
@media (max-width:1024px){
  .hero > .container-xl::before{font-size:150px;}
  .steps{grid-template-columns:1fr 1fr;}
  .trust-strip .container-xl{grid-template-columns:1fr 1fr;}
  .trust-strip .item:nth-child(2n){border-right:none;}
  .trust-strip .item:nth-child(-n+2){border-bottom:1px solid var(--line);}
}
@media (max-width:768px){
  .hero{padding:52px 0 44px;}
  .hero > .container-xl::before{display:none;}
  .manifest{transform:none;}
  .steps{grid-template-columns:1fr;gap:14px;}
  .step{padding:26px 22px;}
  .step-index{font-size:62px;}
}
@media (max-width:560px){
  .trust-strip .container-xl{grid-template-columns:1fr;}
  .trust-strip .item{border-right:none;border-bottom:1px solid var(--line);
    padding:20px 16px;}
  .trust-strip .item:last-child{border-bottom:none;}
}

/* ============================================================
   HOW SOURCING WORKS — rebuilt
   ============================================================ */
/* A dark band here breaks up a long run of white sections and makes the
   four steps read as one connected journey rather than four loose cards. */
.how-sec{position:relative;overflow:hidden;padding:92px 0;
  background:
    radial-gradient(760px 420px at 78% 12%, rgba(242,136,75,.13), transparent 66%),
    radial-gradient(620px 460px at 10% 92%, rgba(77,67,173,.18), transparent 70%),
    linear-gradient(160deg,#2F2869 0%,var(--navy-deep) 55%,#171436 100%);}
.how-sec::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 88% 74% at 50% 40%,#000 12%,transparent 78%);}
.how-sec > .container-xl{position:relative;z-index:2;}

.how-head{text-align:center;max-width:600px;margin:0 auto 58px;}
.how-eyebrow{display:inline-block;font-family:var(--font-mono);font-size:10.5px;
  font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--orange-light);background:rgba(242,136,75,.12);
  border:1px solid rgba(242,136,75,.3);padding:6px 15px;border-radius:30px;
  margin-bottom:18px;}
.how-head h2{font-size:clamp(27px,3.3vw,38px);color:#fff;margin:0 0 14px;
  font-weight:800;letter-spacing:-.032em;line-height:1.15;}
.how-head p{font-size:15.5px;color:#a9bbd0;line-height:1.75;margin:0;}

/* ---- the flow ---- */
.how-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
  position:relative;align-items:start;}

/* Rail sits behind the nodes, spanning only between the first and last —
   so it connects the steps instead of cutting across the cards. */
.how-rail{position:absolute;top:22px;left:12.5%;right:12.5%;height:2px;z-index:0;
  background:linear-gradient(90deg,
    rgba(242,136,75,.5) 0%, rgba(242,136,75,.3) 50%, rgba(242,136,75,.5) 100%);}
.how-rail::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(12,23,37,.85) 7px 13px);}

.how-step{position:relative;z-index:1;display:flex;flex-direction:column;
  align-items:center;}

.how-node{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--font-mono);font-size:13.5px;font-weight:700;color:#fff;
  background:linear-gradient(145deg,#39327E,var(--navy-deep));
  border:2px solid rgba(242,136,75,.55);margin-bottom:20px;flex-shrink:0;
  box-shadow:0 0 0 6px rgba(12,23,37,.9), 0 8px 20px -6px rgba(0,0,0,.5);
  transition:transform .26s cubic-bezier(.2,.7,.3,1),background .26s,border-color .26s;}

.how-card{position:relative;width:100%;text-align:center;border-radius:16px;
  padding:30px 24px 28px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(10px);
  transition:transform .26s cubic-bezier(.2,.7,.3,1),background .26s,
    border-color .26s,box-shadow .26s;}

.how-ico{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;
  margin:0 auto 16px;color:var(--orange-light);
  background:rgba(242,136,75,.13);box-shadow:inset 0 0 0 1px rgba(242,136,75,.26);
  transition:transform .26s,background .26s,color .26s,box-shadow .26s;}
.how-ico svg{width:22px;height:22px;display:block;}

.how-tag{display:block;font-family:var(--font-mono);font-size:9.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:9px;}
.how-card h4{font-size:17.5px;color:#fff;margin:0 0 10px;font-weight:700;
  letter-spacing:-.018em;}
.how-card p{font-size:13.6px;line-height:1.8;color:#9fb2c8;margin:0;}

/* hover: the whole step responds, not just the card */
.how-step:hover .how-card{transform:translateY(-6px);background:rgba(255,255,255,.075);
  border-color:rgba(242,136,75,.34);
  box-shadow:0 30px 58px -24px rgba(0,0,0,.6);}
.how-step:hover .how-node{transform:scale(1.1);border-color:var(--orange);
  background:linear-gradient(145deg,var(--orange),#d9702f);}
.how-step:hover .how-ico{background:var(--orange);color:#fff;
  box-shadow:inset 0 0 0 1px var(--orange);transform:translateY(-2px) scale(1.06);}

/* ---- footer ---- */
.how-foot{display:flex;align-items:center;justify-content:center;gap:20px;
  flex-wrap:wrap;margin-top:48px;padding-top:30px;
  border-top:1px solid rgba(255,255,255,.09);}
.how-cta{display:inline-flex;align-items:center;background:var(--orange);color:#fff;
  padding:13px 28px;border-radius:10px;font-size:14.5px;font-weight:600;
  transition:transform .18s,box-shadow .18s,background .18s;}
.how-cta:hover{background:#dd7038;color:#fff;transform:translateY(-2px);
  box-shadow:0 16px 30px -12px rgba(242,136,75,.6);}
.how-foot > span{font-size:13px;color:#8fa3bb;}

/* ---- responsive ---- */
@media (max-width:1000px){
  .how-flow{grid-template-columns:1fr 1fr;gap:26px 20px;}
  /* a rail across two rows would point at nothing */
  .how-rail{display:none;}
}
@media (max-width:768px){
  .how-sec{padding:62px 0;}
  .how-head{margin-bottom:40px;}
}
@media (max-width:600px){
  .how-flow{grid-template-columns:1fr;gap:18px;}
  .how-step{flex-direction:row;align-items:flex-start;gap:16px;}
  .how-node{margin-bottom:0;width:38px;height:38px;font-size:12.5px;
    box-shadow:0 0 0 4px rgba(12,23,37,.9);}
  .how-card{text-align:left;padding:22px 20px;}
  .how-ico{margin:0 0 14px;width:44px;height:44px;}
  .how-foot{flex-direction:column;gap:14px;margin-top:34px;}
  .how-cta{width:100%;justify-content:center;}
}

/* ============================================================
   TRUST PANELS — rebuilt
   ============================================================ */
.tp-sec{background:var(--paper);}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}

.tp-card{position:relative;overflow:hidden;border-radius:22px;padding:40px 38px 36px;
  isolation:isolate;
  transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s;}
.tp-card:hover{transform:translateY(-6px);}

.tp-navy{background:linear-gradient(152deg,#39327E 0%,#2B2560 55%,#221D4E 100%);
  box-shadow:0 26px 54px -26px rgba(19,16,48,.55);}
.tp-navy:hover{box-shadow:0 38px 70px -28px rgba(19,16,48,.68);}

.tp-orange{background:linear-gradient(152deg,#F2954F 0%,#E5793A 55%,#D3652C 100%);
  box-shadow:0 26px 54px -26px rgba(190,98,40,.5);}
.tp-orange:hover{box-shadow:0 38px 70px -28px rgba(190,98,40,.6);}

/* soft light source, so the panels read as lit rather than flat fills */
.tp-glow{position:absolute;top:-120px;right:-90px;width:360px;height:360px;
  border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%);}
.tp-ring{position:absolute;right:-70px;bottom:-90px;width:280px;height:280px;
  border-radius:50%;border:1.5px solid rgba(255,255,255,.16);z-index:0;
  pointer-events:none;transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.tp-ring::after{content:"";position:absolute;inset:38px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.12);}
.tp-card:hover .tp-ring{transform:scale(1.12) rotate(8deg);}

.tp-card > *:not(.tp-glow):not(.tp-ring){position:relative;z-index:1;}

.tp-ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  margin-bottom:20px;color:#fff;background:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
  transition:transform .26s,background .26s;}
.tp-ico svg{width:24px;height:24px;display:block;}
.tp-card:hover .tp-ico{transform:translateY(-3px) scale(1.05);
  background:rgba(255,255,255,.22);}

.tp-tag{display:block;font-family:var(--font-mono);font-size:9.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px;
  color:rgba(255,255,255,.62);}
.tp-card h3{font-size:25px;color:#fff;margin:0 0 13px;font-weight:700;
  letter-spacing:-.028em;line-height:1.2;}
.tp-card p{font-size:14.5px;line-height:1.8;margin:0 0 22px;
  color:rgba(255,255,255,.78);max-width:400px;}

.tp-list{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px;}
.tp-list li{display:flex;align-items:center;gap:10px;font-size:13.6px;
  color:rgba(255,255,255,.88);}
.tp-list svg{width:14px;height:14px;flex-shrink:0;}
.tp-navy .tp-list svg{color:var(--orange-light);}
.tp-orange .tp-list svg{color:#fff;}

.tp-link{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;
  border-radius:10px;font-size:14px;font-weight:600;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);
  transition:background .18s,border-color .18s,transform .18s,gap .18s;}
.tp-link:hover{background:#fff;border-color:#fff;gap:12px;color:var(--navy);}
.tp-orange .tp-link:hover{color:#C75F26;}
.tp-link svg{width:15px;height:15px;}

/* ============================================================
   APP PROMO — feature list
   ============================================================ */
.app-feats{list-style:none;padding:0;margin:26px 0 24px;display:grid;gap:16px;
  max-width:420px;}
.app-feats li{display:flex;align-items:flex-start;gap:14px;}
.app-feats li > span{width:42px;height:42px;border-radius:13px;display:grid;
  place-items:center;flex-shrink:0;color:#39327E;background:#EFEEF8;
  box-shadow:inset 0 0 0 1px #D9D6EE;transition:transform .22s,background .22s,color .22s;}
.app-feats li:hover > span{background:var(--navy);color:#fff;
  box-shadow:inset 0 0 0 1px var(--navy);transform:translateY(-2px);}
.app-feats li > span svg{width:19px;height:19px;display:block;}
.app-feats b{display:block;font-size:14.5px;color:var(--navy);font-weight:650;
  letter-spacing:-.012em;margin-bottom:3px;}
.app-feats em{font-style:normal;font-size:13px;color:var(--muted);line-height:1.6;}

/* phone gets a warmer stage so it doesn't float on flat paper */
.phone-blob{background:radial-gradient(circle at 42% 38%,
  #21395A 0%, var(--navy-deep) 58%, #0B1523 100%);
  box-shadow:0 50px 90px -40px rgba(19,16,48,.6);}
.phone{box-shadow:0 44px 88px -32px rgba(19,16,48,.58),
  0 0 0 1px rgba(255,255,255,.05);}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .tp-grid{grid-template-columns:1fr;gap:18px;}
  .tp-card{padding:32px 28px 30px;}
  .tp-card h3{font-size:22px;}
}
@media (max-width:600px){
  .tp-card{padding:28px 22px 26px;border-radius:18px;}
  .tp-card h3{font-size:20px;}
  .tp-card p{font-size:13.8px;}
  .tp-ring{display:none;}
  .tp-link{width:100%;justify-content:center;}
  .app-feats{margin:22px 0 20px;}
  .app-feats li > span{width:38px;height:38px;border-radius:11px;}
}

/* ============================================================
   DESIGN SYSTEM
   A single scale for depth, radius, spacing and motion. The page read as
   assembled rather than designed because each section used its own values.
   ============================================================ */
:root{
  --e1: 0 1px 2px rgba(16,28,44,.06);
  --e2: 0 4px 12px -2px rgba(16,28,44,.08);
  --e3: 0 14px 30px -12px rgba(16,28,44,.16);
  --e4: 0 28px 56px -22px rgba(16,28,44,.24);
  --e5: 0 44px 80px -32px rgba(19,16,48,.4);

  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 18px;
  --r-xl: 22px;

  --ease: cubic-bezier(.2,.7,.3,1);
  --t-fast: .16s var(--ease);
  --t-base: .24s var(--ease);
}

/* ---------- vertical rhythm ---------- */
.section{padding:96px 0;}
.section + .section{padding-top:96px;}

/* ---------- section headers: one pattern everywhere ---------- */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;
  gap:28px;flex-wrap:wrap;margin-bottom:38px;padding-bottom:0;border:none;}
.section-head::after{display:none;}
.eyebrow-sm{display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:10px;}
.section-head h2{font-size:clamp(25px,2.9vw,34px);color:var(--navy);margin:0;
  font-weight:700;letter-spacing:-.032em;line-height:1.16;}
.section-sub{font-size:14.5px;color:var(--muted);line-height:1.7;margin:11px 0 0;
  max-width:460px;}

/* ---------- cards: one elevation language ---------- */
.prod-card,.cat-slide,.bl-card,.sv-step,.sv-fee,.sv-trust-card{
  border-radius:var(--r-lg);box-shadow:var(--e1);
  transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);}
.prod-card:hover,.cat-slide:hover,.bl-card:hover,
.sv-step:hover,.sv-fee:hover,.sv-trust-card:hover{
  transform:translateY(-4px);box-shadow:var(--e4);border-color:#D9E0E9;}

/* ---------- buttons ---------- */
.btn-orange,.btn-outline-light,.tp-link,.how-cta,.cta-primary{
  border-radius:var(--r-sm);font-weight:600;letter-spacing:-.005em;
  transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast);}
.btn-orange:hover{transform:translateY(-2px);box-shadow:var(--e3);}

/* ---------- focus: visible, consistent, not ugly ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--orange);outline-offset:3px;border-radius:4px;}

/* ---------- figures never jitter ---------- */
.mono,.hero-stats b,.prod-price,.pdp-now{font-variant-numeric:tabular-nums;}

/* ============================================================
   CLOSING CTA — rebuilt
   ============================================================ */
.cta-sec{padding-bottom:96px;}
.cta-banner{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center;
  border-radius:var(--r-xl);padding:50px 52px;position:relative;overflow:hidden;
  background:
    radial-gradient(620px 320px at 84% -22%, rgba(242,136,75,.2), transparent 62%),
    linear-gradient(152deg,#39327E 0%,#2B2560 55%,#221D4E 100%);
  box-shadow:var(--e5);}
.cta-banner::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 80% 90% at 20% 50%,#000 8%,transparent 74%);}
.cta-banner > *{position:relative;z-index:1;}

.cta-eyebrow{display:block;font-family:var(--font-mono);font-size:10px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--orange-light);
  margin-bottom:12px;}
.cta-banner h3{font-size:clamp(23px,2.8vw,31px);color:#fff;margin:0 0 11px;
  font-weight:700;letter-spacing:-.028em;line-height:1.22;max-width:520px;}
.cta-banner p{font-size:15px;color:#a9bbd0;line-height:1.75;margin:0;max-width:480px;}

.cta-points{list-style:none;padding:0;margin:22px 0 0;display:flex;gap:22px;
  flex-wrap:wrap;}
.cta-points li{display:flex;align-items:center;gap:8px;font-size:13.2px;
  color:rgba(255,255,255,.82);}
.cta-points svg{width:14px;height:14px;color:var(--orange);flex-shrink:0;}

.cta-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch;
  min-width:210px;}
.cta-primary{display:inline-flex;align-items:center;justify-content:center;
  padding:15px 30px;font-size:14.5px;white-space:nowrap;}
.cta-secondary{display:inline-flex;align-items:center;justify-content:center;
  padding:14px 30px;border-radius:var(--r-sm);font-size:14px;font-weight:600;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
  white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast);}
.cta-secondary:hover{background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.34);color:#fff;}

/* ============================================================
   FEATURED / EMPTY STATES
   ============================================================ */
.feat-empty{text-align:center;padding:56px 24px;background:#fff;
  border:1px dashed var(--line);border-radius:var(--r-lg);}
.feat-empty b{display:block;font-size:16.5px;color:var(--navy);margin-bottom:7px;
  font-weight:700;}
.feat-empty span{font-size:13.8px;color:var(--muted);line-height:1.7;}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .section{padding:72px 0;}
  .section + .section{padding-top:72px;}
  .cta-banner{padding:40px 38px;}
}
@media (max-width:860px){
  .cta-banner{grid-template-columns:1fr;gap:30px;padding:36px 30px;}
  .cta-actions{min-width:0;}
}
@media (max-width:768px){
  .section{padding:56px 0;}
  .section + .section{padding-top:56px;}
  .section-head{margin-bottom:28px;gap:18px;}
  .cta-sec{padding-bottom:56px;}
}
@media (max-width:560px){
  .cta-banner{padding:30px 24px;border-radius:var(--r-lg);}
  .cta-points{flex-direction:column;gap:11px;}
}

/* ============================================================
   RESTRAINT PASS
   Removing effects matters as much as adding them. Competing gradients and
   glows are what make a page read as templated rather than designed.
   ============================================================ */

/* One warm section, not three. Featured Products sits on plain paper so the
   navy How-It-Works band remains the page's single dark focal point. */
.section.bg-paper{background:var(--paper);}

/* Category and product cards: quieter resting state, clearer hover. */
.cat-slide{border:1px solid var(--line);background:#fff;}
.cat-slide::after{display:none;}
.cat-slide:hover{border-color:var(--orange);}
.cat-slide-icon{border-radius:var(--r-md);}

/* Spotlight: keep the drama but stop it competing with the hero. */
.spotlight-head{max-width:720px;}
.spotlight-head .sub em{font-style:normal;color:var(--orange-light);font-weight:600;}
.spot-rule{width:60px;height:2px;background:var(--orange);border-radius:2px;
  margin-top:24px;}
.spot-card{border-radius:var(--r-lg);}
.spot-points li{font-size:13.6px;line-height:1.7;}

/* Hero: remove the tilt. It was a flourish that fought the content. */
.manifest{transform:none;}
.manifest:hover{transform:translateY(-4px);}
.hero > .container-xl::before{opacity:.55;}

/* Trust strip sits flush under the hero as one continuous band. */
.trust-strip{margin-top:0;box-shadow:var(--e1);}

/* App promo: plain background so the phone carries the section. */
.app-promo{background:#fff;}

/* Typography: one scale for body copy across the page. */
.section p,.how-card p,.tp-card p,.step p{font-size:14.4px;}

/* Images never exceed their box on any screen. */
img{max-width:100%;height:auto;}

/* Respect users who ask for less motion. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;
    animation-iteration-count:1!important;transition-duration:.01ms!important;
    scroll-behavior:auto!important;}
  .manifest,.tp-ring,.how-node{transform:none!important;}
}

/* ============================================================
   LOGO
   Real brand artwork replaces the inline SVG placeholder.
   ============================================================ */
/* The wordmark is part of the image, so the text node beside it is gone and
   the anchor only needs to size the picture. */
/* Supplied brand files, tight-cropped so the height below is the true artwork
   height. The wordmark is 60% of that — the hexagon mark sets the full height. */
.logo{gap:0;font-size:0;line-height:0;}
a.logo .logo-img,
.logo-img{display:block;height:40px;width:auto;max-width:none;}

.header a.logo .logo-img{height:50px;}
footer a.logo .logo-img{height:46px;}
.dash-sidebar a.logo .logo-img{height:40px;}
.mob-drawer-head a.logo .logo-img{height:38px;}
/* The auth views carry their own inline <style> that loads after this file,
   so !important is what makes this win. */
.auth-logo .logo-img{height:60px !important;}

/* The header row is sized by its tallest child, so a 50px logo needs the
   padding trimmed or the whole bar grows taller than it should. */
.header > .container-xl{padding-top:10px;padding-bottom:10px;}

/* Mobile: the logo shares the row with the menu button, cart and Sign In, so
   it was being squeezed. Those three are tightened below to buy it room. */
@media (max-width:900px){
  .header a.logo .logo-img{height:44px;}
  footer a.logo .logo-img{height:42px;}
  .mob-drawer-head a.logo .logo-img{height:42px;}

  .header > .container-xl{gap:6px;padding-top:4px;padding-bottom:4px;}
  .mob-burger{width:34px;height:34px;}
  .mob-burger svg{width:20px;height:20px;}
  .header .icon-cluster > [data-cart-link]{width:36px;height:36px;}
  .header .icon-cluster > [data-cart-link] svg{width:21px!important;height:21px!important;}
  .header .header-cta{padding:8px 14px;font-size:13px;}
}
@media (max-width:560px){
  .header a.logo .logo-img{height:40px;}
  .header .header-cta{padding:8px 12px;font-size:12.5px;}
}
@media (max-width:420px){
  .header a.logo .logo-img{height:50px;}
  .header > .container-xl{gap:4px;}
  .mob-burger{width:30px;height:30px;}
  .mob-burger svg{width:19px;height:19px;}
  .header .icon-cluster > [data-cart-link]{width:32px;height:32px;}
  .header .header-cta{padding:7px 10px;font-size:12px;}
}
/* A 50px logo is 247px wide, which fits a 420px screen but not a 360px one.
   Rather than stepping the size down again, the logo is allowed to shrink
   with the row below 420px — it keeps its aspect ratio and simply narrows,
   so the header can never overflow on any phone. */
@media (max-width:420px){
  .header a.logo{min-width:0;flex-shrink:1;overflow:hidden;}
  .header a.logo .logo-img{max-width:100%;object-fit:contain;object-position:left center;}
}
@media (max-width:360px){
  .header a.logo .logo-img{height:42px;}
  .header .header-cta{padding:7px 9px;font-size:11.5px;}
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pager{display:flex;align-items:center;justify-content:space-between;gap:18px;
  flex-wrap:wrap;margin-top:32px;padding-top:22px;border-top:1px solid var(--line);}
.pager-info{font-size:13px;color:var(--muted);}
.pager-info b{color:var(--navy);font-weight:600;font-family:var(--font-mono);}

.pager-list{display:flex;align-items:center;gap:6px;list-style:none;padding:0;margin:0;}
.pager-btn{display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:38px;padding:0 11px;border-radius:9px;
  border:1px solid var(--line);background:#fff;color:var(--navy);
  font-size:13.5px;font-weight:600;font-family:var(--font-mono);
  transition:background .15s,border-color .15s,color .15s,transform .15s;}
a.pager-btn:hover{background:var(--navy);border-color:var(--navy);color:#fff;
  transform:translateY(-1px);}
.pager-btn.is-on{background:var(--navy);border-color:var(--navy);color:#fff;cursor:default;}
.pager-btn.is-off{opacity:.38;cursor:not-allowed;}

/* The whole bug: these SVGs had no dimensions, so the browser drew them at
   their natural size and one arrow filled the page. */
.pager-btn svg{display:block;width:15px;height:15px;flex-shrink:0;}

.pager-gap{display:inline-flex;align-items:center;justify-content:center;
  min-width:26px;height:38px;color:var(--muted);font-size:13px;}

@media (max-width:640px){
  .pager{flex-direction:column-reverse;align-items:stretch;gap:14px;}
  .pager-list{justify-content:center;flex-wrap:wrap;}
  .pager-info{text-align:center;}
  .pager-btn{min-width:34px;height:34px;padding:0 9px;font-size:13px;}
}
