/* ==========================================================================
   Tradeowesome — Stadium Grade (Dark)
   ========================================================================== */

:root{
  --bg:#090E1A; --surface:#111A2D; --surface-2:#1A2743; --navy:#060A14;
  --ink:#EEF3FA; --muted:#93A1B9; --dim:#6C7A92;
  --accent:#2F7BFF; --accent-2:#4DE1FF; --accent-ink:#0A0F1C;
  --line:rgba(255,255,255,.10); --line-soft:rgba(255,255,255,.07);
  --grad:linear-gradient(100deg,#2F7BFF 0%,#4DE1FF 100%);
  --glow:rgba(47,123,255,.30);
  --shadow:0 22px 55px -20px rgba(0,0,0,.65);
  --shadow-glow:0 18px 44px -14px rgba(47,123,255,.40);
  --r-sm:3px; --r-md:8px;
  --sp-xs:6px; --sp-sm:12px; --sp-md:24px; --sp-lg:48px; --sp-xl:96px;
  --container:1200px; --gut:clamp(18px,5vw,40px);
  --f-head:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --header-h:78px;
}

*,*::before,*::after{box-sizing:border-box}
:where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol){margin:0}
:where(ul,ol){padding:0;list-style:none}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--f-body); font-weight:400; font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{max-width:100%; height:auto; display:block}
a{color:var(--accent); text-decoration:none; transition:color .15s ease}
a:hover{color:var(--accent-2)}
strong,b{font-weight:600}
hr{border:0;border-top:1px solid var(--line)}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:2px}

h1,h2,h3,h4{font-family:var(--f-head); font-weight:700; line-height:1.06; letter-spacing:.005em; color:var(--ink)}

.tw-container{max-width:var(--container); margin-inline:auto; padding-inline:var(--gut); width:100%}
.screen-reader-text,.tw-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tw-skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;z-index:1000;border-radius:0 0 var(--r-sm) 0}
.tw-skip:focus{left:0;top:0}

.tw-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ----- Buttons ----- */
.tw-btn{
  --btn-bg:var(--accent); --btn-fg:#fff; --btn-bd:transparent;
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:.4em;
  font-family:var(--f-head); font-weight:700; text-transform:uppercase;
  letter-spacing:.045em; font-size:16px; line-height:1;
  padding:14px 26px; border:1px solid var(--btn-bd); border-radius:var(--r-sm);
  background:var(--btn-bg); color:var(--btn-fg); cursor:pointer;
  transition:transform .16s ease, box-shadow .18s ease, background .16s ease, border-color .16s ease, color .16s ease;
  text-decoration:none; white-space:nowrap;
}
.tw-btn--primary::after{
  content:""; position:absolute; top:0; left:-45%; width:35%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg); pointer-events:none;
}
.tw-btn--primary:hover{transform:translateY(-2px); box-shadow:0 10px 26px -6px rgba(47,123,255,.55); color:#fff}
.tw-btn--primary:hover::after{animation:tw-sheen .62s ease}
.tw-btn--ghost{--btn-bg:transparent; --btn-fg:var(--ink); --btn-bd:rgba(255,255,255,.28)}
.tw-btn--ghost:hover{background:var(--surface); border-color:var(--accent); color:var(--ink); transform:translateY(-2px)}
.tw-btn--lg{padding:17px 32px; font-size:17px}
.tw-btn--sm{padding:9px 15px; font-size:13px}
.tw-btn--block{display:flex; width:100%}
.tw-textlink{font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:15px;color:var(--accent);display:inline-flex;gap:.35em;align-items:center}
.tw-textlink:hover{color:var(--accent-2)}

@keyframes tw-sheen{from{transform:translateX(0) skewX(-18deg)}to{transform:translateX(560%) skewX(-18deg)}}
@keyframes tw-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes tw-glow-drift{0%,100%{transform:translate3d(-5%,-3%,0) scale(1)}50%{transform:translate3d(6%,4%,0) scale(1.14)}}

/* ----- Section head ----- */
.tw-eyebrow{display:inline-block;font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:var(--accent);margin-bottom:14px;position:relative;padding-left:34px}
.tw-eyebrow::before{content:"";position:absolute;left:0;top:50%;width:24px;height:2px;background:var(--grad)}
.tw-shead{max-width:56ch;margin-bottom:var(--sp-lg)}
.tw-shead__title{font-size:clamp(28px,4.2vw,46px)}
.tw-shead__intro{margin-top:14px;color:var(--muted);font-size:18px}

/* ----- Topbar ----- */
.tw-topbar{background:var(--navy);color:var(--muted);font-size:13.5px;border-bottom:1px solid var(--line-soft)}
.tw-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding-block:8px}
.tw-topbar a{color:var(--ink);font-family:var(--f-head);text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;white-space:nowrap}
.tw-topbar a:hover{color:var(--accent-2)}
@media(max-width:720px){.tw-topbar a{display:none}}

