/* ============================================================
   The Trade & Freight Company — shared styles
   Palette: navy #0E1B2C / gold #F0BE3B (Globex-inspired)
   ============================================================ */
:root{
  --navy:#0E1B2C;
  --navy-2:#16263C;
  --navy-3:#1D3049;
  --gold:#F0BE3B;
  --gold-dark:#D9A51E;
  --paper:#F5F7FA;
  --white:#FFFFFF;
  --ink:#16243A;
  --muted:#5B6B80;
  --line:rgba(22,36,58,.12);
  --line-dark:rgba(245,247,250,.14);
  --bhf:#C8102E;
  --radius:16px;
  --max:1180px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  color:var(--ink);background:var(--white);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-weight:800;line-height:1.15;letter-spacing:-.01em;}
.g{color:var(--gold);}
.eyebrow{
  font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px;
}
.dark .eyebrow{color:var(--gold);}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;text-decoration:none;font-weight:700;font-size:15px;
  padding:14px 30px;border-radius:999px;border:none;cursor:pointer;
  font-family:inherit;letter-spacing:.01em;
  transition:background .2s,color .2s,border-color .2s,transform .15s;
}
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:var(--gold-dark);}
.btn-outline{border:2px solid rgba(245,247,250,.35);color:var(--white);background:transparent;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.btn-navy{background:var(--navy);color:var(--white);}
.btn-navy:hover{background:var(--navy-3);}
.btn-bhf{
  background:var(--bhf);color:#fff;
  display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 4px 14px rgba(200,16,46,.25);
}
.btn-bhf:hover{
  background:#a30d26;
  box-shadow:0 8px 24px rgba(200,16,46,.35);
}
.btn-bhf svg{transition:transform .25s ease;}
.btn-bhf:hover svg{transform:translateX(4px);}

/* ---------- nav ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:90;
  background:rgba(14,27,44,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-dark);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  height:74px;max-width:1320px;margin:0 auto;padding:0 24px;
}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--white);}
.brand-mark{
  width:38px;height:38px;border-radius:9px;background:var(--gold);
  display:flex;align-items:center;justify-content:center;flex:none;
  font-weight:800;color:var(--navy);font-size:16px;letter-spacing:-.02em;
}
.brand-name{line-height:1;display:flex;flex-direction:column;justify-content:center;}
.brand-name small{display:block;font-size:8.5px;font-weight:700;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;}
.brand-name strong{font-size:16.5px;font-weight:800;margin:1px 0;}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;}
.nav-links a{
  text-decoration:none;color:var(--white);font-size:14.5px;font-weight:600;
  opacity:.88;transition:opacity .2s,color .2s; white-space:nowrap;
}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a.active{opacity:1;color:var(--gold);}
.nav-links .btn{padding:11px 22px;font-size:14px;}
.nav-links .btn:hover{color:var(--navy);}

/* ---------- dropdown ---------- */
.has-dropdown{position:relative;}
.dropdown{
  position:absolute;top:calc(100% + 14px);left:-20px;padding:12px 0;
  background:var(--navy);border:1px solid var(--line-dark);
  border-radius:10px;min-width:320px;list-style:none;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .2s ease;z-index:100;
  box-shadow:0 12px 34px rgba(0,0,0,.25);
}
.dropdown::before{content:"";position:absolute;top:-20px;left:0;right:0;height:20px;}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown{
  opacity:1;visibility:visible;transform:translateY(0);
}
.dropdown li{padding:0;}
.dropdown a{
  display:block;padding:8px 24px;font-size:14.5px;color:#D5DEE9;
  opacity:1;transition:color .2s,background .2s;
}
.dropdown a:hover{color:var(--gold);background:rgba(255,255,255,.04);}

.burger{
  display:none;background:none;border:1px solid var(--line-dark);border-radius:10px;
  width:44px;height:40px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.burger span{display:block;width:18px;height:2px;background:var(--white);transition:transform .25s,opacity .25s;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:1020px){
  .burger{display:flex;}
  .nav-links{
    position:fixed;top:74px;left:0;right:0;background:var(--navy);
    border-bottom:1px solid var(--line-dark);flex-direction:column;align-items:stretch;
    gap:0;padding:8px 0 18px;transform:translateY(-130%);transition:transform .3s ease;
    max-height:calc(100vh - 74px);overflow:auto;
  }
  .nav-links.open{transform:translateY(0);}
  .nav-links li{padding:11px 24px;}
  
  /* mobile dropdown */
  .has-dropdown .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:none;padding:12px 0 0 16px;background:transparent;
    min-width:auto;
  }
  .has-dropdown .dropdown::before{display:none;}
  .has-dropdown .dropdown a{padding:8px 0;font-size:14px;}

  .nav-links .btn{margin:6px 24px 0;text-align:center;display:block;}
}

/* ---------- hero (home) ---------- */
.hero{
  position:relative;background:var(--navy);color:var(--white);
  padding:170px 0 90px;overflow:hidden;
}
.hero-bg-video {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 1; opacity: 0.35; pointer-events: none;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 500px at 85% -10%,rgba(240,190,59,.14),transparent 60%),
    radial-gradient(rgba(245,247,250,.07) 1px,transparent 1px);
  background-size:auto,32px 32px; z-index: 2; pointer-events: none;
}
.hero .wrap{position:relative;z-index:3;}
.hero h1{font-size:clamp(38px,6vw,66px);max-width:18ch;}
.type-wrap{display:inline-block;min-width:8ch;}
.type-cursor{
  display:inline-block;width:4px;height:.95em;background:var(--gold);
  margin-left:4px;vertical-align:-.12em;animation:blink 1s steps(1) infinite;
}
@keyframes blink{50%{opacity:0;}}
.hero-sub{max-width:580px;margin-top:24px;color:#B9C5D6;font-size:18px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}

/* route svg */
.route{position:relative;margin-top:70px;}
.route svg{display:block;width:100%;height:auto;}
.route-dash{
  fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:6 9;stroke-linecap:round;
  animation:sail 2.8s linear infinite;
}
@keyframes sail{to{stroke-dashoffset:-60;}}
.route-base{fill:none;stroke:rgba(245,247,250,.12);stroke-width:2;}
.port{fill:var(--white);}
.port-ring{fill:none;stroke:var(--gold);stroke-width:1.5;}
.route text{font-size:11px;letter-spacing:.12em;fill:#8C9CB2;text-transform:uppercase;font-weight:600;}
.route text tspan.hl{fill:var(--white);}
@media(prefers-reduced-motion:reduce){
  .route-dash{animation:none;}
  .type-cursor{animation:none;}
  html{scroll-behavior:auto;}
}

/* ---------- generic sections ---------- */
section{padding:96px 0;}
.section-head{max-width:760px;margin-bottom:54px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(30px,4vw,46px);}
.section-head .lede{margin-top:16px;color:var(--muted);font-size:18px;}
.dark{background:var(--navy);color:var(--white);}
.dark .section-head .lede{color:#B9C5D6;}
.tint{background:var(--paper);}

/* ---------- card grids ---------- */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
@media(max-width:1000px){.cards-3,.cards-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.cards-3,.cards-4,.cards-2{grid-template-columns:1fr;}}

.card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s;
}
a.card{display:block;text-decoration:none;color:inherit;}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(14,27,44,.10);border-color:rgba(240,190,59,.55);}
.card h3{font-size:19px;margin-bottom:10px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.card p{font-size:15px;color:var(--muted);}
.arrow-dot{
  flex:none;width:38px;height:38px;border-radius:50%;border:2px solid var(--gold);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  transition:background .2s,color .2s;
}
.arrow-dot svg{width:16px;height:16px;}
.card:hover .arrow-dot{background:var(--gold);color:var(--navy);}

/* numbered steps (dark) */
.step-card{
  border:1px solid rgba(240,190,59,.45);border-radius:var(--radius);
  padding:30px 28px;background:rgba(245,247,250,.02);
}
.step-card .num{font-size:34px;font-weight:800;color:var(--white);}
.step-card h3{font-size:20px;margin:10px 0 10px;color:var(--gold);}
.step-card p{font-size:15px;color:#B9C5D6;}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start;}
.about-grid p+p{margin-top:16px;}
.about-grid p{color:#3D4D63;}
.about-grid p strong{color:var(--navy);}
.mission-card{
  background:var(--navy);color:var(--white);border-radius:var(--radius);
  padding:36px 32px;position:sticky;top:100px;
}
.mission-card .eyebrow{color:var(--gold);}
.mission-card p{font-size:19px;font-weight:600;line-height:1.55;}
.mission-card .tagline{margin-top:22px;font-size:14px;font-weight:500;color:#B9C5D6;border-top:1px solid var(--line-dark);padding-top:18px;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:36px;}.mission-card{position:static;}}

/* ---------- stats band ---------- */
.band{
  background:var(--navy);color:var(--white);text-align:center;padding:84px 0;
}
.band h2{font-size:clamp(26px,3.6vw,42px);max-width:24ch;margin:0 auto;}
.band .btn{margin-top:32px;}

/* ---------- team ---------- */
.member{overflow:hidden;padding:0;}
.member .photo{
  aspect-ratio:4/3.2;background:var(--navy);position:relative;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.member .photo img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;
}
.member .photo::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(245,247,250,.12) 1px,transparent 1px);
  background-size:24px 24px;
}
.member .photo span{position:relative;color:var(--gold);font-size:40px;font-weight:800;z-index:1;}
.member .photo small{
  position:absolute;bottom:12px;left:16px;color:#8C9CB2;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:600;z-index:1;
}
.member .info{padding:24px;}
.member h3{font-size:19px;display:block;}
.member .role{color:var(--gold-dark);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:5px 0 12px;}
.member .bio{font-size:14.5px;color:var(--muted);}

/* ---------- charity ---------- */
.charity-card{
  border:1px solid var(--line);border-left:6px solid var(--bhf);
  border-radius:var(--radius);background:var(--white);
  display:grid;grid-template-columns:1fr 1fr;overflow:hidden;
  box-shadow:0 20px 40px rgba(14,27,44,.06);
  transition: box-shadow 0.4s ease, transform 0.4s ease;
}
.charity-card:hover {
  box-shadow:0 30px 60px rgba(200,16,46,.08);
  transform: translateY(-4px);
}
.charity-body{
  padding:50px 48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  background: linear-gradient(145deg, #ffffff 0%, rgba(200,16,46,0.02) 100%);
}
.bhf-logo-img{height:72px;width:auto;margin-bottom:24px;object-fit:contain; filter: drop-shadow(0 4px 12px rgba(200,16,46,0.1));}
.charity-body h3{font-size:clamp(24px,3vw,32px);line-height:1.2; letter-spacing: -0.01em;}
.charity-body h3 .heart{color:var(--bhf);}
.charity-body p{margin-top:16px;color:var(--muted);max-width:54ch;font-size:16px;line-height:1.65;}
.charity-body .btn{margin-top:36px;}
.charity-media{border-left:1px solid var(--line);position:relative;min-height:360px;overflow:hidden;background:var(--paper);}
.charity-media::after {
  content:"";position:absolute;inset:0;
  background: linear-gradient(to right, rgba(0,0,0,0.06) 0%, transparent 3%);
  pointer-events: none; z-index: 2;
}
.charity-photo{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(0.2, 0.8, 0.2, 1);}
.charity-card:hover .charity-photo{transform:scale(1.06);}

/* ---------- markets ---------- */
.market-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 32px; margin-top: 48px;
}
.market-card {
  position: relative; border-radius: var(--radius); overflow: hidden;
  min-height: 380px; box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  display: flex; flex-direction: column; cursor: pointer;
}
.market-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}
.market-img {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 1;
}
.market-card:hover .market-img {
  transform: scale(1.08);
}
.market-card::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(to top, rgba(14,27,44,0.9) 0%, rgba(14,27,44,0.2) 60%, transparent 100%);
}
.market-label {
  position: relative; z-index: 3; margin-top: auto; padding: 32px; text-align: center;
}
.market-label h3 {
  color: #fff; font-size: 24px; font-weight: 600; margin: 0; text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

/* ---------- distributor CTA ---------- */
.distributor-cta {
  background: linear-gradient(rgba(14,27,44,0.85), rgba(14,27,44,0.95)), url('https://images.unsplash.com/photo-1578575437130-527eed3abbec?q=80&w=2000&auto=format&fit=crop') center/cover no-repeat;
  color: #fff; padding: 120px 24px; position: relative;
}
.distributor-cta .wrap {
  max-width: 800px; position: relative; z-index: 2;
}
.distributor-cta h2 {
  font-size: clamp(32px, 5vw, 48px); margin: 16px 0 24px; line-height: 1.1;
}
.distributor-cta .lede {
  color: #cbd5e1; font-size: 18px; margin-bottom: 32px; max-width: 65ch; margin-left: auto; margin-right: auto;
}

/* ---------- certified distributor expansion ---------- */
.advantages-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px;
}
.adv-card {
  background-color: #121A25; border-radius: 8px; padding: 40px; position: relative;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2); transition: transform 0.3s ease;
}
.adv-card:hover { transform: translateY(-4px); }
.adv-num {
  position: absolute; top: 32px; right: 32px; font-weight: 700; color: #cbd5e1;
  font-size: 14px; background: #1E293B; padding: 4px 10px; border-radius: 20px;
}
.adv-icon { margin-bottom: 24px; }
.adv-card h3 { color: #fff; font-size: 20px; margin-bottom: 12px; }
.adv-card p { color: #8C9CB2; font-size: 15px; line-height: 1.6; margin: 0; }

.membership-box {
  display: flex; background: #0B111A; border-radius: 12px; margin-top: 48px;
  overflow: hidden; box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}
.mem-left {
  flex: 0 0 40%; padding: 60px 40px; color: #fff; border-right: 1px solid #1E293B;
}
.mem-left h2 { color: #fff; margin-bottom: 16px; }
.mem-left p { color: #cbd5e1; font-size: 16px; line-height: 1.6; }
.mem-right {
  flex: 1; padding: 60px 40px; color: #cbd5e1; font-size: 15px; line-height: 1.6;
}
.mem-list { list-style: none; padding: 0; margin: 0; }
.mem-list li { margin-bottom: 20px; position: relative; padding-left: 20px; }
.mem-list li::before {
  content: "•"; color: var(--gold); position: absolute; left: 0; font-size: 24px; line-height: 1; top: -2px;
}
.mem-list li strong { color: #fff; font-weight: 600; }

.distributor-banner {
  background: #0B111A; padding: 40px 0; border-top: 1px solid #1E293B; border-bottom: 1px solid #1E293B;
  position: relative; overflow: hidden;
}
.distributor-banner::before {
  content: ""; position: absolute; left: 20px; top: 20px; bottom: 20px; width: 4px; background: var(--gold);
}
.distributor-banner::after {
  content: ""; position: absolute; right: 20px; bottom: 20px; width: 30px; height: 30px; border-right: 4px solid #f97316; border-bottom: 4px solid #f97316;
}

.process-layout {
  display: grid; grid-template-columns: 1fr 400px; gap: 48px; align-items: start;
}
.accordion { border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; background: #fff; }
.acc-item { border-bottom: 1px solid #e2e8f0; }
.acc-item:last-child { border-bottom: none; }
.acc-header {
  padding: 24px; display: flex; justify-content: space-between; align-items: center;
  font-weight: 600; color: #334155; cursor: pointer; background: transparent; border: none; width: 100%; text-align: left; font-family: inherit; font-size: inherit;
}
.acc-header:hover { background: #f8fafc; }
.acc-icon { color: #94a3b8; font-size: 20px; font-weight: 400; transition: transform 0.2s ease; }
.acc-item.open .acc-icon { transform: rotate(45deg); color: var(--gold); }
.acc-content {
  max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out;
}
.acc-inner { padding: 0 24px 24px 24px; color: #64748b; line-height: 1.6; }
.acc-item.open .acc-content { max-height: 500px; }

.help-card {
  background: #F8FAFC; border: 1px solid #e2e8f0; border-radius: 8px; padding: 40px;
}
.help-card h3 { font-size: 20px; color: #0f172a; margin-bottom: 16px; line-height: 1.3; }
.help-card p { color: #64748b; font-size: 15px; line-height: 1.6; }

.dist-form {
  background: #fff; border-radius: 12px; padding: 48px; text-align: left;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}
.dist-form .field { margin-bottom: 24px; }
.dist-form .field label { color: #334155; font-weight: 600; font-size: 14px; margin-bottom: 8px; display: block; }
.dist-form input, .dist-form select, .dist-form textarea {
  width: 100%; box-sizing: border-box; background: #F8FAFC; border: 1px solid #cbd5e1; color: #0f172a;
  border-radius: 8px; padding: 14px 16px; font-family: inherit; font-size: 15px;
  transition: all 0.2s ease;
}
.dist-form textarea { resize: vertical; min-height: 120px; }
.dist-form input::placeholder, .dist-form textarea::placeholder { color: #94a3b8; }
.dist-form input:focus, .dist-form select:focus, .dist-form textarea:focus {
  border-color: var(--gold); background: #fff; outline: none; box-shadow: 0 0 0 4px rgba(240,190,59,0.15);
}

@media(max-width:900px){
  .advantages-grid { grid-template-columns: 1fr; }
  .membership-box { flex-direction: column; }
  .mem-left { border-right: none; border-bottom: 1px solid #1E293B; }
  .process-layout { grid-template-columns: 1fr; }
  .charity-card{grid-template-columns:1fr;}
  .charity-media{border-left:none;border-top:1px solid var(--line);min-height:280px;grid-row:1;}
  .charity-body{padding:40px 30px;grid-row:2;}
}

/* ---------- calculators ---------- */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
@media(max-width:980px){.calc-grid{grid-template-columns:1fr;}}
.calc{
  background:var(--white);border-radius:12px;padding:48px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1); border:1px solid var(--line);
}
.calc h3{font-size:24px;margin-bottom:12px;color:var(--navy);}
.calc .sub{font-size:15px;color:var(--muted);margin-bottom:32px;}
.field{margin-bottom:24px;}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:#334155;}
.field input:not([type="radio"]):not([type="checkbox"]), .field select, .field textarea{
  width:100%; box-sizing: border-box; background: #F8FAFC; border: 1px solid #cbd5e1; color: #0f172a;
  border-radius: 8px; padding: 14px 16px; font-family: inherit; font-size: 15px;
  transition: all 0.2s ease;
}
.field input:not([type="radio"]):not([type="checkbox"]):focus, .field select:focus, .field textarea:focus{
  border-color: var(--gold); background: #fff; outline: none; box-shadow: 0 0 0 4px rgba(240,190,59,0.15);
}
.field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:520px){.field-row{grid-template-columns:1fr;}.field-row-2{grid-template-columns:1fr;}}
.calc .btn{width:100%;margin-top:12px;border-radius:8px;padding:16px;}
.result{
  margin-top:22px;border-radius:12px;background:var(--paper);
  border:1px solid var(--line);padding:22px;display:none;
}
.result.show{display:block;}
.result .big{font-size:30px;font-weight:800;color:var(--navy);}
.result .big em{font-style:normal;color:var(--gold-dark);}
.result ul{list-style:none;margin-top:12px;}
.result li{
  display:flex;justify-content:space-between;gap:16px;font-size:14.5px;
  padding:7px 0;border-bottom:1px dashed var(--line);color:var(--muted);
}
.result li:last-child{border-bottom:none;}
.result li b{color:var(--ink);font-weight:700;}
.disclaimer{font-size:12.5px;color:var(--muted);margin-top:14px;}
.result .error{color:#B00020;font-weight:600;font-size:14.5px;}

/* ---------- service pages ---------- */
.page-hero{
  background:var(--navy);color:var(--white);padding:160px 0 80px;position:relative;overflow:hidden;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(700px 400px at 90% 0%,rgba(240,190,59,.13),transparent 60%),
    radial-gradient(rgba(245,247,250,.07) 1px,transparent 1px);
  background-size:auto,32px 32px;
}
.page-hero .wrap{position:relative;}
.page-hero .crumb{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.page-hero .crumb a{color:#B9C5D6;text-decoration:none;}
.page-hero .crumb a:hover{color:var(--gold);}
.page-hero h1{font-size:clamp(34px,5vw,56px);max-width:20ch;}
.page-hero p{max-width:620px;margin-top:20px;color:#B9C5D6;font-size:18px;}
.page-hero .btn{margin-top:30px;}

.svc-body{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start;}
.svc-body .copy p+p{margin-top:16px;}
.svc-body .copy p{color:#3D4D63;}
.svc-body h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:18px;}
.aside-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px;position:sticky;top:100px;
}
.aside-card h3{font-size:17px;margin-bottom:14px;}
.aside-card ul{list-style:none;}
.aside-card li{
  padding:10px 0 10px 30px;position:relative;font-size:15px;color:#3D4D63;
  border-bottom:1px dashed var(--line);
}
.aside-card li:last-child{border-bottom:none;}
.aside-card li::before{
  content:"";position:absolute;left:0;top:16px;width:18px;height:18px;border-radius:50%;
  background:var(--gold);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.aside-card .btn{width:100%;text-align:center;margin-top:20px;}
@media(max-width:900px){.svc-body{grid-template-columns:1fr;gap:36px;}.aside-card{position:static;}}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr;gap:36px;}}
.contact-list{list-style:none;margin-top:10px;}
.contact-list li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-dark);}
.contact-list .k{
  flex:none;width:96px;font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);padding-top:4px;
}
.contact-list div{color:#D5DEE9;}
.contact-list a{color:var(--white);text-decoration:none;border-bottom:1px solid rgba(245,247,250,.3);}
.contact-list a:hover{color:var(--gold);border-color:var(--gold);}
.form-card{
  background:var(--white);color:var(--ink);border-radius:var(--radius);padding:34px 32px;
}
.form-card h3{font-size:20px;margin-bottom:18px;}
.form-card .btn{width:100%;}
.form-note{font-size:12.5px;color:var(--muted);margin-top:12px;}

/* ---------- footer ---------- */
footer{background:var(--navy);color:#B9C5D6;border-top:1px solid var(--line-dark);padding:64px 0 0;}
.foot-grid{
  max-width:var(--max);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
}
.foot-grid h4{color:var(--white);font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;}
.foot-grid ul{list-style:none;}
.foot-grid li{margin-bottom:10px;}
.foot-grid a{color:#B9C5D6;text-decoration:none;font-size:14.5px;transition:color .2s;}
.foot-grid a:hover{color:var(--gold);}
.foot-about p{font-size:14.5px;margin-top:14px;max-width:34ch;}
.foot-bottom{
  border-top:1px solid var(--line-dark);margin-top:50px;padding:20px 24px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  max-width:var(--max);margin-left:auto;margin-right:auto;font-size:13px;color:#8C9CB2;
}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;}}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
