:root{
  --navy-950:#060a18;
  --navy-900:#0a1128;
  --navy-800:#0d1b3e;
  --navy-700:#132455;
  --gold-500:#c9a227;
  --gold-400:#e0bd4e;
  --gold-200:#f3e3ad;
  --ink-200:#c7cee0;
  --ink-400:#8b93ad;
  --ok:#0a1128;
  font-family:'Inter',sans-serif;
}
 "light"]){ color-scheme: dark; }
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:env(safe-area-inset-top,0px);}
html,body{height:100%;}
body{
  background: radial-gradient(1200px 800px at 15% -10%, #0f1c4a 0%, var(--navy-900) 45%, var(--navy-950) 100%);
  color:#eef1fb;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  overflow-x:hidden;
  min-height:100%;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
h1,h2,h3,.brandtype{font-family:'Space Grotesk',sans-serif;}
::selection{background:var(--gold-500); color:var(--navy-950);}

/* focus visibility */
a:focus-visible, button:focus-visible{outline:2px solid var(--gold-400); outline-offset:3px; border-radius:4px;}

/* ---------- NAV ---------- */
header.nav{
  position:sticky; top:0; z-index:1000;
  top:env(safe-area-inset-top,0px);
  backdrop-filter:blur(14px);
  background:#060a18;

  border-bottom:1px solid rgba(201,162,39,0.18);
}
.navrow{display:flex; align-items:center; justify-content:space-between; height:72px; gap:16px;}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.05rem; letter-spacing:0.01em;}
.brand img{height:38px; width:auto; border-radius:6px;}
.brand small{display:block; font-family:'Inter',sans-serif; font-weight:500; font-size:0.62rem;
letter-spacing:0.12em; color:var(--gold-400);}
 nav.links{
    display:flex; 
    gap:2px;
    background-color:var(--navy-950);
    padding:12px;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,0.5);
    border:1px solid rgba(201,162,39,0.18);
}
nav.links button{
  background:none; border:none; color:var(--ink-200); font:inherit; font-size:0.92rem; font-weight:500;
  padding:10px 16px; cursor:pointer; border-radius:8px; transition:color .2s, background .2s;
}
nav.links button:hover{color:#fff; background:rgba(201,162,39,0.08);}
nav.links button[aria-current="page"]{color:var(--gold-400); background:rgba(201,162,39,0.12);}
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:999px;
  font-weight:600; font-size:0.9rem; border:1px solid transparent; cursor:pointer; font-family:inherit;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-gold{background:linear-gradient(135deg,var(--gold-400),var(--gold-500)); color:#1a1300;}
.btn-gold:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,162,39,0.28);}
.btn-line{border-color:rgba(201,162,39,0.5); color:var(--gold-200); background:transparent;}
.btn-line:hover{background:rgba(201,162,39,0.1); transform:translateY(-2px);}
.btn.navcta{display:none;}
@media(min-width:860px){.btn.navcta{display:inline-flex;}}