/* ----- Header ----- */
/* No backdrop-filter here: it would become the containing block for the position:fixed mobile nav panel and trap it inside the header. */
.tw-header{position:sticky;top:0;z-index:100;background:rgba(13,20,36,.96);border-bottom:1px solid var(--line);transition:background .2s ease,box-shadow .2s ease}
.tw-header.is-stuck{background:rgba(8,12,22,.98);box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
.tw-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--header-h);transition:min-height .2s ease}
.tw-header.is-stuck .tw-header__inner{min-height:60px}
.tw-logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--f-head);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:22px;line-height:1}
.tw-logo:hover{color:var(--ink)}
.tw-logo__mark{flex:none;filter:drop-shadow(0 0 10px rgba(47,123,255,.5))}
.tw-logo--img{gap:0}
.tw-logo--img .custom-logo-link{display:flex;line-height:0}
.tw-logo--img img,.tw-logo--img .custom-logo{height:46px;width:auto;max-width:none;display:block;transition:height .2s ease;filter:brightness(1.08) saturate(1.06) drop-shadow(0 1px 5px rgba(0,0,0,.45))}
.tw-header.is-stuck .tw-logo--img img{height:38px}
@media(max-width:600px){.tw-logo--img img{height:38px}}
.tw-nav{display:flex;align-items:center;gap:28px}
.tw-menu{display:flex;align-items:center;gap:26px}
.tw-menu li{position:relative}
.tw-menu a{color:var(--ink);font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:15px;position:relative;padding-block:6px}
.tw-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--grad);transition:right .22s ease}
.tw-menu a:hover{color:var(--ink)}
.tw-menu a:hover::after,.tw-menu .current-menu-item>a::after,.tw-menu .current-menu-parent>a::after{right:0}
.tw-menu .sub-menu{position:absolute;top:calc(100% + 7px);left:-14px;min-width:220px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:8px;display:none;border-radius:var(--r-md)}
.tw-menu li:hover>.sub-menu,.tw-menu li:focus-within>.sub-menu{display:block}
/* invisible bridge across the visual gap so the pointer can travel from parent to child without the dropdown closing */
@media(min-width:1001px){.tw-menu .menu-item-has-children>.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}}
.tw-menu .sub-menu a{display:block;padding:10px 12px;font-size:14px}
.tw-menu .sub-menu a::after{display:none}
.tw-menu .sub-menu a:hover{background:var(--surface-2);color:var(--accent-2)}
.tw-nav__cta{margin-left:6px}
.tw-navtoggle{display:none}

