/* EK PRINTERS — unified premium theme (Aether-inspired) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg:#04060c;
  --bg-elevated:#0a101c;
  --surface:rgba(14,20,34,0.72);
  --surface-strong:rgba(18,26,42,0.92);
  --ink:#f4f7ff;
  --muted:rgba(210,218,235,0.72);
  --accent:#2ab4ff;
  --accent-2:#0d8ee8;
  --accent-soft:rgba(42,180,255,0.16);
  --line:rgba(255,255,255,0.08);
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 22px 50px rgba(0,0,0,0.42);
  --shadow-soft:0 12px 32px rgba(0,0,0,0.28);
  --max:1040px;
  --font-body:'Inter','Segoe UI',Roboto,Arial,sans-serif;
  --font-heading:'Inter','Segoe UI',Roboto,Arial,sans-serif;
  --font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:5.25rem;
}
#products,#gallery,#contact{scroll-margin-top:5.25rem}
body{
  background:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(42,180,255,0.14), transparent 55%),
    radial-gradient(ellipse 60% 40% at 90% 0%, rgba(99,102,241,0.08), transparent 50%),
    var(--bg) !important;
  color:var(--ink) !important;
  font-family:var(--font-body) !important;
  -webkit-font-smoothing:antialiased;
}
body::before{display:none !important}
body.theme-light{
  --bg:#f4f8ff;
  --bg-elevated:#eaf1ff;
  --surface:rgba(255,255,255,0.88);
  --surface-strong:#ffffff;
  --ink:#0f172a;
  --muted:rgba(15,23,42,0.66);
  --line:rgba(15,23,42,0.12);
  --shadow:0 18px 42px rgba(15,23,42,0.16);
  --shadow-soft:0 10px 24px rgba(15,23,42,0.1);
  background:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(42,180,255,0.12), transparent 55%),
    radial-gradient(ellipse 60% 40% at 90% 0%, rgba(99,102,241,0.07), transparent 50%),
    #f4f8ff !important;
  color:var(--ink) !important;
}
body.theme-light #navMain,
body.theme-light .top{
  background:rgba(255,255,255,0.92) !important;
  border-bottom:1px solid rgba(15,23,42,0.1) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  box-shadow:0 8px 22px rgba(15,23,42,0.08) !important;
}
body.theme-light .n3-links a{color:rgba(15,23,42,0.72) !important}
body.theme-light .n3-links a:hover{color:#0f172a !important}
body.theme-light .feat-item,
body.theme-light .g3-card,
body.theme-light .cta3-form,
body.theme-light .about-stat,
body.theme-light .about-feat,
body.theme-light .item,
body.theme-light .modal,
body.theme-light .hang-card-media,
body.theme-light .foot3{
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,0.1) !important;
  box-shadow:0 10px 24px rgba(15,23,42,0.08) !important;
}
body.theme-light .p3-title,
body.theme-light .g3-title,
body.theme-light .cta3-form-title,
body.theme-light .about-title,
body.theme-light .cat-page-head h1,
body.theme-light .feat-text strong,
body.theme-light .f3-copy,
body.theme-light .h3-trust-text strong{
  color:#0f172a !important;
}
body.theme-light .p3-subtitle,
body.theme-light .g3-sub,
body.theme-light .cta3-form-sub,
body.theme-light .about-text,
body.theme-light .about-stat-label,
body.theme-light .about-feat-desc,
body.theme-light .feat-text span,
body.theme-light .h3-trust-text{
  color:rgba(15,23,42,0.64) !important;
}
body.theme-light .cta3-input,
body.theme-light .qty,
body.theme-light .prod-qty{
  background:#f2f7ff !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,0.12) !important;
}
body.theme-light .cta3-input::placeholder,
body.theme-light .qty::placeholder,
body.theme-light .prod-qty::placeholder{
  color:rgba(15,23,42,0.46) !important;
}
body.theme-light .cta3-select-placeholder{
  color:rgba(15,23,42,0.5) !important;
}
body.theme-light .cta3-select-btn::after{
  border-top-color:rgba(15,23,42,0.5) !important;
}
body.theme-light .cta3-select-option:hover,
body.theme-light .cta3-select-option:focus{
  color:#0f172a !important;
  background:rgba(20,148,232,0.1) !important;
}
body.theme-light .back{
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,0.14) !important;
  background:#ffffff !important;
}

h1,h2,h3,.h3-title,.p3-title,.g3-title,.about-title,.cta3-form-title,.cta3-left h2,.testi3-left h2{
  font-family:var(--font-serif) !important;
  font-weight:600 !important;
  letter-spacing:-0.02em;
  font-style:normal;
}
.p3-title,.g3-title,.cta3-form-title,.about-title{
  font-size:clamp(1.55rem,4vw,2.15rem) !important;
}

/* —— Nav (Aether-style) —— */
.n3-utility{display:none !important}
#navMain,.top{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:1rem 1.15rem !important;
  border:none !important;
  border-radius:0 !important;
  border-bottom:1px solid transparent !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
  z-index:200 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:0.75rem !important;
  transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease;
}
#navMain.nav-scrolled,.top.nav-scrolled{
  background:rgba(4,6,12,0.55) !important;
  border-bottom-color:var(--line) !important;
  backdrop-filter:blur(12px) saturate(1.1) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.1) !important;
}
/* Force transparent nav over hero (beats inline overrides) */
body #navMain:not(.nav-scrolled){
  top:0 !important;
  left:0 !important;
  right:0 !important;
  transform:none !important;
  width:100% !important;
  border-radius:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}