.burger{display:flex; width:40px; height:40px; align-items:center; justify-content:center; background:none; border:1px solid rgba(201,162,39,.3); border-radius:8px; color:var(--gold-300); cursor:pointer;}
@media(min-width:860px){.burger{display:none;}}
nav.links{display:none;}
@media(min-width:860px){nav.links{display:flex;}}
.mobilemenu{position:fixed; inset:0; top:72px; background:var(--navy-950); z-index:99; padding:20px 24px; display:none; flex-direction:column; gap:6px;}
.mobilemenu.open{display:flex; background-color:#060a18 ; height: 400px; opacity:85%;}
.mobilemenu button{background:none; border:none; color:var(--ink-200); font:inherit; font-size:1.05rem; font-weight:500; text-align:left; padding:14px 6px; border-bottom:1px solid rgba(201,162,39,0.1); cursor:pointer;}
.mobilemenu button[aria-current="page"]{color:var(--gold-400);}

/* ---------- PAGES ---------- */
.page{display:none; animation:fadein .45s ease;}
.page.active{display:block;}
@keyframes fadein{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}
@media (prefers-reduced-motion: reduce){.page{animation:none;}}

section{padding:88px 0;}
@media(max-width:640px){section{padding:56px 0;}}
.eyebrow{color:var(--gold-400); font-size:0.82rem; font-weight:600; letter-spacing:0.02em; margin-bottom:14px;}
h2.section-title{font-size:clamp(1.8rem,3.4vw,2.6rem); font-weight:600; line-height:1.15; max-width:640px;}
p.lead{color:var(--ink-200); font-size:1.05rem; line-height:1.7; max-width:560px; margin-top:16px;}

/* ---------- HERO ---------- */
.hero{padding-top:64px; padding-bottom:40px; position:relative;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:center;}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr; gap:40px;}}
.hero h1{font-size:clamp(2.3rem,5.2vw,3.6rem); font-weight:700; line-height:1.08; letter-spacing:-0.01em;}
.hero h1 .accent{color:var(--gold-400);}
.hero p.lead{max-width:520px;}
.hero-actions{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.hero-stats{display:flex; gap:32px; margin-top:44px; flex-wrap:wrap;}
.hstat b{display:block; font-family:'Space Grotesk',sans-serif; font-size:1.5rem; color:#fff;}
.hstat span{font-size:0.8rem; color:var(--ink-400);}

/* ---------- HERO VIDEO BACKGROUND ---------- */
.hero-bg{
  position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);
}
.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%;}
/* theme gradient kept on top of the video + extra darkening behind the text column */
.hero-shade{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(6,10,24,.90) 0%, rgba(6,10,24,.80) 42%, rgba(6,10,24,.38) 78%, rgba(6,10,24,.28) 100%),
    radial-gradient(1200px 800px at 15% -10%, rgba(15,28,74,.55) 0%, rgba(10,17,40,.45) 45%, rgba(6,10,24,.55) 100%);
}
@media(max-width:920px){
  .hero-shade{
    background:
      linear-gradient(180deg, rgba(6,10,24,.86) 0%, rgba(6,10,24,.80) 55%, rgba(6,10,24,.62) 100%),
      radial-gradient(1200px 800px at 15% -10%, rgba(15,28,74,.55) 0%, rgba(10,17,40,.45) 45%, rgba(6,10,24,.55) 100%);
  }
}
.hero .hero-grid{position:relative; z-index:1;}
@media (prefers-reduced-motion: reduce){.hero-video{display:none;} .hero-bg{background:url("assets/video/hero-poster.jpg") center/cover no-repeat;}}

/* ---------- 3D LAPTOP (real photo, tilt-interactive) ---------- */
.laptop-stage{
  perspective:1800px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:400px; padding:26px 0 8px; touch-action:none; cursor:grab; user-select:none; -webkit-user-select:none;
  position:relative;
}
.laptop-stage:active{cursor:grabbing;}
.laptop-ring{
  position:absolute; bottom:34px; width:78%; max-width:360px; height:26px; border-radius:50%;
  border:1px solid rgba(201,162,39,0.4);
  background:radial-gradient(ellipse at center, rgba(201,162,39,0.22), transparent 72%);
  filter:blur(0.5px);
}
.laptop-photo-wrap{
  position:relative; width:min(92%,420px); transform-style:preserve-3d;
  transform:rotateX(var(--rx,10deg)) rotateY(var(--ry,-18deg));
  will-change:transform; filter:drop-shadow(0 30px 34px rgba(0,0,0,0.55));
}
.laptop-photo-wrap img{width:100%; display:block; pointer-events:none;}
.laptop-glow{
  width:280px; height:30px; margin-top:2px;
  background:radial-gradient(ellipse at center, rgba(201,162,39,0.3), transparent 70%);
  filter:blur(6px);
}
.laptop-hint{margin-top:8px; font-size:0.76rem; color:var(--ink-400); display:flex; align-items:center; gap:8px;}
.laptop-controls{display:flex; gap:8px; margin-top:12px;}
.lp-ctrl{
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(201,162,39,0.35); background:rgba(255,255,255,0.03);
  color:var(--gold-300); cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center;
}
.lp-ctrl:hover{background:rgba(201,162,39,0.12);}

