/* Shared styles for /resources/ pages */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f0efec;--bg2:#f5f4f1;--bg3:#fafaf8;
  --dark:#3c4250;--dark2:#454d5c;
  --border:#e2e0db;
  --text:#1e2430;--text2:#62707f;--text3:#8e9aa6;
  --sand:#b8a48a;--sand2:#d4c4a8;--sand4:#f3ede2;
  --warm:#a08060;
  --accent:#b5694e;--accent-light:#f0d8cc;
  --sf:'Cormorant Garamond',Georgia,serif;
  --bf:'DM Sans',sans-serif
}
html{font-family:var(--bf);background:var(--bg);color:var(--text);font-size:14px;line-height:1.65}
a{color:inherit;text-decoration:none}
.up{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--warm)}
nav{background:var(--dark);padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:56px;position:relative}
nav > a.logo{font-family:var(--sf);font-size:18px;color:rgba(255,255,255,.88);letter-spacing:.03em}
.nav-toggle{display:none}
.nav-burger{display:none;cursor:pointer;width:28px;height:22px;flex-direction:column;justify-content:space-between;padding:2px}
.nav-burger span{display:block;height:2px;background:rgba(255,255,255,.85);border-radius:2px;transition:transform .25s,opacity .2s}
.nav-links{display:flex;align-items:center;gap:24px;font-size:12px;letter-spacing:.02em}
.nav-links > a{color:rgba(255,255,255,.55)}
.nav-links > a:hover{color:#fff}
.nav-links > a.active{color:rgba(255,255,255,.92);font-weight:500}
.nav-cta{padding:8px 20px;background:var(--accent);color:#fff !important;border-radius:99px;font-weight:500}

/* Resources dropdown (legacy, kept for backward compat) */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown > a:hover{color:#fff !important}
.nav-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px;min-width:220px;box-shadow:0 18px 48px -8px rgba(45,55,72,.25);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:60}
.nav-dropdown:hover .nav-menu,.nav-menu:hover{opacity:1;visibility:visible;transform:translateY(0)}
.nav-menu a{display:block;padding:9px 12px;font-size:12px;color:var(--text2);border-radius:6px;transition:background .12s,color .12s}
.nav-menu a:hover{background:var(--bg2);color:var(--accent)}

/* ===== Megamenu (Explore dropdown) ===== */
.nav-mega-wrap{position:relative;display:flex;align-items:center}
.nav-mega-trigger{background:transparent;border:none;color:rgba(255,255,255,.55);font-family:var(--bf);font-size:12px;letter-spacing:.02em;cursor:pointer;padding:0;display:inline-flex;align-items:center;transition:color .12s}
.nav-mega-trigger:hover,.nav-mega-wrap:hover .nav-mega-trigger{color:#fff}
.nav-mega-trigger.active{color:#fff;font-weight:500}
.nav-mega{position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;width:min(960px, calc(100vw - 32px));box-shadow:0 24px 64px -8px rgba(45,55,72,.28);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60;margin-top:4px}
.nav-mega-wrap:hover .nav-mega,.nav-mega:hover,.nav-mega.open{opacity:1;visibility:visible;transform:translateY(0)}
.mega-cols{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px 32px}
.mega-col h4{font-family:var(--bf);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.mega-col a{display:block;padding:5px 0;font-size:12.5px;color:var(--text);text-decoration:none;transition:color .12s,padding .12s;font-weight:400}
.mega-col a:hover{color:var(--accent);padding-left:4px}

@media (max-width:1024px){
  .nav-mega{width:min(720px, calc(100vw - 32px));padding:20px}
  .mega-cols{grid-template-columns:repeat(2, 1fr);gap:18px 24px}
}
@media (max-width:768px){
  /* Legacy dropdown collapse */
  .nav-dropdown{display:block !important;position:static}
  .nav-menu{position:static;opacity:1 !important;visibility:visible !important;transform:none !important;background:rgba(0,0,0,.18) !important;border:none !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;min-width:0}
  .nav-menu a{padding:11px 38px !important;font-size:13px !important;color:rgba(255,255,255,.7) !important;border-radius:0 !important;border-bottom:1px solid rgba(255,255,255,.04) !important}
  /* Megamenu, collapse to accordion-style inside burger drawer */
  .nav-mega-wrap{display:block !important;position:static}
  .nav-mega-trigger{display:block !important;width:100%;padding:14px 22px !important;text-align:left;color:rgba(255,255,255,.85) !important;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px !important}
  .nav-mega{position:static !important;opacity:1 !important;visibility:visible !important;transform:none !important;background:rgba(0,0,0,.18) !important;border:none !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;width:100% !important;margin-top:0 !important}
  .mega-cols{grid-template-columns:1fr !important;gap:0}
  .mega-col{border-bottom:1px solid rgba(255,255,255,.06);padding:10px 0}
  .mega-col h4{color:rgba(255,255,255,.45) !important;padding:10px 28px 4px !important;border-bottom:none !important;font-size:9px !important;margin-bottom:0}
  .mega-col a{padding:9px 38px !important;color:rgba(255,255,255,.78) !important;font-size:13px !important}
  .mega-col a:hover{padding-left:38px !important}
}

.hero{position:relative;min-height:50vh;display:flex;align-items:flex-end;padding:120px 48px 60px;overflow:hidden;isolation:isolate}
.hero img.bg{position:absolute;inset:0;width:100%;height:115%;object-fit:cover;filter:saturate(1.3) contrast(1.05) brightness(1.02);z-index:-2;will-change:transform}

/* Section fade-up reveals (toggled by IntersectionObserver in inline JS) */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.fade-up.in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){.fade-up{opacity:1;transform:none}.hero img.bg{transform:none !important}}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,28,42,.3) 0%,rgba(20,28,42,.5) 60%,rgba(20,28,42,.78) 100%);z-index:-1}
.hero-inner{position:relative;color:#fff;max-width:720px;z-index:1}
.hero .up{color:rgba(255,255,255,.9);margin-bottom:18px}
.hero h1{font-family:var(--sf);font-weight:300;font-size:64px;line-height:1.04;margin-bottom:18px;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.hero h1 i{color:var(--sand2)}
.hero p{font-size:16px;color:rgba(255,255,255,.94);line-height:1.7;max-width:560px;text-shadow:0 1px 12px rgba(0,0,0,.45)}

section{padding:72px 48px}
.max{max-width:920px;margin:0 auto}
.max-narrow{max-width:720px;margin:0 auto}
h2{font-family:var(--sf);font-weight:300;font-size:38px;line-height:1.15;color:var(--text);margin-bottom:14px}
h2 i{color:var(--warm)}
h3{font-family:var(--sf);font-weight:400;font-size:24px;line-height:1.2;color:var(--text);margin-bottom:8px}
.lede{font-size:16px;color:var(--text2);line-height:1.8;margin-bottom:24px}
p{margin-bottom:16px;color:var(--text2);line-height:1.8}
ul{margin:0 0 18px 22px}
ul li{margin-bottom:6px;color:var(--text2)}
.card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:24px}
.card-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.card .micro{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm);margin-bottom:8px}

.coming-banner{background:var(--sand4);border:1px solid var(--sand2);border-radius:14px;padding:18px 24px;font-size:13px;color:var(--text);display:flex;align-items:center;gap:14px;margin-bottom:32px}
.coming-banner .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

.btn-primary{padding:13px 28px;border:none;border-radius:99px;background:var(--accent);color:#fff;font-family:var(--bf);font-size:13px;font-weight:500;cursor:pointer;display:inline-block}

.close-cta{background:var(--dark);color:#fff;text-align:center;padding:80px 48px}
.close-cta h2{color:#fff;margin-bottom:14px}
.close-cta p{color:rgba(255,255,255,.7);max-width:520px;margin:0 auto 24px}
.close-cta .btn{padding:13px 32px;border-radius:99px;background:var(--accent);color:#fff;font-family:var(--bf);font-size:13px;font-weight:500;display:inline-block}

footer{background:#1e2430;color:rgba(255,255,255,.55);padding:40px 48px}
footer .max{display:flex;justify-content:space-between;align-items:center;font-size:12px}
footer a{color:rgba(255,255,255,.7)}

.agent-float{position:fixed;bottom:20px;right:20px;z-index:50;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:99px;padding:6px 22px 6px 6px;box-shadow:0 12px 32px -8px rgba(45,55,72,.25);text-decoration:none;transition:transform .2s,box-shadow .2s}
.agent-float:hover{transform:translateY(-2px);box-shadow:0 18px 40px -10px rgba(45,55,72,.32)}
.agent-photo{position:relative;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#3a4a5c,#5c6b52);display:flex;align-items:center;justify-content:center;font-family:var(--sf);font-size:20px;color:#fff;font-style:italic}
.agent-status{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:#5fbb7a;border:2px solid #fff}
.agent-tip{font-size:12px;color:var(--text);font-weight:500;line-height:1.3}
.agent-tip small{display:block;font-weight:400;color:var(--text2);font-size:10px;margin-top:1px}

@media (max-width:768px){
  html{font-size:13px}
  nav{padding:0 18px}
  .nav-burger{display:flex !important}
  .nav-links{position:absolute;top:56px;left:0;right:0;background:var(--dark);flex-direction:column !important;gap:0 !important;padding:8px 0 16px !important;align-items:stretch !important;border-top:1px solid rgba(255,255,255,.08);max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;font-size:14px !important}
  .nav-links > a{padding:14px 22px !important;color:rgba(255,255,255,.85) !important;border-bottom:1px solid rgba(255,255,255,.05)}
  .nav-links > a.nav-cta{margin:14px 22px 0;border-radius:99px !important;text-align:center;background:var(--accent) !important;border-bottom:none}
  .nav-toggle:checked ~ .nav-links{max-height:520px;padding:8px 0 16px !important}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  .hero{padding:80px 18px 40px;min-height:auto}
  .hero h1{font-size:42px;line-height:1.05}
  .hero p{font-size:14px;line-height:1.65}
  section{padding:48px 18px}
  h2{font-size:28px;line-height:1.15}
  h3{font-size:20px}
  .card-grid-2,.card-grid-3{grid-template-columns:1fr}
  .card{padding:20px}
  .max,.max-narrow{padding:0}
  .agent-float{padding:3px;border-radius:50%;bottom:14px;right:14px}
  .agent-tip{display:none}
  .nav-signin{display:none !important}

  /* Lead-magnet CTA, stack on mobile (used on relocation guide) */
  .lead-cta{grid-template-columns:1fr !important;padding:28px 22px !important;gap:18px !important}
  .lead-cta form{width:100%}
  .lead-cta input,.lead-cta button{width:100%}

  /* Process steps */
  .step{flex-direction:row;gap:14px}
  .step::before{font-size:34px;width:42px}

  /* Closing CTA */
  .close-cta{padding:60px 22px}
  .close-cta h2{font-size:28px}

  /* Coming-soon banner */
  .coming-banner{padding:14px 18px !important;font-size:12px}

  /* Footer */
  footer{padding:32px 18px}
  footer .max{flex-direction:column;align-items:flex-start;gap:10px}
}

@media (max-width:480px){
  .hero h1{font-size:34px}
  h2{font-size:24px}
  section{padding:40px 18px}
}
