/* ============================================================
   SENFENG Georgia — Design System
   Style: Corporate Professional · Palette: Industrial Trust
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=Noto+Sans+Georgian:wght@400;500;600;700&display=swap');

:root {
  --ink:#0A1A33; --navy:#0C2A63; --navy-700:#143A82; --navy-600:#1E50A8;
  --accent:#1E9FDA; --accent-600:#1681BC; --accent-300:#6FC8F2;
  --teal:#22D3B6; --teal-600:#12B89C;
  --steel:#5A6B86; --steel-300:#93A2BA; --mist:#F2F6FB; --mist-2:#E7EEF6;
  --line:#DCE5F0; --line-dark:rgba(255,255,255,.14); --white:#FFFFFF;
  --bg:var(--white); --surface:var(--white); --on-dark:#D6E0EE;

  --font-display:'Space Grotesk','Inter',system-ui,sans-serif;
  --font-sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;

  --fs-300:.8125rem; --fs-400:1rem;
  --fs-500:clamp(1.0625rem,.6vw + .95rem,1.1875rem);
  --fs-600:clamp(1.25rem,1vw + 1rem,1.5rem);
  --fs-700:clamp(1.6rem,2vw + 1rem,2.25rem);
  --fs-800:clamp(2.1rem,3.4vw + 1rem,3.4rem);
  --fs-900:clamp(2.6rem,5vw + 1rem,4.6rem);

  --space-4:1rem; --space-6:2rem; --space-8:4rem;
  --radius:14px; --radius-sm:8px; --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(11,21,36,.06),0 1px 1px rgba(11,21,36,.04);
  --shadow-md:0 10px 30px -12px rgba(11,21,36,.18);
  --shadow-lg:0 30px 60px -20px rgba(11,21,36,.28);
  --shadow-accent:0 14px 30px -10px rgba(30,159,218,.45);
  --ease:cubic-bezier(.22,.61,.36,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --container:1200px; --container-wide:1360px; --header-h:76px;
}
:lang(ka){ --font-display:'Noto Sans Georgian',sans-serif; --font-sans:'Noto Sans Georgian',sans-serif; }
:lang(ru){ --font-display:'Inter',sans-serif; }

*,*::before,*::after{ box-sizing:border-box; } *{ margin:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{ font-family:var(--font-sans); font-size:var(--fs-400); line-height:1.65; color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
img,picture,svg,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button,input,textarea,select{ font:inherit; color:inherit; }
ul[role="list"]{ list-style:none; padding:0; }
h1,h2,h3,h4{ font-family:var(--font-display); line-height:1.08; font-weight:600; letter-spacing:-.02em; color:var(--ink); }
:lang(ka) h1,:lang(ka) h2,:lang(ka) h3,:lang(ka) h4{ letter-spacing:-.01em; line-height:1.18; }
h1{ font-size:var(--fs-900); } h2{ font-size:var(--fs-800); } h3{ font-size:var(--fs-600); }
p{ color:var(--steel); max-width:65ch; }
::selection{ background:var(--accent); color:#fff; }
:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; border-radius:4px; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2rem); }
.container--wide{ max-width:var(--container-wide); }
.section{ padding-block:clamp(3.5rem,7vw,7rem); }
.section--tight{ padding-block:clamp(2.5rem,5vw,4.5rem); }
.section--dark{ background:var(--navy); color:var(--on-dark); }
.section--dark h1,.section--dark h2,.section--dark h3{ color:#fff; }
.section--dark p{ color:var(--steel-300); }
.section--mist{ background:var(--mist); }
.grid{ display:grid; gap:clamp(1.1rem,2.5vw,2rem); }
.cols-2{ grid-template-columns:repeat(2,1fr); }
.cols-3{ grid-template-columns:repeat(3,1fr); }
.cols-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:980px){ .cols-3,.cols-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .cols-2,.cols-3,.cols-4{ grid-template-columns:1fr; } }

.kicker{ display:inline-flex; align-items:center; gap:.55rem; font-family:var(--font-sans); font-size:var(--fs-300); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.kicker::before{ content:""; width:26px; height:2px; background:var(--accent); display:inline-block; }
.section--dark .kicker{ color:var(--accent-300); } .section--dark .kicker::before{ background:var(--accent-300); }
.lead{ font-size:var(--fs-500); color:var(--steel); } .section--dark .lead{ color:var(--on-dark); }
.section-head{ max-width:64ch; margin-bottom:clamp(2rem,4vw,3.25rem); }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head .kicker{ margin-bottom:1rem; } .section-head h2 + p{ margin-top:1rem; }
.text-accent{ color:var(--accent); }

.btn{ --btn-bg:var(--accent); --btn-fg:#fff; display:inline-flex; align-items:center; justify-content:center; gap:.6rem; padding:.85rem 1.6rem; font-family:var(--font-sans); font-weight:600; font-size:var(--fs-400); background:var(--btn-bg); color:var(--btn-fg); border:1px solid transparent; border-radius:999px; cursor:pointer; white-space:nowrap; transition:transform .25s var(--ease-out),box-shadow .3s var(--ease),background .25s; will-change:transform; }
.btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-accent); } .btn:active{ transform:translateY(0); }
.btn .arr{ transition:transform .3s var(--ease-out); } .btn:hover .arr{ transform:translateX(4px); }
.btn--ghost{ --btn-bg:transparent; --btn-fg:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ box-shadow:var(--shadow-md); border-color:var(--steel-300); background:#fff; }
.btn--light{ --btn-bg:#fff; --btn-fg:var(--navy); } .btn--light:hover{ box-shadow:0 14px 30px -10px rgba(0,0,0,.4); }
.btn--outline-light{ --btn-bg:transparent; --btn-fg:#fff; border-color:var(--line-dark); }
.btn--outline-light:hover{ background:rgba(255,255,255,.08); box-shadow:none; }
.btn--lg{ padding:1.05rem 2rem; font-size:var(--fs-500); } .btn--block{ width:100%; }
.link-arrow{ display:inline-flex; align-items:center; gap:.45rem; font-weight:600; color:var(--accent); }
.link-arrow .arr{ transition:transform .3s var(--ease-out); } .link-arrow:hover .arr{ transform:translateX(5px); }

.site-header{ position:fixed; inset:0 0 auto 0; z-index:100; height:var(--header-h); display:flex; align-items:center; transition:background .35s var(--ease),box-shadow .35s,border-color .35s; border-bottom:1px solid transparent; }
.site-header.is-scrolled{ background:rgba(255,255,255,.82); backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px); border-bottom-color:var(--line); box-shadow:var(--shadow-sm); }
.site-header .container{ display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; }
.brand{ display:inline-flex; align-items:center; gap:.7rem; font-family:var(--font-display); font-weight:700; font-size:1.18rem; letter-spacing:-.02em; color:var(--ink); }
.brand__mark{ width:38px; height:38px; flex:none; } .brand__sub{ color:var(--accent); }
.nav{ display:flex; align-items:center; gap:clamp(.5rem,2vw,1.9rem); }
.nav__list{ display:flex; align-items:center; gap:clamp(.5rem,1.8vw,1.7rem); list-style:none; }
.nav__link{ position:relative; font-weight:500; padding:.4rem 0; color:var(--ink); transition:color .2s; }
.nav__link::after{ content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background:var(--accent); transition:width .3s var(--ease-out); }
.nav__link:hover,.nav__link[aria-current="page"]{ color:var(--accent); }
.nav__link:hover::after,.nav__link[aria-current="page"]::after{ width:100%; }
.nav__actions{ display:flex; align-items:center; gap:.85rem; }
.lang{ position:relative; }
.lang__btn{ display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .8rem; border:1px solid var(--line); border-radius:999px; background:#fff; font-weight:600; font-size:var(--fs-300); cursor:pointer; transition:border-color .2s,box-shadow .2s; }
.lang__btn:hover{ border-color:var(--steel-300); box-shadow:var(--shadow-sm); }
.lang__btn .chev{ transition:transform .25s; } .lang.open .lang__btn .chev{ transform:rotate(180deg); }
.lang__menu{ position:absolute; right:0; top:calc(100% + 8px); min-width:168px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-lg); padding:.35rem; list-style:none; opacity:0; transform:translateY(-8px) scale(.98); pointer-events:none; transition:opacity .2s var(--ease),transform .2s var(--ease); }
.lang.open .lang__menu{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.lang__opt{ display:flex; align-items:center; gap:.6rem; width:100%; padding:.6rem .7rem; border:0; background:transparent; border-radius:8px; cursor:pointer; font-weight:500; text-align:start; transition:background .15s; }
.lang__opt:hover{ background:var(--mist); } .lang__opt[aria-selected="true"]{ color:var(--accent); font-weight:600; }
.lang__opt .flag{ font-size:1.1rem; }
.burger{ display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; position:relative; }
.burger span,.burger span::before,.burger span::after{ content:""; position:absolute; left:50%; top:50%; width:20px; height:2px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .3s var(--ease),opacity .2s; }
.burger span::before{ transform:translate(-50%,-7px); } .burger span::after{ transform:translate(-50%,5px); }
.nav-open .burger span{ background:transparent; }
.nav-open .burger span::before{ transform:translate(-50%,-50%) rotate(45deg); }
.nav-open .burger span::after{ transform:translate(-50%,-50%) rotate(-45deg); }
@media (max-width:920px){
  .burger{ display:block; order:3; }
  .nav{ position:fixed; inset:var(--header-h) 0 0 0; flex-direction:column; justify-content:flex-start; gap:0; background:#fff; padding:1.5rem clamp(1.1rem,4vw,2rem) 2.5rem; transform:translateX(100%); transition:transform .4s var(--ease); overflow-y:auto; }
  .nav-open .nav{ transform:translateX(0); }
  .nav__list{ flex-direction:column; align-items:stretch; gap:0; width:100%; }
  .nav__link{ padding:1.1rem .25rem; font-size:var(--fs-600); border-bottom:1px solid var(--line); }
  .nav__link::after{ display:none; }
  .nav__actions{ margin-top:1.5rem; flex-direction:column; align-items:stretch; gap:1rem; }
  .nav__actions .btn{ width:100%; }
  .lang__menu{ position:static; opacity:1; transform:none; pointer-events:auto; box-shadow:none; border:0; padding:.25rem 0 0; }
  .lang{ width:100%; } .lang__btn{ width:100%; justify-content:space-between; }
}

.hero{ position:relative; padding-top:calc(var(--header-h) + clamp(2.5rem,6vw,5rem)); padding-bottom:clamp(3rem,7vw,6rem); overflow:hidden; background:linear-gradient(180deg,#fff 0%,var(--mist) 100%); }
.hero__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero__grid-lines{ position:absolute; inset:-2px; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:64px 64px; opacity:.5; -webkit-mask-image:radial-gradient(circle at 70% 30%,#000,transparent 72%); mask-image:radial-gradient(circle at 70% 30%,#000,transparent 72%); }
.hero__glow{ position:absolute; width:60vw; height:60vw; max-width:720px; max-height:720px; right:-8%; top:-12%; background:radial-gradient(circle,rgba(30,159,218,.16),transparent 62%); filter:blur(8px); will-change:transform; }
.hero .container{ position:relative; z-index:1; }
.hero__inner{ display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(2rem,5vw,4.5rem); }
@media (max-width:940px){ .hero__inner{ grid-template-columns:1fr; } }
.hero__title{ margin:1.1rem 0 1.2rem; } .hero__title .accent-word{ color:var(--accent); }
.hero__desc{ font-size:var(--fs-500); max-width:52ch; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2rem; }
.hero__stats{ display:flex; flex-wrap:wrap; gap:clamp(1.5rem,4vw,3rem); margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }
.stat__num{ font-family:var(--font-display); font-size:var(--fs-700); font-weight:700; color:var(--ink); line-height:1; }
.stat__num .suffix{ color:var(--accent); }
.stat__label{ font-size:var(--fs-300); color:var(--steel); margin-top:.35rem; }
.hero__visual{ position:relative; }
.hero__panel{ position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/4.4; background:linear-gradient(160deg,var(--navy) 0%,var(--ink) 100%); }
.hero__panel .ph-machine{ position:absolute; inset:0; }
.hero__panel--photo{ background:var(--ink); }
.hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__panel--photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(12,42,99,.18), rgba(10,26,51,.42)); pointer-events:none; }
.hero__badge{ position:absolute; left:-22px; bottom:28px; background:#fff; border-radius:16px; padding:1rem 1.2rem; box-shadow:var(--shadow-lg); display:flex; align-items:center; gap:.85rem; }
.hero__badge .dot{ width:42px; height:42px; border-radius:12px; background:linear-gradient(160deg,var(--teal),var(--teal-600)); display:grid; place-items:center; color:#fff; flex:none; }
.hero__badge b{ display:block; font-family:var(--font-display); font-size:1.05rem; }
.hero__badge span{ font-size:var(--fs-300); color:var(--steel); }
@media (max-width:940px){ .hero__visual{ order:-1; max-width:520px; } }

.trustbar{ border-block:1px solid var(--line); background:#fff; }
.trustbar__inner{ display:flex; align-items:center; gap:clamp(1.5rem,5vw,4rem); flex-wrap:wrap; justify-content:space-between; padding-block:1.6rem; }
.trustbar__label{ font-size:var(--fs-300); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--steel-300); }
.trustbar__logos{ display:flex; flex-wrap:wrap; align-items:center; gap:clamp(1.4rem,4vw,3rem); }
.trustbar__logo{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--steel-300); letter-spacing:-.02em; opacity:.85; transition:color .25s,opacity .25s; }
.trustbar__logo:hover{ color:var(--navy); opacity:1; }

.card{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:transform .4s var(--ease-out),box-shadow .4s var(--ease),border-color .3s; }
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; }
.cat-card{ display:flex; flex-direction:column; min-height:280px; padding:1.6rem; color:#fff; background:linear-gradient(165deg,var(--navy-700),var(--ink)); border:0; }
.cat-card > *{ position:relative; z-index:1; }
.cat-card__icon{ width:52px; height:52px; border-radius:13px; background:rgba(255,255,255,.12); display:grid; place-items:center; color:#fff; margin-bottom:auto; backdrop-filter:blur(4px); }
.cat-card h3{ color:#fff; margin-top:1.4rem; }
.cat-card p{ color:rgba(255,255,255,.7); font-size:var(--fs-400); margin-top:.4rem; }
.cat-card .link-arrow{ color:#fff; margin-top:1.1rem; }
.cat-card::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 0%,rgba(30,159,218,.32),transparent 55%); opacity:0; transition:opacity .4s; z-index:0; }
.cat-card:hover::after{ opacity:1; }
.feature{ padding:1.8rem; }
.feature__icon{ width:54px; height:54px; border-radius:14px; background:linear-gradient(160deg,var(--accent),var(--teal-600)); display:grid; place-items:center; color:#fff; box-shadow:var(--shadow-accent); margin-bottom:1.2rem; }
.feature h3{ font-size:var(--fs-600); } .feature p{ margin-top:.55rem; font-size:var(--fs-400); }

.product-card{ display:flex; flex-direction:column; }
.product-card__media{ position:relative; aspect-ratio:4/3; background:var(--mist); overflow:hidden; }
.product-card__media .ph-machine{ position:absolute; inset:0; transition:transform .6s var(--ease-out); }
.product-card__media .product-card__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out); }
.product-card:hover .product-card__media .ph-machine,
.product-card:hover .product-card__media .product-card__img{ transform:scale(1.06); }
.pd__media .pd__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.product-card__tag{ position:absolute; top:.85rem; left:.85rem; z-index:2; background:rgba(11,21,36,.78); color:#fff; font-size:var(--fs-300); font-weight:600; padding:.3rem .7rem; border-radius:999px; backdrop-filter:blur(4px); }
.product-card__body{ padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.product-card__cat{ font-size:var(--fs-300); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); }
.product-card__name{ font-family:var(--font-display); font-size:1.18rem; font-weight:600; margin:.4rem 0 .55rem; letter-spacing:-.02em; }
.product-card__desc{ font-size:var(--fs-400); color:var(--steel); flex:1; }
.product-card__specs{ display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0; }
.spec-chip{ font-size:var(--fs-300); background:var(--mist); border:1px solid var(--line); border-radius:8px; padding:.28rem .6rem; color:var(--navy); font-weight:500; }
.product-card__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:1rem; border-top:1px solid var(--line); }
.product-card__price{ font-family:var(--font-display); font-weight:600; color:var(--ink); }
.product-card__price small{ display:block; font-family:var(--font-sans); font-weight:400; font-size:var(--fs-300); color:var(--steel-300); max-width:18ch; }

.filters{ display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.filter-chip{ padding:.55rem 1.05rem; border:1px solid var(--line); background:#fff; border-radius:999px; font-weight:500; font-size:var(--fs-400); cursor:pointer; transition:all .25s var(--ease); white-space:nowrap; }
.filter-chip:hover{ border-color:var(--steel-300); }
.filter-chip.is-active{ background:var(--navy); color:#fff; border-color:var(--navy); }
.catalog__bar{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.catalog__count{ font-size:var(--fs-400); color:var(--steel); } .catalog__count b{ color:var(--ink); }
.search{ position:relative; }
.search input{ width:min(280px,60vw); padding:.7rem 1rem .7rem 2.6rem; border:1px solid var(--line); border-radius:999px; background:#fff; transition:border-color .2s,box-shadow .2s; }
.search input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(30,159,218,.12); }
.search svg{ position:absolute; left:.9rem; top:50%; transform:translateY(-50%); color:var(--steel-300); }
.catalog__empty{ text-align:center; padding:4rem 1rem; color:var(--steel); }

.pd{ padding-top:calc(var(--header-h) + 2.5rem); }
.breadcrumb{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; font-size:var(--fs-300); color:var(--steel); margin-bottom:1.5rem; }
.breadcrumb a:hover{ color:var(--accent); } .breadcrumb .sep{ color:var(--steel-300); }
.pd__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
@media (max-width:900px){ .pd__grid{ grid-template-columns:1fr; } }
.pd__media{ position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:4/3.2; background:linear-gradient(160deg,var(--navy),var(--ink)); }
.pd__media .ph-machine{ position:absolute; inset:0; }
.pd__cat{ color:var(--accent); } .pd__title{ margin:.6rem 0 1rem; }
.pd__specs{ margin:2rem 0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.pd__specs h3{ padding:1rem 1.3rem; background:var(--mist); font-size:var(--fs-500); border-bottom:1px solid var(--line); }
.pd__spec-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding:.85rem 1.3rem; border-bottom:1px solid var(--line); }
.pd__spec-row:last-child{ border-bottom:0; }
.pd__spec-row dt{ color:var(--steel); font-size:var(--fs-400); } .pd__spec-row dd{ font-weight:600; color:var(--ink); }
.pd__cta{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.5rem; }
.pd__feature-list{ list-style:none; padding:0; margin:1.5rem 0; display:grid; gap:.7rem; }
.pd__feature-list li{ display:flex; gap:.65rem; align-items:flex-start; color:var(--steel); }
.pd__feature-list svg{ color:var(--accent); flex:none; margin-top:3px; }

.steps{ counter-reset:step; display:grid; gap:clamp(1.2rem,3vw,2rem); }
.step{ position:relative; padding:1.8rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); transition:transform .35s var(--ease-out),box-shadow .35s; }
.step:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.step__num{ counter-increment:step; font-family:var(--font-display); font-size:2.6rem; font-weight:700; color:var(--mist-2); line-height:1; }
.step__num::before{ content:"0" counter(step); }
.step h3{ font-size:var(--fs-600); margin:.4rem 0 .5rem; } .step p{ font-size:var(--fs-400); }
@media (max-width:980px){ .steps.cols-4{ grid-template-columns:repeat(2,1fr)!important; } }
@media (max-width:560px){ .steps.cols-4{ grid-template-columns:1fr!important; } }

.statband{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; text-align:center; }
@media (max-width:780px){ .statband{ grid-template-columns:repeat(2,1fr); } }
.statband .stat__num{ font-size:var(--fs-800); color:#fff; } .statband .stat__num .suffix{ color:var(--accent-300); }
.statband .stat__label{ color:var(--steel-300); }

.cta-band{ position:relative; overflow:hidden; border-radius:var(--radius-lg); background:linear-gradient(150deg,var(--navy-700),var(--ink)); color:#fff; padding:clamp(2.5rem,6vw,4.5rem); text-align:center; }
.cta-band::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 12% 120%,rgba(34,211,182,.38),transparent 46%),radial-gradient(circle at 90% -10%,rgba(30,159,218,.34),transparent 50%); }
.cta-band > *{ position:relative; z-index:1; }
.cta-band h2{ color:#fff; } .cta-band p{ color:var(--steel-300); margin:1rem auto 2rem; }
.cta-band .hero__cta{ justify-content:center; }

.contact__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
@media (max-width:900px){ .contact__grid{ grid-template-columns:1fr; } }
.info-list{ display:grid; gap:1.3rem; margin-top:2rem; }
.info-item{ display:flex; gap:1rem; align-items:flex-start; }
.info-item__icon{ width:48px; height:48px; flex:none; border-radius:12px; background:var(--mist); display:grid; place-items:center; color:var(--accent); }
.info-item b{ display:block; font-family:var(--font-display); }
.info-item span,.info-item a{ color:var(--steel); } .info-item a:hover{ color:var(--accent); }
.form{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:clamp(1.5rem,3vw,2.4rem); box-shadow:var(--shadow-md); }
.field{ margin-bottom:1.1rem; }
.field label{ display:block; font-weight:600; font-size:var(--fs-400); margin-bottom:.45rem; }
.field input,.field select,.field textarea{ width:100%; padding:.8rem 1rem; border:1px solid var(--line); border-radius:10px; background:var(--mist); transition:border-color .2s,box-shadow .2s,background .2s; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; background:#fff; border-color:var(--accent); box-shadow:0 0 0 4px rgba(30,159,218,.12); }
.field textarea{ resize:vertical; min-height:130px; }
.field--row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:520px){ .field--row{ grid-template-columns:1fr; } }
.field .error{ color:var(--accent); font-size:var(--fs-300); margin-top:.35rem; display:none; }
.field.invalid input,.field.invalid textarea,.field.invalid select{ border-color:var(--accent); }
.field.invalid .error{ display:block; }
.form__note{ font-size:var(--fs-300); color:var(--steel-300); margin-top:1rem; }
.form__success{ display:none; text-align:center; }
.form__success.show{ display:block; }
.form-error{ display:none; margin-top:1rem; padding:.9rem 1.1rem; border-radius:12px; background:#FDECEC; border:1px solid #F5C2C2; color:#9B2226; font-size:var(--fs-400); }
.form-error.show{ display:block; }
.form-error a{ color:#9B2226; font-weight:600; text-decoration:underline; }
.form__success .check{ width:64px; height:64px; margin:0 auto 1rem; border-radius:50%; background:rgba(30,159,218,.12); display:grid; place-items:center; color:var(--accent); }
.map-embed{ border:0; width:100%; height:340px; border-radius:var(--radius); filter:grayscale(.2) contrast(1.05); }

.site-footer{ background:var(--ink); color:var(--steel-300); padding-block:clamp(3rem,6vw,5rem) 2rem; }
.footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:clamp(1.5rem,4vw,3rem); padding-bottom:3rem; border-bottom:1px solid var(--line-dark); }
@media (max-width:860px){ .footer__top{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer__top{ grid-template-columns:1fr; } }
.footer__brand .brand{ color:#fff; }
.footer__brand p{ margin-top:1rem; color:var(--steel-300); max-width:34ch; }
.site-footer h4{ color:#fff; font-size:var(--fs-400); font-family:var(--font-sans); font-weight:600; letter-spacing:.04em; margin-bottom:1.1rem; text-transform:uppercase; }
.site-footer ul{ list-style:none; padding:0; display:grid; gap:.7rem; }
.site-footer a{ color:var(--steel-300); transition:color .2s; } .site-footer a:hover{ color:var(--accent-300); }
.footer__bottom{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; padding-top:2rem; font-size:var(--fs-300); }
.socials{ display:flex; gap:.6rem; }
.socials a{ width:40px; height:40px; border-radius:10px; border:1px solid var(--line-dark); display:grid; place-items:center; color:var(--steel-300); transition:all .25s; }
.socials a:hover{ background:var(--accent); color:#fff; border-color:var(--accent); transform:translateY(-3px); }

.page-hero{ position:relative; padding-top:calc(var(--header-h) + clamp(2.5rem,6vw,4.5rem)); padding-bottom:clamp(2.5rem,5vw,4rem); background:var(--navy); color:#fff; overflow:hidden; }
.page-hero::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:56px 56px; -webkit-mask-image:radial-gradient(circle at 80% 20%,#000,transparent 70%); mask-image:radial-gradient(circle at 80% 20%,#000,transparent 70%); }
.page-hero::after{ content:""; position:absolute; right:-5%; top:-30%; width:480px; height:480px; background:radial-gradient(circle,rgba(30,159,218,.25),transparent 60%); }
.page-hero .container{ position:relative; z-index:1; }
.page-hero h1{ color:#fff; max-width:18ch; }
.page-hero p{ color:var(--steel-300); max-width:54ch; margin-top:1rem; }
.page-hero .breadcrumb{ color:var(--steel-300); margin-bottom:1.2rem; }
.page-hero .breadcrumb a:hover{ color:var(--accent-300); }

.ph-machine{ background:radial-gradient(circle at 30% 20%,rgba(30,159,218,.18),transparent 45%),radial-gradient(circle at 75% 80%,rgba(37,66,107,.6),transparent 50%),linear-gradient(160deg,#16294a,#0b1524); display:grid; place-items:center; }
.ph-machine svg{ width:64%; height:auto; opacity:.92; }
.product-card__media .ph-machine{ background:radial-gradient(circle at 30% 25%,rgba(30,159,218,.12),transparent 45%),linear-gradient(160deg,#e9edf3,#d7dee8); }
.product-card__media .ph-machine svg{ opacity:.8; }

[data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease-out),transform .7s var(--ease-out); will-change:opacity,transform; transition-delay:var(--d,0s); }
[data-reveal="left"]{ transform:translateX(-32px); }
[data-reveal="right"]{ transform:translateX(32px); }
[data-reveal="scale"]{ transform:scale(.94); }
[data-reveal].in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  [data-reveal]{ opacity:1!important; transform:none!important; transition:none!important; }
  .btn,.card,.product-card__media .ph-machine,.socials a{ transition:none!important; }
  .hero__glow{ display:none; }
}

/* ============================================================
   Floating WhatsApp call button (right edge, all pages)
   ============================================================ */