@media(max-width:1000px){
  .tw-navtoggle{display:inline-flex;flex-direction:column;justify-content:center;width:44px;height:40px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;padding:0;position:relative;z-index:130}
  .tw-navtoggle__bar,.tw-navtoggle__bar::before,.tw-navtoggle__bar::after{content:"";display:block;width:20px;height:2px;background:var(--ink);margin-inline:auto;transition:transform .2s ease,opacity .2s ease}
  .tw-navtoggle__bar::before{transform:translateY(-6px)}
  .tw-navtoggle__bar::after{transform:translateY(4px)}
  .tw-navtoggle[aria-expanded="true"] .tw-navtoggle__bar{background:transparent}
  .tw-navtoggle[aria-expanded="true"] .tw-navtoggle__bar::before{transform:rotate(45deg)}
  .tw-navtoggle[aria-expanded="true"] .tw-navtoggle__bar::after{transform:rotate(-45deg)}
  .tw-nav{position:fixed;inset:0 0 0 auto;width:min(88vw,360px);background:#0B1120;flex-direction:column;align-items:stretch;gap:0;padding:calc(var(--header-h) + 20px) 24px 32px;transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:var(--shadow);z-index:120;border-left:1px solid var(--line)}
  .tw-nav.is-open{transform:translateX(0)}
  .tw-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .tw-menu li{border-bottom:1px solid var(--line-soft)}
  .tw-menu a{display:block;padding:15px 0;font-size:17px}
  .tw-menu a::after{display:none}
  .tw-menu .sub-menu{position:static;display:block;border:0;box-shadow:none;padding:0 0 10px 14px;background:transparent}
  .tw-nav__cta{margin:22px 0 0}
  .tw-nav-scrim{position:fixed;inset:0;background:rgba(3,7,15,.62);backdrop-filter:blur(2px);z-index:95}
  body.tw-nav-open{overflow:hidden}
}

/* ----- Hero (image banner) ----- */
.tw-hero{position:relative;overflow:hidden}
.tw-hero--img{background:var(--navy);padding-block:clamp(16px,2.6vw,30px) clamp(22px,4vw,46px);isolation:isolate}
.tw-hero--img::before{
  content:"";position:absolute;z-index:-1;top:-30%;left:50%;width:min(1100px,120vw);aspect-ratio:1;
  transform:translateX(-50%);
  background:radial-gradient(circle at 50% 50%,var(--glow),transparent 62%);
  filter:blur(30px);opacity:.9;
  animation:tw-glow-drift 24s ease-in-out infinite;
}
.tw-hero--img .tw-container{display:flex;flex-direction:column;gap:22px}
.tw-hero__banner{width:100%;height:auto;display:block;border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--shadow);animation:tw-rise .6s ease both}
.tw-hero--img .tw-hero__cta{margin-top:0;display:flex;flex-wrap:wrap;gap:14px;animation:tw-rise .6s ease .1s both}
@media(max-width:600px){.tw-hero--img .tw-hero__cta .tw-btn{flex:1 1 100%}}

/* legacy split hero (unused) */
.tw-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-lg);align-items:center;padding-block:clamp(48px,8vw,var(--sp-xl))}
.tw-hero__title{font-size:clamp(38px,6.4vw,68px)}
.tw-hero__sub{margin-top:20px;color:var(--muted)}

/* ----- Section rhythm ----- */
.tw-sports,.tw-capab,.tw-why,.tw-process,.tw-featured,.tw-faq,.tw-cta{padding-block:clamp(56px,9vw,var(--sp-xl))}
.tw-capab,.tw-faq{background:var(--surface);border-block:1px solid var(--line-soft)}
.tw-capab,.tw-why,.tw-process,.tw-featured,.tw-faq{content-visibility:auto;contain-intrinsic-size:1px 640px}

/* ----- Sports: category banner cards ----- */
.tw-catgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.tw-catcard{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;background:var(--surface);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow);line-height:0;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.tw-catcard::after{content:"";position:absolute;inset:0;box-shadow:inset 0 -60px 60px -30px rgba(6,10,20,.7);pointer-events:none}
.tw-catcard:hover,.tw-catcard:focus-visible{transform:translateY(-6px);border-color:rgba(47,123,255,.55);box-shadow:0 26px 50px -18px rgba(0,0,0,.6),0 0 0 1px rgba(47,123,255,.35),0 14px 40px -12px rgba(47,123,255,.35);text-decoration:none}
.tw-catcard__img{width:100%;height:auto;display:block;transition:transform .35s ease}
.tw-catcard:hover .tw-catcard__img{transform:scale(1.035)}
@media(max-width:1000px){.tw-catgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.tw-catgrid{grid-template-columns:repeat(2,1fr);gap:12px}}
@media(max-width:400px){.tw-catgrid{grid-template-columns:1fr;max-width:340px;margin-inline:auto}}

