/* =========================================================
   SecureVision — Modern Design System
   ========================================================= */
*{ margin:0; padding:0; box-sizing:border-box; }
:root{
  /* renkler */
  --bg:#ffffff;
  --bg-soft:#f6f7fb;
  --ink:#0c0e16;
  --ink-soft:#3a3f4d;
  --muted:#6b7280;
  --border:#e8eaf0;

  --brand:#ff2d4d;
  --brand-2:#e2000f;
  --brand-grad:linear-gradient(120deg,#ff2d4d 0%,#e2000f 100%);
  --ink-grad:linear-gradient(120deg,#0c1424 0%,#1b2c52 100%);

  --shadow-sm:0 2px 8px rgba(15,23,42,.06);
  --shadow-md:0 10px 30px rgba(15,23,42,.08);
  --shadow-lg:0 24px 60px rgba(15,23,42,.14);
  --shadow-brand:0 12px 30px rgba(255,45,77,.35);

  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --container:1200px;
  --ease:cubic-bezier(.4,0,.2,1);

  /* geriye dönük uyumluluk (admin paneli) */
  --red:#ff2d4d;
  --red-dark:#e01b3c;
  --gray:#6b7280;
  --dark:#0c0e16;
  --light:#f6f7fb;
}
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body{
  font-family:'Inter',system-ui,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  overflow-x:hidden;
}
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ font-family:'Sora',sans-serif; line-height:1.12; letter-spacing:-.02em; }
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }

/* helpers */
.grad-text{ background:var(--brand-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.eyebrow{
  display:inline-block; font-size:13px; font-weight:600; letter-spacing:.04em;
  padding:7px 14px; border-radius:100px; margin-bottom:18px;
  background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
}
.eyebrow--dark{ background:rgba(255,45,77,.08); color:var(--brand); border:1px solid rgba(255,45,77,.16); }

/* =========================================================
   BUTONLAR
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:100px; font-weight:600; font-size:15px;
  font-family:'Inter',sans-serif; cursor:pointer; border:1.5px solid transparent;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  white-space:nowrap;
}
.btn--lg{ padding:16px 32px; font-size:16px; }
.btn--sm{ padding:9px 18px; font-size:14px; }
.btn--primary{ background:var(--brand-grad); color:#fff; box-shadow:var(--shadow-brand); }
.btn--primary:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(255,45,77,.45); }
.btn--glass{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.25); backdrop-filter:blur(10px); }
.btn--glass:hover{ background:rgba(255,255,255,.2); transform:translateY(-3px); }
.btn--light{ background:#fff; color:var(--brand); box-shadow:var(--shadow-md); }
.btn--light:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.btn--outline{ border-color:var(--brand); color:var(--brand); }
.btn--outline:hover{ background:var(--brand); color:#fff; }

/* =========================================================
   TOPBAR
   ========================================================= */
.topbar{ background:#0a0c14; color:#aeb6c6; font-size:13px; }
.topbar__inner{ display:flex; justify-content:space-between; align-items:center; height:40px; }
.topbar__left{ display:flex; align-items:center; gap:9px; }
.topbar__pulse{ width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.6); animation:pulse 2s infinite; }
@keyframes pulse{ 70%{ box-shadow:0 0 0 7px rgba(34,197,94,0); } 100%{ box-shadow:0 0 0 0 rgba(34,197,94,0); } }
.topbar a{ color:#aeb6c6; padding:0 9px; transition:color .2s; }
.topbar a:hover{ color:#fff; }
.topbar__login{ color:#fff!important; font-weight:600; }

/* =========================================================
   HEADER / NAV
   ========================================================= */
.header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid rgba(15,23,42,.06);
  transition:box-shadow .3s var(--ease), background .3s var(--ease);
}
.header.scrolled{ background:rgba(255,255,255,.9); box-shadow:0 6px 24px rgba(15,23,42,.08); }
.header__inner{ display:flex; align-items:center; height:74px; gap:20px; }

.logo{ display:flex; align-items:center; gap:11px; font-size:21px; font-weight:700; font-family:'Sora',sans-serif; }
.logo__badge{ display:inline-flex; align-items:center; background:#fff; border-radius:10px; padding:6px 12px; box-shadow:0 1px 5px rgba(0,0,0,.10); }
.logo__img{ height:38px; width:auto; display:block; }
.footer .logo__img,.sidebar .logo__img,.login .logo__img{ height:40px; }
.header__inner .logo__badge{ padding:5px 10px; }
.logo__mark{
  width:34px; height:34px; border-radius:10px; background:var(--brand-grad);
  position:relative; box-shadow:var(--shadow-brand); flex-shrink:0;
}
.logo__mark::after{ content:""; position:absolute; inset:10px; border:3px solid #fff; border-radius:50%; }
.logo__mark::before{ content:""; position:absolute; top:14px; left:14px; width:6px; height:6px; background:#fff; border-radius:50%; z-index:2; }
.logo__text{ letter-spacing:-.03em; }
.logo__text strong{ color:var(--brand); font-weight:800; }
.logo--light .logo__text{ color:#fff; }

.nav{ margin-left:30px; }
.nav__list{ display:flex; gap:4px; }
.nav__item>a{
  display:flex; align-items:center; gap:5px; padding:0 16px; line-height:74px;
  font-weight:500; font-size:15px; color:var(--ink-soft);
  position:relative; transition:color .2s;
}
.nav__item>a:hover{ color:var(--brand); }
.nav__chev{ font-size:10px; opacity:.6; transition:transform .25s; }
.has-mega:hover .nav__chev{ transform:rotate(180deg); }
.nav__item>a::after{
  content:""; position:absolute; left:16px; right:16px; bottom:20px; height:2px;
  background:var(--brand-grad); border-radius:2px; transform:scaleX(0); transform-origin:left;
  transition:transform .28s var(--ease);
}
.nav__item>a:hover::after{ transform:scaleX(1); }

.header__actions{ margin-left:auto; display:flex; align-items:center; gap:12px; }
.icon-btn{ background:none; border:none; cursor:pointer; color:var(--ink-soft); padding:9px; border-radius:10px; display:flex; transition:.2s; }
.icon-btn:hover{ background:var(--bg-soft); color:var(--brand); }

/* MEGA */
.has-mega{ position:static; }
.mega{
  position:absolute; left:0; right:0; top:100%;
  background:rgba(255,255,255,.96); backdrop-filter:blur(20px);
  box-shadow:var(--shadow-lg); border-top:1px solid var(--border);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.28s var(--ease); z-index:90;
}
.has-mega:hover .mega{ opacity:1; visibility:visible; transform:translateY(0); }
.mega__inner{ display:flex; gap:50px; padding:38px 24px; }
.mega__col h4{ font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:16px; font-family:'Inter',sans-serif; font-weight:700; }
.mega__col a{ display:block; padding:8px 0; font-size:14.5px; color:var(--ink-soft); transition:.2s; border-radius:6px; }
.mega__col a:hover{ color:var(--brand); transform:translateX(5px); }
.mega__col--feat{ background:var(--bg-soft); margin:-38px -24px -38px 0; padding:38px 28px; border-left:1px solid var(--border); min-width:230px; }
.mega__feat{ font-weight:600; color:var(--ink)!important; display:flex; align-items:center; gap:9px; }
.mega__feat:hover{ color:var(--brand)!important; }
.mega__feat svg{ width:18px; height:18px; color:var(--brand); flex-shrink:0; }
.nav__chev svg{ width:12px; height:12px; }
.footer__social svg{ width:17px; height:17px; }
.eyebrow svg{ width:15px; height:15px; vertical-align:-2px; margin-right:6px; }

/* SEARCHBAR */
.searchbar{ max-height:0; overflow:hidden; background:var(--bg-soft); border-top:1px solid var(--border); transition:max-height .35s var(--ease); }
.searchbar.open{ max-height:100px; }
.searchbar .container{ display:flex; gap:12px; padding:20px 24px; }
.searchbar input{ flex:1; padding:14px 18px; border:1.5px solid var(--border); border-radius:100px; font-size:15px; font-family:inherit; outline:none; transition:.2s; }
.searchbar input:focus{ border-color:var(--brand); box-shadow:0 0 0 4px rgba(255,45,77,.1); }
.searchbar button{ padding:0 30px; background:var(--brand-grad); color:#fff; border:none; border-radius:100px; cursor:pointer; font-weight:600; }

/* =========================================================
   HERO
   ========================================================= */
.hero{ position:relative; overflow:hidden; background:var(--ink-grad); }
.hero__bg{ position:absolute; inset:0; z-index:0; }
.orb{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.55; animation:float 14s ease-in-out infinite; }
.orb--1{ width:480px; height:480px; background:#ff2d4d; top:-120px; right:-80px; }
.orb--2{ width:420px; height:420px; background:#3b6cff; bottom:-160px; left:-100px; animation-delay:-4s; }
.orb--3{ width:300px; height:300px; background:#e2000f; top:40%; left:45%; opacity:.35; animation-delay:-8s; }
@keyframes float{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(30px,-30px) scale(1.08); } }
.hero__grid-overlay{
  position:absolute; inset:0; z-index:1; opacity:.4;
  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:54px 54px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 75%);
}
.hero__track{ display:flex; transition:transform .7s var(--ease); position:relative; z-index:2; }
.slide{ min-width:100%; min-height:600px; display:flex; align-items:center; color:#fff; padding:80px 0; }
.slide__content{ max-width:740px; }
.slide h1{ font-size:clamp(34px,5.2vw,60px); font-weight:800; margin-bottom:22px; }
.slide__desc{ font-size:clamp(16px,2vw,20px); color:rgba(255,255,255,.8); margin-bottom:34px; max-width:560px; }
.slide__actions{ display:flex; gap:14px; flex-wrap:wrap; }

.hero__dots{ position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:5; }
.hero__dots button{ width:10px; height:10px; border-radius:50%; border:none; background:rgba(255,255,255,.4); cursor:pointer; transition:.3s var(--ease); }
.hero__dots button.active{ background:#fff; width:30px; border-radius:6px; }
.hero__arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border:1px solid rgba(255,255,255,.25);
  border-radius:50%; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); color:#fff; font-size:26px; cursor:pointer; z-index:5;
  transition:.25s var(--ease); display:flex; align-items:center; justify-content:center;
}
.hero__arrow:hover{ background:rgba(255,255,255,.22); }
.hero__arrow--prev{ left:30px; }
.hero__arrow--next{ right:30px; }

/* =========================================================
   TRUST STRIP
   ========================================================= */
.trust{ padding:48px 0; border-bottom:1px solid var(--border); background:var(--bg); overflow:hidden; }
.trust__label{ text-align:center; color:var(--muted); font-size:14px; margin-bottom:30px; }

/* kayan logo şeridi */
.marquee{ position:relative; width:100%; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee__track{ display:flex; align-items:center; gap:64px; width:max-content; animation:marquee 55s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__track img{
  height:88px; width:auto; object-fit:contain; flex-shrink:0;
  filter:grayscale(1); opacity:.6;
  transition:filter .3s var(--ease), opacity .3s var(--ease), transform .3s var(--ease);
}
.marquee__track img:hover{ filter:grayscale(0); opacity:1; transform:scale(1.08); }
/* soldan sağa kayar (ikinci kopya baştan başlar) */
@keyframes marquee{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }

/* =========================================================
   SECTIONS
   ========================================================= */
.section{ padding:96px 0; }
.section--alt{ background:var(--bg-soft); }
.section__head{ text-align:center; max-width:660px; margin:0 auto 56px; }
.section__head h2{ font-size:clamp(28px,4vw,42px); font-weight:800; margin-bottom:14px; }
.section__head p{ color:var(--muted); font-size:17px; }

/* CARDS */
.cards{ display:grid; gap:26px; }
.cards--4{ grid-template-columns:repeat(4,1fr); }
.cards--3{ grid-template-columns:repeat(3,1fr); }

.card{ background:#fff; border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:transparent; }
.card__img{ height:172px; background-size:cover; background-position:center; background-color:#eef0f5; position:relative; }
.card__img::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.18),transparent 50%); }
.card__body{ padding:24px 24px 28px; }
.card__icon{ width:52px; height:52px; border-radius:14px; background:rgba(255,45,77,.1); color:var(--brand); display:flex; align-items:center; justify-content:center; margin-bottom:16px; transition:.35s var(--ease); }
.card__icon svg{ width:26px; height:26px; }
.card:hover .card__icon{ background:var(--brand-grad); color:#fff; box-shadow:var(--shadow-brand); }
.card h3{ font-size:19px; margin-bottom:8px; }
.card p{ color:var(--muted); font-size:14.5px; margin-bottom:16px; }
.card__link{ display:inline-flex; align-items:center; gap:6px; color:var(--brand); font-weight:600; font-size:14.5px; }
.card__link .arrow{ transition:transform .25s var(--ease); }
.card:hover .card__link .arrow,.solution:hover .arrow{ transform:translateX(5px); }

.card__img--cam{ background-image:url("assets/cam/cam-network.jpg"); }
.card__img--ptz{ background-image:url("assets/cam/cam-ptz.jpg"); }
.card__img--nvr{ background-image:url("https://loremflickr.com/500/320/server,storage,device?lock=63"); }
.card__img--access{ background-image:url("https://loremflickr.com/500/320/access,control,door?lock=64"); }

/* SOLUTION */
.solution{ background:#fff; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--border); transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.solution:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.solution__img{ height:210px; background-size:cover; background-position:center; position:relative; }
.solution__img::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.45),transparent 55%); }
.solution__tag{ position:absolute; top:16px; left:16px; z-index:2; background:rgba(255,255,255,.92); color:var(--ink); font-size:12px; font-weight:700; padding:6px 13px; border-radius:100px; }
.solution__img--retail{ background-image:url("https://loremflickr.com/600/420/retail,store,shopping?lock=41"); }
.solution__img--city{ background-image:url("https://loremflickr.com/600/420/smart,city,traffic?lock=42"); }
.solution__img--industry{ background-image:url("https://loremflickr.com/600/420/factory,industry?lock=43"); }
.solution__body{ padding:26px; }
.solution__body h3{ font-size:21px; margin-bottom:10px; }
.solution__body p{ color:var(--muted); font-size:14.5px; margin-bottom:16px; }

/* =========================================================
   TECH
   ========================================================= */
.tech{ background:var(--ink-grad); color:#fff; padding:104px 0; position:relative; overflow:hidden; }
.tech__glow{ position:absolute; width:600px; height:600px; background:#ff2d4d; filter:blur(140px); opacity:.22; top:-150px; right:-150px; border-radius:50%; }
.tech__inner{ display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; position:relative; z-index:2; }
.tech__text h2{ font-size:clamp(28px,4vw,40px); font-weight:800; margin:6px 0 18px; }
.tech__text>p{ color:rgba(255,255,255,.75); font-size:17px; margin-bottom:24px; }
.tech__list{ margin-bottom:32px; }
.tech__list li{ padding:10px 0 10px 32px; position:relative; color:rgba(255,255,255,.9); }
.tech__list li::before{ content:"✓"; position:absolute; left:0; top:9px; width:20px; height:20px; background:var(--brand-grad); border-radius:50%; color:#fff; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.tech__stats{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.stat{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-md); padding:30px; text-align:center; transition:.3s var(--ease); }
.stat:hover{ background:rgba(255,255,255,.1); transform:translateY(-4px); }
.stat strong{ display:block; font-family:'Sora',sans-serif; font-size:46px; font-weight:800; background:linear-gradient(120deg,#fff,#ff9aa0); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1; }
.stat span{ color:rgba(255,255,255,.65); font-size:14px; }

/* =========================================================
   BENTO
   ========================================================= */
.bento{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.bento__cell{ background:#fff; border:1px solid var(--border); border-radius:var(--r-md); padding:30px; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.bento__cell:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.bento__cell--lg{ grid-row:span 2; display:flex; flex-direction:column; justify-content:center; background:var(--bg-soft); }
.bento__cell--accent{ background:var(--brand-grad); color:#fff; border:none; box-shadow:var(--shadow-brand); }
.bento__cell--accent p{ color:rgba(255,255,255,.85)!important; }
.bento__icon{ width:56px; height:56px; border-radius:14px; background:rgba(255,45,77,.1); color:var(--brand); display:inline-flex; align-items:center; justify-content:center; margin-bottom:16px; }
.bento__icon svg{ width:28px; height:28px; }
.bento__cell--lg .bento__icon{ width:64px; height:64px; }
.bento__cell--lg .bento__icon svg{ width:32px; height:32px; }
.bento__cell--accent .bento__icon{ background:rgba(255,255,255,.2); color:#fff; }
.bento__cell h3{ font-size:20px; margin-bottom:8px; }
.bento__cell p{ color:var(--muted); font-size:14.5px; }

/* =========================================================
   NEWS
   ========================================================= */
.news{ background:#fff; border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.news:hover{ box-shadow:var(--shadow-lg); transform:translateY(-6px); }
.news__img{ height:200px; background-size:cover; background-position:center; background-color:#374151; }
.news__img--1{ background-image:url("https://loremflickr.com/600/360/security,camera?lock=51"); }
.news__img--2{ background-image:url("https://loremflickr.com/600/360/technology,conference?lock=52"); }
.news__img--3{ background-image:url("https://loremflickr.com/600/360/cloud,network?lock=53"); }
.news__body{ padding:24px; }
.news__date{ color:var(--brand); font-size:13px; font-weight:700; }
.news__body h3{ font-size:18.5px; margin:9px 0 10px; }
.news__body p{ color:var(--muted); font-size:14.5px; }

/* =========================================================
   CTA
   ========================================================= */
.cta{ position:relative; padding:96px 0; overflow:hidden; color:#fff; text-align:center; }
.cta__bg{ position:absolute; inset:0; background:var(--brand-grad); z-index:0; }
.cta__bg::after{ content:""; position:absolute; inset:0; background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.18),transparent 40%),radial-gradient(circle at 80% 70%,rgba(0,0,0,.12),transparent 45%); }
.cta__inner{ position:relative; z-index:2; }
.cta__inner h2{ font-size:clamp(28px,4vw,44px); font-weight:800; margin-bottom:14px; }
.cta__inner p{ font-size:18px; opacity:.92; margin-bottom:32px; }
.cta__actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ background:#0a0c14; color:#9aa3b2; padding-top:68px; }
.footer__inner{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:36px; padding-bottom:52px; }
.footer__brand p{ margin:18px 0; font-size:14.5px; max-width:260px; }
.footer__col h4{ color:#fff; font-size:15px; margin-bottom:18px; font-family:'Inter',sans-serif; font-weight:700; }
.footer__col a{ display:block; padding:7px 0; font-size:14.5px; transition:.2s; }
.footer__col a:hover{ color:#fff; transform:translateX(4px); }
.footer__social{ display:flex; gap:10px; }
.footer__social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.07); display:flex; align-items:center; justify-content:center; font-size:14px; transition:.25s; }
.footer__social a:hover{ background:var(--brand-grad); color:#fff; transform:translateY(-3px); }
.footer__bottom{ border-top:1px solid rgba(255,255,255,.08); padding:22px 0; font-size:13.5px; }
.footer__bottom-inner{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.footer__bottom a{ padding:0 11px; transition:.2s; }
.footer__bottom a:hover{ color:#fff; }

/* =========================================================
   HAMBURGER + MOBİL
   ========================================================= */
.hamburger{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:9px; }
.hamburger span{ width:24px; height:2px; background:var(--ink); border-radius:2px; transition:.3s var(--ease); }
.hamburger.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2){ opacity:0; }
.hamburger.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* =========================================================
   SCROLL REVEAL
   ========================================================= */
[data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].in{ opacity:1; transform:none; }
[data-delay="1"]{ transition-delay:.1s; }
[data-delay="2"]{ transition-delay:.2s; }
[data-delay="3"]{ transition-delay:.3s; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:992px){
  .cards--4{ grid-template-columns:repeat(2,1fr); }
  .tech__inner{ grid-template-columns:1fr; gap:40px; }
  .bento{ grid-template-columns:repeat(2,1fr); }
  .bento__cell--lg{ grid-row:auto; grid-column:span 2; }
  .footer__inner{ grid-template-columns:1fr 1fr 1fr; }
  .header__cta{ display:none; }
}
@media(max-width:768px){
  .hamburger{ display:flex; }
  .nav{ position:fixed; inset:114px 0 0 0; background:rgba(255,255,255,.98); backdrop-filter:blur(20px); margin:0; padding:24px; transform:translateX(100%); transition:transform .35s var(--ease); overflow-y:auto; }
  .nav.open{ transform:translateX(0); }
  .nav__list{ flex-direction:column; gap:0; }
  .nav__item>a{ line-height:58px; border-bottom:1px solid var(--border); }
  .nav__item>a::after{ display:none; }
  .mega{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; display:none; background:var(--bg-soft); }
  .has-mega.active .mega{ display:block; }
  .mega__inner{ flex-direction:column; gap:22px; padding:18px 4px; }
  .mega__col--feat{ margin:0; border:none; min-width:0; }
  .cards--3,.cards--4,.bento{ grid-template-columns:1fr; }
  .bento__cell--lg{ grid-column:auto; }
  .footer__inner{ grid-template-columns:1fr 1fr; }
  .hero__arrow{ display:none; }
  .slide{ min-height:520px; }
  .marquee__track img{ height:64px; }
  .marquee__track{ gap:44px; }
}