/* ---------- LOGO MARK STRIP ---------- */
.marquee-wrap{border-top:1px solid rgba(201,162,39,0.15); border-bottom:1px solid rgba(201,162,39,0.15); padding:22px 0; overflow:hidden;}
.marquee{display:flex; gap:56px; white-space:nowrap; color:var(--ink-400); font-size:0.85rem; font-weight:500; letter-spacing:0.04em; animation:scroll 26s linear infinite;}
@keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.marquee{animation:none; flex-wrap:wrap;}}

/* ---------- CARDS / GRID ---------- */
.grid{display:grid; gap:20px; margin-top:48px;}
.grid.cols-3{grid-template-columns:repeat(3,1fr);}
.grid.cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.grid.cols-3,.grid.cols-4{grid-template-columns:1fr;}}

.card{
  background:linear-gradient(160deg,rgba(255,255,255,0.035),rgba(255,255,255,0.01));
  border:1px solid rgba(201,162,39,0.16); border-radius:16px; padding:28px;
  transition:border-color .2s, transform .2s;
}
.card:hover{border-color:rgba(201,162,39,0.5); transform:translateY(-4px);}
.card .icon{
  width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:rgba(201,162,39,0.12); color:var(--gold-400); margin-bottom:18px;
}
.card h3{font-size:1.08rem; font-weight:600; margin-bottom:8px;}
.card p{color:var(--ink-400); font-size:0.92rem; line-height:1.6;}

/* ---------- ABOUT / CEO ---------- */
.about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center;}
@media(max-width:860px){.about-grid{grid-template-columns:1fr;}}
.ceo-photo-wrap{position:relative;}
.ceo-photo{border-radius:20px; overflow:hidden; border:1px solid rgba(201,162,39,0.3); aspect-ratio:1/1.1;}
.ceo-photo img{width:100%; height:100%; object-fit:cover;}
.ceo-tag{position:absolute; left:-14px; bottom:-14px; background:var(--navy-950); border:1px solid rgba(201,162,39,0.4); border-radius:12px; padding:14px 18px;}
.ceo-tag b{display:block; font-family:'Space Grotesk',sans-serif; font-size:1rem;}
.ceo-tag span{font-size:0.78rem; color:var(--gold-400);}

