/*
Theme Name: Polar Networks
Theme URI: https://polar-networks.com
Author: Polar Networks
Description: Engineering-led infrastructure consultancy theme.
Version: 1.0.0
License: All Rights Reserved
Text Domain: polar-networks
*/


/* ================================================================
   HOMEPAGE
   ================================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f4f7f9;
  --dark:#1a2028;
  --card:#262c34;
  --card2:#2f3740;
  --o:#bd693d;
  --ol:#d07a4c;
  --ice:#b8cdd6;
  --icel:#d4e5ef;
  --w:#f4f7f9;
  --mu:#5a7080;
  --di:#8fa8b5;
  --H:'Plus Jakarta Sans',sans-serif;
  --M:'JetBrains Mono',monospace;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--dark);font-family:var(--H);font-weight:300;line-height:1.6;overflow-x:hidden}
/* NAV — light */
body > nav{
  position:fixed;top:0;left:0;right:0;z-index:200;height:68px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 4rem;
  background:rgba(26,32,40,0.97);
  border-bottom:2px solid var(--o);
  backdrop-filter:blur(16px);
}
.nav-brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--w)}
.nav-orbit{width:34px;height:34px;flex-shrink:0;color:var(--w)}
.nav-orbit circle{stroke:currentColor;fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}
.brand-mark{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:.32em}
.bm-polar{font-family:var(--H);font-size:1rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--w)}
.bm-networks{font-family:var(--H);font-size:.55rem;font-weight:300;letter-spacing:.32em;text-transform:uppercase;color:var(--w)}
.nav-links{display:flex;list-style:none;gap:.25rem}
.nav-links a{font-family:var(--M);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ice);text-decoration:none;padding:.4rem 1rem;border-radius:2px;transition:color .2s,background .2s}
.nav-links a:hover{color:var(--w);background:rgba(189,105,61,.15)}
.nav-cta{
  font-family:var(--H);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--o);color:#fff;padding:.65rem 1.8rem;text-decoration:none;
  transition:all .2s;border-radius:2px;
  box-shadow:0 0 14px rgba(189,105,61,.45);
}
.nav-cta:hover{background:var(--ol);box-shadow:0 0 22px rgba(189,105,61,.65)}
/* HERO — full height, light bg, bear right */
.hero{
  height:100vh;max-height:100vh;padding-top:68px;
  display:grid;grid-template-columns:1fr 1fr;
  background:var(--bg);
  overflow:hidden;
}
.hero-l{
  display:flex;flex-direction:column;justify-content:center;
  padding:7rem 4rem 7rem 4rem;
  position:relative;z-index:2;
}
/* vertical orange rule left of content */
.hero-l::before{
  content:'';position:absolute;left:0;top:20%;bottom:20%;
  width:4px;background:var(--o);
}
.kicker{
  font-family:var(--M);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--o);margin-bottom:2rem;
  opacity:0;animation:up .6s ease .1s forwards;
}
h1{
  font-family:var(--H);
  font-size:clamp(3rem,4.5vw,5rem);
  font-weight:800;line-height:1.02;letter-spacing:-.03em;
  color:var(--dark);margin-bottom:2rem;
  padding-bottom:.05em;
  opacity:0;animation:up .6s ease .25s forwards;
}
h1 em{color:var(--o);font-style:italic;display:block}
h1 .ice-line{color:var(--card2);display:block}
.hero-sub{
  font-size:1.05rem;color:var(--mu);max-width:420px;line-height:1.8;
  margin-bottom:3rem;
  opacity:0;animation:up .6s ease .4s forwards;
}
.hero-btns{
  display:flex;gap:1rem;
  opacity:0;animation:up .6s ease .55s forwards;
  margin-bottom:4rem;
}
.btn-dark{
  font-family:var(--H);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--dark);color:var(--w);padding:.9rem 2rem;text-decoration:none;
  border-radius:2px;transition:background .2s,transform .15s;
}
.btn-dark:hover{background:var(--o);transform:translateY(-2px)}
.btn-border{
  font-family:var(--H);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  background:transparent;color:var(--dark);padding:.9rem 2rem;text-decoration:none;
  border:1.5px solid rgba(38,44,52,.25);border-radius:2px;
  transition:border-color .2s,background .2s,transform .15s;
}
.btn-border:hover{border-color:var(--dark);background:rgba(38,44,52,.05);transform:translateY(-2px)}
/* hero stats */


/* hero RIGHT — dark panel with bear slider */
.hero-r{
  background:var(--dark);position:relative;overflow:hidden;
  border-left:4px solid var(--o);
  align-self:stretch;
}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;object-position:center 10%}
.slide::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(to bottom,rgba(26,32,40,.35) 0%,transparent 20%,transparent 80%,rgba(26,32,40,.5) 100%)
}
.slide-cap h3{font-family:var(--H);font-size:1.1rem;font-weight:700;color:var(--w);margin-bottom:.3rem}
.slide-cap p{font-family:var(--M);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--o)}
/* slide number top right */