.wa-fab{ position:fixed; right:clamp(14px,2.5vw,26px); bottom:clamp(16px,4vw,32px); z-index:120; display:inline-flex; align-items:center; gap:0; }
.wa-fab__btn{ position:relative; width:60px; height:60px; flex:none; border-radius:50%; background:#25D366; color:#fff; display:grid; place-items:center; box-shadow:0 10px 26px -6px rgba(37,211,102,.6),0 4px 10px rgba(0,0,0,.18); transition:transform .25s var(--ease-out),box-shadow .3s; }
.wa-fab__btn svg{ width:32px; height:32px; }
.wa-fab__btn::before{ content:""; position:absolute; inset:0; border-radius:50%; background:#25D366; opacity:.55; z-index:-1; animation:wa-pulse 2.4s var(--ease-out) infinite; }
.wa-fab__label{ max-width:0; overflow:hidden; white-space:nowrap; background:#fff; color:var(--ink); font-weight:600; font-size:var(--fs-400); border-radius:999px; box-shadow:var(--shadow-md); display:flex; align-items:center; height:46px; padding:0; margin-right:0; opacity:0; transform:translateX(8px); transition:max-width .35s var(--ease),opacity .25s,padding .35s,margin .35s,transform .35s var(--ease); }
.wa-fab:hover .wa-fab__btn{ transform:scale(1.06); }
.wa-fab:hover .wa-fab__label{ max-width:240px; opacity:1; padding:0 1.1rem; margin-right:.7rem; transform:translateX(0); }
@keyframes wa-pulse{ 0%{ transform:scale(1); opacity:.5; } 70%{ transform:scale(1.7); opacity:0; } 100%{ transform:scale(1.7); opacity:0; } }
@media (prefers-reduced-motion:reduce){ .wa-fab__btn::before{ animation:none; display:none; } .wa-fab__btn,.wa-fab__label{ transition:none; } }
/* On small screens show label collapsed (tap-only), keep button reachable above nothing */
@media (max-width:560px){ .wa-fab__label{ display:none; } }

/* ============================================================
   Blog — listing cards + single post
   ============================================================ */
.container--narrow{ max-width:780px; }
.blog-card{ display:flex; flex-direction:column; }
.blog-card__media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--mist); }
.blog-card__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out); }
.blog-card:hover .blog-card__img{ transform:scale(1.05); }
.blog-cover--ph{ position:absolute; inset:0; }
.blog-cover--ph .ph-machine{ position:absolute; inset:0; }
.blog-card__body{ padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.blog-card__date{ font-size:var(--fs-300); font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--accent); }
.blog-card__title{ font-family:var(--font-display); font-size:1.22rem; font-weight:600; margin:.5rem 0 .6rem; letter-spacing:-.02em; line-height:1.25; }
.blog-card__excerpt{ font-size:var(--fs-400); color:var(--steel); flex:1; }
.blog-card .link-arrow{ margin-top:1.1rem; }

