:root{
  --bg:#f0f6ff;
  --bg-2:#e8f1ff;
  --bg-3:#fff4e6;
  --surface:rgba(255,255,255,.84);
  --surface-solid:#ffffff;
  --surface-soft:rgba(246,250,255,.92);
  --line:rgba(122,152,198,.28);
  --line-strong:rgba(72,113,178,.42);
  --text:#09162d;
  --muted:#42546f;
  --brand:#0a84ff;
  --brand-2:#18c9b8;
  --brand-3:#ff9432;
  --ok:#0ea672;
  --danger:#e5484d;
  --shadow-sm:0 10px 28px rgba(12,35,78,.08);
  --shadow:0 22px 64px rgba(9,28,64,.13);
  --shadow-lg:0 28px 86px rgba(7,20,52,.20);
  --radius:20px;
  --radius-sm:14px;
  --radius-lg:28px;
  --container:1220px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(1180px 620px at -12% -18%, rgba(10,132,255,.13), transparent 72%),
    radial-gradient(980px 560px at 112% -8%, rgba(24,201,184,.11), transparent 74%),
    radial-gradient(860px 520px at 50% 118%, rgba(255,148,50,.09), transparent 76%),
    linear-gradient(176deg, #f4f9ff 0%, #edf4ff 48%, #f9fcff 100%);
  background-attachment:fixed;
  font-family:"Plus Jakarta Sans","Segoe UI","Tahoma",sans-serif;
  line-height:1.66;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
  isolation:isolate;
}

body::before,
body::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:-1;
}

body::before{
  width:460px;
  height:460px;
  left:-160px;
  top:14vh;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 40%, rgba(24,201,184,.20) 0%, rgba(24,201,184,0) 66%),
    radial-gradient(circle at 68% 62%, rgba(10,132,255,.14) 0%, rgba(10,132,255,0) 62%);
  filter:blur(22px);
  animation:floatBlobA 18s ease-in-out infinite;
}

body::after{
  width:500px;
  height:500px;
  right:-180px;
  top:56vh;
  border-radius:50%;
  background:
    radial-gradient(circle at 44% 34%, rgba(255,148,50,.20) 0%, rgba(255,148,50,0) 70%),
    radial-gradient(circle at 64% 68%, rgba(24,201,184,.10) 0%, rgba(24,201,184,0) 66%);
  filter:blur(24px);
  animation:floatBlobB 20s ease-in-out infinite;
}

@media (max-width:900px){
  body{
    background-attachment:scroll;
  }
  body::before,
  body::after{
    display:none;
    animation:none;
  }
}

@keyframes floatBlobA{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(18px,-26px,0)}
}

@keyframes floatBlobB{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-26px,18px,0)}
}

body.menu-open{overflow:hidden}

a{color:inherit;text-decoration:none}
a:focus-visible,
button:focus-visible,
.btn:focus-visible{
  outline:3px solid rgba(10,132,255,.55);
  outline-offset:2px;
  border-radius:10px;
}
img{max-width:100%;display:block}
h1,h2,h3,h4{
  margin:0 0 10px;
  line-height:1.12;
  color:var(--text);
  font-family:"Sora","Plus Jakarta Sans","Segoe UI","Tahoma",sans-serif;
}
h1{font-size:clamp(30px,4.2vw,52px);letter-spacing:-.045em}
h2{font-size:clamp(24px,3vw,36px);letter-spacing:-.03em}
h3{font-size:clamp(19px,2.3vw,24px);letter-spacing:-.02em}
p{margin:0 0 12px;color:var(--muted)}
small{color:var(--muted)}

.container{
  width:min(var(--container),100%);
  margin:0 auto;
  padding:0 22px;
}

.section{padding:34px 0}
.stack{display:flex;flex-direction:column;gap:14px}
.grid{display:grid;gap:14px}
.hr{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(100,136,190,.32), transparent);
}
.muted{color:var(--muted)}

.card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:
    linear-gradient(170deg, rgba(255,255,255,.94) 0%, rgba(245,251,255,.84) 100%),
    var(--surface-solid);
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
}