/* ----- Capabilities ----- */
.tw-capab__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--sp-lg)}
.tw-capab__title{font-size:clamp(26px,3.6vw,40px)}
.tw-capab__lead p{margin-top:16px;color:var(--muted)}
.tw-capab__lead .tw-textlink{margin-top:22px;display:inline-flex}
.tw-capab__list>div{padding:22px 0;border-top:1px solid var(--line)}
.tw-capab__list>div:last-child{border-bottom:1px solid var(--line)}
.tw-capab__list dt{font-family:var(--f-head);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:20px;color:var(--ink)}
.tw-capab__list dd{margin-top:6px;color:var(--muted)}
@media(max-width:820px){.tw-capab__inner{grid-template-columns:1fr;gap:var(--sp-md)}}

/* ----- Why band ----- */
.tw-why{background:var(--navy);position:relative;overflow:hidden}
.tw-why__title{font-size:clamp(24px,3.4vw,38px);margin-bottom:var(--sp-lg)}
.tw-why__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.tw-why__item{padding:4px 26px 4px 22px;border-left:2px solid var(--accent)}
.tw-why__k{display:block;font-family:var(--f-head);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:21px;margin-bottom:8px;color:var(--ink)}
.tw-why__item p{color:var(--muted);font-size:15.5px}
@media(max-width:860px){.tw-why__grid{grid-template-columns:1fr 1fr;gap:26px 0}}
@media(max-width:520px){.tw-why__grid{grid-template-columns:1fr}}

/* ----- Process ----- */
.tw-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.tw-steps li{position:relative;padding-top:22px;border-top:2px solid var(--line)}
.tw-steps li::before{content:"";position:absolute;top:-2px;left:0;width:40%;height:2px;background:var(--grad)}
.tw-steps__n{font-family:var(--f-head);font-weight:700;font-size:36px;color:var(--accent);line-height:1;display:block;margin-bottom:10px}
.tw-steps h3{font-size:20px;text-transform:uppercase;letter-spacing:.02em}
.tw-steps p{margin-top:6px;color:var(--muted);font-size:15px}
@media(max-width:900px){.tw-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.tw-steps{grid-template-columns:1fr}}

/* ----- Product grid ----- */
.tw-prodgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.tw-prod{display:flex;flex-direction:column;gap:10px}
.tw-prod__media{border-radius:var(--r-md);overflow:hidden;background:var(--surface);border:1px solid var(--line-soft);aspect-ratio:9/7}
.tw-prod__media img,.tw-prod__media .tw-ph{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.tw-prod__link:hover .tw-prod__media img{transform:scale(1.04)}
.tw-prod__title{font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--ink)}
.tw-prod__link{color:var(--ink)}
.tw-prod__link:hover{text-decoration:none}
.tw-prod__link:hover .tw-prod__title{color:var(--accent-2)}
.tw-prod__cta{font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:var(--accent)}
@media(max-width:900px){.tw-prodgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tw-prodgrid{grid-template-columns:1fr}}

/* ----- FAQ ----- */
.tw-faq__inner{max-width:820px;margin-inline:auto}
.tw-faq__title{font-size:clamp(24px,3.4vw,38px);margin-bottom:var(--sp-md)}
.tw-faq__list details{border-top:1px solid var(--line);padding:18px 0}
.tw-faq__list details:last-child{border-bottom:1px solid var(--line)}
.tw-faq__list summary{font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;color:var(--ink)}
.tw-faq__list summary::-webkit-details-marker{display:none}
.tw-faq__list summary::after{content:"+";color:var(--accent);font-size:22px;line-height:1;transition:transform .2s ease}
.tw-faq__list details[open] summary::after{content:"−"}
.tw-faq__list details p{margin-top:12px;color:var(--muted);animation:tw-rise .3s ease both}

