/* ==========================================================================
   Border Solutions Consulting — Design System v2
   ========================================================================== */

:root{
  --navy-950:#060D18;
  --navy-900:#0A1728;
  --navy-800:#122238;
  --navy-700:#1B324F;
  --navy-600:#284368;

  --gold-300:#EDD6A0;
  --gold-400:#DEBD75;
  --gold-500:#C9A24B;
  --gold-600:#A9813A;
  --gold-700:#7E5F2A;

  --cream:#FAF8F3;
  --cream-2:#F3EFE4;
  --paper:#FFFFFF;

  --ink:#12161C;
  --grey-700:#3C4450;
  --grey-500:#68717D;
  --grey-300:#A7ADB6;
  --line:#E7E2D6;
  --line-dark:rgba(237,214,160,.16);

  --success-bg:#E7F3EA;
  --success-fg:#1F6B36;
  --error-bg:#FBEAEA;
  --error-fg:#A32A2A;

  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;
  --maxw:1180px;

  --ease:cubic-bezier(.22,1,.36,1);
  --font-display:'Fraunces', Georgia, serif;
  --font-sans:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
::selection{background:var(--gold-400);color:var(--navy-950);}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-.01em;}

.icon{width:1em;height:1em;display:inline-block;vertical-align:-0.125em;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.icon-fill{fill:currentColor;stroke:none;}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}

/* ---------- Top accent bar ---------- */
.gold-bar{height:4px;background:linear-gradient(90deg,var(--gold-600),var(--gold-300) 35%,var(--gold-500) 65%,var(--gold-600));background-size:200% 100%;animation:shimmer 6s linear infinite;}
@keyframes shimmer{0%{background-position:0% 0;}100%{background-position:200% 0;}}