.card-inner{padding:18px}
.item{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:linear-gradient(180deg, rgba(255,255,255,.9), var(--surface-soft));
  padding:12px;
}

.label{
  display:block;
  font-size:12px;
  font-weight:800;
  color:#43587a;
  margin-bottom:6px;
  letter-spacing:.02em;
}

.input,.textarea,select.input{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  border-radius:13px;
  padding:11px 12px;
  color:var(--text);
  outline:none;
  font:inherit;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.input:focus,.textarea:focus,select.input:focus{
  border-color:#69b7ff;
  box-shadow:0 0 0 4px rgba(10,132,255,.14);
}

.textarea{min-height:120px;resize:vertical}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:13px;
  border:1px solid transparent;
  background:
    linear-gradient(180deg, #ffffff, #f8fbff) padding-box,
    linear-gradient(120deg, rgba(115,153,215,.62), rgba(150,175,212,.22)) border-box;
  color:var(--text);
  padding:11px 15px;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .2s ease, filter .2s ease;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(9,28,64,.08);
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(10,30,64,.14);
}

.btn-primary{
  position:relative;
  overflow:hidden;
  color:#fff;
  border:none;
  background:linear-gradient(128deg, var(--brand), var(--brand-2) 50%, var(--brand-3));
  box-shadow:0 18px 34px rgba(10,132,255,.26);
}

.btn-primary::after{
  content:"";
  position:absolute;
  top:-120%;
  left:-30%;
  width:44%;
  height:340%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.5), transparent);
  transform:rotate(18deg);
  animation:btnFlash 3.8s ease-in-out infinite;
}

@keyframes btnFlash{
  0%,64%{left:-60%}
  78%{left:130%}
  100%{left:130%}
}

.btn-primary:hover{filter:brightness(1.04)}

.btn-ghost{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(241,247,255,.92)) padding-box,
    linear-gradient(120deg, rgba(154,181,221,.52), rgba(137,174,226,.2)) border-box;
}

.alert{
  border-radius:13px;
  padding:12px 14px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,249,255,.88));
}

.alert-danger{
  border-color:rgba(229,72,77,.36);
  background:rgba(229,72,77,.09);
}

.alert-success{
  border-color:rgba(14,166,114,.35);
  background:rgba(14,166,114,.10);
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  backdrop-filter:blur(13px);
  background:linear-gradient(180deg, rgba(245,250,255,.86), rgba(245,250,255,.64));
  border-bottom:1px solid rgba(116,149,198,.22);
  box-shadow:0 10px 28px rgba(9,28,64,.08);
}

.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(24,201,184,.5), rgba(10,132,255,.4), transparent);
  opacity:.6;
}

.nav-shell{
  min-height:80px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:16px;
  align-items:center;
}

.brand-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.brand-logo{
  width:45px;
  height:45px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 8px 20px rgba(9,28,64,.10);
}

.brand-mark{
  width:45px;
  height:45px;
  border-radius:14px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.45);
  background:
    radial-gradient(90% 90% at 26% 18%, rgba(255,255,255,.45), transparent 58%),
    linear-gradient(138deg, #0a84ff, #18c9b8 58%, #ff9432);
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 24px rgba(10,132,255,.28);
}