.nav-brand-wordmark{display:none !important}
.n3-logo{
  display:flex !important;
  align-items:center !important;
  text-decoration:none !important;
  flex-shrink:0;
  min-width:0;
}
.n3-logo-img{
  display:block !important;
  height:34px !important;
  width:auto !important;
  max-width:min(72vw,260px) !important;
  object-fit:contain !important;
  filter:drop-shadow(0 2px 12px rgba(0,0,0,0.4));
}
.nav-icon-bar{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:0.55rem !important;
  flex-shrink:0;
}
.nav-icon-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:2.28rem !important;
  height:2.18rem !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,0.28) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#fff !important;
  cursor:pointer !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:opacity .2s,transform .2s,border-color .2s,background .2s;
}
.nav-icon-btn svg{
  width:1.32rem;
  height:1.32rem;
  stroke:currentColor;
  fill:none;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nav-icon-btn:hover{
  opacity:0.95;
  transform:translateY(-1px);
  background:rgba(255,255,255,0.08) !important;
  border-color:rgba(255,255,255,0.42) !important;
}
.n3-theme-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:2.28rem !important;
  height:2.18rem !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,0.28) !important;
  background:transparent !important;
  color:#e8eeff !important;
  cursor:pointer !important;
  font-size:1.05rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  box-shadow:none !important;
  transition:transform .2s,background .2s,border-color .2s,color .2s !important;
}
.n3-theme-icon:hover{
  transform:translateY(-1px) !important;
  background:rgba(255,255,255,0.08) !important;
  border-color:rgba(255,255,255,0.42) !important;
}
body.theme-light .n3-theme-icon{
  background:transparent !important;
  border-color:rgba(15,23,42,0.22) !important;
  color:#0f172a !important;
}
body.theme-light .nav-icon-btn{
  border-color:rgba(15,23,42,0.22) !important;
  color:#0f172a !important;
}
body.theme-light .nav-icon-btn:hover{
  background:rgba(15,23,42,0.06) !important;
  border-color:rgba(15,23,42,0.34) !important;
}
.n3-mobile-bar{display:none !important}
.n3-desktop-row{
  display:none !important;
  align-items:center !important;
  gap:1.75rem !important;
  margin-left:auto !important;
  margin-right:0.5rem !important;
}
.n3-links{display:flex !important;gap:1.65rem !important}
.n3-links a{
  color:rgba(255,255,255,0.72) !important;
  font-family:var(--font-body) !important;
  font-size:0.72rem !important;
  font-weight:500 !important;
  letter-spacing:0.06em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:color .2s;
}
.n3-links a:hover{color:#fff !important}
.n3-quote-navdesk{
  background:transparent !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,0.35) !important;
  box-shadow:none !important;
  padding:0.5rem 1rem !important;
  font-size:0.68rem !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
}
.n3-quote-navdesk:hover{
  background:rgba(255,255,255,0.08) !important;
  transform:none !important;
  filter:none !important;
}
.n3-burger,.n3-drawer-close{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  border-radius:var(--radius-sm) !important;
}
.n3-btn,.btn3-submit,.prod-quote-btn,.btn-primary,.send-btn{
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 10px 28px rgba(13,142,232,0.35) !important;
  font-family:var(--font-body) !important;
  font-weight:600 !important;
  letter-spacing:0.1em !important;
  text-transform:uppercase !important;
  transition:transform .2s,box-shadow .2s,filter .2s;
}
.n3-btn:hover,.btn3-submit:hover,.btn-primary:hover,.send-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
}
.af-btn{
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 14px 36px rgba(13,142,232,0.42) !important;
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  letter-spacing:0.14em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease !important;
}
.af-btn:hover{
  background:linear-gradient(135deg,#3dc4ff,var(--accent-2)) !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 18px 42px rgba(42,180,255,0.48) !important;
  filter:none !important;
}
.n3-premium-line{display:none !important}
.brand img,.f3-logo-img{
  height:32px !important;
  max-width:min(70vw,280px) !important;
  width:auto !important;
  object-fit:contain !important;
}
.category-top .nav-brand-wordmark{font-size:clamp(1.15rem,4.2vw,1.5rem) !important}
.head .kicker,.cat-kicker{
  font-family:var(--font-body) !important;
  font-size:0.62rem !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
}
.head h1,.cat-title{
  font-family:var(--font-serif) !important;
  font-weight:600 !important;
}
.head .sub,.cat-sub{font-family:var(--font-body) !important}
.category-top .back{
  font-family:var(--font-body) !important;
  font-size:0.68rem !important;
  letter-spacing:0.1em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,0.85) !important;
  border:1px solid rgba(255,255,255,0.22) !important;
  background:transparent !important;
  border-radius:999px !important;
  padding:0.5rem 0.85rem !important;
}