/* ----- CTA band ----- */
.tw-cta{background:var(--navy);position:relative;overflow:hidden;isolation:isolate}
.tw-cta::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:min(900px,130vw);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle at 50% 50%,rgba(47,123,255,.30),transparent 60%);filter:blur(40px);animation:tw-glow-drift 26s ease-in-out infinite}
.tw-cta__inner{text-align:center;max-width:660px;margin-inline:auto}
.tw-cta h2{font-size:clamp(28px,4.6vw,48px);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tw-cta p{margin:14px 0 26px;font-size:18px;color:var(--muted)}

/* ----- Page / prose ----- */
.tw-page__head{padding-block:var(--sp-lg) var(--sp-md)}
.tw-page-title{font-size:clamp(30px,5vw,52px)}
.tw-page__body{padding-bottom:var(--sp-xl)}
.tw-page-intro{margin-top:16px;max-width:64ch;color:var(--muted);font-size:19px}
.tw-prose{max-width:70ch;color:var(--ink)}
.tw-prose>*+*{margin-top:1.1em}
.tw-prose h2{font-size:clamp(24px,3.4vw,34px);margin-top:1.6em}
.tw-prose h3{font-size:22px;text-transform:uppercase;letter-spacing:.02em;margin-top:1.4em}
.tw-prose ul{list-style:none;padding-left:0}
.tw-prose ul li{position:relative;padding-left:1.4em}
.tw-prose ul li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--grad);border-radius:1px}
.tw-prose ol{list-style:decimal;padding-left:1.3em}
.tw-prose ol li::marker{color:var(--accent);font-family:var(--f-head)}
.tw-prose li+li{margin-top:.5em}
.tw-prose a{text-decoration:underline;text-underline-offset:3px}
.tw-prose blockquote{border-left:3px solid var(--accent);padding-left:18px;color:var(--muted)}
.tw-prose strong{color:var(--ink)}

/* ----- Breadcrumbs ----- */
.tw-breadcrumbs{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:var(--dim);margin-bottom:14px}
.tw-breadcrumbs a{color:var(--muted)}
.tw-breadcrumbs a:hover{color:var(--accent-2)}
.tw-breadcrumbs .breadcrumb_last{color:var(--ink)}

/* ----- Forms ----- */
.tw-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tw-field{display:flex;flex-direction:column;gap:7px;margin-top:16px}
.tw-field label{font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:13.5px;color:var(--muted)}
.tw-field input,.tw-field select,.tw-field textarea{font-family:var(--f-body);font-size:16px;color:var(--ink);background:var(--surface);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-sm);padding:12px 13px;width:100%;transition:border-color .15s ease,box-shadow .15s ease}
.tw-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.tw-field textarea{resize:vertical;min-height:120px}
.tw-field input::placeholder,.tw-field textarea::placeholder{color:var(--dim)}
.tw-field input:focus,.tw-field select:focus,.tw-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(47,123,255,.35)}
.tw-field__hint{font-family:var(--f-body);text-transform:none;letter-spacing:0;font-size:13px;color:var(--dim)}
.tw-field--check label{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-family:var(--f-body);font-size:14.5px;color:var(--ink)}
.tw-field--check input{width:auto;margin-top:3px;accent-color:var(--accent)}
.tw-req{color:var(--accent)}
.tw-form button[type=submit]{margin-top:24px}
.tw-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tw-formnote{border-radius:var(--r-md);padding:22px 24px;margin-bottom:24px;border:1px solid var(--line)}
.tw-formnote--ok{background:rgba(47,123,255,.12);border-color:var(--accent)}
.tw-formnote--ok h2{font-size:24px;margin-bottom:8px}
.tw-formnote--err{background:rgba(226,80,60,.14);border-color:#E2503C;color:#ffb0a0}

.tw-quote-layout{display:grid;grid-template-columns:1.4fr .85fr;gap:var(--sp-lg);padding-bottom:var(--sp-xl)}
.tw-quote-layout__form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(20px,3vw,34px)}
.tw-quote-layout__aside h2{font-size:22px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}
.tw-ministeps{counter-reset:ms;display:flex;flex-direction:column;gap:14px}
.tw-ministeps li{position:relative;padding-left:40px;color:var(--muted);font-size:15.5px}
.tw-ministeps li::before{counter-increment:ms;content:counter(ms);position:absolute;left:0;top:-2px;width:27px;height:27px;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:var(--f-head);font-weight:700;border-radius:var(--r-sm);font-size:14px}
.tw-aside-card{margin-top:26px;background:var(--navy);border:1px solid var(--line);border-radius:var(--r-md);padding:20px}
.tw-aside-card p{margin-bottom:8px;font-weight:600;color:var(--ink)}
.tw-aside-card__fine{font-weight:400;color:var(--muted);font-size:13.5px;margin-top:10px}
.tw-contact-list{display:flex;flex-direction:column;gap:14px;margin-bottom:8px}
.tw-contact-list li{display:flex;flex-direction:column}
.tw-contact-list span{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.05em;font-size:12px;color:var(--dim)}
@media(max-width:900px){.tw-quote-layout{grid-template-columns:1fr;gap:var(--sp-md)}.tw-form__row{grid-template-columns:1fr}}

