/* ============================================================
   XinHongXin · Flying Rescue Craft — shared design system
   Cinematic dark · orange accent · premium (taste-skill bar)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root{
  --bg:#060c12; --bg-soft:#0a141d; --bg-2:#081019; --ink:#f1f6fb; --mut:#93a8bb; --faint:#5d7186;
  --hair:rgba(150,200,240,.12); --hair-2:rgba(150,200,240,.07);
  --accent:#ff6a13; --accent-2:#ff9248; --glow:255,106,19; --blue:#3aa0ff; --bglow:58,160,255;
  --good:#28d07a;
  --ease:cubic-bezier(.22,1,.36,1); --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --r-lg:26px; --r-md:18px; --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;letter-spacing:-.01em;}
::selection{background:rgba(var(--glow),.3);color:#fff;}
a{color:inherit;text-decoration:none;} img{display:block;max-width:100%;}
h1,h2,h3,h4{font-family:"Sora",sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.05;text-wrap:balance;}
p{text-wrap:pretty;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.narrow{max-width:900px;}

/* fixed grain + ambient glow */
body::before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.glow{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 50% at 80% 6%,rgba(var(--glow),.14),transparent 60%),radial-gradient(50% 40% at 10% 84%,rgba(var(--bglow),.08),transparent 60%);}
main,nav,footer{position:relative;z-index:2;}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--accent-2);background:rgba(var(--glow),.08);border:1px solid rgba(var(--glow),.2);
  padding:7px 14px;border-radius:100px;}
.eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);}

/* buttons (button-in-button) */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:"Sora";font-weight:600;font-size:15px;
  padding:11px 14px 11px 24px;border-radius:100px;cursor:pointer;border:1px solid transparent;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s;}
.btn .ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;transition:transform .45s var(--ease-spring);}
.btn:hover .ic{transform:translate(3px,-1px);} .btn:active{transform:scale(.97);}
.btn.primary{background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#1a0c03;box-shadow:0 8px 24px rgba(var(--glow),.34),inset 0 1px 0 rgba(255,255,255,.4);}
.btn.primary .ic{background:rgba(0,0,0,.16);}
.btn.primary:hover{box-shadow:0 14px 38px rgba(var(--glow),.46),inset 0 1px 0 rgba(255,255,255,.4);}
.btn.ghost{background:rgba(255,255,255,.04);border-color:var(--hair);color:var(--ink);padding-left:22px;}
.btn.ghost .ic{background:rgba(255,255,255,.07);} .btn.ghost:hover{background:rgba(255,255,255,.07);}
.btn.sm{font-size:13px;padding:9px 11px 9px 18px;} .btn.sm .ic{width:26px;height:26px;}

/* ---------- nav (glass pill) ---------- */
.nav{position:fixed;top:18px;left:0;right:0;z-index:40;display:flex;justify-content:center;pointer-events:none;}
.nav .bar{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 18px;border-radius:100px;
  background:rgba(10,18,26,.6);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid var(--hair);box-shadow:0 10px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);transition:padding .4s var(--ease);}
.nav.scrolled .bar{padding:6px 6px 6px 16px;}
.brand{display:flex;align-items:center;gap:9px;font-family:"Sora";font-weight:700;font-size:14px;padding-right:6px;}
.brand img{width:26px;height:26px;border-radius:7px;} .brand b{color:var(--accent);}
.navlinks{display:flex;gap:2px;}
.navlinks a{font-size:13.5px;font-weight:500;color:var(--mut);padding:8px 14px;border-radius:100px;transition:.25s var(--ease);}
.navlinks a:hover{color:var(--ink);background:rgba(255,255,255,.05);}
.navlinks a.active{color:var(--ink);background:rgba(var(--glow),.14);}
.nav-cta{font-size:13px;padding:9px 11px 9px 18px;}
.burger{pointer-events:auto;display:none;width:40px;height:40px;border-radius:50%;border:none;background:rgba(255,255,255,.06);
  place-items:center;cursor:pointer;}
.burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:.3s var(--ease);}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:.3s var(--ease);}
.burger span::before{top:-6px;} .burger span::after{top:6px;}
body.menu-open .burger span{background:transparent;}
body.menu-open .burger span::before{top:0;transform:rotate(45deg);}
body.menu-open .burger span::after{top:0;transform:rotate(-45deg);}
.mobilemenu{position:fixed;inset:0;z-index:39;background:rgba(6,12,18,.92);backdrop-filter:blur(20px);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease);}
body.menu-open .mobilemenu{opacity:1;pointer-events:auto;}
.mobilemenu a{font-family:"Sora";font-size:26px;font-weight:700;color:var(--mut);padding:10px;transform:translateY(14px);opacity:0;transition:.5s var(--ease);}
body.menu-open .mobilemenu a{transform:none;opacity:1;}
body.menu-open .mobilemenu a:nth-child(1){transition-delay:.06s} body.menu-open .mobilemenu a:nth-child(2){transition-delay:.12s}
body.menu-open .mobilemenu a:nth-child(3){transition-delay:.18s} body.menu-open .mobilemenu a:nth-child(4){transition-delay:.24s}
body.menu-open .mobilemenu a:nth-child(5){transition-delay:.3s} body.menu-open .mobilemenu a:nth-child(6){transition-delay:.36s}
.mobilemenu a:hover,.mobilemenu a.active{color:var(--accent-2);}
@media(max-width:900px){ .navlinks,.nav .nav-cta{display:none;} .burger{display:grid;} .nav .bar{padding:8px 8px 8px 18px;} }

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(30px);filter:blur(9px);transition:opacity .85s var(--ease),transform .85s var(--ease),filter .85s var(--ease);}
.rv.in{opacity:1;transform:none;filter:none;}

/* ---------- section + heads ---------- */
section{padding:120px 0;} .section-sm{padding:80px 0;}
.sec-head{max-width:680px;} .sec-head.center{margin:0 auto;text-align:center;}
.sec-head.center .eyebrow{margin:0 auto;}
.sec-head h2{font-size:clamp(30px,4.4vw,52px);margin-top:18px;}
.sec-head p{margin-top:18px;color:var(--mut);font-size:18px;max-width:54ch;}
.sec-head.center p{margin-left:auto;margin-right:auto;}