/* —— Hero (full-bleed under transparent nav) —— */
.h3{
  padding:0 !important;
  margin:0 !important;
  min-height:auto !important;
  display:block !important;
}
.h3-banner{
  width:100% !important;
  min-height:100svh !important;
  max-height:none !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 !important;
  padding:5.25rem 1.25rem 2.5rem !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  position:relative !important;
  overflow:hidden !important;
  background:#04060c !important;
}
.hero-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.hero-bg-slide{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:0 !important;
  transition:opacity .65s ease !important;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.hero-bg-slide.is-active{
  opacity:1 !important;
  z-index:1 !important;
}
.h3-banner::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(105deg,rgba(4,6,12,0.92) 0%,rgba(4,6,12,0.55) 42%,rgba(4,6,12,0.25) 68%,rgba(4,6,12,0.5) 100%),
    linear-gradient(180deg,transparent 40%,rgba(4,6,12,0.85) 100%) !important;
}
.h3-banner::after{display:none !important}
.h3-banner > *:not(.hero-bg){
  position:relative !important;
  z-index:2 !important;
}
.h3-badge{
  display:inline-flex !important;
  align-items:center !important;
  gap:0.45rem !important;
  padding:0 !important;
  margin:0 0 0.9rem !important;
  border-radius:0 !important;
  background:transparent !important;
  border:none !important;
  color:rgba(255,255,255,0.78) !important;
  font-family:var(--font-body) !important;
  font-size:0.62rem !important;
  font-weight:500 !important;
  letter-spacing:0.28em !important;
  text-align:left !important;
  text-transform:uppercase;
}
.h3-badge::before{
  content:'' !important;
  display:inline-block !important;
  width:6px !important;
  height:6px !important;
  border-radius:50% !important;
  background:var(--accent) !important;
  box-shadow:0 0 12px rgba(42,180,255,0.85) !important;
  flex-shrink:0 !important;
}
.h3-title{
  font-family:var(--font-serif) !important;
  font-size:clamp(2.35rem,10vw,3.85rem) !important;
  font-weight:600 !important;
  line-height:0.92 !important;
  max-width:11ch !important;
  text-align:left !important;
  margin:0 0 0.85rem !important;
  text-shadow:0 12px 40px rgba(0,0,0,0.55) !important;
  text-transform:uppercase;
  letter-spacing:-0.01em !important;
}
.h3-title em{color:#fff !important;font-style:italic;font-weight:500}
.h3-sub{
  color:rgba(255,255,255,0.82) !important;
  font-family:var(--font-body) !important;
  font-size:0.84rem !important;
  font-weight:400 !important;
  max-width:30ch !important;
  margin:0 0 1.25rem !important;
  text-align:left !important;
  line-height:1.55 !important;
}
.af-actions{justify-content:flex-start !important}
.af-btn{
  padding:0.82rem 1.35rem !important;
  border-radius:999px !important;
  font-size:0.68rem !important;
  text-transform:uppercase;
}
.af-dot{background:rgba(255,255,255,0.22) !important}
.af-dot.active{background:var(--accent) !important;width:28px !important}

/* —— Sections layout —— */
.prods3,.feat-bar,.gallery3,.testi3,.cta3,.h3-trust--bottom,.foot3,.wrap{
  width:min(94%,var(--max)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.prods3{
  position:relative !important;
  margin-top:3.5rem !important;
  margin-bottom:1.25rem !important;
  padding:2.75rem 0 2.25rem !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.prods3::before{
  content:'' !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,rgba(42,180,255,0.55),transparent) !important;
  pointer-events:none !important;
}
.p3-header{margin-bottom:1.5rem !important}
.p3-subtitle{
  letter-spacing:0.03em !important;
  line-height:1.6 !important;
}
.p3-title,.g3-title,.testi3-left h2,.cta3-left h2,.cta3-form-title,.about-title{
  color:var(--ink) !important;
  font-size:clamp(1.5rem,4vw,2.2rem) !important;
}
.p3-title em,.g3-title em,.cta3-left h2 em,.cta3-form-title em,.about-title em{
  color:var(--accent) !important;
  font-style:normal !important;
}
.p3-subtitle,.g3-sub,.t3-text,.cta3-form-sub,.cta3-left p,.t3-source,.about-text,.sub{
  color:var(--muted) !important;
}

/* —— Product grid (What We Create — no card chrome) —— */
.p3-grid{gap:0.75rem !important}
.p3-card{
  background:transparent !important;
  border:none !important;
  border-radius:14px !important;
  box-shadow:none !important;
  overflow:hidden !important;
  transition:transform .25s ease !important;
}
.p3-card:hover{
  transform:translateY(-5px) !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.p3-card-img-wrap{border-radius:14px !important;overflow:hidden !important}
.p3-card-img{transition:transform .4s ease}
.p3-card:hover .p3-card-img{transform:scale(1.04)}
.p3-card-body{
  background:linear-gradient(180deg,transparent,rgba(4,6,12,0.88)) !important;
  padding:0.7rem !important;
}
.p3-cname{color:#fff !important;font-weight:600 !important;font-size:0.78rem !important}
.p3-cdesc{display:none !important}
.p3-arrow{
  background:var(--accent-soft) !important;
  color:var(--accent) !important;
  border:1px solid rgba(42,180,255,0.35) !important;
}

/* —— Features, gallery, testimonials —— */
.feat-bar{
  padding:0.5rem 0 1.5rem !important;
  gap:0.65rem !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.feat-item,.g3-card,.t3-review,.cta3-contact-card{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-soft) !important;
  backdrop-filter:blur(10px) saturate(1.15);
  -webkit-backdrop-filter:blur(10px) saturate(1.15);
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease !important;
}
.feat-item:hover{
  border-color:rgba(42,180,255,0.28) !important;
  box-shadow:0 16px 36px rgba(0,0,0,0.38) !important;
}
.feat-text strong,.cta3-contact-text{color:var(--ink) !important}
.feat-text span{color:var(--muted) !important}
.gallery3{padding:2rem 0 2.75rem !important}
.g3-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:1rem !important;
}
.g3-card{
  position:relative !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:none !important;
  border-radius:16px !important;
  background:#080c14 !important;
  box-shadow:0 18px 40px rgba(0,0,0,0.35) !important;
}
.g3-card::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(4,6,12,0.08) 0%,rgba(4,6,12,0.35) 50%,rgba(4,6,12,0.92) 100%) !important;
}
.g3-img{
  width:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:0 !important;
  transition:transform .45s ease !important;
}
.g3-card:hover .g3-img{transform:scale(1.03) !important}
.g3-rotator{
  position:relative !important;
  aspect-ratio:4/3 !important;
  overflow:hidden !important;
}
.g3-rotator .g3-rotator-slide{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  opacity:0 !important;
  transition:opacity .85s ease !important;
  transform:none !important;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.g3-rotator .g3-rotator-slide.is-active{
  opacity:1 !important;
  z-index:1 !important;
}
.g3-card--rotator:hover .g3-rotator-slide.is-active{transform:scale(1.03) !important}
.g3-caption{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:2 !important;
  margin:0 !important;
  padding:1.1rem 1.05rem 0.9rem !important;
  pointer-events:none !important;
}
.g3-caption-title{
  display:block !important;
  font-family:var(--font-body) !important;
  font-size:clamp(0.68rem,2.8vw,0.78rem) !important;
  font-weight:600 !important;
  letter-spacing:0.16em !important;
  text-transform:uppercase !important;
  color:#f8fbff !important;
  line-height:1.35 !important;
  text-shadow:0 2px 16px rgba(0,0,0,0.65) !important;
}
.g3-caption-title::before{
  content:'' !important;
  display:block !important;
  width:2.25rem !important;
  height:2px !important;
  margin-bottom:0.5rem !important;
  background:linear-gradient(90deg,var(--accent) 0%,rgba(42,180,255,0.15) 100%) !important;
  border-radius:999px !important;
}
@media (min-width:640px){
  .g3-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:1.1rem !important}
}
.t3-badge{
  color:var(--accent) !important;
  letter-spacing:0.14em;
  font-weight:700;
}

/* —— Quote / contact —— */
.cta3{
  padding:1.5rem 0 2.5rem !important;
  gap:1.25rem !important;
}
.cta3-form,.cta3-left{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  padding:1.25rem !important;
  box-shadow:var(--shadow-soft) !important;
}
.cta3-left,.cta3-contact{display:none !important}
.cta3{grid-template-columns:1fr !important}
.cta3-form{max-width:100% !important}
.cta3-input,.prod-qty,.qty{
  background:rgba(255,255,255,0.05) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius-sm) !important;
  color:var(--ink) !important;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.cta3-input:focus,.prod-qty:focus,.qty:focus{
  border-color:rgba(42,180,255,0.5) !important;
  box-shadow:0 0 0 3px rgba(42,180,255,0.15) !important;
  background:rgba(255,255,255,0.08) !important;
}
.cta3-input::placeholder,.prod-qty::placeholder,.qty::placeholder{color:rgba(210,218,235,0.45) !important}

/* Custom dropdowns (Choose Service / Choose type) */
.cta3-select-btn{
  color:var(--ink) !important;
  -webkit-tap-highlight-color:transparent;
}
.cta3-select-btn-text{
  color:var(--ink) !important;
}
body:not(.theme-light) .cta3-select-placeholder{
  color:rgba(210,218,235,0.58) !important;
}
body:not(.theme-light) .cta3-select-btn::after{
  border-top-color:rgba(236,239,241,0.62) !important;
}
body.theme-light .cta3-select-placeholder{
  color:rgba(15,23,42,0.5) !important;
}
body.theme-light .cta3-select-btn::after{
  border-top-color:rgba(15,23,42,0.5) !important;
}
.cta3-select-wrap.is-open .cta3-select-btn{
  border-color:rgba(42,180,255,0.5) !important;
  background:rgba(255,255,255,0.08) !important;
}
.cta3-select-menu{
  background:var(--surface-strong) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius-sm) !important;
  box-shadow:var(--shadow) !important;
}
.cta3-select-option{
  color:var(--ink) !important;
}
.cta3-select-option:hover,
.cta3-select-option:focus{
  background:rgba(42,180,255,0.16) !important;
  color:#f8fbff !important;
  outline:none !important;
}
.cta3-subfield-label{
  color:var(--muted) !important;
}

/* —— Footer —— */
.foot3{
  padding:1.5rem 0 2rem !important;
  margin-bottom:1rem !important;
  background:transparent !important;
  border-top:1px solid var(--line) !important;
  border-radius:0 !important;
}
.f3-links{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:0.65rem !important;
}
.f3-icon-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:2.5rem !important;
  height:2.5rem !important;
  border-radius:50% !important;
  border:1px solid var(--line) !important;
  background:rgba(255,255,255,0.04) !important;
  color:var(--muted) !important;
  text-decoration:none !important;
  font-size:0 !important;
  transition:color .2s,border-color .2s,background .2s,transform .2s;
}
.f3-icon-link svg{
  width:1.1rem;
  height:1.1rem;
  stroke:currentColor;
  fill:none;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.f3-icon-link:hover{
  color:var(--accent) !important;
  border-color:rgba(42,180,255,0.35) !important;
  background:rgba(42,180,255,0.1) !important;
  transform:translateY(-1px);
}
.f3-links a,.f3-copy{color:var(--muted) !important}
.f3-links a:hover{color:var(--accent) !important}

/* —— Drawer & modal —— */
.n3-drawer-panel{
  background:var(--surface-strong) !important;
  border:1px solid var(--line) !important;
}
.n3-drawer-links a{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid transparent !important;
  color:var(--muted) !important;
}
.n3-drawer-links a:hover{
  color:var(--ink) !important;
  border-color:var(--line) !important;
}
.prod-modal-overlay{background:rgba(2,4,10,0.75) !important;backdrop-filter:blur(8px)}
.prod-modal,.modal{
  background:var(--surface-strong) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}
.prod-modal-name,.prod-section-title,.modal-title{color:var(--ink) !important}
.prod-modal-desc,.prod-turnaround{color:var(--muted) !important}
.prod-variety-card{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid var(--line) !important;
  color:var(--ink) !important;
}
.prod-variety-card.highlight{
  border-color:var(--accent) !important;
  box-shadow:0 0 0 2px var(--accent-soft) !important;
}
.prod-wa-btn,.btn-muted,.wa-btn,.back{
  background:rgba(255,255,255,0.06) !important;
  border:1px solid var(--line) !important;
  color:var(--ink) !important;
}

/* —— About page —— */
#about{
  margin-top:4.8rem !important;
  padding:1.5rem 0 2.5rem !important;
  width:min(94%,var(--max)) !important;
  margin-inline:auto !important;
}
.about-stat,.about-feat{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-soft) !important;
}
.about-stat-num{color:var(--accent) !important}
.about-feat-icon{
  background:var(--accent-soft) !important;
  color:var(--accent) !important;
}
.about-feat-title{color:var(--ink) !important}