/* ----- Post grid / cards ----- */
.tw-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-bottom:var(--sp-xl)}
.tw-card-post__link{color:var(--ink)}
.tw-card-post__link:hover{text-decoration:none}
.tw-card-post__media{border-radius:var(--r-md);overflow:hidden;background:var(--surface);border:1px solid var(--line-soft);aspect-ratio:9/7;margin-bottom:12px}
.tw-card-post__media img,.tw-card-post__media .tw-ph{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.tw-card-post__link:hover .tw-card-post__media img{transform:scale(1.04)}
.tw-card-post__date{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.05em;font-size:12px;color:var(--dim)}
.tw-card-post__title{font-size:21px;margin:4px 0 8px;text-transform:uppercase;letter-spacing:.01em;color:var(--ink)}
.tw-card-post__link:hover .tw-card-post__title{color:var(--accent-2)}
.tw-card-post__excerpt{color:var(--muted);font-size:15px}
@media(max-width:900px){.tw-post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tw-post-grid{grid-template-columns:1fr}}
.tw-archive__desc{margin-top:12px;color:var(--muted);max-width:60ch}
.tw-single__media{margin-block:var(--sp-md);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line)}
.tw-single__meta{color:var(--dim);font-family:var(--f-head);text-transform:uppercase;letter-spacing:.05em;font-size:13px;margin-top:10px}
.tw-single__nav{display:flex;justify-content:space-between;gap:20px;padding:var(--sp-md) 0 var(--sp-xl);font-family:var(--f-head);text-transform:uppercase;letter-spacing:.03em}
.tw-single__nav a{color:var(--muted)}
.tw-single__nav a:hover{color:var(--accent-2)}

/* ----- Pagination ----- */
.pagination,.woocommerce-pagination{padding:var(--sp-md) 0 var(--sp-xl)}
.pagination .nav-links,.woocommerce-pagination ul{display:flex;gap:8px;list-style:none;padding:0;flex-wrap:wrap;justify-content:center}
.page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--f-head);font-weight:600;color:var(--ink);background:var(--surface)}
.page-numbers.current{background:var(--accent);color:#fff;border-color:var(--accent)}
a.page-numbers:hover{border-color:var(--accent);color:var(--accent-2);text-decoration:none}

/* ----- 404 / search ----- */
.tw-404__inner{padding-block:var(--sp-xl);max-width:60ch}
.tw-404__actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.tw-searchlist{padding-bottom:var(--sp-xl)}
.tw-searchlist li{padding:20px 0;border-top:1px solid var(--line)}
.tw-searchlist a{font-family:var(--f-head);font-weight:700;text-transform:uppercase;font-size:20px;color:var(--ink)}
.tw-searchlist a:hover{color:var(--accent-2)}
.tw-searchlist p{color:var(--muted);margin-top:6px}
.tw-searchform{display:flex;gap:10px;max-width:460px}
.tw-searchform input{flex:1;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-sm);padding:12px 13px;font-size:16px;background:var(--surface);color:var(--ink)}