/* ---------- Header ---------- */
header.site{
  background:rgba(10,23,40,.88);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  position:sticky;top:0;z-index:100;
  border-bottom:1px solid var(--line-dark);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
header.site.hide{transform:translateY(-100%);}
header.site.scrolled{box-shadow:0 12px 30px rgba(0,0,0,.25);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:20px;}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:15.5px;color:#fff;letter-spacing:.2px;font-family:var(--font-sans);}
.brand .mark{
  width:40px;height:40px;border-radius:50%;flex:none;object-fit:cover;
  box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 6px 16px rgba(201,162,75,.35);
}
.brand .tagline{display:block;font-size:10px;font-weight:500;color:var(--gold-400);letter-spacing:1.2px;text-transform:uppercase;margin-top:2px;}

nav.links{display:flex;gap:8px;align-items:center;}
nav.links a{position:relative;font-size:14px;color:#CBD5E0;transition:color .2s;font-weight:500;padding:9px 14px;border-radius:20px;}
nav.links a:hover{color:#fff;background:rgba(255,255,255,.06);}
nav.links a.active{color:var(--navy-950);background:var(--gold-400);font-weight:600;}

.header-actions{display:flex;align-items:center;gap:12px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 24px;border-radius:30px;font-size:14px;font-weight:600;
  border:1px solid transparent;cursor:pointer;transition:transform .2s var(--ease), box-shadow .2s var(--ease), opacity .2s, background .2s;
  font-family:var(--font-sans);position:relative;overflow:hidden;white-space:nowrap;
}
.btn-gold{background:linear-gradient(135deg,var(--gold-300),var(--gold-500));color:var(--navy-950);box-shadow:0 8px 20px rgba(201,162,75,.28);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(201,162,75,.4);}
.btn-outline-light{border:1px solid rgba(237,214,160,.5);color:var(--gold-300);background:rgba(255,255,255,.02);}
.btn-outline-light:hover{background:rgba(237,214,160,.1);border-color:var(--gold-300);}
.btn-navy{background:var(--navy-900);color:#fff;}
.btn-navy:hover{background:var(--navy-800);transform:translateY(-2px);}
.btn-outline-dark{border:1px solid var(--line);color:var(--navy-900);}
.btn-outline-dark:hover{background:var(--cream-2);}
.btn-sm{padding:9px 18px;font-size:13px;}
.btn-block{width:100%;}
.btn:disabled{opacity:.6;cursor:default;transform:none !important;}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--gold-300);padding:6px;}
.menu-toggle .icon{width:26px;height:26px;}

/* ---------- Mobile drawer ---------- */
.drawer-overlay{position:fixed;inset:0;background:rgba(6,13,24,.6);backdrop-filter:blur(2px);z-index:150;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);}
.drawer-overlay.open{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:82%;max-width:340px;background:var(--navy-950);z-index:160;
  transform:translateX(100%);transition:transform .38s var(--ease);padding:28px 26px;display:flex;flex-direction:column;gap:6px;}
.drawer.open{transform:translateX(0);}
.drawer a{color:#E4E9EF;font-size:17px;font-weight:600;padding:14px 6px;border-bottom:1px solid var(--line-dark);}
.drawer a.active{color:var(--gold-300);}
.drawer-close{align-self:flex-end;background:none;border:none;color:var(--gold-300);cursor:pointer;margin-bottom:12px;}
.drawer-close .icon{width:24px;height:24px;}

/* ---------- Hero / Slider ---------- */
.hero{position:relative;background:radial-gradient(120% 140% at 15% 0%, var(--navy-800) 0%, var(--navy-950) 55%, var(--navy-950) 100%);color:#fff;overflow:hidden;}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55;}
.hero-noise{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;}
.slider-inner{position:relative;z-index:2;}
.slide{display:none;padding:150px 0 130px;}
.slide.active{display:block;animation:slideIn .7s var(--ease);}
@keyframes slideIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.slide .eyebrow{text-transform:uppercase;letter-spacing:2.4px;font-size:12.5px;color:var(--gold-300);font-weight:700;margin-bottom:22px;display:flex;align-items:center;gap:10px;}
.slide .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold-500);display:inline-block;}
.slide h1{font-size:clamp(34px,5vw,58px);line-height:1.08;margin:0 0 22px;letter-spacing:-.02em;max-width:820px;font-weight:600;}
.slide h1 .accent{color:var(--gold-300);font-style:italic;}
.slide p.lede{font-size:18px;color:#B7C2CE;max-width:560px;margin:0 0 34px;font-weight:400;}
.slide-actions{display:flex;gap:16px;flex-wrap:wrap;}

.slider-controls{position:relative;z-index:3;border-top:1px solid var(--line-dark);}
.slider-controls .wrap{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;}
.slider-dots{display:flex;gap:10px;}
.dot{width:34px;height:3px;border-radius:2px;background:rgba(255,255,255,.18);cursor:pointer;border:none;padding:0;transition:background .3s, transform .3s;position:relative;overflow:hidden;}
.dot.active{background:rgba(255,255,255,.18);}
.dot.active::after{content:"";position:absolute;inset:0;background:var(--gold-400);animation:dotfill 6s linear;}
@keyframes dotfill{from{transform:translateX(-100%);}to{transform:translateX(0);}}
.slider-arrows{display:flex;gap:10px;}
.slider-arrow{background:rgba(255,255,255,.05);border:1px solid var(--line-dark);color:var(--gold-300);width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;}
.slider-arrow:hover{background:rgba(237,214,160,.12);border-color:var(--gold-400);}
.slider-arrow .icon{width:18px;height:18px;}

/* ---------- Sections ---------- */
section{padding:110px 0;}
section.tight{padding:80px 0;}
section.alt{background:var(--cream);}
section.navy{background:var(--navy-950);color:#fff;position:relative;}
section.navy::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 100% at 85% 0%, rgba(201,162,75,.08), transparent 60%);pointer-events:none;}
.eyebrow-light{text-transform:uppercase;letter-spacing:2.2px;font-size:12.5px;color:var(--gold-600);font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.eyebrow-light::before{content:"";width:28px;height:1px;background:var(--gold-500);display:inline-block;}
section.navy .eyebrow-light{color:var(--gold-300);}
h2.section-title{font-size:clamp(26px,3.4vw,38px);color:var(--navy-950);margin:0 0 16px;letter-spacing:-.02em;max-width:640px;}
section.navy h2.section-title{color:#fff;}
p.section-sub{color:var(--grey-500);margin:0 0 56px;max-width:600px;font-size:17px;}
section.navy p.section-sub{color:#AEB9C4;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:0;}

/* ---------- Grids & Cards ---------- */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}

.svc-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:38px 32px;transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;position:relative;overflow:hidden;}
.svc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-500),var(--gold-300));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(10,23,40,.12);border-color:transparent;}
.svc-card:hover::before{transform:scaleX(1);}
.svc-card .icon-badge{width:56px;height:56px;border-radius:16px;background:var(--navy-950);color:var(--gold-300);display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:background .4s;}
.svc-card .icon-badge .icon{width:26px;height:26px;}
.svc-card:hover .icon-badge{background:var(--gold-500);color:var(--navy-950);}
.svc-card h3{margin:0 0 12px;font-size:20px;color:var(--navy-950);}
.svc-card p{margin:0;color:var(--grey-500);font-size:15px;}
.svc-card p strong{color:var(--ink);font-weight:600;}

