
:root{
  --navy:#071426;
  --navy-deep:#050b1b;
  --orange:#f76b17;
  --orange-soft:#fff0e5;
  --cream:#faf7f1;
  --cream-deep:#f4e9dc;
  --white:#ffffff;
  --ink:#071426;
  --muted:#596a7e;
  --line:#d8d2c8;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 56px));margin:auto}

/* Header matches the mobile design: navy, simple, no glass/gradient treatment. */
.nav{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--navy);
  border-bottom:2px solid rgba(255,255,255,.08);
}
.nav-inner{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.logo{
  height:58px;
  width:58px;
  object-fit:cover;
  border-radius:13px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:26px;
  font-size:.94rem;
  font-weight:600;
  color:#f5f6f8;
}
.nav-links a{opacity:.9;transition:.2s}
.nav-links a:hover,.nav-links a.active{opacity:1;color:#fff}
.nav-links a.active:not(.btn){color:#fff}
.menu{
  display:none;
  background:transparent;
  border:2px solid rgba(255,255,255,.25);
  color:#fff;
  border-radius:18px;
  padding:12px 22px;
  font:inherit;
  font-weight:600;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:18px;
  padding:15px 25px;
  min-height:56px;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s,background .18s,box-shadow .18s;
}
.btn-primary{
  background:var(--orange);
  color:#fff;
  box-shadow:0 10px 24px rgba(247,107,23,.16);
}
.btn-primary:hover{transform:translateY(-2px);background:#ff741c}
.btn-secondary{
  background:#fff;
  color:var(--navy);
  border:2px solid var(--line);
}
.btn-secondary:hover{transform:translateY(-2px);background:#fffdf9}

/* Shared visual language across breakpoints; layout changes with the viewport. */
.hero{
  position:relative;
  overflow:hidden;
  padding:96px 0 92px;
  background:var(--cream);
}
.hero:before{
  content:"";
  position:absolute;
  width:980px;
  height:980px;
  left:-480px;
  bottom:-610px;
  border-radius:50%;
  border:76px solid rgba(247,107,23,.09);
  pointer-events:none;
}
.hero:after{
  content:"";
  position:absolute;
  width:540px;
  height:540px;
  right:-300px;
  top:120px;
  border-radius:50%;
  background:rgba(247,107,23,.035);
  pointer-events:none;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  align-items:center;
  width:min(1180px,100%);
  margin:0 auto;
  gap:72px;
  position:relative;
  z-index:1;
}
.hero-grid>div:first-child{max-width:700px}
.kicker{
  color:var(--orange);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.88rem;
  line-height:1.35;
}
h1,h2,h3{
  font-family:"DM Serif Display",Georgia,"Times New Roman",serif;
  color:var(--navy);
  font-weight:400;
}
h1{
  font-size:clamp(4.8rem,6.4vw,7rem);
  line-height:.9;
  letter-spacing:-.055em;
  margin:24px 0 28px;
  max-width:720px;
}
h1 span{color:var(--orange)}
h2{
  font-size:clamp(3rem,5vw,5rem);
  line-height:1;
  letter-spacing:-.035em;
  margin:8px 0 16px;
}
h3{
  font-size:1.65rem;
  line-height:1.15;
  margin:0 0 10px;
}
.lead{
  font-size:clamp(1.08rem,1.35vw,1.25rem);
  line-height:1.65;
  color:var(--muted);
  max-width:680px;
}
.actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}
.actions .btn{min-width:190px}

.hero-card{
  width:min(540px,100%);
  justify-self:end;
  margin:0;
  padding:22px;
  background:var(--navy);
  border:2px solid var(--navy);
  border-radius:30px;
  box-shadow:0 20px 50px rgba(7,20,38,.14);
}
.hero-card img{
  width:100%;
  aspect-ratio:1.15 / 1;
  object-fit:cover;
  border-radius:20px;
}

/* Sections stay light. Navy is reserved for the header/footer and intentional CTA panels. */
.section{padding:105px 0;background:var(--cream)}
.section.alt{background:var(--white)}
.section-head{max-width:850px;margin-bottom:46px}
.section-head p{color:var(--muted);font-size:1.14rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{
  border:2px solid var(--line);
  background:#fff;
  border-radius:24px;
  padding:32px;
}
.card p{margin:0;color:var(--muted);font-size:1.02rem}
.icon{
  width:50px;
  height:50px;
  border-radius:14px;
  background:var(--orange-soft);
  color:var(--orange);
  display:grid;
  place-items:center;
  font-weight:900;
  margin-bottom:20px;
}
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step:before{
  counter-increment:step;
  content:"0" counter(step);
  display:block;
  color:var(--orange);
  font-weight:900;
  font-size:.84rem;
  letter-spacing:.14em;
  margin-bottom:20px;
}
.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service{
  padding:18px 19px;
  border:2px solid var(--line);
  border-radius:17px;
  background:#fff;
  font-weight:800;
}
.service small{display:block;color:var(--muted);font-weight:500;margin-top:4px}
.cta{
  padding:58px;
  border-radius:32px;
  background:var(--navy);
  color:#fff;
}
.cta h2{color:#fff;margin:0 0 10px;font-size:3.3rem}
.cta p{margin:0 0 25px;color:#d7e0ea;max-width:720px;font-size:1.08rem}
.form-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:24px;align-items:start}
.form{
  border:2px solid var(--line);
  background:#fff;
  border-radius:24px;
  padding:32px;
}
label{display:block;font-weight:800;font-size:.92rem;margin-bottom:7px}
input,select,textarea{
  width:100%;
  background:#fff;
  border:2px solid var(--line);
  border-radius:14px;
  padding:14px 15px;
  color:var(--ink);
  font:inherit;
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(247,107,23,.1);
}
textarea{min-height:180px;resize:vertical}
.field{margin-bottom:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.radio-group{display:flex;flex-wrap:wrap;gap:10px}
.radio{position:relative}
.radio input{position:absolute;opacity:0}
.radio span{
  display:block;
  padding:11px 15px;
  border:2px solid var(--line);
  border-radius:12px;
  color:var(--muted);
  cursor:pointer;
  background:#fff;
}
.radio input:checked+span{
  border-color:var(--orange);
  color:var(--navy);
  background:var(--orange-soft);
}
.check{display:flex;gap:10px;align-items:flex-start;color:#647184;font-size:.9rem}
.check input{width:auto;margin-top:5px}
.status{margin-top:15px;padding:12px;border-radius:12px;display:none}
.status.ok{display:block;background:#edf9f0;border:1px solid #b9e2c2;color:#1d6330}
.status.err{display:block;background:#fff0ef;border:1px solid #efc1bc;color:#8a2f28}
.notice{
  border-left:4px solid var(--orange);
  padding:17px 19px;
  background:#fff8ef;
  color:#5d6978;
  border-radius:0 13px 13px 0;
}
.story-strip{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.story-note{
  background:var(--navy);
  color:#fff;
  border-radius:26px;
  padding:34px;
}
.story-note h3{color:#fff}
.story-note p{color:#d5dfe9;margin-bottom:0}
.story-note strong{color:#ff9a52}
.footer{
  background:var(--navy);
  padding:55px 0;
  color:#aebccc;
}
.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.footer-logo{height:54px;width:54px;object-fit:cover;border-radius:13px;margin-bottom:12px}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a:hover{color:#fff}
.legal{max-width:900px;margin:auto}
.legal h1{font-size:clamp(3.4rem,7vw,6rem)}
.legal h2{font-size:1.65rem;margin-top:36px}
.legal p,.legal li{color:#647184}
.legal li{margin:6px 0}


@media(max-width:1000px){
  .nav-links{gap:17px;font-size:.9rem}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:42px}
  h1{font-size:clamp(4.3rem,6.5vw,5.8rem)}
  .hero-card{width:min(430px,100%)}
  .service-list{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .nav-links{
    display:none;
    position:absolute;
    top:88px;
    left:0;
    right:0;
    background:var(--navy);
    border-bottom:1px solid rgba(255,255,255,.1);
    padding:22px 28px;
    flex-direction:column;
    align-items:flex-start;
  }
  .nav-links.open{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-grid>div:first-child{max-width:760px}
  .hero-card{justify-self:start;width:min(600px,100%)}
  .form-wrap,.story-strip{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .container{width:min(var(--max),calc(100% - 40px))}
  .nav-inner{min-height:82px}
  .logo{height:54px;width:54px}
  .nav-links{top:82px}
  .menu{display:block}
  .hero{padding:72px 0 70px}
  .hero:before{width:760px;height:760px;left:-500px;bottom:-360px;border-width:65px}
  .hero:after{width:400px;height:400px;right:-250px;top:300px}
  .hero-grid{gap:42px}
  h1{font-size:clamp(3.7rem,17vw,5.2rem);line-height:.9;margin:22px 0 26px}
  .kicker{font-size:.72rem;letter-spacing:.13em}
  .lead{font-size:1.03rem;line-height:1.6}
  .actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}
  .actions .btn{width:100%;min-width:0}
  .hero-card{justify-self:stretch;width:100%;padding:18px;border-radius:25px}
  .hero-card img{border-radius:17px;aspect-ratio:1.12 / 1}
  .section{padding:75px 0}
  .row,.grid-2,.grid-3,.steps,.service-list{grid-template-columns:1fr}
  .card{padding:27px;border-radius:21px}
  .cta{padding:36px 28px;border-radius:25px}
  .cta h2{font-size:2.45rem}
}


/* ---------- Added: micro-interactions, trust bar, service icons, FAQ, nav-on-scroll ---------- */

/* Nav gains depth once the page scrolls, so it doesn't look flat over content */
.nav.scrolled{box-shadow:0 12px 30px rgba(5,11,27,.28)}

/* Card + service lift on hover, keyboard-focus visible for a11y */
.card,.service{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.card:hover,.service:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(7,20,38,.08);border-color:#e7c9a9}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(247,107,23,.55);outline-offset:2px;border-radius:10px;
}

/* Scroll-reveal: elements fade/rise into place; JS toggles .in-view */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in-view{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .card,.service{transition:none}
}

/* Trust bar: quick-scan facts under the hero */
.trust-bar{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  width:min(1180px,100%);margin:0 auto;position:relative;z-index:1;
}
.trust-item{
  display:flex;align-items:center;gap:12px;
  background:#fff;border:2px solid var(--line);border-radius:18px;padding:16px 18px;
}
.trust-item svg{flex:none;color:var(--orange)}
.trust-item strong{display:block;font-size:.98rem;color:var(--navy)}
.trust-item span{display:block;font-size:.82rem;color:var(--muted)}

/* Service tiles get a small icon + hover accent bar */
.service{position:relative;overflow:hidden;padding-left:20px}
.service:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--orange);transform:scaleY(0);transform-origin:bottom;transition:transform .22s ease;
}
.service:hover:before{transform:scaleY(1)}
.service-icon{color:var(--orange);margin-bottom:10px;display:block}
.service-icon svg{width:24px;height:24px}

/* FAQ accordion */
.faq{border:2px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;margin-bottom:14px}
.faq-q{
  width:100%;text-align:left;background:none;border:0;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:22px 24px;font:inherit;font-weight:800;font-size:1.06rem;color:var(--navy);
}
.faq-q .plus{flex:none;width:26px;height:26px;border-radius:50%;background:var(--orange-soft);color:var(--orange);
  display:grid;place-items:center;font-weight:900;transition:transform .22s ease}
.faq[open] .faq-q .plus{transform:rotate(45deg)}
.faq-a{padding:0 24px 22px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.faq summary::-webkit-details-marker{display:none}
.faq summary{list-style:none}

@media(max-width:900px){
  .trust-bar{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .trust-bar{grid-template-columns:1fr;margin-top:34px}
  .trust-item{padding:14px 16px}
}