/* ---------- page banner (sub-page hero) ---------- */
.banner{position:relative;padding:150px 0 70px;overflow:hidden;border-bottom:1px solid var(--hair);}
.banner .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;}
.banner .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,18,.7),rgba(6,12,18,.5) 50%,var(--bg));}
.banner .wrap{position:relative;}
.crumb{font-size:13px;color:var(--faint);font-weight:600;letter-spacing:.02em;}
.crumb a:hover{color:var(--accent-2);} .crumb b{color:var(--accent-2);}
.banner h1{font-size:clamp(34px,5.5vw,64px);margin-top:14px;max-width:18ch;}
.banner .lede{margin-top:18px;font-size:clamp(15px,1.6vw,19px);color:#cdddec;max-width:56ch;}

/* ---------- stat band (double bezel) ---------- */
.stats{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid var(--hair);
  border-radius:var(--r-lg);padding:6px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.stats .inner{background:linear-gradient(180deg,var(--bg-soft),#070f16);border:1px solid var(--hair-2);border-radius:calc(var(--r-lg) - 6px);
  display:grid;grid-template-columns:repeat(var(--cols,6),1fr);}
.stat{padding:30px 18px;text-align:center;border-right:1px solid var(--hair-2);}
.stat:last-child{border-right:none;}
.stat .n{font-family:"Sora";font-size:clamp(26px,3vw,40px);font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
.stat .n .u{font-size:.46em;color:var(--accent-2);margin-left:3px;font-weight:600;letter-spacing:0;}
.stat .l{font-size:11px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-weight:600;}
@media(max-width:880px){ .stats .inner{grid-template-columns:repeat(3,1fr);} .stat:nth-child(3n){border-right:none;}
  .stat:nth-child(-n+3){border-bottom:1px solid var(--hair-2);} }

/* ---------- feature rows (split) ---------- */
.frow{display:grid;grid-template-columns:1fr 1.08fr;gap:64px;align-items:center;margin-top:96px;}
.frow:first-of-type{margin-top:64px;}
.frow.rev .ftext{order:2;}
.fnum{font-family:"Sora";font-size:14px;font-weight:700;color:var(--accent-2);letter-spacing:.1em;}
.ftext h3{font-size:clamp(24px,2.7vw,34px);margin-top:14px;}
.ftext .desc{color:var(--mut);margin-top:16px;font-size:16.5px;max-width:46ch;}
.flist{margin-top:26px;border-top:1px solid var(--hair-2);}
.flist .li{display:flex;align-items:flex-start;gap:14px;padding:15px 2px;border-bottom:1px solid var(--hair-2);font-size:15px;color:#cdddea;transition:padding-left .35s var(--ease);}
.frow:hover .flist .li{padding-left:6px;}
.flist .li .ck{width:22px;height:22px;border-radius:7px;flex:none;margin-top:1px;display:grid;place-items:center;background:rgba(var(--glow),.12);border:1px solid rgba(var(--glow),.25);}
.flist .li .ck svg{width:12px;height:12px;stroke:var(--accent-2);stroke-width:2.4;fill:none;}
.flist .li b{color:#fff;font-weight:600;}
.fimg{position:relative;border-radius:var(--r-lg);padding:7px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--hair);box-shadow:0 40px 90px rgba(2,10,20,.6);}
.fimg .core{position:relative;border-radius:calc(var(--r-lg) - 7px);overflow:hidden;aspect-ratio:4/3;background:#08151f;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.fimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.frow:hover .fimg img{transform:scale(1.045);}
.fimg .tag{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;background:rgba(6,12,18,.72);backdrop-filter:blur(8px);border:1px solid var(--hair);border-radius:100px;padding:8px 15px;font-size:12px;font-weight:600;color:#e3eef8;}
.fimg .tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);}
.fimg.ph .core{display:grid;place-items:center;color:var(--faint);font-size:13px;font-weight:600;text-align:center;padding:20px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.022),rgba(255,255,255,.022) 14px,transparent 14px,transparent 28px);}
@media(max-width:880px){ .frow{grid-template-columns:1fr;gap:32px;} .frow.rev .ftext{order:0;} }

/* ---------- bento (image + colour cards) ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:56px;}
.bcard{position:relative;overflow:hidden;border-radius:24px;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:28px;color:#fff;border:1px solid var(--hair);box-shadow:0 16px 40px rgba(0,0,0,.4);transition:transform .55s var(--ease),box-shadow .5s var(--ease);}
.bcard:hover{transform:translateY(-7px);box-shadow:0 34px 70px rgba(0,0,0,.55);}
.bcard .bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transition:transform 1.2s var(--ease);}
.bcard:hover .bg{transform:scale(1.07);}
.bcard .ov{position:absolute;inset:0;z-index:1;}
.bcard .ct{position:relative;z-index:2;display:flex;flex-direction:column;}
.bcard.img .ov{background:linear-gradient(to top,rgba(4,10,18,.95) 4%,rgba(4,10,18,.5) 46%,rgba(4,10,18,.1) 86%);}
.bcard.co-o{border:none;} .bcard.co-o .ov{background:radial-gradient(120% 120% at 18% 0,#ff8a3d,var(--accent) 70%);}
.bcard.co-d{border:none;} .bcard.co-d .ov{background:radial-gradient(120% 120% at 82% 0,#123047,#08151f 72%);}
.bcard .ic{width:50px;height:50px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);display:grid;place-items:center;margin-bottom:16px;}
.bcard .ic svg{width:24px;height:24px;stroke:#fff;stroke-width:1.7;fill:none;}
.bcard .bnum{font-family:"Sora";font-size:12px;font-weight:700;color:var(--accent-2);letter-spacing:.16em;}
.bcard h3{font-size:23px;margin-top:9px;color:#fff;}
.bcard p{margin-top:11px;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.85);max-width:36ch;}
.bento .w4{grid-column:span 4;} .bento .w3{grid-column:span 3;} .bento .w2{grid-column:span 2;}
@media(max-width:880px){ .bento{grid-template-columns:1fr;} .bento .w4,.bento .w3,.bento .w2{grid-column:span 1;} .bcard{min-height:260px;} }

/* ---------- use-case / icon grid ---------- */
.usegrid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:56px;}
.ucard{grid-column:span 2;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--hair-2);border-radius:var(--r-md);padding:26px;transition:transform .5s var(--ease),border-color .4s,background .4s;}
.ucard.w3{grid-column:span 3;}
.ucard:hover{transform:translateY(-6px);border-color:rgba(var(--glow),.4);background:linear-gradient(180deg,rgba(var(--glow),.07),rgba(255,255,255,.01));}
.ucard .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(var(--glow),.1);border:1px solid rgba(var(--glow),.2);}
.ucard .ic svg{width:21px;height:21px;stroke:var(--accent-2);stroke-width:1.6;fill:none;}
.ucard h4{font-size:17px;margin-top:16px;} .ucard p{color:var(--mut);font-size:13.5px;margin-top:7px;}
@media(max-width:880px){ .usegrid{grid-template-columns:repeat(2,1fr);} .ucard,.ucard.w3{grid-column:span 1;} }