.values{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:36px;}
@media(max-width:480px){.values{grid-template-columns:1fr;}}
.value b{color:#fff; font-size:0.95rem; display:block; margin-bottom:4px;}
.value p{color:var(--ink-400); font-size:0.85rem;}

/* ---------- TIMELINE (process) ---------- */
.process{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:52px; position:relative;}
@media(max-width:860px){.process{grid-template-columns:1fr; gap:28px;}}
.process:before{content:""; position:absolute; top:15px; left:5%; right:5%; height:1px; background:rgba(201,162,39,0.25);}
@media(max-width:860px){.process:before{display:none;}}
.pstep{position:relative; padding-right:20px;}
.pstep .dot{width:31px; height:31px; border-radius:50%; background:var(--navy-900); border:1px solid var(--gold-500); color:var(--gold-400); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-size:0.85rem; margin-bottom:18px; position:relative; z-index:2;}
.pstep b{display:block; margin-bottom:6px;}
.pstep p{color:var(--ink-400); font-size:0.85rem; line-height:1.5;}

/* ---------- PORTFOLIO ---------- */
.pf-filters{display:flex; flex-wrap:wrap; gap:10px; margin-top:36px;}
.pf-chip{
  font:inherit; font-size:0.84rem; font-weight:600; color:var(--ink-200); background:transparent;
  border:1px solid rgba(201,162,39,0.3); border-radius:999px; padding:9px 18px; cursor:pointer; transition:all .2s;
}
.pf-chip:hover{border-color:rgba(201,162,39,0.7); color:#fff;}
.pf-chip.active{background:linear-gradient(135deg,var(--gold-400),var(--gold-500)); color:#1a1300; border-color:transparent;}
.pf-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px;}
@media(max-width:900px){.pf-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.pf-grid{grid-template-columns:1fr;}}
.pf-card{
  border:1px solid rgba(201,162,39,0.16); border-radius:16px; overflow:hidden;
  background:rgba(255,255,255,0.02); transition:border-color .2s, transform .2s; display:none;
}
.pf-card.show{display:block; animation:fadein .35s ease;}
.pf-card:hover{border-color:rgba(201,162,39,0.5); transform:translateY(-4px);}
.pf-thumb{
  height:170px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.pf-thumb .pf-icon{font-size:2.1rem; color:rgba(255,255,255,0.9); position:relative; z-index:2;}
.pf-thumb .pf-shot{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; z-index:1; transition:transform .5s ease;}
.pf-card:hover .pf-shot{transform:scale(1.04);}
.pf-thumb:before{
  content:""; position:absolute; inset:0; opacity:0.9;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.16), transparent 45%),
    linear-gradient(135deg, var(--tc1,#16244f), var(--tc2,#0a1128));
}
.pf-body{padding:20px 22px 24px;}
.pf-tag{font-size:0.72rem; font-weight:600; color:var(--gold-400); letter-spacing:0.04em; text-transform:uppercase;}
.pf-body h3{font-size:1.02rem; font-weight:600; margin:8px 0 6px;}
.pf-body p{color:var(--ink-400); font-size:0.86rem; line-height:1.55;}
.pf-link{display:inline-flex; align-items:center; gap:6px; margin-top:12px; font-size:0.84rem; font-weight:600; color:var(--gold-400);}
.pf-link:hover{color:var(--gold-200);}

.course-row{display:flex; flex-direction:column; gap:16px; margin-top:44px;}
.course{
  display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 28px;
  border:1px solid rgba(201,162,39,0.16); border-radius:16px; flex-wrap:wrap;
  background:rgba(255,255,255,0.02);
}
.course .cleft{display:flex; align-items:center; gap:18px;}
.course .cnum{font-family:'Space Grotesk',sans-serif; color:var(--gold-500); font-size:1.6rem; font-weight:600; opacity:0.7;}
.course h3{font-size:1.05rem; font-weight:600;}
.course p{color:var(--ink-400); font-size:0.85rem; margin-top:4px;}
.tag{font-size:0.75rem; color:var(--gold-300); background:rgba(201,162,39,0.1); padding:5px 12px; border-radius:999px; border:1px solid rgba(201,162,39,0.25); white-space:nowrap;}

/* ---------- CTA BAND ---------- */
.cta-band{
  margin:0 auto; border-radius:24px; padding:56px 40px; text-align:center;
  background:linear-gradient(135deg,#132455,#0a1128); border:1px solid rgba(201,162,39,0.3);
}
.cta-band h2{max-width:100%; }
.cta-band .btn-gold{margin-top:26px;}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.cinfo{display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-bottom:1px solid rgba(201,162,39,0.12);}
.cinfo .icon{width:38px; height:38px; border-radius:10px; background:rgba(201,162,39,0.12); color:var(--gold-400); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.cinfo b{display:block; font-size:0.92rem;}
.cinfo span{color:var(--ink-400); font-size:0.86rem;}
form.contact-form{display:flex; flex-direction:column; gap:14px;}
.contact-form input, .contact-form select, .contact-form textarea{
  background:rgba(255,255,255,0.03); border:1px solid rgba(201,162,39,0.25); border-radius:10px;
  padding:13px 16px; color:#fff; font:inherit; font-size:0.92rem; width:100%;
}
.contact-form input::placeholder, .contact-form textarea::placeholder{color:var(--ink-400);}
.contact-form label{font-size:0.8rem; color:var(--ink-200); margin-bottom:-8px;}
.contact-form textarea{min-height:110px; resize:vertical;}
.formnote{font-size:0.82rem; color:var(--ink-400); margin-top:6px; display:none;}
.formnote.show{display:block; color:var(--gold-400);}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid rgba(201,162,39,0.16); padding:48px 0 32px;}
.foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.foot-brand img{height:32px;}
footer h4{font-size:0.82rem; color:var(--gold-400); margin-bottom:14px; font-weight:600;}
footer ul{list-style:none;}
footer li{margin-bottom:9px;}
footer li a{color:var(--ink-400); font-size:0.88rem;}
footer li a:hover{color:#fff;}
.foot-bottom{margin-top:40px; padding-top:20px; border-top:1px solid rgba(201,162,39,0.1); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:var(--ink-400); font-size:0.8rem;}

/* utility */
.center{text-align:center; margin-left:auto; margin-right:auto;}
.mt-lg{margin-top:60px;}

/* ---------- SERVICE CALCULATOR ---------- */
.calc-layout{display:grid; grid-template-columns:1.15fr 0.85fr; gap:32px; margin-top:40px; align-items:start;}
@media(max-width:900px){.calc-layout{grid-template-columns:1fr;}}
.cs-accent{font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400; color:var(--gold-400);}
.cs-steps{display:flex; flex-direction:column; gap:30px;}
.cs-step{
  min-width:0; border:1px solid rgba(201,162,39,0.22); border-radius:26px; padding:8px 22px 22px;
  background:rgba(255,255,255,0.015);
}
.cs-step legend{padding:0 12px; margin-left:8px;}
.cs-legend{display:inline-flex; align-items:center; gap:12px; font-family:'Space Grotesk',sans-serif; font-size:1.15rem; font-weight:500; color:#fff;}
.cs-num{
  width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-style:normal; font-size:0.9rem; font-weight:700; color:#1a1300;
  background:linear-gradient(135deg,var(--gold-400),var(--gold-500));
}
.cs-options{display:flex; flex-direction:column; gap:12px; margin-top:14px;}
.cs-opt{
  text-align:left; font:inherit; color:#fff; cursor:pointer; width:100%;
  padding:16px 20px; border-radius:16px; border:1px solid rgba(201,162,39,0.18);
  background:rgba(6,10,24,0.55); transition:border-color .2s, background .2s, box-shadow .2s;
}
.cs-opt:hover{border-color:rgba(201,162,39,0.4);}
.cs-opt b{display:block; font-family:'Inter',sans-serif; font-weight:600; font-size:1rem;}
.cs-opt small{display:block; margin-top:4px; font-size:0.86rem; color:var(--ink-400);}
.cs-opt.on{
  border-color:var(--gold-400); background:rgba(201,162,39,0.10);
  box-shadow:0 0 0 5px rgba(201,162,39,0.10);
}
.cs-opt:focus-visible{outline:2px solid var(--gold-400); outline-offset:3px;}
.cs-size{padding:16px 6px 4px;}
.cs-size-top{display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:22px;}
.cs-size-top b{font-family:'Space Grotesk',sans-serif; font-size:1.9rem; font-weight:500;}
.cs-size-top span{color:var(--ink-400); font-size:0.95rem;}
.cs-slider{
  -webkit-appearance:none; appearance:none; width:100%; height:10px; border-radius:999px; outline:none; cursor:pointer;
  border:1px solid rgba(201,162,39,0.25);
  background:linear-gradient(90deg,var(--gold-500) 0,var(--gold-400) var(--p,10%),rgba(255,255,255,0.10) var(--p,10%));
}
.cs-slider::-webkit-slider-thumb{-webkit-appearance:none; width:26px; height:26px; border-radius:50%; background:var(--gold-400); border:0; box-shadow:0 0 0 5px rgba(201,162,39,0.22);}
.cs-slider::-moz-range-thumb{width:26px; height:26px; border-radius:50%; background:var(--gold-400); border:0; box-shadow:0 0 0 5px rgba(201,162,39,0.22);}
.cs-slider:focus-visible{outline:2px solid var(--gold-400); outline-offset:6px;}

.calc-summary{
  position:sticky; top:96px;
  background:linear-gradient(160deg,rgba(201,162,39,0.10),rgba(255,255,255,0.02));
  border:1px solid rgba(201,162,39,0.35); border-radius:26px; padding:28px 26px;
}
.cs-kicker{font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-400); font-weight:500; display:block;}
.cs-range{font-family:'Space Grotesk',sans-serif; font-size:2.1rem; font-weight:600; margin:10px 0 6px; line-height:1.15;}
.cs-meta{color:var(--ink-200); font-size:0.95rem; padding-bottom:20px; border-bottom:1px solid rgba(201,162,39,0.2);}
.cs-lines{display:flex; flex-direction:column; gap:12px; padding:20px 0 18px; border-bottom:1px dashed rgba(201,162,39,0.3);}
.cs-line{display:flex; justify-content:space-between; gap:12px; color:var(--ink-200); font-size:0.95rem;}
.cs-line b{color:#fff; font-weight:600; white-space:nowrap;}
.cs-mid{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:18px 0 20px; border-bottom:1px solid rgba(201,162,39,0.2); color:var(--ink-200);}
.cs-mid b{font-family:'Space Grotesk',sans-serif; font-size:1.2rem; color:var(--gold-400);}
.cs-cta{
  margin-top:22px; width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:8px 8px 8px 24px; border:0; border-radius:999px; cursor:pointer; font:inherit; font-weight:600; font-size:1rem; color:#1a1300;
  background:linear-gradient(135deg,var(--gold-400),var(--gold-500)); transition:transform .18s ease, box-shadow .18s ease;
}
.cs-cta:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,162,39,0.28);}
.cs-cta i{width:44px; height:44px; border-radius:50%; background:#fff; color:#1a1300; display:flex; align-items:center; justify-content:center; font-style:normal; font-size:1.15rem;}
.cs-reset{display:block; margin:16px auto 0; background:none; border:0; color:var(--ink-200); font:inherit; font-size:0.92rem; text-decoration:underline; text-underline-offset:4px; cursor:pointer;}
.cs-reset:hover{color:#fff;}
.calc-note{font-size:0.8rem; color:var(--ink-400); margin-top:16px; line-height:1.55;}

.cs-bar{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:900;
  align-items:center; justify-content:space-between; gap:14px;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));
  background:rgba(6,10,24,0.96); backdrop-filter:blur(12px); border-top:1px solid rgba(201,162,39,0.25);
}
.cs-bar b{display:block; margin-top:4px; font-family:'Space Grotesk',sans-serif; font-size:1.3rem; font-weight:600;}
.cs-barbtn{
  border:0; cursor:pointer; font:inherit; font-weight:600; font-size:1rem; color:#1a1300;
  padding:15px 30px; border-radius:999px; background:linear-gradient(135deg,var(--gold-400),var(--gold-500));
}
@media(max-width:900px){
  .cs-bar{display:flex;}
  body[data-current="calculator"] footer{padding-bottom:96px;}
}
@media(max-width:520px){.cs-step{padding:6px 16px 18px; border-radius:22px;} .cs-range{font-size:1.7rem;} .cs-bar b{font-size:1.1rem;} .cs-barbtn{padding:14px 24px;}}

/* ---------- FAQ / COMMON QUERIES ---------- */
.faq{margin-top:44px; display:grid; gap:14px; max-width:820px;}
.faq-item{
  background:linear-gradient(160deg,rgba(255,255,255,0.035),rgba(255,255,255,0.01));
  border:1px solid rgba(201,162,39,0.16); border-radius:16px; transition:border-color .2s;
}
.faq-item:hover,.faq-item[open]{border-color:rgba(201,162,39,0.5);}
.faq-item summary{
  list-style:none; cursor:pointer; padding:22px 26px; display:flex; justify-content:space-between; align-items:center; gap:16px;
  font-family:'Space Grotesk',sans-serif; font-size:1.08rem; font-weight:600;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; color:var(--gold-400); font-size:1.5rem; line-height:1; flex-shrink:0; transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 26px 24px; color:var(--ink-200); font-size:0.95rem; line-height:1.7;}
.faq-more{margin-top:26px; color:var(--ink-400); font-size:0.95rem;}
.faq-more a{color:var(--gold-400); font-weight:600;}
.faq-more a:hover{color:var(--gold-200);}