/* —— Category page (premium + motion) —— */
@keyframes catFadeUp{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes catBackdropIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes catModalIn{
  from{opacity:0;transform:translateY(18px) scale(0.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes catShimmer{
  0%{transform:translateX(-120%) skewX(-12deg)}
  100%{transform:translateX(220%) skewX(-12deg)}
}

.wrap{
  padding-top:4.85rem !important;
  padding-bottom:2.5rem !important;
  width:min(94%,var(--max)) !important;
  margin-inline:auto !important;
}
.category-top{
  transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease,box-shadow .35s ease !important;
}
.category-top.cat-nav-scrolled{
  background:rgba(4,6,12,0.82) !important;
  border-bottom:1px solid var(--line) !important;
  backdrop-filter:blur(14px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.12) !important;
  box-shadow:0 12px 40px rgba(0,0,0,0.35) !important;
}
.head,.cat-page-head{margin:0 0 1.5rem !important}
.cat-page-head .kicker{
  color:var(--accent) !important;
  letter-spacing:0.22em !important;
  font-weight:600 !important;
  font-size:0.62rem !important;
  text-transform:uppercase !important;
  animation:catFadeUp .7s cubic-bezier(.22,1,.36,1) both;
}
.cat-page-head h1{
  font-family:var(--font-serif) !important;
  font-size:clamp(1.85rem,6vw,2.65rem) !important;
  font-weight:600 !important;
  letter-spacing:-0.02em !important;
  line-height:1.02 !important;
  color:var(--ink) !important;
  margin-top:0.45rem !important;
  animation:catFadeUp .75s cubic-bezier(.22,1,.36,1) .08s both;
}
.cat-page-head .sub{
  animation:catFadeUp .75s cubic-bezier(.22,1,.36,1) .14s both;
  max-width:34ch !important;
}
.kicker{color:var(--accent) !important;letter-spacing:0.16em;font-weight:700}

.item.cat-reveal,.hang-card.cat-reveal{
  opacity:0;
  animation:catFadeUp .7s cubic-bezier(.22,1,.36,1) forwards;
  animation-delay:calc(.12s + var(--i,0) * 0.07s);
}
.item.cat-reveal.is-visible,.hang-card.cat-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Gallery cards (hang tags, woven labels) */
.hang-gallery-wrap .grid.hang-gallery{gap:0.9rem !important}
.hang-card{
  display:flex !important;
  flex-direction:column !important;
  gap:0.7rem !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  cursor:default !important;
}
.hang-card:hover{transform:none !important}
.hang-card-media{
  position:relative !important;
  overflow:hidden !important;
  border-radius:16px !important;
  border:1px solid var(--line) !important;
  background:#080c14 !important;
  box-shadow:var(--shadow-soft) !important;
  transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease !important;
}
.hang-card-media::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,transparent 55%,rgba(4,6,12,0.55) 100%) !important;
  opacity:0.85 !important;
  transition:opacity .3s ease !important;
}
.hang-card img{
  width:100% !important;
  aspect-ratio:3/4 !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:0 !important;
  border:none !important;
  background:#0c121e !important;
  transform:scale(1.001) !important;
  transition:transform .55s cubic-bezier(.22,1,.36,1) !important;
}
/* Woven / printed labels — full-bleed fill (no letterbox borders) */
.cat-gallery-labels .hang-card-media{
  aspect-ratio:3/4 !important;
  background:#0a0e14 !important;
  border-color:var(--line) !important;
}
.cat-gallery-labels .hang-card-media::after{
  background:linear-gradient(180deg,transparent 58%,rgba(4,6,12,0.5) 100%) !important;
  opacity:0.9 !important;
}
.cat-gallery-labels .hang-card img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  padding:0 !important;
  background:#0a0e14 !important;
}
.cat-gallery-labels .hang-card:hover img{transform:scale(1.06) !important}
.hang-card:hover .hang-card-media{
  border-color:rgba(42,180,255,0.42) !important;
  box-shadow:0 22px 48px rgba(0,0,0,0.48),0 0 0 1px rgba(42,180,255,0.12) !important;
  transform:translateY(-3px) !important;
}
.hang-card:hover img{transform:scale(1.05) !important}
.hang-quote-btn{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0.4rem !important;
  border:none !important;
  border-radius:999px !important;
  padding:0.72rem 1rem !important;
  font-family:var(--font-serif) !important;
  font-size:clamp(0.74rem,2.5vw,0.84rem) !important;
  font-weight:600 !important;
  letter-spacing:0.05em !important;
  text-transform:none !important;
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  color:#fff !important;
  box-shadow:0 10px 26px rgba(42,180,255,0.32) !important;
  cursor:pointer !important;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease !important;
}
.hang-quote-label{position:relative;z-index:1}
.hang-quote-arrow{
  position:relative;
  z-index:1;
  font-family:var(--font-body) !important;
  font-size:0.95em !important;
  font-weight:500 !important;
  opacity:0.88;
  transition:transform .25s ease !important;
}
.hang-quote-btn::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,0.28) 50%,transparent 62%) !important;
  transform:translateX(-120%) skewX(-12deg) !important;
  transition:none !important;
}
.hang-quote-btn:hover{
  transform:translateY(-2px) !important;
  border-color:transparent !important;
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(42,180,255,0.4) !important;
}
.hang-quote-btn:hover .hang-quote-arrow{transform:translateX(3px) !important}
.hang-quote-btn:hover::before{animation:catShimmer .75s ease}