/* ---------- spec table ---------- */
.spec{margin-top:46px;border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden;background:rgba(255,255,255,.012);}
.spec .row{display:grid;grid-template-columns:1fr 1.5fr;border-bottom:1px solid var(--hair-2);transition:background .3s;}
.spec .row:last-child{border-bottom:none;} .spec .row:hover{background:rgba(var(--glow),.04);}
.spec .k{padding:18px 26px;color:var(--mut);font-size:14px;font-weight:600;}
.spec .v{padding:18px 26px;font-size:14px;font-weight:600;color:var(--ink);border-left:1px solid var(--hair-2);font-variant-numeric:tabular-nums;}

/* ---------- package / chips ---------- */
.gridbox{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:50px;}
.gridbox .i{background:rgba(255,255,255,.025);border:1px solid var(--hair-2);border-radius:14px;padding:20px;font-size:14px;font-weight:600;display:flex;gap:12px;align-items:center;transition:transform .4s var(--ease),border-color .3s;}
.gridbox .i:hover{transform:translateY(-4px);border-color:var(--hair);}
.gridbox .i .d{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);flex:none;}
.gridbox .i .n{width:26px;height:26px;border-radius:8px;background:rgba(var(--glow),.12);color:var(--accent-2);font-family:"Sora";font-size:12px;font-weight:700;display:grid;place-items:center;flex:none;}
@media(max-width:880px){ .gridbox{grid-template-columns:repeat(2,1fr);} }

/* ---------- product cards (catalog) ---------- */
.prods{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:54px;}
.prod{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--hair);background:var(--bg-soft);transition:transform .5s var(--ease),box-shadow .5s,border-color .4s;display:flex;flex-direction:column;}
.prod:hover{transform:translateY(-7px);box-shadow:0 34px 70px rgba(0,0,0,.5);border-color:rgba(var(--glow),.4);}
.prod .pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:#08151f;}
.prod .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.prod:hover .pic img{transform:scale(1.06);}
.prod .pic.ph{display:grid;place-items:center;color:var(--faint);font-size:12px;font-weight:600;text-align:center;padding:16px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.022),rgba(255,255,255,.022) 14px,transparent 14px,transparent 28px);}
.prod .badge{position:absolute;top:14px;left:14px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:100px;background:rgba(var(--glow),.92);color:#1a0c03;}
.prod .badge.soon{background:rgba(10,18,26,.8);color:var(--mut);border:1px solid var(--hair);}
.prod .body{padding:24px;display:flex;flex-direction:column;flex:1;}
.prod .model{font-size:12px;color:var(--faint);font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.prod h3{font-size:21px;margin-top:8px;}
.prod p{color:var(--mut);font-size:14px;margin-top:10px;flex:1;}
.prod .meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.prod .meta span{font-size:11.5px;font-weight:600;color:#cdddea;background:rgba(255,255,255,.04);border:1px solid var(--hair-2);border-radius:100px;padding:5px 11px;}
.prod .go{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-family:"Sora";font-weight:600;font-size:14px;color:var(--accent-2);}
.prod:hover .go{gap:12px;} .prod .go .ic{transition:transform .4s var(--ease);} .prod:hover .go .ic{transform:translateX(3px);}
@media(max-width:880px){ .prods{grid-template-columns:1fr;} }

/* ---------- timeline ---------- */
.timeline{margin-top:56px;position:relative;}
.timeline::before{content:"";position:absolute;left:118px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--accent),var(--hair) 30%,var(--hair));}
.tl{display:grid;grid-template-columns:104px 1fr;gap:30px;padding:18px 0;position:relative;}
.tl .yr{font-family:"Sora";font-weight:700;color:var(--accent-2);font-size:18px;text-align:right;padding-top:1px;}
.tl .dot{position:absolute;left:114px;top:24px;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(var(--glow),.18);}
.tl .c h4{font-size:18px;} .tl .c p{color:var(--mut);font-size:15px;margin-top:8px;max-width:60ch;}
@media(max-width:880px){ .timeline::before{left:54px;} .tl{grid-template-columns:46px 1fr;gap:18px;} .tl .yr{font-size:14px;} .tl .dot{left:50px;} }

/* ---------- process steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px;counter-reset:s;}
.step{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--hair-2);border-radius:var(--r-md);padding:28px;position:relative;}
.step::before{counter-increment:s;content:"0" counter(s);font-family:"Sora";font-weight:800;font-size:38px;color:rgba(var(--glow),.3);letter-spacing:-.03em;}
.step h4{font-size:17px;margin-top:10px;} .step p{color:var(--mut);font-size:13.5px;margin-top:8px;}
@media(max-width:880px){ .steps{grid-template-columns:1fr 1fr;} }

/* ---------- logo / trust strip ---------- */
.trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-top:40px;}
.trust .t{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.03);border:1px solid var(--hair-2);border-radius:100px;padding:11px 18px;font-size:13.5px;font-weight:600;color:#cdddea;}
.trust .t svg{width:17px;height:17px;stroke:var(--accent-2);stroke-width:1.8;fill:none;}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 40px;margin-top:50px;}
.faq .q h4{font-size:17px;} .faq .q p{color:var(--mut);font-size:14.5px;margin-top:8px;}
@media(max-width:880px){ .faq{grid-template-columns:1fr;} }