.pillar-card{background:var(--navy-900);border:1px solid var(--line-dark);border-radius:var(--radius-lg);padding:32px 28px;color:#fff;transition:transform .4s var(--ease), background .4s;}
.pillar-card:hover{transform:translateY(-6px);background:var(--navy-800);}
.pillar-card .icon-badge{width:46px;height:46px;border-radius:12px;background:rgba(237,214,160,.1);color:var(--gold-300);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.pillar-card .icon-badge .icon{width:22px;height:22px;}
.pillar-card h3{color:var(--gold-300);margin:0 0 10px;font-size:18px;font-family:var(--font-sans);font-weight:700;}
.pillar-card p{color:#B7C2CE;font-size:14.5px;margin:0;}

/* ---------- Stat band ---------- */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);}
.stat-band .stat{text-align:left;padding:0 28px 0 0;border-right:1px solid var(--line-dark);}
.stat-band .stat:last-child{border-right:none;padding-right:0;}
.stat-band .stat .icon-badge{width:44px;height:44px;border-radius:12px;background:rgba(237,214,160,.08);color:var(--gold-300);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.stat-band .stat .icon-badge .icon{width:20px;height:20px;}
.stat-band .stat h4{margin:0 0 8px;font-size:16px;color:#fff;font-family:var(--font-sans);font-weight:700;}
.stat-band .stat p{margin:0;font-size:14px;color:#AEB9C4;line-height:1.6;}

/* ---------- Process (How We Work) ---------- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.process-step{position:relative;padding:0 26px 0 0;}
.process-step:not(:last-child)::after{content:"";position:absolute;top:26px;right:-2px;width:calc(100% - 60px);height:1px;background:var(--line);}
.process-step .num{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--gold-500);color:var(--gold-600);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px;font-weight:600;margin-bottom:22px;background:var(--paper);position:relative;z-index:1;}
.process-step h3{font-size:17px;color:var(--navy-950);margin:0 0 10px;font-family:var(--font-sans);font-weight:700;}
.process-step p{font-size:14.5px;color:var(--grey-500);margin:0;}

/* ---------- Counters ---------- */
.counter-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.counter{text-align:center;padding:36px 20px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);}
.counter .num{font-family:var(--font-display);font-size:44px;font-weight:600;color:var(--navy-950);}
.counter .num .suffix{color:var(--gold-600);}
.counter .lbl{font-size:13.5px;color:var(--grey-500);text-transform:uppercase;letter-spacing:1px;margin-top:8px;font-weight:600;}

/* ---------- Form ---------- */
.form-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px;box-shadow:0 30px 70px rgba(10,23,40,.06);}
.field{margin-bottom:20px;}
.field label{display:block;font-size:13px;color:var(--grey-700);margin-bottom:8px;font-weight:600;letter-spacing:.2px;}
.field input, .field textarea, .field select{
  width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit;
  transition:border-color .2s, box-shadow .2s;background:var(--paper);color:var(--ink);
}
.field input:focus, .field textarea:focus, .field select:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(201,162,75,.12);}
.field textarea{min-height:130px;resize:vertical;}
.form-msg{margin-top:16px;font-size:14px;padding:14px 16px;border-radius:10px;display:none;font-weight:500;}
.form-msg.success{display:flex;align-items:center;gap:8px;background:var(--success-bg);color:var(--success-fg);}
.form-msg.error{display:flex;align-items:center;gap:8px;background:var(--error-bg);color:var(--error-fg);}

/* ---------- Currency converter ---------- */
.converter{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:38px;box-shadow:0 30px 70px rgba(10,23,40,.06);}
.converter-row{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:end;margin-bottom:22px;}
.converter-row .field{margin-bottom:0;}
.swap-btn{width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--cream);cursor:pointer;color:var(--navy-900);transition:background .2s, transform .3s;display:flex;align-items:center;justify-content:center;}
.swap-btn:hover{background:var(--cream-2);}
.swap-btn.spin .icon{animation:spin360 .5s var(--ease);}
@keyframes spin360{from{transform:rotate(0);}to{transform:rotate(180deg);}}
.converter-result{margin-top:8px;padding:28px;border-radius:var(--radius);background:linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#fff;}
.converter-result .lbl{font-size:12px;color:var(--gold-300);text-transform:uppercase;letter-spacing:1.2px;font-weight:700;}
.converter-result .val{font-size:36px;font-weight:600;font-family:var(--font-display);margin-top:8px;}
.rate-note{font-size:12.5px;color:var(--grey-500);margin-top:16px;line-height:1.6;}
.rate-note.on-dark{color:#AEB9C4;}

/* ---------- Resource / Soon cards ---------- */
.resource-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;background:var(--paper);position:relative;transition:transform .3s var(--ease), box-shadow .3s;display:flex;flex-direction:column;}
.resource-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(10,23,40,.08);}
.soon-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--gold-700);background:var(--gold-300);padding:6px 14px;border-radius:20px;margin-bottom:16px;}
.resource-card > a.btn{align-self:flex-start;margin-top:auto;}