/* Standard product cards */
.item{
  background:var(--surface-strong) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-soft) !important;
  padding:0.55rem !important;
  gap:0.65rem !important;
  overflow:hidden !important;
  transition:transform .28s cubic-bezier(.22,1,.36,1),border-color .28s ease,box-shadow .28s ease !important;
}
.item:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(42,180,255,0.38) !important;
  box-shadow:var(--shadow) !important;
}
.item-media{
  position:relative !important;
  overflow:hidden !important;
  border-radius:var(--radius-sm) !important;
  background:#0a0e16 !important;
}
.item-media img{
  width:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:0 !important;
  transition:transform .5s cubic-bezier(.22,1,.36,1) !important;
}
.item:hover .item-media img{transform:scale(1.06) !important}
.item-view{
  position:absolute !important;
  right:0.55rem !important;
  bottom:0.55rem !important;
  z-index:2 !important;
  padding:0.28rem 0.55rem !important;
  border-radius:999px !important;
  font-size:0.58rem !important;
  font-weight:700 !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  background:rgba(4,6,12,0.72) !important;
  border:1px solid rgba(255,255,255,0.18) !important;
  backdrop-filter:blur(6px) !important;
  opacity:0 !important;
  transform:translateY(6px) !important;
  transition:opacity .25s ease,transform .25s ease !important;
}
.item:hover .item-view{
  opacity:1 !important;
  transform:translateY(0) !important;
}
.item-body{
  display:flex !important;
  flex-direction:column !important;
  gap:0.2rem !important;
  padding:0.15rem 0.2rem 0.35rem !important;
  position:relative !important;
}
.item h3{
  color:var(--ink) !important;
  font-size:0.88rem !important;
  font-weight:600 !important;
  letter-spacing:-0.01em !important;
  padding-right:1.5rem !important;
}
.item p{
  color:var(--muted) !important;
  font-size:0.72rem !important;
  line-height:1.45 !important;
}
.item-arrow{
  position:absolute !important;
  right:0.2rem !important;
  top:0.1rem !important;
  width:1.65rem !important;
  height:1.65rem !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0.75rem !important;
  color:var(--accent) !important;
  background:var(--accent-soft) !important;
  border:1px solid rgba(42,180,255,0.25) !important;
  transition:transform .25s ease,background .25s ease !important;
}
.item:hover .item-arrow{
  transform:translateX(2px) !important;
  background:rgba(42,180,255,0.22) !important;
}