/* ==========================================================================
   WooCommerce
   ========================================================================== */
.tw-wc__body{padding-bottom:var(--sp-xl)}
.woocommerce-result-count{color:var(--muted);font-size:14px;margin-bottom:18px}
.woocommerce-ordering{margin-bottom:24px}
.woocommerce-ordering select{border:1px solid rgba(255,255,255,.14);border-radius:var(--r-sm);padding:10px 12px;font-family:var(--f-body);font-size:15px;background:var(--surface);color:var(--ink)}
ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none;margin:0;padding:0}
ul.products li.product{display:flex;flex-direction:column;gap:10px;text-align:left}
ul.products li.product a{color:var(--ink)}
ul.products li.product a img,ul.products li.product .tw-ph-wrap{border-radius:var(--r-md);overflow:hidden;background:var(--surface);border:1px solid var(--line-soft);aspect-ratio:9/7;width:100%;object-fit:cover;margin:0;transition:transform .35s ease,border-color .2s ease}
ul.products li.product:hover a img{transform:scale(1.04);border-color:rgba(47,123,255,.4)}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-head);font-weight:700;text-transform:uppercase;letter-spacing:.01em;font-size:19px;padding:0;color:var(--ink)}
ul.products li.product:hover .woocommerce-loop-product__title{color:var(--accent-2)}
ul.products li.product .price{display:none!important}
ul.products li.product .button,ul.products li.product .added_to_cart{display:none!important}
.tw-loop-quote{align-self:flex-start;margin-top:2px;font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:var(--accent);border:0;padding:0;background:none}
li.product .onsale{display:none}
@media(max-width:900px){ul.products{grid-template-columns:1fr 1fr}}
@media(max-width:480px){ul.products{grid-template-columns:1fr}}

.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg);align-items:start}
.single-product div.product .woocommerce-product-gallery{margin:0}
.single-product div.product .woocommerce-product-gallery__image img,.single-product .tw-ph-wrap{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line)}
.single-product div.product .flex-control-thumbs{display:flex;gap:10px;padding:12px 0 0;list-style:none;margin:0}
.single-product div.product .flex-control-thumbs li{width:80px}
.single-product div.product .flex-control-thumbs img{border-radius:var(--r-sm);border:1px solid var(--line);cursor:pointer}
.single-product div.product .product_title{font-size:clamp(28px,4vw,44px);text-transform:uppercase;letter-spacing:.005em;margin-bottom:10px}
.single-product .woocommerce-product-details__short-description{color:var(--muted);margin:14px 0}
.single-product .woocommerce-product-details__short-description p+p{margin-top:.8em}
.single-product .product_meta{margin-top:20px;font-size:13.5px;color:var(--dim);font-family:var(--f-head);text-transform:uppercase;letter-spacing:.04em}
.single-product .product_meta a{color:var(--muted)}
.tw-quotebox{margin-top:22px;background:var(--navy);border:1px solid var(--line);border-radius:var(--r-md);padding:22px;position:relative;overflow:hidden}
.tw-quotebox::before{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(47,123,255,.25),transparent 70%);filter:blur(20px)}
.tw-quotebox__lead{font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:16px;margin-bottom:14px;color:var(--ink)}
.tw-quotebox__note{color:var(--muted);font-size:14px;margin-top:12px}
/* ----- Category copy + FAQ block ----- */
.tw-cat-copy{background:var(--surface);border-top:1px solid var(--line-soft);padding-block:clamp(48px,7vw,var(--sp-xl))}
.tw-cat-copy__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg)}
.tw-cat-copy__inner .tw-prose h2,.tw-cat-faq h2{font-size:clamp(22px,3vw,30px);text-transform:uppercase;letter-spacing:.01em;margin-bottom:14px}
.tw-cat-copy__inner .tw-prose p{color:var(--muted)}
.tw-cat-copy__inner .tw-textlink{margin-top:16px;display:inline-flex}
@media(max-width:820px){.tw-cat-copy__inner{grid-template-columns:1fr;gap:var(--sp-md)}}