/* ---------- gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:50px;}
.gal a,.gal div{border-radius:var(--r-md);overflow:hidden;aspect-ratio:1/1;border:1px solid var(--hair);position:relative;}
.gal .big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.gal a:hover img{transform:scale(1.06);}
@media(max-width:880px){ .gal{grid-template-columns:repeat(2,1fr);} .gal .big{grid-column:span 2;grid-row:span 1;} }

/* ---------- CTA band ---------- */
.ctaband{position:relative;text-align:center;border-radius:36px;padding:104px 28px;overflow:hidden;
  background:radial-gradient(120% 130% at 50% 0%,#10314f,#06121e 70%);border:1px solid var(--hair);}
.ctaband h2{font-size:clamp(30px,5vw,58px);} .ctaband p{color:var(--mut);margin:18px auto 0;max-width:50ch;font-size:18px;}
.ctaband .cta{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- contact form ---------- */
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.cinfo .item{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--hair-2);}
.cinfo .item:last-child{border:none;}
.cinfo .item .ic{width:42px;height:42px;border-radius:12px;background:rgba(var(--glow),.1);border:1px solid rgba(var(--glow),.2);display:grid;place-items:center;flex:none;}
.cinfo .item .ic svg{width:20px;height:20px;stroke:var(--accent-2);stroke-width:1.7;fill:none;}
.cinfo .item h4{font-size:15px;} .cinfo .item p{color:var(--mut);font-size:14px;margin-top:3px;}
.form{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--hair);border-radius:var(--r-lg);padding:30px;}
.form label{display:block;font-size:12px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;}
.form input,.form textarea,.form select{width:100%;border:1px solid var(--hair);border-radius:11px;padding:12px 14px;font-size:14px;font-family:inherit;color:var(--ink);background:rgba(255,255,255,.03);transition:border-color .2s,box-shadow .2s;}
.form input::placeholder,.form textarea::placeholder{color:var(--faint);}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:rgba(var(--glow),.6);box-shadow:0 0 0 3px rgba(var(--glow),.14);background:rgba(255,255,255,.05);}
.form textarea{resize:vertical;min-height:90px;}
.form .btn{width:100%;justify-content:center;margin-top:20px;}
.form .note{font-size:11px;color:var(--faint);margin-top:12px;text-align:center;}
@media(max-width:880px){ .contactgrid{grid-template-columns:1fr;gap:30px;} }

/* ---------- footer ---------- */
footer{border-top:1px solid var(--hair);margin-top:40px;padding:64px 0 40px;}
.fcols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;}
.fcols .about{max-width:34ch;}
.fbrand{display:flex;align-items:center;gap:10px;font-family:"Sora";font-weight:700;font-size:16px;}
.fbrand img{width:30px;height:30px;border-radius:8px;} .fbrand b{color:var(--accent);}
.fcols p{color:var(--mut);font-size:14px;margin-top:14px;}
.fcols h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:700;font-family:"Plus Jakarta Sans";}
.fcols ul{list-style:none;margin-top:14px;display:grid;gap:10px;}
.fcols ul a{color:var(--mut);font-size:14px;transition:.2s;} .fcols ul a:hover{color:var(--accent-2);}
.fbar{margin-top:48px;padding-top:24px;border-top:1px solid var(--hair-2);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--faint);font-size:13px;}
@media(max-width:880px){ .fcols{grid-template-columns:1fr 1fr;gap:30px;} .fcols .about{grid-column:span 2;} }

.backto{position:fixed;right:22px;bottom:22px;z-index:30;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:rgba(10,18,26,.7);backdrop-filter:blur(12px);border:1px solid var(--hair);color:var(--mut);opacity:0;pointer-events:none;
  transition:opacity .4s var(--ease),transform .4s var(--ease-spring);transform:translateY(10px);}
.backto.show{opacity:1;pointer-events:auto;transform:none;} .backto:hover{color:var(--accent-2);}