.sdots{
  position:absolute;bottom:2rem;left:2.5rem;display:flex;gap:.5rem;z-index:10;
}
.sdot{width:28px;height:3px;background:rgba(244,247,249,.2);border:none;cursor:pointer;padding:0;transition:background .3s,width .3s}
.sdot.on{background:var(--o);width:46px}
.sarr{
  position:absolute;bottom:1.4rem;right:2rem;display:flex;gap:.5rem;z-index:10;
}
.sarr-btn{
  background:rgba(244,247,249,.1);border:1px solid rgba(244,247,249,.15);
  color:var(--w);width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:1rem;border-radius:2px;transition:background .2s;
}
.sarr-btn:hover{background:var(--o);border-color:var(--o)}
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
/* SERVICES — light bg */
.services{background:var(--bg);padding:8rem 4rem}
.sec-head{margin-bottom:5rem}
.eyebrow{
  font-family:var(--M);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--o);display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;
}
.eyebrow::before{content:'';width:24px;height:2px;background:var(--o)}
h2{
  font-family:var(--H);font-size:clamp(2.2rem,3.2vw,3.2rem);
  font-weight:800;line-height:1.05;letter-spacing:-.025em;color:var(--dark);
}
h2 em{color:var(--o);font-style:italic}
.svc-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.5px;background:rgba(38,44,52,.08);
  border:1.5px solid rgba(38,44,52,.08);
}
.svc{
  background:var(--bg);padding:2.5rem 2rem;
  position:relative;overflow:hidden;transition:background .25s;
}
.svc:hover{background:#eef2f5}
.svc::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.svc:hover::before{transform:scaleX(1)}
.svc-n{
  font-family:var(--H);font-size:3.5rem;font-weight:800;
  color:rgba(38,44,52,.07);line-height:1;margin-bottom:1.2rem;transition:color .3s;
}
.svc:hover .svc-n{color:rgba(189,105,61,.15)}
.svc-bar{width:24px;height:3px;background:var(--o);margin-bottom:1rem;transition:width .3s}
.svc:hover .svc-bar{width:40px}
.svc-t{font-family:var(--H);font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:.6rem}
.svc-d{font-size:.84rem;color:var(--mu);line-height:1.7}
/* ABOUT — dark section */
.about{
  background:var(--dark);
  display:grid;grid-template-columns:1fr 1fr;
  column-gap:0;
}
.about-l{
  padding:8rem 4rem;
  display:flex;flex-direction:column;justify-content:center;
  border-right:none;
}
.about-l .eyebrow::before{background:var(--o)}
.about-l h2{color:var(--w)}
.about-l h2 em{color:var(--ice)}
.about-body{font-size:.95rem;color:var(--di);line-height:1.8;margin:1.5rem 0 2.5rem;max-width:420px}
.about-als{
  font-family:var(--M);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(184,205,214,.35);margin-bottom:2.5rem;
  padding-bottom:2rem;border-bottom:1px solid rgba(184,205,214,.08);
}
.af{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(184,205,214,.07)}
.af:last-child{border-bottom:none}
.af-dot{
  width:26px;height:26px;flex-shrink:0;margin-top:2px;
  background:rgba(189,105,61,.15);border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--M);font-size:.52rem;font-weight:400;color:var(--o);letter-spacing:.05em;
}
.af strong{display:block;font-family:var(--H);font-size:.88rem;font-weight:700;color:var(--w);margin-bottom:.15rem}
.af span{font-size:.82rem;color:var(--di);line-height:1.55}
/* about right — bear with orbit rings */
.about-r{
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:5rem 3rem;background:var(--dark);
}
.orb-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:400px;aspect-ratio:1}
.orb-ring1{
  position:absolute;inset:-15%;border-radius:50%;
  border:1px dashed rgba(189,105,61,.2);
  animation:spin 25s linear infinite;
}
.orb-ring2{
  position:absolute;inset:-5%;border-radius:50%;
  border:1px dashed rgba(184,205,214,.12);
  animation:spin 16s linear infinite reverse;
}
/* small orbiting dot */
.orb-dot{
  position:absolute;width:10px;height:10px;background:var(--o);border-radius:50%;
  top:calc(50% - 5px);left:-5px;
  transform-origin:calc(50% + min(200px,42.5%) + 5px) 5px;
  animation:spin 6s linear infinite;
  box-shadow:0 0 12px rgba(189,105,61,.6);
}
.bear-circle{
  width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;
  border:3px solid var(--o);
  box-shadow:0 0 0 12px rgba(189,105,61,.08),0 0 40px rgba(189,105,61,.15);
  position:relative;z-index:2;
}
.bear-circle img{width:100%;height:112%;object-fit:cover;object-position:50% 6%;margin-top:-6%}
/* SOLUTIONS — light bg */
.solutions{background:var(--bg);padding:8rem 4rem}
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:4rem}
.sol{
  background:#fff;border:1.5px solid rgba(38,44,52,.08);
  padding:2.8rem;position:relative;overflow:hidden;
  transition:border-color .25s,box-shadow .25s,transform .2s;
  border-radius:3px;
}
.sol:hover{border-color:rgba(189,105,61,.4);box-shadow:0 8px 32px rgba(189,105,61,.1);transform:translateY(-3px)}
.sol::after{
  content:attr(data-n);position:absolute;top:-2rem;right:1.5rem;
  font-family:var(--H);font-size:6rem;font-weight:800;
  color:rgba(38,44,52,.04);line-height:1;pointer-events:none;
  transition:color .3s;
}
.sol:hover::after{color:rgba(189,105,61,.08)}
.sol-tag{font-family:var(--M);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--o);margin-bottom:.9rem}
.sol-title{font-family:var(--H);font-size:1.3rem;font-weight:800;color:var(--dark);margin-bottom:.7rem;line-height:1.2}
.sol-desc{font-size:.86rem;color:var(--mu);line-height:1.75}
.sol-link{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:1.5rem;
  font-family:var(--M);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--o);text-decoration:none;font-weight:400;transition:gap .2s;
}
.sol:hover .sol-link{gap:.75rem}
.sol-link::after{content:'→'}
/* Single CTA below solutions grid */
.sol-cta-wrap{
  display:flex;justify-content:center;margin-top:3.5rem;
}
.sol-cta{
  font-family:var(--H);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--o);color:#fff;padding:1.05rem 2.4rem;text-decoration:none;border-radius:2px;
  display:inline-flex;align-items:center;gap:.65rem;
  transition:background .2s,gap .2s,box-shadow .2s;
  box-shadow:0 0 14px rgba(189,105,61,.35);
}
.sol-cta::after{content:'→';transition:transform .2s}
.sol-cta:hover{background:var(--ol);gap:.95rem;box-shadow:0 0 22px rgba(189,105,61,.55)}
/* WHY — dark, 3 col */
.why{
  background:var(--dark);
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:3px solid var(--o);
}
.wp{
  padding:5rem 3rem;border-right:1px solid rgba(184,205,214,.06);
  position:relative;overflow:hidden;transition:background .25s;
}
.wp:last-child{border-right:none}
.wp:hover{background:rgba(47,55,64,.5)}
.wp::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .35s;
}
.wp:hover::before{transform:scaleX(1)}
.wp-n{
  font-family:var(--H);font-size:4.5rem;font-weight:800;
  color:rgba(189,105,61,.1);line-height:1;margin-bottom:1.5rem;transition:color .25s;
}
.wp:hover .wp-n{color:rgba(189,105,61,.22)}
.wp .eyebrow{margin-bottom:.7rem}
.wp .eyebrow::before{background:var(--o)}
.wp-t{font-family:var(--H);font-size:1.05rem;font-weight:700;color:var(--w);margin-bottom:.8rem}
.wp-d{font-size:.85rem;color:var(--di);line-height:1.75}
/* CTA — split, light left dark right */
.cta{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(38,44,52,.1);
}
.cta-l{
  background:var(--bg);padding:8rem 4rem;
  display:flex;flex-direction:column;justify-content:center;
  border-right:1px solid rgba(38,44,52,.08);
}
.cta-l h2{margin-bottom:1.2rem}
.cta-l h2 em{color:var(--o)}
.cta-body{font-size:.95rem;color:var(--mu);line-height:1.8;max-width:420px;margin-bottom:2.5rem}
.cta-r{
  background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:5rem 3rem;gap:2rem;
  border-left:1px solid rgba(38,44,52,.08);
}
.cta-bear-wrap{
  width:min(280px,80%);aspect-ratio:1;border-radius:50%;overflow:hidden;
  border:4px solid var(--o);
  box-shadow:0 0 0 14px rgba(189,105,61,.08),0 8px 32px rgba(189,105,61,.12);
}
.cta-bear-wrap img{width:100%;height:110%;object-fit:cover;object-position:50% 8%;margin-top:-5%}
.cta-quote{
  font-family:var(--H);font-size:1rem;font-style:italic;font-weight:300;
  color:var(--di);line-height:1.6;text-align:center;max-width:280px;
}
.cta-quote strong{color:var(--o);font-style:normal;font-weight:700;display:block;margin-top:.5rem;font-family:var(--M);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}
/* FOOTER */
footer{
  background:var(--dark);border-top:1px solid rgba(189,105,61,.2);
  padding:5rem 4rem 3rem;
  display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:4rem;
}
.ft-logo{display:flex;align-items:center;gap:1rem;text-decoration:none;margin-bottom:1.1rem;color:var(--w)}
.ft-orbit{width:46px;height:46px;flex-shrink:0;color:var(--w)}
.ft-orbit circle{stroke:currentColor;fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}
.ft-mark{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:.4em}
.ft-mark-p{font-family:var(--H);font-size:1.35rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--w)}
.ft-mark-n{font-family:var(--H);font-size:.7rem;font-weight:300;letter-spacing:.34em;text-transform:uppercase;color:var(--w)}
.ft-sub{font-family:var(--M);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(184,205,214,.25);margin-bottom:1rem}
.ft-tag{font-size:.83rem;color:var(--di);line-height:1.7;max-width:280px}
.ft-h{font-family:var(--M);font-size:.57rem;letter-spacing:.16em;text-transform:uppercase;color:var(--o);margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:1px solid rgba(189,105,61,.15)}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.ft-links a{font-size:.83rem;color:var(--di);text-decoration:none;transition:color .2s}
.ft-links a:hover{color:var(--w)}
.ft-bot{
  grid-column:1/-1;border-top:1px solid rgba(184,205,214,.06);
  padding-top:2rem;margin-top:1rem;
  display:flex;justify-content:space-between;align-items:center;
}
.ft-copy{font-family:var(--M);font-size:.57rem;letter-spacing:.1em;color:rgba(184,205,214,.25)}
.ft-legal{display:flex;gap:1.5rem}
.ft-legal a{font-family:var(--M);font-size:.57rem;letter-spacing:.1em;color:rgba(184,205,214,.25);text-decoration:none;transition:color .2s}
.ft-legal a:hover{color:var(--di)}
@media(max-width:900px){
  body > nav{padding:0 1.5rem}
  .nav-links{display:none}
  .hero,.about,.cta{grid-template-columns:1fr}
  .hero-r{height:70vw}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .sol-grid{grid-template-columns:1fr}
  .why{grid-template-columns:1fr}
  .hero-l,.about-l,.cta-l,.services,.solutions{padding:5rem 1.5rem}
  footer{grid-template-columns:1fr 1fr;padding:3rem 1.5rem}
}
/* OUR APPROACH */
.approach{background:var(--bg);padding:8rem 4rem;text-align:center}
.approach .sec-head{margin-bottom:5rem;text-align:left}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;margin-top:1rem}
.ap-card{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.ap-circle-wrap{position:relative;margin-bottom:1.8rem}
.ap-circle{
  width:220px;height:220px;border-radius:50%;overflow:hidden;
  border:3px solid rgba(184,205,214,.2);
  box-shadow:0 4px 24px rgba(0,0,0,.1);
  transition:border-color .3s,box-shadow .3s;
}
.ap-card:hover .ap-circle{
  border-color:var(--o);
  box-shadow:0 8px 32px rgba(189,105,61,.2);
}
.ap-circle img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.ap-num{
  position:absolute;bottom:4px;left:4px;
  width:36px;height:36px;border-radius:50%;
  background:var(--o);color:var(--w);
  font-family:var(--H);font-size:.85rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(189,105,61,.4);
}
/* connector line between cards */
.ap-card:not(:last-child)::after{
  content:'';
  position:absolute;top:100px;left:calc(50% + 100px);
  width:calc(100% - 200px);height:1px;
  background:linear-gradient(to right,rgba(189,105,61,.3),rgba(189,105,61,.1));
  pointer-events:none;
}
.ap-title{font-family:var(--H);font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:.6rem}
.ap-desc{font-size:.85rem;color:var(--mu);line-height:1.7;max-width:220px}
/* ---- Mobile hamburger menu ---- */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:transparent;border:none;cursor:pointer;padding:0;position:relative;z-index:201}
.nav-burger span{display:block;width:24px;height:2px;background:var(--w);border-radius:1px;transition:transform .25s ease,opacity .2s ease;transform-origin:center}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-li-cta{display:none}
@media(max-width:900px){
  .nav-burger{display:flex}
  .nav-cta{display:none}
  .nav-links{display:flex !important;position:fixed;top:68px;left:0;right:0;flex-direction:column;background:rgba(26,32,40,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.25rem 1.5rem 2rem;gap:0;transform:translateY(-100vh);transition:transform .4s cubic-bezier(.4,0,.2,1);border-bottom:2px solid var(--o);max-height:calc(100vh - 68px);overflow-y:auto;box-shadow:0 24px 48px rgba(0,0,0,.35)}
  .nav-links.open{transform:translateY(0)}
  .nav-links li{width:100%;border-bottom:1px solid rgba(184,205,214,.08);margin:0}
  .nav-links li:last-child{border-bottom:none}
  .nav-links a{display:block;font-size:1rem !important;letter-spacing:.1em !important;padding:1.2rem .25rem !important;border-radius:0 !important;background:transparent !important}
  .nav-links a.active{border-bottom:1px solid rgba(184,205,214,.08) !important;color:var(--o) !important}
  .nav-li-cta{display:block;margin-top:1.25rem !important;border-bottom:none !important}
  .nav-mobile-cta{display:block !important;background:var(--o) !important;color:#fff !important;text-align:center;font-family:var(--H) !important;font-size:.78rem !important;font-weight:700 !important;letter-spacing:.1em !important;text-transform:uppercase;padding:1.1rem 1.5rem !important;text-decoration:none;border-radius:2px;transition:background .2s}
  .nav-mobile-cta:hover{background:var(--ol) !important}
  body.menu-open{overflow:hidden}
}

/* ================================================================
   INSIGHTS (BLOG LISTING)
   ================================================================ */

/* NAV */
body > nav{
  position:fixed;top:0;left:0;right:0;z-index:200;height:68px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 4rem;
  background:rgba(26,32,40,0.97);
  border-bottom:2px solid var(--o);
  backdrop-filter:blur(16px);
}
.nav-links a.active{color:var(--w);border-bottom:2px solid var(--o)}
.nav-cta{
  font-family:var(--H);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--dark);color:var(--w);padding:.65rem 1.6rem;text-decoration:none;
  transition:background .2s;border-radius:2px;
}
.nav-cta:hover{background:var(--ol);box-shadow:0 0 20px rgba(189,105,61,.5)}
/* PAGE HEADER */
.page-header{
  padding-top:68px;
  background:var(--dark);
  padding-bottom:4rem;
}
.page-header-inner{
  max-width:1100px;
  margin:0 auto;
  padding:4rem 4rem 0;
}
.page-header h1{
  font-family:var(--H);
  font-size:clamp(2.5rem,4vw,4rem);
  font-weight:800;line-height:1;letter-spacing:-.03em;
  color:var(--w);margin-bottom:1rem;
}
.page-header h1 em{color:var(--o);font-style:italic}
.page-header-sub{
  font-size:1rem;color:var(--di);max-width:520px;line-height:1.8;margin-bottom:2rem;
}
.filter-bar{
  display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2rem;
}
.filter-btn{
  font-family:var(--M);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.4rem 1.1rem;border-radius:2px;cursor:pointer;transition:all .2s;
  background:transparent;border:1px solid rgba(184,205,214,.2);color:var(--di);
}
.filter-btn:hover,.filter-btn.active{background:var(--o);border-color:var(--o);color:#fff}
/* FEATURED POST */
.featured-wrap{
  background:var(--bg);
  padding:4rem;
  max-width:1100px;
  margin:0 auto;
}
.featured-label{
  font-family:var(--M);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--o);margin-bottom:1.5rem;display:flex;align-items:center;gap:.8rem;
}
.featured-label::before{content:'';width:24px;height:2px;background:var(--o)}
.featured-card{
  display:grid;grid-template-columns:1fr 1fr;
  background:var(--dark);
  border-radius:4px;
  overflow:hidden;
  border:1px solid rgba(184,205,214,.08);
}
.featured-img{
  background:var(--card2);
  min-height:360px;
  position:relative;
  overflow:hidden;
}
.featured-img-inner{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#1a2028 0%,#2f3740 60%,#1a2028 100%);
  display:flex;align-items:center;justify-content:center;
}
.feat-icon{
  width:80px;height:80px;
  border:2px solid rgba(189,105,61,.3);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.feat-icon svg{width:36px;height:36px;fill:var(--o);opacity:.7}
.featured-body{
  padding:3rem;
  display:flex;flex-direction:column;justify-content:center;
}
.post-tag{
  font-family:var(--M);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--o);margin-bottom:1rem;
}
.featured-body h2{
  font-family:var(--H);font-size:1.6rem;font-weight:800;line-height:1.15;
  letter-spacing:-.02em;color:var(--w);margin-bottom:1rem;
}
.featured-body p{
  font-size:.9rem;color:var(--di);line-height:1.75;margin-bottom:1.5rem;
}
.post-meta{
  font-family:var(--M);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(143,168,181,.5);margin-bottom:1.5rem;
  display:flex;gap:1.5rem;
}
.read-more{
  font-family:var(--H);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--o);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;
  transition:gap .2s;
}
.read-more::after{content:'→'}
.read-more:hover{gap:.8rem}
/* POSTS GRID */
.posts-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:0 4rem 6rem;
}
.posts-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5px;
  background:rgba(38,44,52,.08);
  border:1.5px solid rgba(38,44,52,.08);
  border-radius:4px;
  overflow:hidden;
  margin-top:3rem;
}
.post-card{
  background:var(--bg);
  padding:2rem;
  position:relative;
  overflow:hidden;
  transition:background .25s;
  cursor:pointer;
}
.post-card:hover{background:#eef2f5}
.post-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.post-card:hover::before{transform:scaleX(1)}
.post-card-icon{
  width:40px;height:40px;
  border-radius:3px;
  background:var(--dark);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.post-card-icon svg{width:18px;height:18px;fill:var(--ice)}
.post-card .post-tag{margin-bottom:.6rem}
.post-card h3{
  font-family:var(--H);font-size:1rem;font-weight:700;
  color:var(--dark);line-height:1.3;margin-bottom:.75rem;
  letter-spacing:-.01em;
}
.post-card p{
  font-size:.84rem;color:var(--mu);line-height:1.7;margin-bottom:1.25rem;
}
.post-card .post-meta{margin-bottom:1rem}
.post-card .read-more{font-size:.68rem}
/* NEWSLETTER */
.newsletter{
  background:var(--dark);
  padding:4rem;
}
.newsletter-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;
}
.newsletter h2{
  font-family:var(--H);font-size:1.8rem;font-weight:800;
  color:var(--w);letter-spacing:-.02em;line-height:1.15;
  margin-bottom:.75rem;
}
.newsletter h2 em{color:var(--o);font-style:italic}
.newsletter p{font-size:.9rem;color:var(--di);line-height:1.75}
.nl-form{display:flex;gap:.75rem;flex-wrap:wrap}
.nl-input{
  flex:1;min-width:200px;
  font-family:var(--H);font-size:.85rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(184,205,214,.15);
  color:var(--w);padding:.9rem 1.25rem;border-radius:2px;
  outline:none;transition:border-color .2s;
}
.nl-input::placeholder{color:rgba(143,168,181,.4)}
.nl-input:focus{border-color:var(--o)}
.nl-btn{
  font-family:var(--H);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--o);color:#fff;padding:.9rem 1.75rem;border:none;border-radius:2px;
  cursor:pointer;transition:background .2s;white-space:nowrap;
}
.nl-btn:hover{background:var(--ol)}
/* FOOTER */
footer{
  background:var(--dark);
  border-top:1px solid rgba(189,105,61,.2);
  padding:5rem 4rem 3rem;
  display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;
  gap:4rem;
}
.ft-logo{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--w);margin-bottom:1.1rem}
.ft-tag{font-size:.83rem;color:var(--di);line-height:1.7;max-width:280px;margin-bottom:1rem}
.ft-copy{
  font-family:var(--M);font-size:.57rem;letter-spacing:.1em;
  color:rgba(184,205,214,.25);line-height:1.8;
}
.ft-bot{
  grid-column:1/-1;
  border-top:1px solid rgba(184,205,214,.06);
  padding-top:2rem;margin-top:1rem;
  display:flex;justify-content:space-between;align-items:center;
}
/* RESPONSIVE */
@media(max-width:900px){
  body > nav{padding:0 1.5rem}
  .nav-links{display:none}
  .page-header-inner{padding:3rem 1.5rem 0}
  .featured-wrap{padding:2rem 1.5rem}
  .featured-card{grid-template-columns:1fr}
  .featured-img{min-height:200px}
  .posts-wrap{padding:0 1.5rem 4rem}
  .posts-grid{grid-template-columns:1fr}
  .newsletter{padding:2.5rem 1.5rem}
  .newsletter-inner{grid-template-columns:1fr;gap:2rem}
  footer{padding:2.5rem 1.5rem;grid-template-columns:1fr 1fr}
  .ft-bot{flex-direction:column;gap:1rem;align-items:flex-start}
}