/* ----- Sibling products on single product ----- */
.tw-related{grid-column:1/-1;margin-top:var(--sp-xl);padding-top:var(--sp-lg);border-top:1px solid var(--line)}
.tw-related__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:var(--sp-md)}
.tw-related__head h2{font-size:clamp(20px,2.6vw,28px);text-transform:uppercase;letter-spacing:.01em}

.woocommerce-tabs{grid-column:1/-1;margin-top:var(--sp-lg)}
.woocommerce-tabs ul.tabs{display:flex;gap:6px;list-style:none;padding:0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.woocommerce-tabs ul.tabs li a{display:block;padding:12px 16px;font-family:var(--f-head);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:14px;color:var(--muted)}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom:2px solid var(--accent)}
.woocommerce-tabs .panel{padding-top:22px;max-width:72ch;color:var(--ink)}
.woocommerce-tabs .panel h2{font-size:22px;text-transform:uppercase;margin-bottom:10px}
.shop_attributes{width:100%;border-collapse:collapse;font-size:15px}
.shop_attributes th,.shop_attributes td{text-align:left;padding:10px 12px;border-top:1px solid var(--line)}
.shop_attributes th{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.03em;width:35%;color:var(--muted)}
.shop_attributes td{color:var(--ink)}
@media(max-width:820px){.single-product div.product{grid-template-columns:1fr;gap:var(--sp-md)}}

.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;padding:14px 16px;border-radius:var(--r-sm);border-left:3px solid var(--accent);background:var(--surface);margin-bottom:20px;font-size:15px;color:var(--ink)}
.woocommerce-error{border-left-color:#E2503C}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.woocommerce-MyAccount-navigation a{display:block;padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--f-head);text-transform:uppercase;font-size:13px;color:var(--ink);background:var(--surface)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--accent);color:#fff;border-color:var(--accent)}
.woocommerce-account .woocommerce{color:var(--ink)}

/* ----- Footer ----- */
.tw-footer{background:var(--navy);color:var(--muted);border-top:1px solid var(--line)}
.tw-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:var(--sp-lg);padding-block:var(--sp-xl) var(--sp-lg)}
.tw-logo--footer{color:var(--ink);font-size:20px;margin-bottom:16px}
.tw-footer__blurb{font-size:14.5px;margin-bottom:20px;max-width:38ch}
.tw-footer__h{font-family:var(--f-head);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:15px;color:var(--ink);margin-bottom:14px}
.tw-footer__col ul{display:flex;flex-direction:column;gap:9px}
.tw-footer__col a{color:var(--muted);font-size:14.5px}
.tw-footer__col a:hover{color:var(--accent-2)}
.tw-footer__note{margin-top:12px;font-size:12px;color:var(--dim)}
.tw-footer__bar{border-top:1px solid var(--line)}
.tw-footer__bar-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:20px;font-size:13px}
.tw-footer__legal{display:flex;gap:18px;list-style:none;padding:0;margin:0}
.tw-footer__legal a{color:var(--muted)}
.tw-footer__legal a:hover{color:var(--accent-2)}
@media(max-width:900px){.tw-footer__grid{grid-template-columns:1fr 1fr;gap:var(--sp-md) var(--sp-lg)}}
@media(max-width:520px){.tw-footer__grid{grid-template-columns:1fr}}

/* ----- Scroll reveal (JS-driven) ----- */
.js .tw-io{opacity:0;transform:translateY(22px);will-change:opacity,transform}
.js .tw-io.is-in{opacity:1;transform:none;transition:opacity .55s ease,transform .6s cubic-bezier(.2,.7,.2,1)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .tw-io{opacity:1!important;transform:none!important}
  .tw-hero--img::before,.tw-cta::before{animation:none!important}
  .tw-btn--primary::after{display:none}
}

@media screen and (max-width:782px){.admin-bar .tw-header{top:0}}