/* Bottom CTAs */
.cta{
  margin-top:1.35rem !important;
  gap:0.7rem !important;
  animation:catFadeUp .7s cubic-bezier(.22,1,.36,1) .35s both;
}
.cta .btn{
  border-radius:999px !important;
  letter-spacing:0.1em !important;
  text-transform:uppercase !important;
  font-size:0.68rem !important;
  font-weight:700 !important;
  transition:transform .22s ease,box-shadow .22s ease !important;
}
.cta .btn-primary:hover,.cta .btn-muted:hover{transform:translateY(-2px) !important}
.hang-gallery-wrap .cta{display:none !important}

/* Modal */
.modal-backdrop.open{
  animation:catBackdropIn .35s ease both !important;
  backdrop-filter:blur(10px) !important;
}
.modal-backdrop.open .modal{
  animation:catModalIn .45s cubic-bezier(.22,1,.36,1) both !important;
}
.modal-image-wrap{
  background:rgba(255,255,255,0.03) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius-sm) !important;
  overflow:hidden !important;
}
.modal-image{
  transition:transform .4s ease !important;
}
.modal-backdrop.open .modal-image{
  animation:catFadeUp .5s ease .12s both;
}
.modal-title{
  font-family:var(--font-serif) !important;
  font-weight:600 !important;
}
.send-btn:hover,.modal-close:hover{transform:translateY(-1px) !important}