.brand-text{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.brand-text strong{
  font-family:"Sora","Plus Jakarta Sans","Segoe UI","Tahoma",sans-serif;
  font-size:16px;
  letter-spacing:-.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.brand-text small{
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.site-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.site-nav a{
  padding:9px 12px;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
  color:#324666;
  border:1px solid transparent;
  transition:all .16s ease;
}

.site-nav a:hover{
  background:rgba(255,255,255,.7);
  border-color:var(--line);
}

.site-nav a.active{
  color:#03599b;
  background:linear-gradient(180deg, #ffffff, #ecf7ff);
  border-color:#9fd1ff;
  box-shadow:0 8px 18px rgba(10,132,255,.12);
}

.nav-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.nav-mobile-icons{
  display:none;
  align-items:center;
  gap:8px;
}

.nav-mobile-icon{
  position:relative;
  width:40px;
  height:40px;
  padding:0;
  border-radius:12px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#ffffff,#edf5ff);
  color:#1b355c;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(9,28,64,.12);
  transition:transform .16s ease, box-shadow .18s ease;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
}

.nav-mobile-icon:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(9,28,64,.16);
}

.nav-mobile-icon svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.nav-mobile-cart.is-active{
  border-color:#8cc8ff;
  background:linear-gradient(180deg, #ffffff, #e8f3ff);
}

.nav-mobile-cart .cart-dot{
  position:absolute;
  top:-6px;
  right:-4px;
  margin-left:0;
  min-width:18px;
  height:18px;
  padding:0 5px;
  font-size:10px;
  box-shadow:0 8px 14px rgba(7,25,57,.24);
}

.nav-mobile-cart-panel{display:none}

.nav-mobile-cart-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.nav-mobile-cart-head strong{
  font-size:14px;
  font-weight:900;
  color:#12385f;
}

.nav-mobile-cart-head span{
  font-size:12px;
  font-weight:800;
  color:#3c5a7c;
}

.nav-mobile-cart-empty{
  border:1px dashed #a7c8ea;
  border-radius:12px;
  background:#f4f9ff;
  color:#3f5e80;
  font-size:13px;
  padding:10px 11px;
}

.nav-mobile-cart-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

.nav-mobile-cart-item{
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff,#f4f9ff);
  padding:8px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:9px;
  align-items:start;
}

.nav-mobile-cart-thumb{
  width:52px;
  height:52px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(123,160,205,.35);
  background:linear-gradient(160deg,#eaf2ff,#dfeeff);
  display:grid;
  place-items:center;
}

.nav-mobile-cart-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.nav-mobile-cart-thumb-fallback{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
  height:100%;
  font-size:9px;
  font-weight:900;
  line-height:1.2;
  color:#1e4e80;
  text-transform:uppercase;
  padding:4px;
}

.nav-mobile-cart-content{
  min-width:0;
  display:grid;
  gap:6px;
}

.nav-mobile-cart-item-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.nav-mobile-cart-item-title{
  font-size:13px;
  line-height:1.3;
  color:#0f2e52;
  min-width:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.nav-mobile-cart-remove{
  margin:0;
}

.nav-mobile-cart-remove-btn{
  min-width:34px;
  height:28px;
  border-radius:9px;
  border:1px solid rgba(225,84,95,.38);
  background:linear-gradient(180deg,#fff,#fff5f6);
  color:#b13843;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.nav-mobile-cart-remove-btn:disabled{
  opacity:.55;
  cursor:wait;
}

.nav-mobile-cart-item-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#3e5d7e;
  font-size:12px;
}

.nav-mobile-cart-badge{
  display:inline-flex;
  align-items:center;
  border:1px solid #9ec8f2;
  border-radius:999px;
  padding:3px 7px;
  background:#eef6ff;
  color:#0b5ea7;
  font-size:10px;
  font-weight:900;
}

.nav-mobile-cart-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  border-top:1px solid var(--line);
  padding-top:8px;
  color:#3f5f82;
  font-size:12px;
}

.nav-mobile-cart-total strong{
  font-size:15px;
  color:#123c63;
}

.nav-mobile-cart-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.nav-cart{position:relative}

.cart-dot{
  min-width:20px;
  height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 6px;
  margin-left:4px;
  background:linear-gradient(130deg,#081833,#0b325f);
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:13px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#ffffff,#edf5ff);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}

.nav-toggle span{
  width:16px;
  height:2px;
  background:#2e4467;
  border-radius:999px;
}

/* Generic hero and sections */
.hero-panel{
  position:relative;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:26px;
  background:
    radial-gradient(780px 300px at 5% -5%, rgba(10,132,255,.15), transparent 62%),
    radial-gradient(760px 320px at 100% 0%, rgba(255,148,50,.14), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,255,.86));
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}

.hero-panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:linear-gradient(125deg, rgba(255,255,255,.48), transparent 30%, transparent 66%, rgba(255,255,255,.28));
  opacity:.45;
  pointer-events:none;
}

.hero-panel::after{
  content:"";
  position:absolute;
  inset:auto -45% -65% auto;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(24,201,184,.16), transparent 66%);
  animation:heroOrb 11s ease-in-out infinite;
  pointer-events:none;
}

@keyframes heroOrb{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-24px,-22px,0)}
}

.hero-split{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:20px;
  align-items:center;
}

.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(74,143,224,.34);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(232,246,255,.9));
  color:#035899;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}

.hero-text{
  font-size:15px;
  max-width:63ch;
}

.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.stat{
  border:1px solid var(--line);
  border-radius:13px;
  background:linear-gradient(180deg, #ffffff, #f3f9ff);
  padding:10px;
}

.stat strong{
  display:block;
  font-size:19px;
  font-family:"Sora","Plus Jakarta Sans","Segoe UI","Tahoma",sans-serif;
  letter-spacing:-.02em;
}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:12px;
}

.section-head p{margin:0}

.showcase-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.showcase-card{
  border:1px solid var(--line);
  border-radius:19px;
  overflow:hidden;
  background:linear-gradient(180deg, #ffffff, #f7fbff);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  transition:transform .24s cubic-bezier(.2,.75,.25,1), box-shadow .24s ease, border-color .24s ease;
}

.showcase-card:hover{
  transform:translateY(-6px);
  border-color:rgba(72,125,198,.42);
  box-shadow:0 26px 58px rgba(9,28,64,.18);
}

.showcase-media{
  aspect-ratio:16/10;
  background:#dbe7f7;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  position:relative;
}

.showcase-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(180deg, transparent, rgba(5,16,36,.12));
  opacity:.35;
  pointer-events:none;
}

.showcase-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .36s ease;
}