/* ================================================================
   SINGLE ARTICLE
   ================================================================ */

:root{
  --bg:#f4f7f9;--dark:#1a2028;--card:#262c34;--card2:#2f3740;
  --o:#bd693d;--ol:#d07a4c;--ice:#b8cdd6;--icel:#d4e5ef;
  --w:#f4f7f9;--mu:#5a7080;--di:#8fa8b5;
  --H:'Plus Jakarta Sans',sans-serif;--M:'JetBrains Mono',monospace;
}
/* NAV */
body > nav{position:fixed;top:0;left:0;right:0;z-index:200;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 4rem;background:rgba(26,32,40,0.97);border-bottom:2px solid var(--o);backdrop-filter:blur(16px)}
.nav-cta{font-family:var(--H);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--dark);color:var(--w);padding:.65rem 1.6rem;text-decoration:none;transition:background .2s;border-radius:2px;border:1px solid rgba(184,205,214,.18)}
.nav-cta:hover{background:var(--ol);border-color:var(--ol)}
/* ARTICLE HEADER */
.article-header{
  padding-top:68px;
  background:var(--dark);
  padding-bottom:3.5rem;
  position:relative;
  overflow:hidden;
}
.article-header::before{
  content:'';position:absolute;top:68px;right:-200px;width:600px;height:600px;
  background:radial-gradient(circle,rgba(189,105,61,.08) 0%,transparent 60%);
  pointer-events:none;
}
.article-header-inner{
  max-width:780px;
  margin:0 auto;
  padding:3.5rem 4rem 0;
  position:relative;
}
.crumbs{
  font-family:var(--M);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(143,168,181,.55);margin-bottom:1.5rem;
  display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
}
.crumbs a{color:rgba(143,168,181,.55);text-decoration:none;transition:color .2s}
.crumbs a:hover{color:var(--o)}
.crumbs span.sep{color:rgba(143,168,181,.3)}
.cat-tags{
  display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem;
}
.cat-tag{
  font-family:var(--M);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;
  background:rgba(189,105,61,.12);border:1px solid rgba(189,105,61,.3);
  color:var(--o);padding:.35rem .8rem;border-radius:2px;
  text-decoration:none;transition:background .2s;
}
.cat-tag:hover{background:rgba(189,105,61,.22)}
.article-header h1{
  font-family:var(--H);
  font-size:clamp(2rem,3.6vw,3.4rem);
  font-weight:800;line-height:1.08;letter-spacing:-.025em;
  color:var(--w);margin-bottom:1.25rem;
}
.article-header h1 em{color:var(--o);font-style:italic}
.standfirst{
  font-size:1.15rem;color:var(--di);line-height:1.7;
  max-width:640px;margin-bottom:2.25rem;font-weight:300;
}
.byline{
  display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;
  padding-top:1.5rem;border-top:1px solid rgba(184,205,214,.1);
}
.byline-author{display:flex;align-items:center;gap:.8rem}
.byline-avatar{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--o),var(--ol));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--H);font-size:.85rem;font-weight:700;color:#fff;
  border:1px solid rgba(189,105,61,.5);
}
.byline-name{font-family:var(--H);font-size:.85rem;font-weight:400;color:var(--w);line-height:1.2}
.byline-role{font-family:var(--M);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(143,168,181,.6);margin-top:.15rem}
.byline-meta{
  display:flex;gap:1.25rem;
  font-family:var(--M);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(143,168,181,.55);margin-left:auto;
}
.byline-meta span{display:flex;align-items:center;gap:.4rem}
/* ARTICLE BODY */
.article-body-wrap{
  background:var(--bg);
  padding:5rem 4rem 5rem;
}
.article-body{
  max-width:720px;
  margin:0 auto;
  font-size:1.05rem;
  line-height:1.85;
  color:var(--dark);
}
.article-body > * + * { margin-top:1.4rem }
.article-body p{
  color:#2a3540;font-weight:300;
}
.article-body p > strong{font-weight:700;color:var(--dark)}
.article-body p > em{font-style:italic;color:var(--dark)}
/* Drop-cap on first paragraph (toggle by adding/removing .has-dropcap) */
.article-body.has-dropcap > p:first-of-type::first-letter{
  font-family:var(--H);font-weight:800;
  font-size:4.4rem;line-height:.85;
  float:left;color:var(--o);
  padding:.35rem .65rem 0 0;
  margin-top:.1rem;
}
.article-body h2{
  font-family:var(--H);font-size:1.7rem;font-weight:800;
  line-height:1.2;letter-spacing:-.02em;color:var(--dark);
  margin-top:3.25rem !important;margin-bottom:.6rem;
  position:relative;padding-left:1.5rem;
}
.article-body h2::before{
  content:'';position:absolute;left:0;top:.65rem;
  width:6px;height:1.4rem;background:var(--o);border-radius:1px;
}
.article-body h3{
  font-family:var(--H);font-size:1.15rem;font-weight:700;
  color:var(--dark);letter-spacing:-.01em;
  margin-top:2.25rem !important;margin-bottom:.4rem;
}
.article-body a{
  color:var(--o);text-decoration:none;
  border-bottom:1px solid rgba(189,105,61,.3);
  transition:border-color .2s,background .2s;
}
.article-body a:hover{border-color:var(--o);background:rgba(189,105,61,.06)}
.article-body ul,.article-body ol{
  padding-left:1.5rem;color:#2a3540;
}
.article-body ul li,.article-body ol li{
  margin-bottom:.6rem;line-height:1.75;
}
.article-body ul li::marker{color:var(--o)}
.article-body ol li::marker{color:var(--o);font-family:var(--M);font-size:.95em}
/* Pull quote / blockquote */
.article-body blockquote{
  margin:2.5rem 0 2.5rem -1rem !important;
  padding:1.5rem 0 1.5rem 2rem;
  border-left:3px solid var(--o);
  font-family:var(--H);font-size:1.35rem;font-weight:400;font-style:italic;
  line-height:1.5;color:var(--dark);
  letter-spacing:-.01em;
}
.article-body blockquote p{font-size:inherit;margin:0;color:inherit;font-weight:inherit;font-style:inherit}
.article-body blockquote cite{
  display:block;margin-top:.85rem;font-style:normal;
  font-family:var(--M);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mu);font-weight:400;
}
.article-body blockquote cite::before{content:'— '}
/* Callout / aside box */
.callout{
  margin:2.25rem 0 !important;
  padding:1.5rem 1.75rem;
  background:#fff;
  border:1.5px solid rgba(38,44,52,.08);
  border-left:3px solid var(--o);
  border-radius:3px;
  display:flex;gap:1.25rem;align-items:flex-start;
}
.callout-icon{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:rgba(189,105,61,.1);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--H);font-size:.95rem;font-weight:800;color:var(--o);
}
.callout-body{flex:1}
.callout-h{
  font-family:var(--M);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--o);margin-bottom:.5rem;
}
.callout p{font-size:.95rem !important;margin:0 !important;color:var(--mu) !important;line-height:1.7}
.callout p + p{margin-top:.75rem !important}
/* Inline & block code */
.article-body code{
  font-family:var(--M);font-size:.9em;
  background:rgba(38,44,52,.06);color:var(--dark);
  padding:.1em .4em;border-radius:2px;
}
.article-body pre{
  margin:2rem 0 !important;
  background:var(--dark);color:var(--ice);
  padding:1.5rem 1.75rem;border-radius:4px;
  font-family:var(--M);font-size:.82rem;line-height:1.7;
  overflow-x:auto;border-left:3px solid var(--o);
}
.article-body pre code{
  background:none;color:inherit;padding:0;font-size:inherit;
}
/* Figure */
.article-body figure{
  margin:2.5rem 0 !important;
}
.article-body figure img,
.article-body figure .fig-placeholder{
  width:100%;display:block;
  border-radius:3px;
  border:1px solid rgba(38,44,52,.08);
}
.article-body figure .fig-placeholder{
  aspect-ratio:16/9;
  background:linear-gradient(135deg,var(--card) 0%,var(--card2) 60%,var(--card) 100%);
  display:flex;align-items:center;justify-content:center;
  color:rgba(184,205,214,.3);
}
.article-body figure .fig-placeholder svg{width:60px;height:60px;opacity:.5}
.article-body figcaption{
  font-family:var(--M);font-size:.65rem;letter-spacing:.1em;
  color:var(--mu);text-align:center;margin-top:.85rem;line-height:1.6;
  text-transform:none;
}
/* Horizontal rule */
.article-body hr{
  border:none;
  height:1px;
  background:rgba(38,44,52,.1);
  margin:3rem auto !important;
  width:60%;
}
/* AUTHOR BIO / SHARE FOOTER */
.article-footer{
  max-width:720px;margin:0 auto;padding:3rem 4rem 0;
}
.author-bio{
  background:#fff;border:1.5px solid rgba(38,44,52,.08);
  border-radius:3px;padding:2rem;
  display:flex;gap:1.5rem;align-items:flex-start;
  border-left:3px solid var(--o);
}
.author-bio-avatar{
  width:64px;height:64px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--o),var(--ol));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--H);font-size:1.4rem;font-weight:700;color:#fff;
}
.author-bio-content h4{
  font-family:var(--H);font-size:1rem;font-weight:700;color:var(--dark);
  margin-bottom:.2rem;letter-spacing:-.01em;
}
.author-bio-role{
  font-family:var(--M);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--o);margin-bottom:.7rem;
}
.author-bio-content p{
  font-size:.88rem;color:var(--mu);line-height:1.7;
}
.share-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(38,44,52,.08);
  flex-wrap:wrap;gap:1rem;
}
.share-back{
  font-family:var(--M);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mu);text-decoration:none;
  display:inline-flex;align-items:center;gap:.5rem;transition:color .2s,gap .2s;
}
.share-back::before{content:'←'}
.share-back:hover{color:var(--o);gap:.7rem}
.share-links{display:flex;align-items:center;gap:.85rem}
.share-h{
  font-family:var(--M);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mu);
}
.share-btn{
  width:34px;height:34px;border-radius:50%;
  background:#fff;border:1px solid rgba(38,44,52,.12);
  display:flex;align-items:center;justify-content:center;
  color:var(--mu);text-decoration:none;
  transition:color .2s,border-color .2s,background .2s;
}
.share-btn svg{width:14px;height:14px;fill:currentColor}
.share-btn:hover{color:var(--o);border-color:var(--o);background:rgba(189,105,61,.06)}
/* RELATED */
.related{
  max-width:1100px;margin:0 auto;padding:5rem 4rem 0;
}
.related-h{
  font-family:var(--M);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--o);margin-bottom:1.5rem;display:flex;align-items:center;gap:.8rem;
}
.related-h::before{content:'';width:24px;height:2px;background:var(--o)}
.related h2{
  font-family:var(--H);font-size:1.8rem;font-weight:800;letter-spacing:-.02em;color:var(--dark);
  margin-bottom:2.5rem;
}
.related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;
  background:rgba(38,44,52,.08);border:1.5px solid rgba(38,44,52,.08);
  border-radius:4px;overflow:hidden;
}
.related-card{
  background:var(--bg);padding:2rem;position:relative;overflow:hidden;
  transition:background .25s;cursor:pointer;text-decoration:none;color:inherit;
  display:block;
}
.related-card:hover{background:#eef2f5}
.related-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.related-card:hover::before{transform:scaleX(1)}
.related-tag{
  font-family:var(--M);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--o);margin-bottom:.75rem;
}
.related-card h3{
  font-family:var(--H);font-size:1rem;font-weight:700;color:var(--dark);
  line-height:1.3;margin-bottom:.75rem;letter-spacing:-.01em;
}
.related-card p{
  font-size:.85rem;color:var(--mu);line-height:1.65;margin-bottom:1.2rem;
}
.related-meta{
  font-family:var(--M);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(143,168,181,.5);
}
/* NEWSLETTER */
.newsletter{background:var(--dark);padding:5rem 4rem;margin-top:6rem}
.newsletter-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.newsletter h2{font-family:var(--H);font-size:1.8rem;font-weight:800;color:var(--w);letter-spacing:-.02em;line-height:1.15;margin-bottom:.75rem}
.nl-input{flex:1;min-width:200px;font-family:var(--H);font-size:.85rem;background:rgba(255,255,255,.06);border:1px solid rgba(184,205,214,.15);color:var(--w);padding:.9rem 1.25rem;border-radius:2px;outline:none;transition:border-color .2s}
.nl-btn{font-family:var(--H);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--o);color:#fff;padding:.9rem 1.75rem;border:none;border-radius:2px;cursor:pointer;transition:background .2s;white-space:nowrap}
/* FOOTER */
footer{background:var(--dark);border-top:1px solid rgba(189,105,61,.2);padding:5rem 4rem 3rem;display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:4rem}
.ft-copy{font-family:var(--M);font-size:.57rem;letter-spacing:.1em;color:rgba(184,205,214,.25);line-height:1.8}
.ft-bot{grid-column:1/-1;border-top:1px solid rgba(184,205,214,.06);padding-top:2rem;margin-top:1rem;display:flex;justify-content:space-between;align-items:center}
/* RESPONSIVE */
@media(max-width:900px){
  body > nav{padding:0 1.5rem}.nav-links{display:none}
  .article-header-inner{padding:2.5rem 1.5rem 0}
  .article-header h1{font-size:1.85rem}
  .standfirst{font-size:1rem}
  .byline-meta{margin-left:0;width:100%}
  .article-body-wrap{padding:3rem 1.5rem}
  .article-body{font-size:1rem}
  .article-body h2{font-size:1.4rem}
  .article-body blockquote{font-size:1.1rem;margin-left:0 !important;padding-left:1.25rem}
  .article-body pre{padding:1rem 1.1rem;font-size:.78rem}
  .article-footer{padding:2rem 1.5rem 0}
  .author-bio{flex-direction:column}
  .related{padding:3rem 1.5rem 0}
  .related-grid{grid-template-columns:1fr}
  .newsletter{padding:2.5rem 1.5rem}
  .newsletter-inner{grid-template-columns:1fr;gap:2rem}
  footer{padding:2.5rem 1.5rem;grid-template-columns:1fr 1fr}
  .ft-bot{flex-direction:column;gap:1rem;align-items:flex-start}
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */

.nav-cta{
  font-family:var(--H);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--dark);color:var(--w);padding:.65rem 1.6rem;text-decoration:none;
  transition:background .2s;border-radius:2px;border:1px solid rgba(184,205,214,.18);
}
.nav-cta.active{background:var(--o);border-color:var(--o)}
.page-header-sub{
  font-size:1rem;color:var(--di);max-width:560px;line-height:1.8;
}
/* CONTACT GRID */
.contact-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:5rem 4rem 6rem;
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:5rem;
}
.contact-left h2{
  font-family:var(--H);font-size:1.5rem;font-weight:800;line-height:1.2;
  letter-spacing:-.02em;color:var(--dark);margin-bottom:1.25rem;
}
.contact-left h2 em{color:var(--o);font-style:italic}
.contact-left p{
  font-size:.93rem;color:var(--mu);line-height:1.8;margin-bottom:1.5rem;
}
.contact-info{
  margin-top:2.5rem;padding-top:2.5rem;
  border-top:1px solid rgba(38,44,52,.1);
}
.info-block{margin-bottom:1.75rem}
.info-label{
  font-family:var(--M);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--o);margin-bottom:.5rem;
}
.info-val{
  font-size:.92rem;color:var(--dark);font-weight:400;line-height:1.6;
}
.info-val a{color:var(--dark);text-decoration:none;border-bottom:1px solid rgba(189,105,61,.3);transition:border-color .2s}
.info-val a:hover{border-color:var(--o)}
.expect-h{
  font-family:var(--M);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--o);margin-bottom:1rem;
}
.expect-list{list-style:none}
.expect-list li{
  font-size:.88rem;color:var(--mu);line-height:1.7;padding:.65rem 0 .65rem 1.5rem;
  position:relative;border-bottom:1px solid rgba(38,44,52,.06);
}
.expect-list li:last-child{border-bottom:none}
.expect-list li::before{
  content:'→';position:absolute;left:0;color:var(--o);font-weight:700;
}
/* FORM CARD */
.form-card{
  background:#fff;
  border:1.5px solid rgba(38,44,52,.08);
  border-radius:4px;
  padding:3rem;
  box-shadow:0 12px 40px rgba(26,32,40,.06);
  position:relative;
}
.form-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--o);border-radius:4px 4px 0 0;
}
.form-card-h{
  font-family:var(--M);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--o);margin-bottom:.5rem;
}
.form-card h3{
  font-family:var(--H);font-size:1.4rem;font-weight:800;
  color:var(--dark);margin-bottom:.6rem;letter-spacing:-.02em;
}
.form-card-sub{
  font-size:.88rem;color:var(--mu);line-height:1.7;margin-bottom:2rem;
}
/* HUBSPOT FORM WRAPPER — restyles HubSpot's default fields to match the site */
#hubspot-form-target{min-height:200px}
#hubspot-form-target form{font-family:var(--H) !important}
#hubspot-form-target .hs-form-field{margin-bottom:1.1rem !important}
#hubspot-form-target label{
  font-family:var(--M) !important;font-size:.6rem !important;letter-spacing:.12em !important;text-transform:uppercase !important;
  color:var(--dark) !important;font-weight:400 !important;display:block !important;margin-bottom:.45rem !important;
}
#hubspot-form-target input[type=text],
#hubspot-form-target input[type=email],
#hubspot-form-target input[type=tel],
#hubspot-form-target input[type=number],
#hubspot-form-target textarea,
#hubspot-form-target select{
  font-family:var(--H) !important;font-size:.9rem !important;
  background:#fff !important;border:1px solid rgba(38,44,52,.18) !important;
  padding:.75rem 1rem !important;border-radius:2px !important;
  width:100% !important;color:var(--dark) !important;
  transition:border-color .2s;
}
#hubspot-form-target textarea{min-height:120px;resize:vertical}
#hubspot-form-target input:focus,
#hubspot-form-target textarea:focus,
#hubspot-form-target select:focus{
  border-color:var(--o) !important;outline:none !important;
}
#hubspot-form-target input[type=submit],
#hubspot-form-target .hs-button{
  font-family:var(--H) !important;font-size:.72rem !important;font-weight:700 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  background:var(--o) !important;color:#fff !important;
  padding:.95rem 2rem !important;border:none !important;border-radius:2px !important;
  cursor:pointer !important;transition:background .2s !important;
  margin-top:.5rem !important;
}
#hubspot-form-target input[type=submit]:hover,
#hubspot-form-target .hs-button:hover{background:var(--ol) !important}
#hubspot-form-target .hs-error-msg,
#hubspot-form-target .hs-error-msgs label{
  font-family:var(--M) !important;font-size:.65rem !important;color:#c33 !important;
  letter-spacing:.05em !important;text-transform:none !important;margin-top:.35rem !important;
}
#hubspot-form-target .legal-consent-container,
#hubspot-form-target .hs-richtext{
  font-size:.78rem !important;color:var(--mu) !important;line-height:1.6 !important;
}
/* Fallback placeholder shown until HubSpot script loads / is configured */
.form-placeholder{
  background:rgba(189,105,61,.06);
  border:1px dashed rgba(189,105,61,.3);
  padding:1.5rem;border-radius:3px;
  font-family:var(--M);font-size:.72rem;color:var(--mu);
  line-height:1.7;
}
.form-placeholder strong{color:var(--o);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;display:block;margin-bottom:.5rem}
.form-placeholder code{
  font-family:var(--M);font-size:.7rem;background:rgba(26,32,40,.05);
  padding:.1rem .35rem;border-radius:2px;color:var(--dark);
}
/* RESPONSIVE */
@media(max-width:900px){
  body > nav{padding:0 1.5rem}
  .nav-links{display:none}
  .page-header-inner{padding:3rem 1.5rem 0}
  .contact-wrap{padding:3rem 1.5rem 4rem;grid-template-columns:1fr;gap:3rem}
  .form-card{padding:2rem}
  footer{padding:2.5rem 1.5rem;grid-template-columns:1fr 1fr}
  .ft-bot{flex-direction:column;gap:1rem;align-items:flex-start}
}