@media (min-width:640px){
  .grid.hang-gallery{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:1rem !important}
}
@media (min-width:900px){
  .grid.hang-gallery{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:1.05rem !important}
  .grid:not(.hang-gallery){grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}

/* —— Trust strip —— */
.h3-trust--bottom{padding:1rem 0 2rem !important}
.h3-trust-text,.h3-trust-text strong{color:var(--muted) !important}
.h3-trust{
  display:flex !important;
  align-items:center !important;
  gap:0.95rem !important;
  width:min(100%,560px) !important;
  padding:0.9rem 1rem !important;
  border:1px solid var(--line) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,0.03) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}
.h3-trust-text{
  font-size:0.78rem !important;
  letter-spacing:0.01em !important;
}
.h3-trust-text strong{
  color:#f2f7ff !important;
  font-weight:600 !important;
}

/* Bottom area without card look */
.h3-trust,
.foot3{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.h3-trust{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
}
.h3-trust--bottom{
  padding:0.8rem 0 1.1rem !important;
}
.foot3{
  padding-top:0.85rem !important;
  padding-bottom:1.1rem !important;
}

/* Terms and conditions popup */
.tc-modal-backdrop{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1rem;
  background:rgba(5,8,14,0.72);
  z-index:1200;
}
.tc-modal-backdrop.open{display:flex}
.tc-modal{
  width:min(100%,560px);
  background:var(--surface-strong);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.tc-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0.8rem;
  padding:0.9rem 1rem;
  border-bottom:1px solid var(--line);
}
.tc-modal-head h3{
  margin:0;
  font-family:var(--font-serif);
  font-weight:700;
  font-size:1.08rem;
  color:var(--ink);
}
.tc-close{
  border:none;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:1rem;
}
.tc-body{padding:0.95rem 1rem 0.25rem}
.tc-kicker{
  font-size:0.72rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:0.55rem;
}
.tc-list{
  margin:0;
  padding-left:1.1rem;
  color:var(--muted);
  line-height:1.58;
  font-size:0.88rem;
}
.tc-list li{margin:0 0 0.42rem}
.tc-actions{
  display:flex;
  justify-content:flex-end;
  gap:0.55rem;
  padding:0.95rem 1rem 1rem;
}
.tc-btn{
  border:none;
  border-radius:999px;
  padding:0.6rem 0.92rem;
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.04em;
  cursor:pointer;
}
.tc-btn-ghost{
  background:rgba(255,255,255,0.08);
  color:var(--ink);
}
.tc-btn-primary{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;
}
body.theme-light .tc-modal{
  background:#fff;
  border-color:rgba(15,23,42,0.12);
  box-shadow:0 22px 44px rgba(15,23,42,0.2);
}
body.theme-light .tc-close{color:rgba(15,23,42,0.62)}
body.theme-light .tc-list{color:rgba(15,23,42,0.74)}
body.theme-light .tc-btn-ghost{
  background:rgba(15,23,42,0.08);
  color:#0f172a;
}

@media (min-width:768px){
  .feat-bar{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .p3-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:1rem !important}
  #navMain,.top{padding:0.85rem 2rem !important}
  .h3-banner{padding:6.25rem 2.5rem 3rem !important;min-height:100svh !important}
  .prods3{margin-top:3rem !important;padding-top:2.5rem !important}
  .cta3{grid-template-columns:1fr 1fr;align-items:start}
}

@media (min-width:901px){
  #navMain,.top{padding:1.1rem 2rem !important}
  .n3-desktop-row{display:flex !important}
  .nav-icon-bar{gap:0.65rem !important}
}

/* —— Light mode: fonts + What We Create + quote buttons —— */
body.theme-light .prods3{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
body.theme-light .prods3 .p3-card{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
body.theme-light .prods3 .p3-card-body{
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.78) 100%) !important;
}
body.theme-light .prods3 .p3-cname{
  color:#fff !important;
}
body.theme-light .prods3 .p3-arrow{
  color:#fff !important;
  background:rgba(255,255,255,0.22) !important;
}
body.theme-light .p3-title,
body.theme-light .g3-title,
body.theme-light .cta3-form-title,
body.theme-light .testi3-left h2,
body.theme-light .cta3-left h2,
body.theme-light .about-title,
body.theme-light .cat-page-head h1,
body.theme-light .item h3,
body.theme-light .modal-title{
  color:#0f172a !important;
}
body.theme-light .p3-title em,
body.theme-light .g3-title em,
body.theme-light .cta3-form-title em,
body.theme-light .about-title em,
body.theme-light .cat-page-head .kicker{
  color:var(--accent) !important;
}
body.theme-light .p3-subtitle,
body.theme-light .g3-sub,
body.theme-light .cta3-form-sub,
body.theme-light .about-text,
body.theme-light .cat-page-head .sub,
body.theme-light .item p,
body.theme-light .feat-text span,
body.theme-light .h3-trust-text,
body.theme-light .t3-text,
body.theme-light .t3-source,
body.theme-light .cta3-left p,
body.theme-light .f3-copy,
body.theme-light .f3-links a{
  color:rgba(15,23,42,0.64) !important;
}
body.theme-light .feat-text strong,
body.theme-light .h3-trust-text strong,
body.theme-light .cta3-contact-text{
  color:#0f172a !important;
}
body.theme-light .hang-quote-btn,
body.theme-light .hang-quote-btn:hover{
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 10px 24px rgba(42,180,255,0.28) !important;
}
body.theme-light .hang-quote-label,
body.theme-light .hang-quote-arrow{
  color:#fff !important;
}
body.theme-light .hang-card{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
body.theme-light .cat-page-head .kicker{
  color:var(--accent) !important;
}
body.theme-light .h3-trust,
body.theme-light .foot3{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* Light mode: dark PRINTERS wordmark (white logo invisible on white nav) */
body.theme-light .ek-logo-dark{display:none !important}
body:not(.theme-light) .ek-logo-light{display:none !important}
body.theme-light .n3-logo-img,
body.theme-light .f3-logo-img{
  filter:none !important;
}
body.theme-light .f3-admin-link{
  color:rgba(15,23,42,0.5) !important;
  border-color:rgba(15,23,42,0.14) !important;
}
body.theme-light .f3-admin-link:hover{
  color:#0f172a !important;
  border-color:rgba(15,23,42,0.28) !important;
  background:rgba(15,23,42,0.05) !important;
}