.showcase-card:hover .showcase-media img{
  transform:scale(1.05);
}

.showcase-body{
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}

.showcase-title{
  margin:0;
  font-size:19px;
  font-family:"Sora","Plus Jakarta Sans","Segoe UI","Tahoma",sans-serif;
}

.showcase-desc{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.showcase-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.pill{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  background:linear-gradient(180deg, #ffffff, #f1f7ff);
  color:#304664;
  padding:5px 10px;
  font-size:12px;
  font-weight:800;
}

.pill-price{
  border:1px solid rgba(70,108,160,.48);
  border-left:3px solid #0b76d9;
  border-radius:10px;
  background:linear-gradient(180deg, #e6f1ff, #cfdef4);
  color:#10395d;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 9px;
  line-height:1;
  box-shadow:0 7px 16px rgba(13,49,88,.15);
  font-weight:900;
}

.price-with-vat{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  white-space:nowrap;
}

.vat-note{
  display:inline-block;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
  opacity:.72;
  color:#456181;
  white-space:nowrap;
}

@media (max-width:560px){
  .vat-note{font-size:8px}
}

.pill-price::before{
  content:none;
}

.showcase-actions{
  margin-top:auto;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.showcase-actions .btn{
  padding:8px 10px;
  font-size:12px;
  border-radius:10px;
}

.showcase-actions form{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.inline-msg{
  font-size:12px;
  color:#0c7f5a;
  min-height:18px;
}

.inline-msg.err{color:#b4232a}

/* Footer */
.site-footer{
  margin-top:38px;
  border-top:1px solid rgba(104,139,193,.23);
  background:
    radial-gradient(680px 220px at 0% 0%, rgba(10,132,255,.1), transparent 62%),
    radial-gradient(680px 220px at 100% 0%, rgba(255,148,50,.1), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(241,248,255,.94));
}

.footer-shell{
  min-height:132px;
  display:grid;
  gap:18px;
  padding-top:22px;
  padding-bottom:22px;
}

.footer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.footer-brand-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.footer-brand-logo{
  width:50px;
  height:50px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid var(--line);
  box-shadow:0 10px 24px rgba(9,28,64,.12);
  background:#fff;
}

.footer-brand-mark{
  width:50px;
  height:50px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.45);
  background:
    radial-gradient(90% 90% at 26% 18%, rgba(255,255,255,.45), transparent 58%),
    linear-gradient(138deg, #0a84ff, #18c9b8 58%, #ff9432);
  color:#fff;
  font-weight:900;
  display:grid;
  place-items:center;
  box-shadow:0 10px 24px rgba(10,132,255,.28);
}

.footer-brand-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.footer-brand-copy strong{
  font-family:"Sora","Plus Jakarta Sans","Segoe UI","Tahoma",sans-serif;
  letter-spacing:-.015em;
  line-height:1.14;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.footer-brand-copy span{
  font-size:13px;
  color:var(--muted);
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.footer-head-cta{
  min-width:188px;
  padding:10px 14px;
}

.footer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.footer-group{
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(170deg, rgba(255,255,255,.95), rgba(241,249,255,.9));
  padding:11px;
  display:grid;
  gap:8px;
}

.footer-group h3{
  margin:0;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
  color:#20466f;
}

.footer-links{
  display:grid;
  gap:6px;
}

.footer-link{
  min-height:35px;
  border:1px solid var(--line);
  border-radius:10px;
  background:linear-gradient(180deg,#ffffff,#f3f9ff);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 10px;
  color:#274a72;
  font-size:12px;
  font-weight:700;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

a.footer-link:hover{
  transform:translateY(-1px);
  border-color:#9ecffb;
  box-shadow:0 8px 18px rgba(8,29,63,.10);
}

.footer-link.is-soon{
  opacity:.9;
  color:#486486;
}

.footer-link small{
  font-size:10px;
  font-weight:900;
  color:#0b7f6d;
  border:1px solid rgba(11,127,109,.24);
  border-radius:999px;
  padding:2px 6px;
  background:#ecfffb;
}

.footer-bottom{
  border-top:1px solid rgba(111,147,197,.24);
  padding-top:12px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
}

.footer-copy{
  font-size:12px;
  color:var(--muted);
}

/* Existing legacy helpers used by pages */
.hero{padding:18px 0}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.hero-card{padding:16px}
.hero-sub{font-size:15px}
.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kpi{
  border:1px solid var(--line);
  border-radius:13px;
  background:linear-gradient(180deg,#ffffff,#f3f9ff);
  padding:10px;
}
.kpi .v{font-weight:800}
.kpi .l{font-size:12px;color:var(--muted)}

.pkg-inline-msg,.scr-inline-msg{
  min-height:18px;
  font-size:12px;
  color:#0c7f5a;
  opacity:0;
  transform:translateY(-2px);
  transition:opacity .18s ease, transform .18s ease;
}

.pkg-inline-msg.show,.scr-inline-msg.show{
  opacity:1;
  transform:translateY(0);
}

.pkg-inline-msg.err,.scr-inline-msg.err{color:#b4232a}

.scr-chip.active{
  background:linear-gradient(135deg,var(--brand),var(--brand-3));
  border-color:transparent;
  color:#fff;
}

/* Motion system */
.js-motion .ui-reveal{
  opacity:0;
  transform:translateY(20px) scale(.985);
  transition:
    opacity .64s cubic-bezier(.22,.7,.28,1),
    transform .64s cubic-bezier(.22,.7,.28,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform;
}

.js-motion .ui-reveal.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

@media (max-width:1100px){
  .nav-shell{
    grid-template-columns:minmax(0,1fr) auto auto;
    min-height:74px;
    gap:10px;
  }

  .brand-link{
    min-width:0;
    max-width:100%;
    align-items:center;
  }

  .brand-logo,
  .brand-mark{
    width:40px;
    height:40px;
    border-radius:12px;
  }

  .brand-text strong{
    font-size:14px;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    line-height:1.12;
  }

  .brand-text small{
    display:block;
    margin-top:2px;
    font-size:11px;
    line-height:1.18;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }

  .nav-mobile-icons{
    display:inline-flex;
    justify-self:end;
    order:3;
  }

  .nav-toggle{
    display:inline-flex;
    justify-self:end;
    order:4;
  }

  .site-nav{
    position:fixed;
    left:16px;
    right:16px;
    top:76px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    padding:12px;
    background:linear-gradient(180deg,#ffffff,#edf5ff);
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 18px 40px rgba(8,24,57,.18);
    z-index:90;
  }

  .site-nav.open{display:flex}
  .site-nav a{padding:10px 12px}

  .nav-mobile-cart-panel{
    position:fixed;
    left:16px;
    right:16px;
    top:76px;
    display:none;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    padding:12px;
    background:linear-gradient(180deg,#ffffff,#edf5ff);
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 18px 40px rgba(8,24,57,.18);
    max-height:min(68vh,520px);
    overflow:auto;
    z-index:92;
  }

  .nav-mobile-cart-panel.open{display:grid}

  .nav-mobile-cart-actions .btn{
    width:100%;
    padding:10px 12px;
    font-size:13px;
  }

  .nav-actions{display:none}
}

@media (max-width:980px){
  .container{padding:0 16px}
  .hero-split,.hero-grid{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr}
  .showcase-grid{grid-template-columns:1fr}
  .site-footer{
    margin-top:30px;
    border-top-color:rgba(106,146,201,.26);
  }
  .footer-shell{
    gap:14px;
    min-height:auto;
    padding-top:18px;
    padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  }
  .footer-head{gap:12px}
  .footer-head-cta{
    min-width:0;
    width:100%;
  }
  .footer-brand-logo,
  .footer-brand-mark{
    width:44px;
    height:44px;
    border-radius:12px;
  }
  .footer-brand-copy strong{
    font-size:15px;
    letter-spacing:-.01em;
  }
  .footer-brand-copy span{
    font-size:12px;
    line-height:1.5;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .footer-group{
    border-radius:13px;
    padding:10px;
    gap:7px;
  }
  .footer-link{
    min-height:38px;
    font-size:12px;
    border-radius:10px;
  }
  .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .footer-copy{
    white-space:normal;
  }
}

@media (max-width:520px){
  .section{padding:24px 0}
  .card-inner{padding:14px}
  .hero-panel{padding:17px}
  .btn{width:100%}
  .nav-shell{
    min-height:78px;
    gap:8px;
  }
  .brand-text strong{
    font-size:13px;
    line-height:1.1;
  }
  .brand-text small{
    font-size:10px;
    line-height:1.14;
  }
  .nav-mobile-icon{
    width:36px;
    height:36px;
    border-radius:10px;
  }
  .nav-mobile-icons{gap:6px}
  .nav-mobile-cart-panel{
    left:12px;
    right:12px;
    top:74px;
    padding:10px;
    gap:8px;
  }
  .nav-mobile-cart-item{
    grid-template-columns:46px minmax(0,1fr);
    padding:7px;
    gap:8px;
  }
  .nav-mobile-cart-thumb{
    width:46px;
    height:46px;
  }
  .nav-mobile-cart-item-title{font-size:12px}
  .nav-mobile-cart-item-meta{font-size:11px}
  .nav-mobile-cart-head strong{font-size:13px}
  .nav-mobile-cart-head span{font-size:11px}
  .nav-mobile-cart-remove-btn{
    min-width:30px;
    height:26px;
    font-size:10px;
  }
  .nav-toggle{
    width:38px;
    height:38px;
    border-radius:11px;
  }
  .site-footer{margin-top:24px}
  .footer-shell{
    gap:11px;
    padding-top:15px;
    padding-bottom:calc(14px + env(safe-area-inset-bottom, 0px));
  }
  .footer-brand-logo,
  .footer-brand-mark{
    width:40px;
    height:40px;
    border-radius:11px;
  }
  .footer-head-cta{
    padding:9px 12px;
    font-size:13px;
  }
  .footer-brand-copy strong{font-size:14px}
  .footer-brand-copy span{
    font-size:10px;
    line-height:1.45;
  }
  .footer-group h3{font-size:12px}
  .footer-link{
    min-height:36px;
    border-radius:9px;
    font-size:11px;
    padding:6px 8px;
  }
  .footer-copy{
    font-size:11px;
  }
}

@media (max-width:360px){
  .footer-link{
    min-height:34px;
    padding:6px 7px;
  }
}

/* Product badge system */
.pc-status-badge,
.project-status-badge,
.prd-chip.live{
  display:none !important;
}

.pc-product-badge,
.project-product-badge,
.hm-product-badge,
.prd-pack-badge,
.prd-script-badge{
  position:absolute !important;
  top:-1px !important;
  right:-1px !important;
  left:auto !important;
  z-index:3;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  max-width:min(80%,240px);
  padding:7px 12px !important;
  border-radius:0 14px 0 12px !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:900;
  letter-spacing:.05em !important;
  line-height:1.1;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border:1px solid rgba(255,255,255,.36) !important;
  border-top:0 !important;
  border-right:0 !important;
  box-shadow:0 12px 22px rgba(9,28,64,.22), inset 0 1px 0 rgba(255,255,255,.2) !important;
  backdrop-filter:blur(4px);
  pointer-events:none;
}

.pc-product-badge.badge-theme-premium,
.project-product-badge.badge-theme-premium,
.hm-product-badge.badge-theme-premium,
.prd-pack-badge.badge-theme-premium,
.prd-script-badge.badge-theme-premium{
  background:linear-gradient(135deg,#f7b733,#fc4a1a) !important;
  color:#fff !important;
  border-color:rgba(255,229,180,.55) !important;
  box-shadow:0 14px 26px rgba(188,87,22,.34), inset 0 1px 0 rgba(255,255,255,.26) !important;
}

.pc-product-badge.badge-theme-emerald,
.project-product-badge.badge-theme-emerald,
.hm-product-badge.badge-theme-emerald,
.prd-pack-badge.badge-theme-emerald,
.prd-script-badge.badge-theme-emerald{
  background:linear-gradient(135deg,#0ea371,#2bcf86) !important;
  color:#fff !important;
  border-color:rgba(194,255,225,.5) !important;
  box-shadow:0 14px 26px rgba(12,140,98,.3), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.pc-product-badge.badge-theme-cobalt,
.project-product-badge.badge-theme-cobalt,
.hm-product-badge.badge-theme-cobalt,
.prd-pack-badge.badge-theme-cobalt,
.prd-script-badge.badge-theme-cobalt{
  background:linear-gradient(135deg,#296dff,#1ea7ff) !important;
  color:#fff !important;
  border-color:rgba(196,222,255,.56) !important;
  box-shadow:0 14px 26px rgba(22,92,214,.32), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.pc-product-badge.badge-theme-coral,
.project-product-badge.badge-theme-coral,
.hm-product-badge.badge-theme-coral,
.prd-pack-badge.badge-theme-coral,
.prd-script-badge.badge-theme-coral{
  background:linear-gradient(135deg,#ff6b6b,#ff9f43) !important;
  color:#fff !important;
  border-color:rgba(255,224,200,.52) !important;
  box-shadow:0 14px 26px rgba(214,86,66,.32), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.pc-product-badge.badge-theme-graphite,
.project-product-badge.badge-theme-graphite,
.hm-product-badge.badge-theme-graphite,
.prd-pack-badge.badge-theme-graphite,
.prd-script-badge.badge-theme-graphite{
  background:linear-gradient(135deg,#1f2937,#374151) !important;
  color:#f8fafc !important;
  border-color:rgba(203,213,225,.35) !important;
  box-shadow:0 14px 26px rgba(15,23,42,.36), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

@media (max-width:760px){
  .pc-product-badge,
  .project-product-badge,
  .hm-product-badge,
  .prd-pack-badge,
  .prd-script-badge{
    max-width:76%;
    padding:6px 9px !important;
    font-size:9px !important;
    border-radius:0 12px 0 10px !important;
  }
}

@media (max-width:360px){
  .pc-product-badge,
  .project-product-badge,
  .hm-product-badge,
  .prd-pack-badge,
  .prd-script-badge{
    max-width:72%;
    padding:5px 8px !important;
    font-size:8px !important;
    border-radius:0 11px 0 9px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

  .js-motion .ui-reveal{
    opacity:1 !important;
    transform:none !important;
  }
}