/* ================================================================
   LEGAL PAGES
   ================================================================ */

/* PAGE HEADER */
.page-header{padding-top:68px;background:var(--dark);padding-bottom:3.5rem}
.page-header-inner{max-width:900px;margin:0 auto;padding:4rem 4rem 0}
.eyebrow{font-family:var(--M);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--o);display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.page-header h1{font-family:var(--H);font-size:clamp(2.2rem,3.5vw,3.4rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--w);margin-bottom:.8rem}
.page-header .updated{font-family:var(--M);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(143,168,181,.6);margin-top:1.2rem}
/* LEGAL CONTENT */
.legal-wrap{max-width:900px;margin:0 auto;padding:5rem 4rem 6rem}
.legal-intro{font-size:1rem;color:var(--mu);line-height:1.85;margin-bottom:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(38,44,52,.08)}
.legal-toc{background:#fff;border:1.5px solid rgba(38,44,52,.08);border-radius:3px;padding:1.5rem 2rem;margin-bottom:3.5rem;border-left:3px solid var(--o)}
.legal-toc-h{font-family:var(--M);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--o);margin-bottom:.85rem}
.legal-toc ol{list-style:none;counter-reset:toc;display:grid;grid-template-columns:1fr 1fr;gap:.45rem .85rem}
.legal-toc ol li{counter-increment:toc;font-size:.85rem}
.legal-toc ol li::before{content:counter(toc,decimal-leading-zero)'  ';font-family:var(--M);font-size:.7rem;color:var(--o);margin-right:.4rem}
.legal-toc ol li a{color:var(--mu);text-decoration:none;transition:color .2s}
.legal-toc ol li a:hover{color:var(--o)}
.legal-sec{margin-bottom:2.8rem}
.legal-sec h2{font-family:var(--H);font-size:1.4rem;font-weight:800;letter-spacing:-.01em;color:var(--dark);margin-bottom:1rem;padding-top:.5rem}
.legal-sec h2 .num{font-family:var(--M);font-size:.7rem;font-weight:400;color:var(--o);margin-right:.85rem;letter-spacing:.08em;vertical-align:.15em}
.legal-sec h3{font-family:var(--H);font-size:1rem;font-weight:700;color:var(--dark);margin:1.6rem 0 .6rem}
.legal-sec p{font-size:.93rem;color:var(--mu);line-height:1.85;margin-bottom:1rem}
.legal-sec ul{margin:.5rem 0 1.2rem 1.5rem;color:var(--mu)}
.legal-sec ul li{font-size:.93rem;line-height:1.8;margin-bottom:.35rem}
.legal-sec a{color:var(--o);text-decoration:none;border-bottom:1px solid rgba(189,105,61,.3)}
.legal-sec a:hover{border-color:var(--o)}
.legal-note{
  background:rgba(189,105,61,.06);border:1px dashed rgba(189,105,61,.3);
  padding:1.25rem 1.5rem;border-radius:3px;margin:2rem 0;
}
.legal-note-h{font-family:var(--M);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--o);margin-bottom:.5rem}
.legal-note p{font-size:.83rem;color:var(--mu);line-height:1.7;margin-bottom:0}
.ft-legal a.active{color:var(--di)}
@media(max-width:900px){
  body > nav{padding:0 1.5rem}.nav-links{display:none}
  .page-header-inner{padding:3rem 1.5rem 0}
  .legal-wrap{padding:3rem 1.5rem 4rem}
  .legal-toc ol{grid-template-columns:1fr}
  footer{padding:2.5rem 1.5rem;grid-template-columns:1fr 1fr}
  .ft-bot{flex-direction:column;gap:1rem;align-items:flex-start}
}