.post{ padding-top:calc(var(--header-h) + 2.5rem); padding-bottom:1rem; }
.post__meta{ display:flex; gap:1rem; align-items:center; flex-wrap:wrap; color:var(--steel); font-size:var(--fs-300); font-weight:600; letter-spacing:.04em; text-transform:uppercase; margin-bottom:1rem; }
.post__tag{ background:var(--mist-2); color:var(--navy); padding:.25rem .7rem; border-radius:999px; }
.post__title{ font-size:var(--fs-800); max-width:20ch; margin-bottom:1rem; }
.post__lead{ font-size:var(--fs-500); color:var(--steel); margin-bottom:2rem; }
.post__cover{ position:relative; aspect-ratio:16/8; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:2.2rem; background:var(--mist); }
.post__cover-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.post__cover .blog-cover--ph .ph-machine{ position:absolute; inset:0; }
.post__body{ font-size:var(--fs-500); color:#33425a; }
.post__body p{ max-width:none; margin-bottom:1.25rem; color:#33425a; }
.post__body h2{ font-size:var(--fs-600); margin:2rem 0 .8rem; }

.center{ text-align:center; } .mt-auto{ margin-top:auto; } .hidden{ display:none!important; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{ position:absolute; left:50%; top:-60px; transform:translateX(-50%); background:var(--accent); color:#fff; padding:.6rem 1.2rem; border-radius:0 0 10px 10px; z-index:200; transition:top .25s; }
.skip-link:focus{ top:0; }