/* ---------- Live rate readout ---------- */
.rate-readout{margin-top:auto;padding:20px;border-radius:var(--radius);background:linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#fff;}
.rate-readout .val{font-size:30px;font-weight:600;font-family:var(--font-display);color:#fff;}
.rate-readout .rate-note{color:#AEB9C4;margin-top:8px;margin-bottom:0;}

/* ---------- HS finder card ---------- */
.hs-finder-card select, .hs-finder-card input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-size:14.5px;font-family:inherit;background:var(--paper);color:var(--ink);}
.hs-finder-card select:focus, .hs-finder-card input:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(201,162,75,.12);}

@media (max-width: 960px){
  .resource-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 640px){
  .resource-grid{grid-template-columns:1fr;}
}

/* ---------- Video embed (Insights) ---------- */
.video-frame{position:relative;width:100%;padding-top:56.25%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 30px 70px rgba(10,23,40,.14);background:var(--navy-950);}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- News cards ---------- */
.news-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;background:var(--paper);margin-bottom:24px;transition:box-shadow .3s, transform .3s;}
.news-card:hover{box-shadow:0 24px 50px rgba(10,23,40,.08);transform:translateY(-3px);}
.badge-row{display:flex;gap:10px;margin-bottom:16px;}
.news-tag{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:6px 14px;border-radius:20px;}
.news-tag.local{background:#E1F0E4;color:#1F6B36;}
.news-tag.global{background:#E4EBF5;color:var(--navy-700);}
.news-card h3{margin:0 0 10px;font-size:21px;color:var(--navy-950);font-weight:600;}
.news-card .meta{font-size:12.5px;color:var(--grey-300);margin-bottom:14px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;}
.news-card p{color:var(--grey-700);font-size:15px;margin:0 0 18px;}
.news-card .source{font-size:13.5px;color:var(--navy-700);font-weight:700;display:inline-flex;align-items:center;gap:6px;}
.news-card .source .icon{width:14px;height:14px;transition:transform .2s;}
.news-card .source:hover .icon{transform:translate(2px,-2px);}

/* ---------- Footer ---------- */
footer.site{background:var(--navy-950);color:#AEB9C4;margin-top:0;position:relative;}
.footer-sub{border-bottom:1px solid var(--line-dark);padding:56px 0;}
.footer-sub-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.footer-sub h3{margin:0 0 8px;font-size:26px;color:#fff;}
.footer-sub p{margin:0;font-size:15px;color:#AEB9C4;max-width:380px;}
.footer-sub form{display:flex;gap:10px;flex:1;min-width:300px;max-width:440px;}
.footer-sub input[type=email]{flex:1;padding:14px 18px;border-radius:30px;border:1.5px solid var(--line-dark);background:rgba(255,255,255,.04);color:#fff;font-size:14.5px;}
.footer-sub input[type=email]::placeholder{color:#7C8896;}
.footer-sub input[type=email]:focus{outline:none;border-color:var(--gold-400);}

.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;padding:52px 0;}
.footer-grid h4{color:var(--gold-300);font-size:12.5px;margin:0 0 20px;letter-spacing:1.2px;text-transform:uppercase;}
.footer-grid a{display:block;color:#AEB9C4;font-size:14.5px;margin-bottom:13px;transition:color .2s;}
.footer-grid a:hover{color:var(--gold-300);}

.social-row{display:flex;gap:10px;flex-wrap:wrap;}
.social-row a{
  width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.04);
  border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;
  font-size:12.5px;color:var(--gold-300);font-weight:700;transition:background .25s, color .25s, transform .25s;
}
.social-row a:hover{background:var(--gold-500);color:var(--navy-950);transform:translateY(-3px);}
.social-row.on-light a{color:var(--navy-700);border-color:var(--line);}
.social-row.on-light a:hover{background:var(--navy-950);color:var(--gold-300);}

.footer-bottom{border-top:1px solid var(--line-dark);padding:26px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#7C8896;}

.center{text-align:center;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}

/* ---------- Duties & Taxes Calculator ---------- */
.dc-page{background:#F6F6F7;}

.dc-app-header{background:var(--paper);border-bottom:1px solid var(--line);padding:22px 0;}
.dc-app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.dc-brand{display:flex;align-items:center;gap:12px;flex:none;}
.dc-brand .mark{width:38px;height:38px;border-radius:50%;flex:none;object-fit:cover;box-shadow:0 0 0 1px rgba(10,23,40,.06);}
.dc-brand-name{font-weight:700;font-size:15px;color:var(--navy-950);}
.dc-brand-url{font-size:12px;color:var(--grey-300);}
.dc-app-title{text-align:center;flex:1;min-width:260px;}
.dc-app-title h1{font-size:clamp(19px,2.4vw,24px);color:var(--navy-950);font-family:var(--font-display);font-weight:600;}
.dc-app-title p{margin:4px 0 0;font-size:13px;color:var(--grey-500);}

.dc-banner{display:flex;gap:14px;align-items:flex-start;background:#FBF3DF;border:1px solid #EDD9A8;border-radius:var(--radius);padding:16px 20px;margin:28px 0;}
.dc-banner svg{width:20px;height:20px;flex:none;color:var(--gold-700);margin-top:2px;}
.dc-banner p{margin:0;font-size:13.5px;line-height:1.65;color:#6B5423;}
.dc-banner p strong{color:#4A3A17;}

.calc-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start;padding-bottom:60px;}
.calc-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;margin-bottom:20px;}
.calc-panel h3{font-size:16px;color:var(--navy-950);margin:0 0 20px;display:flex;align-items:center;gap:12px;font-family:var(--font-sans);font-weight:700;}
.calc-panel h3 .step{width:26px;height:26px;border-radius:50%;background:#141821;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;flex:none;}
.calc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.calc-subtext{font-size:12px;color:var(--grey-300);margin:8px 0 0;line-height:1.6;}
.calc-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14.5px;}
.calc-row:last-child{border-bottom:none;}
.calc-row .lbl{color:var(--grey-700);}
.calc-row .lbl .sub{display:block;font-size:11.5px;color:var(--grey-300);margin-top:2px;font-weight:400;}
.calc-row .val{font-weight:700;color:var(--navy-950);font-variant-numeric:tabular-nums;white-space:nowrap;}
.calc-row.total{border-top:1.5px solid var(--navy-950);margin-top:6px;padding-top:14px;font-size:15px;}
.calc-row.total .lbl{font-weight:700;color:var(--navy-950);}
.calc-row.total .val{color:var(--navy-950);font-size:16px;}
.calc-row input[type=number],.calc-row input[type=text]{width:130px;padding:9px 12px;border:1.5px solid var(--line);border-radius:8px;font-size:14.5px;text-align:right;font-family:inherit;}
.calc-row input[type=number]:focus,.calc-row input[type=text]:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(201,162,75,.12);}
.calc-note{font-size:12.5px;color:var(--grey-500);line-height:1.6;margin-top:10px;padding:12px 14px;background:var(--cream);border-radius:10px;display:none;}
.calc-error{font-size:13.5px;color:var(--error-fg);background:var(--error-bg);padding:12px 14px;border-radius:10px;margin-top:12px;display:none;font-weight:600;}
.calc-result-box{background:var(--cream);border-radius:var(--radius);padding:16px 18px;margin-top:14px;display:none;}
.calc-result-box .calc-row{border-bottom:none;padding:6px 0;}

.calc-checkbox-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14px;color:var(--grey-700);}
.calc-checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--navy-950);flex:none;}

.field label{display:block;font-size:12.5px;color:var(--grey-700);margin-bottom:7px;font-weight:600;}
.field select,.field input{width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:9px;font-size:14.5px;font-family:inherit;background:var(--paper);color:var(--ink);}
.field select:focus,.field input:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(201,162,75,.12);}

/* Assessment slip */
.dc-print-row{display:flex;justify-content:flex-end;margin-bottom:14px;}
.assessment-slip{position:sticky;top:100px;background:linear-gradient(160deg,var(--navy-950),var(--navy-800));border-radius:var(--radius);color:#fff;overflow:hidden;box-shadow:0 30px 70px rgba(10,23,40,.25);}
.assessment-slip .slip-head{padding:22px 26px 16px;text-align:center;}
.assessment-slip .slip-eyebrow{font-size:10.5px;text-transform:uppercase;letter-spacing:1.6px;color:var(--gold-300);font-weight:700;}
.assessment-slip .slip-head h3{margin:8px 0 0;font-size:17px;color:#fff;font-family:var(--font-sans);font-weight:700;}
.assessment-slip .slip-dots{height:2px;margin:0 26px;background-image:radial-gradient(circle, rgba(255,255,255,.25) 1.4px, transparent 1.4px);background-size:8px 2px;background-repeat:repeat-x;}
.assessment-slip .slip-body{padding:18px 26px 4px;}
.assessment-slip .slip-group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--gold-300);font-weight:700;margin:18px 0 6px;}
.assessment-slip .slip-group-label:first-child{margin-top:0;}
.assessment-slip .slip-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-dark);font-size:13.5px;color:#CBD5E0;}
.assessment-slip .slip-row .val{font-weight:700;color:#fff;font-variant-numeric:tabular-nums;}
.assessment-slip .slip-total-bar{display:flex;justify-content:space-between;align-items:center;background:#060D18;padding:18px 26px;margin-top:8px;}
.assessment-slip .slip-total-bar .lbl{font-size:13px;font-weight:700;letter-spacing:.5px;color:#fff;}
.assessment-slip .slip-total-bar .val{font-size:26px;font-weight:700;font-family:var(--font-display);color:var(--gold-300);}
.dc-slip-disclaimer{font-size:11.5px;color:var(--grey-300);line-height:1.6;margin-top:14px;}

@media (max-width: 960px){
  .calc-layout{grid-template-columns:1fr;}
  .assessment-slip{position:relative;top:0;}
  .calc-grid2{grid-template-columns:1fr;}
  .dc-app-header-inner{flex-direction:column;text-align:center;}
}

/* ---------- Print (Duties & Taxes Calculator output — assessment slip only) ---------- */
@media print{
  @page{size:letter;margin:0.5in;}
  body *{visibility:hidden;}
  .print-area, .print-area *{visibility:visible;}
  .print-area{position:absolute;top:0;left:0;width:100%;}
  .gold-bar, header.site, footer.site, .drawer, .drawer-overlay, .dc-app-header, .dc-banner, .calc-panel, .dc-print-row{display:none !important;}
  .assessment-slip{position:static;box-shadow:none;background:#0A1728 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;page-break-inside:avoid;}
}

@media (max-width: 960px){
  .grid3,.grid4,.grid2,.footer-grid,.stat-band,.process,.counter-row{grid-template-columns:1fr 1fr;}
  .two-col{grid-template-columns:1fr;}
  nav.links{display:none;}
  .menu-toggle{display:block;}
  section{padding:80px 0;}
  .process-step:not(:last-child)::after{display:none;}
  .stat-band .stat{border-right:none;border-bottom:1px solid var(--line-dark);padding:0 0 20px 0;margin-bottom:20px;}
}
@media (max-width: 640px){
  .grid3,.grid4,.grid2,.footer-grid,.stat-band,.process,.counter-row{grid-template-columns:1fr;}
  .footer-sub-inner{flex-direction:column;align-items:flex-start;}
  .converter-row{grid-template-columns:1fr;}
  .swap-btn{justify-self:center;}
  .slide{padding:110px 0 90px;}
}
