/* =====================================================================
   Hayden Fennoy | Big Island Relocation · eXp Realty
   Palette: eXp Realty primary palette (Dark Navy #0C0F24, Brand Royal
   #1B489B, Dark Grey #58595B, Light Grey #E2E3E4 + Royal/Navy tints),
   per the eXp Realty Brand Guidelines. Warm island neutrals are support
   only. No orange (eXp's current guide retires it).
   ===================================================================== */
:root{
  --navy:#0C0F24;      /* eXp Dark Navy */
  --royal:#1B489B;     /* eXp Brand Royal */
  --royal-80:#506CAA;  /* eXp Royal 80% tint */
  --royal-50:#91A3C9;  /* eXp Royal 50% tint */
  --royal-20:#D3DAE9;  /* eXp Royal 20% tint */
  --royal-10:#E9EDF4;  /* eXp Royal 10% tint */
  --navy-80:#31303F;   /* eXp Navy 80% tint */
  --grey:#58595B;      /* eXp Dark Grey */
  --lgrey:#E2E3E4;     /* eXp Light Grey */
  --paper:#FAF9F6;     /* neutral: warm white */
  --sand:#F2EEE7;      /* neutral: soft sand */
  --stone:#CFC7BA;     /* neutral: lava-stone line */
  --white:#fff;
  --serif:"Cormorant Garamond","Times New Roman",serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --max:1240px;
  --r:2px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--navy);background:var(--paper);font-size:16px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--royal)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--royal);display:inline-flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.on-dark .eyebrow,.eyebrow.light{color:var(--royal-50)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(2.2rem,4.2vw,3.6rem);margin:18px 0 18px}
h3{font-size:1.6rem}
h2 em,h1 em{font-style:italic;font-weight:400}
.lede{font-size:1.08rem;color:var(--grey);max-width:640px}
.on-dark .lede{color:#C9CDDA}
section{padding:120px 0}
.ph{background:#FFF3B0;color:#5a4a00;padding:0 4px;font-size:.92em;border-radius:2px;font-family:var(--sans)}
.ph-block{border:1px dashed #b59f00;background:#FFFBE0;color:#5a4a00;padding:10px 14px;font-size:.82rem;margin-top:14px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;padding:18px 30px;border-radius:var(--r);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:.25s}
.btn-royal{background:var(--royal);color:#fff}.btn-royal:hover{background:#163c82}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-80)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(12,15,36,.15);backdrop-filter:blur(4px)}.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-line{border-color:var(--navy);color:var(--navy);background:transparent}.btn-line:hover{background:var(--navy);color:#fff}
.btn-block{width:100%}
.link-arrow{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;text-decoration:none;color:var(--royal);border-bottom:1px solid currentColor;padding-bottom:4px}

/* Compliance bar (brokerage identity visible on every screen via sticky header) */
.topbar{background:var(--navy);color:#C9CDDA;font-size:.72rem;letter-spacing:.06em}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,249,246,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--lgrey);transition:.3s}
.site-header.scrolled{box-shadow:0 6px 30px rgba(12,15,36,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}
.brand{text-decoration:none;color:var(--navy);display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:var(--serif);font-size:1.75rem;font-weight:600;letter-spacing:.01em}
.brand-sub{white-space:nowrap;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);margin-top:4px}
.brand-sub b{color:var(--navy);font-weight:700}
.brokerage-mark{display:flex;align-items:center;gap:14px;padding-left:20px;border-left:1px solid var(--lgrey);margin-left:20px}
.exp-logo-ph{font-family:var(--sans);font-weight:700;font-size:.95rem;color:var(--navy);border:1px dashed var(--royal-50);padding:6px 10px;letter-spacing:.02em;white-space:nowrap}
.exp-logo-ph small{display:block;font-size:.5rem;letter-spacing:.14em;color:var(--grey);font-weight:600;text-transform:uppercase}
.brand-row{display:flex;align-items:center}
nav#site-nav{display:flex;align-items:center;gap:20px}
nav#site-nav a{white-space:nowrap;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy);text-decoration:none}
nav#site-nav a:hover{color:var(--royal)}
nav#site-nav .btn{padding:13px 20px;color:#fff}
.nav-toggle{display:none;background:none;border:1px solid var(--navy);padding:10px 12px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--navy)}

/* Hero */
.hero{position:relative;min-height:calc(100vh - 120px);min-height:720px;display:flex;align-items:flex-end;color:#fff;padding:0;overflow:hidden}
.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,36,.78) 0%,rgba(12,15,36,.45) 45%,rgba(12,15,36,.05) 75%),linear-gradient(0deg,rgba(12,15,36,.55),transparent 40%)}
.hero .wrap{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.25fr .85fr;gap:56px;align-items:end;padding-bottom:80px;padding-top:80px}
.hero h1{font-size:clamp(2.9rem,6vw,5.4rem);margin:22px 0 22px}
.hero .lede{color:#E6E8F0;font-size:1.12rem;max-width:560px}
.hero-ctas{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.hero-meta{margin-top:40px;display:flex;gap:28px;flex-wrap:wrap;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#C9CDDA}
.hero-meta span{display:flex;align-items:center;gap:10px}
.hero-meta span::before{content:"";width:5px;height:5px;background:var(--royal-50);border-radius:50%}
.hero-card{background:rgba(250,249,246,.97);color:var(--navy);padding:34px 32px;border-top:3px solid var(--royal);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.hero-card h3{font-size:1.75rem;margin:10px 0 6px}
.hero-card p.small{font-size:.85rem;color:var(--grey);margin-bottom:16px}

/* Forms */
.lead-form{display:grid;gap:12px}
.lead-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lead-form label{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--grey);display:block;margin-bottom:5px}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;font:inherit;font-size:.92rem;padding:12px 14px;border:1px solid var(--lgrey);background:#fff;border-radius:var(--r);color:var(--navy)}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--royal-20);border-color:var(--royal)}
.lead-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:.72rem;line-height:1.5;color:var(--grey);text-transform:none;letter-spacing:0;font-weight:400}
.lead-form .consent input{width:auto;margin-top:3px}
.privacy-note{font-size:.7rem;line-height:1.55;color:var(--grey)}
.privacy-note a{color:inherit}
.form-status{font-size:.85rem;min-height:1em;color:var(--royal)}
.hp{position:absolute;left:-9999px}

/* Path strip */
.paths{padding:0;background:var(--white);border-bottom:1px solid var(--lgrey)}
.paths .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.path{padding:38px 30px;border-right:1px solid var(--lgrey);text-decoration:none;color:var(--navy);transition:.25s;display:block}
.path:first-child{border-left:1px solid var(--lgrey)}
.path:hover{background:var(--royal-10)}
.path .num{font-family:var(--serif);font-size:1rem;color:var(--royal);font-style:italic}
.path h3{font-size:1.35rem;margin:6px 0 6px}
.path p{font-size:.86rem;color:var(--grey);line-height:1.55}

/* Story */
.story{background:var(--paper)}
.story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}
.story-media{position:relative}
.story-media img{width:100%;aspect-ratio:4/5;object-fit:cover}
.story-media .inset{position:absolute;right:-40px;bottom:-40px;width:46%;border:8px solid var(--paper);aspect-ratio:1}
.story-media .inset img{aspect-ratio:1}
.story-body p{margin-bottom:18px;color:var(--navy-80)}
.story-body .pull{font-family:var(--serif);font-size:1.75rem;line-height:1.3;font-style:italic;color:var(--navy);border-left:2px solid var(--royal);padding-left:24px;margin:30px 0}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--stone);margin-top:34px}
.fact{padding:22px 18px 0 0}
.fact b{display:block;font-family:var(--serif);font-size:1.4rem;font-weight:500;line-height:1.2}
.fact span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grey)}
.sign{font-family:var(--serif);font-size:1.6rem;font-style:italic;margin-top:20px}

/* Fit check */
.fit{background:var(--sand)}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:50px;background:var(--stone)}
.fit-col{background:var(--sand);padding:40px 44px}
.fit-col:first-child{background:var(--white)}
.fit-col h3{margin-bottom:18px}
.fit-col ul{list-style:none}
.fit-col li{padding:12px 0;border-bottom:1px solid var(--lgrey);font-size:.95rem;display:flex;gap:14px}
.fit-col li::before{content:"—";color:var(--royal)}
.fit-note{margin-top:26px;font-size:.92rem;color:var(--grey);max-width:760px}

/* Moving guide */
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border-top:1px solid var(--lgrey);border-left:1px solid var(--lgrey)}
.g-item{padding:34px 30px;border-right:1px solid var(--lgrey);border-bottom:1px solid var(--lgrey);background:var(--white)}
.g-item .k{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--royal);font-weight:700}
.g-item h3{font-size:1.4rem;margin:8px 0 10px}
.g-item p{font-size:.9rem;color:var(--grey);line-height:1.65}
.disclaimer{font-size:.76rem;color:var(--grey);margin-top:22px;max-width:900px}

/* Elevation / areas */
.areas{background:var(--navy);color:#fff}
.areas .head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}
.bands{margin-top:60px;display:grid;gap:2px}
.band{display:grid;grid-template-columns:200px 1fr;background:rgba(255,255,255,.04);border-left:3px solid var(--royal)}
.band:nth-child(1){border-left-color:var(--royal-20)}.band:nth-child(2){border-left-color:var(--royal-50)}.band:nth-child(3){border-left-color:var(--royal-80)}
.band-label{padding:26px 24px;border-right:1px solid rgba(255,255,255,.08)}
.band-label b{display:block;font-family:var(--serif);font-size:1.45rem;font-weight:500}
.band-label span{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--royal-50)}
.band-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.area{padding:24px 26px;border-right:1px solid rgba(255,255,255,.06)}
.area h3{font-size:1.3rem;margin-bottom:6px}
.area p{font-size:.84rem;color:#B9BED0;line-height:1.6}
.area .tags{margin-top:10px;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--royal-50)}
.area-photos{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-top:56px}
.area-photo{position:relative;overflow:hidden;aspect-ratio:4/3}
.area-photo img{width:100%;height:100%;object-fit:cover;transition:.6s}
.area-photo:hover img{transform:scale(1.04)}
.area-photo figcaption{position:absolute;left:0;bottom:0;right:0;padding:18px 20px;background:linear-gradient(0deg,rgba(12,15,36,.85),transparent);font-family:var(--serif);font-size:1.3rem}
.area-photo figcaption small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--royal-20)}
.area-photo.ph-tile{background:linear-gradient(140deg,var(--royal) 0%,var(--navy) 100%);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:.8rem;color:#C9CDDA}
.drive{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px 28px;font-size:.78rem;color:#B9BED0}
.drive b{color:#fff;font-weight:600}
.areas-cta{margin-top:48px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}

/* Remote */
.remote-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.phases{margin-top:36px;counter-reset:p}
.phase{display:grid;grid-template-columns:70px 1fr;padding:24px 0;border-bottom:1px solid var(--lgrey)}
.phase .n{font-family:var(--serif);font-size:2.4rem;color:var(--royal);line-height:1;font-style:italic}
.phase h3{font-size:1.35rem;margin-bottom:6px}
.phase p{font-size:.9rem;color:var(--grey)}
.tour-panel{background:var(--navy);color:#fff;position:sticky;top:110px}
.tour-panel .media{position:relative;aspect-ratio:4/3;overflow:hidden}
.tour-panel .media img{width:100%;height:100%;object-fit:cover;opacity:.85}
.tour-panel .media .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.tour-panel .media .play span{width:76px;height:76px;border:1px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(12,15,36,.35);backdrop-filter:blur(3px)}
.tour-panel .body{padding:34px}
.tour-panel h3{font-size:1.7rem;margin-bottom:10px}
.tour-panel p{color:#C9CDDA;font-size:.92rem}
.tour-panel ul{list-style:none;margin:18px 0 24px}
.tour-panel li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.88rem}

/* Lead magnet */
.magnet{background:var(--royal-10)}
.magnet-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.cover{aspect-ratio:8.5/11;background:linear-gradient(160deg,var(--navy) 0%,var(--royal) 120%);color:#fff;padding:44px 38px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:24px 30px 70px rgba(12,15,36,.28);max-width:380px;margin:0 auto;position:relative}
.cover::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.18)}
.cover .t{font-family:var(--serif);font-size:2.7rem;line-height:1.02}
.cover .s{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--royal-20)}
.cover ul{list-style:none;font-size:.8rem;color:#D3DAE9;line-height:2}
.magnet-list{columns:2;gap:30px;margin:24px 0 30px;list-style:none}
.magnet-list li{padding:8px 0;border-bottom:1px solid var(--royal-20);font-size:.92rem;break-inside:avoid}
.magnet .lead-form{background:#fff;padding:30px;border-top:3px solid var(--royal)}
.magnet .lead-form .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

/* Sellers */
.sell-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.sell-media{position:relative}
.sell-media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.sell-media figcaption{font-size:.7rem;color:var(--grey);margin-top:10px}
.sell-list{list-style:none;margin:26px 0 32px}
.sell-list li{padding:14px 0;border-bottom:1px solid var(--lgrey);display:grid;grid-template-columns:150px 1fr;gap:18px;font-size:.9rem;color:var(--grey)}
.sell-list li b{color:var(--navy);font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding-top:3px}
.valuation{background:var(--sand)}
.val-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.valuation .lead-form{background:#fff;padding:34px;border-top:3px solid var(--navy)}

/* Reviews */
.reviews{background:var(--white)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:50px}
.review{border-top:1px solid var(--navy);padding-top:24px}
.review q{font-family:var(--serif);font-size:1.3rem;line-height:1.45;display:block;quotes:"\201C" "\201D"}
.review .who{margin-top:16px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}

/* About */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.creds{list-style:none;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.creds li{padding:12px 0;border-bottom:1px solid var(--lgrey);font-size:.9rem}
.creds li span{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}

/* Contact */
.contact{background:var(--navy);color:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.contact .ways{margin-top:34px;display:grid;gap:2px}
.contact .ways a{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:.95rem}
.contact .ways a small{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--royal-50);display:block}
.contact .lead-form{background:var(--paper);padding:36px;color:var(--navy)}

/* Footer */
footer{background:#070917;color:#A9AEC2;font-size:.8rem;padding:80px 0 120px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px}
footer h4{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:#fff;margin-bottom:16px;font-weight:600}
footer a{color:#D3DAE9;text-decoration:none}
footer ul{list-style:none;line-height:2.1}
.foot-brand{font-family:var(--serif);font-size:1.7rem;color:#fff}
.legal{border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:30px;display:grid;grid-template-columns:auto 1fr;gap:28px;font-size:.72rem;line-height:1.7}
.eho{display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;width:90px}
.legal p{margin-bottom:10px}

/* Mobile action bar */
.mobile-bar{display:none}

/* Responsive */
@media (max-width:1380px){.brokerage-mark{display:none}}
@media (max-width:1080px){
  nav#site-nav{gap:18px}
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .hero-card{max-width:560px}
  .story-grid,.remote-grid,.magnet-grid,.sell-grid,.val-grid,.about-grid,.contact-grid,.areas .head{grid-template-columns:1fr;gap:50px}
  .story-media .inset{right:16px;bottom:-30px}
  .guide-grid{grid-template-columns:1fr 1fr}
  .paths .wrap{grid-template-columns:1fr 1fr}
  .path{border-bottom:1px solid var(--lgrey)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .tour-panel{position:static}
  .band{grid-template-columns:1fr}
  .band-label{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
}
@media (max-width:860px){
  .nav-toggle{display:block}
  nav#site-nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;padding:14px 24px 24px;gap:0;border-bottom:1px solid var(--lgrey)}
  nav#site-nav.open{display:flex}
  nav#site-nav a{padding:14px 0;border-bottom:1px solid var(--lgrey)}
  nav#site-nav .btn{margin-top:14px}
}
@media (max-width:640px){
  .wrap{padding:0 20px}
  section{padding:80px 0}
  .topbar .wrap{justify-content:center;text-align:center}
  .topbar .tb-right{display:none}
  .site-header .wrap{height:72px}
  nav#site-nav{top:72px}
  .brand-name{font-size:1.45rem}
  .brand-sub{font-size:.55rem;letter-spacing:.16em}
  .hero{min-height:0}
  .hero .wrap{padding-top:120px;padding-bottom:40px}
  .hero::after{background:linear-gradient(0deg,rgba(12,15,36,.92) 25%,rgba(12,15,36,.35) 100%)}
  .hero-ctas .btn{flex:1 1 100%}
  .hero-card{padding:26px 20px}
  .lead-form .row,.magnet .lead-form .row3{grid-template-columns:1fr}
  .guide-grid,.paths .wrap,.review-grid,.facts,.fit-grid,.creds,.area-photos,.foot-grid{grid-template-columns:1fr}
  .path{border-left:1px solid var(--lgrey)}
  .fit-col{padding:30px 24px}
  .magnet-list{columns:1}
  .sell-list li{grid-template-columns:1fr;gap:4px}
  .story-media .inset{width:42%;right:12px}
  .legal{grid-template-columns:1fr}
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--navy);border-top:1px solid rgba(255,255,255,.12)}
  .mobile-bar a{color:#fff;text-decoration:none;text-align:center;padding:15px 6px;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;border-right:1px solid rgba(255,255,255,.1)}
  .mobile-bar a:last-child{background:var(--royal);border:0}
}

/* ---------- Free Guides library ---------- */
.guides{background:var(--royal-10)}
.guides-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:56px}
.guides-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.guide-card{background:#fff;display:flex;flex-direction:column;box-shadow:0 12px 34px rgba(12,15,36,.08);transition:transform .25s,box-shadow .25s}
.guide-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(12,15,36,.14)}
.gc-cover{aspect-ratio:8.5/11;overflow:hidden;background:var(--navy)}
.gc-cover img{width:100%;height:100%;object-fit:cover;display:block}
.gc-css{background:linear-gradient(160deg,var(--navy) 0%,var(--royal) 120%);color:#fff;padding:26px 22px;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.gc-css::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.18)}
.gc-css.gc-alt{background:linear-gradient(160deg,#31303F 0%,var(--navy) 100%)}
.gc-css .s{font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--royal-20)}
.gc-css .t{font-family:var(--serif);font-size:1.9rem;line-height:1.02}
.gc-body{padding:20px 20px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.gc-body .k{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--royal);font-weight:600}
.gc-body h3{font-family:var(--serif);font-size:1.3rem;line-height:1.15;font-weight:500}
.gc-body p{font-size:.84rem;color:var(--grey);flex:1}
.btn-sm{padding:11px 16px;font-size:.66rem;align-self:flex-start;margin-top:6px}
.guides .privacy-note{margin-top:22px}
.guide-dialog{border:0;padding:0;max-width:560px;width:calc(100% - 32px);box-shadow:0 30px 80px rgba(12,15,36,.4)}
.guide-dialog::backdrop{background:rgba(12,15,36,.6)}
.guide-dialog .lead-form{padding:34px;position:relative;border-top:3px solid var(--royal)}
.guide-dialog h3{font-family:var(--serif);font-size:1.7rem;font-weight:500;margin-bottom:4px}
.gd-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:1.8rem;cursor:pointer;color:var(--grey);line-height:1}
/* sources */
.sources{margin-top:18px;max-width:900px;font-size:.76rem;color:var(--grey)}
.sources summary{cursor:pointer;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.66rem;color:var(--royal)}
.sources ol{padding-left:20px;margin-top:10px;display:grid;gap:6px}
.sources a{color:var(--royal)}
.g-item sup a{color:var(--royal);text-decoration:none;font-size:.7em;margin-left:2px}
.src-note{font-size:.74rem;color:#9AA1B8;margin-top:22px;max-width:900px}
.src-note a{color:#C8D0E6}
@media (max-width:1180px){.guides-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.guides-head{grid-template-columns:1fr;gap:16px}.guides-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.guides-grid{grid-template-columns:1fr 1fr;gap:12px}.gc-body{padding:14px}.gc-body p{display:none}.gc-css .t{font-size:1.4rem}}
.guide-dialog{margin:auto;position:fixed;inset:0;max-height:calc(100vh - 32px);overflow:auto}
.gc-css.gc-v2{background:linear-gradient(160deg,#0C0F24 0%,var(--royal) 110%)}
.gc-css.gc-v3{background:linear-gradient(200deg,var(--royal) 0%,#0C0F24 90%)}
.gc-css.gc-v4{background:linear-gradient(160deg,#31303F 0%,var(--royal) 130%)}
.brand-name em{font-style:italic;font-weight:500}
@media (max-width:1080px) and (min-width:861px){.brand-name{font-size:1.4rem}nav#site-nav{gap:14px}.brand-sub{display:none}}

/* ===================== v2 multi-page additions ===================== */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--royal);color:#fff;padding:10px 16px}
.skip:focus{left:12px;top:12px}
.h3{font-size:1.6rem}
footer .fh{font-family:var(--sans);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:#fff;margin:0 0 16px;font-weight:600;line-height:1.4}
.foot-id{color:#fff;margin-top:10px}
.brokerage-line{margin-top:4px}
.fine{font-size:.78rem;color:var(--grey);line-height:1.6;margin-top:12px}
.on-dark .fine{color:#A9AEC2}
.more{margin-top:40px}
.doc{max-width:820px}
/* page hero */
.page-hero{background:linear-gradient(120deg,var(--navy) 0%,#141a3c 60%,var(--royal) 160%);color:#fff;padding:70px 0 80px}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);margin:18px 0 18px;max-width:900px}
.page-hero .lede{color:#C9CDDA}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.72rem;letter-spacing:.08em;margin-bottom:26px;color:#A9AEC2}
.crumbs li+li::before{content:"/";margin-right:6px;color:#6a7090}
.crumbs a{color:#D3DAE9;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
/* area cards */
.area-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.area-card{display:flex;flex-direction:column;gap:10px;padding:24px 22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;transition:.25s}
.area-card:hover{background:rgba(255,255,255,.09);border-color:var(--royal-50)}
.area-card h3{font-size:1.5rem}
.ac-region{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--royal-50);font-weight:600}
.area-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:6px 0 8px;flex:1}
.area-card dt{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#9AA1B8}
.area-card dd{font-size:.92rem}
.area-card .link-arrow{color:#D3DAE9;align-self:flex-start}
.area-cards.light .area-card{background:#fff;border-color:var(--lgrey);color:var(--navy)}
.area-cards.light .area-card:hover{border-color:var(--royal);box-shadow:0 12px 30px rgba(12,15,36,.08)}
.area-cards.light dt{color:var(--grey)}
.area-cards.light .ac-region{color:var(--royal)}
.area-cards.light .link-arrow{color:var(--royal)}
.area-link-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.area-link-list a{display:inline-block;padding:10px 16px;border:1px solid var(--stone);text-decoration:none;font-size:.85rem;color:var(--navy);background:#fff}
.area-link-list a:hover{border-color:var(--royal);color:var(--royal)}
.areas-strip{background:var(--sand)}
/* area page */
.area-body{padding-top:70px}
.area-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;align-items:start}
.prose{max-width:780px}
.prose p,.prose ul{margin-bottom:16px}
.prose ul{padding-left:20px}
.prose h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:44px 0 14px}
.h-sec{font-size:clamp(1.8rem,3vw,2.4rem);margin:44px 0 14px}
.prose > .h-sec:first-child{margin-top:0}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--lgrey);border:1px solid var(--lgrey);margin:10px 0 10px}
.stat{background:#fff;padding:18px 18px 20px}
.stat dt{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);font-weight:600}
.stat dd{font-family:var(--serif);font-size:1.9rem;line-height:1.15;margin-top:4px}
.stat dd small{display:block;font-family:var(--sans);font-size:.74rem;color:var(--grey);line-height:1.4;margin-top:4px}
.table-wrap{overflow-x:auto;margin:14px 0 18px;-webkit-overflow-scrolling:touch}
table.data{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff}
table.data th,table.data td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--lgrey);vertical-align:top}
table.data thead th{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);background:var(--royal-10)}
table.data tbody th{font-weight:600}
table.data caption{caption-side:bottom;text-align:left;font-size:.74rem;color:var(--grey);padding-top:8px}
table.compare td{white-space:nowrap}
.callout,.callout-inline{background:var(--royal-10);border-left:3px solid var(--royal);padding:18px 20px;margin:18px 0}
.callout h3{font-size:1.4rem;margin-bottom:8px}
.checklist{list-style:none;padding-left:0 !important}
.checklist li{padding:10px 0 10px 30px;border-bottom:1px solid var(--lgrey);position:relative}
.checklist li::before{content:"✓";position:absolute;left:4px;color:var(--royal);font-weight:700}
.area-aside{position:sticky;top:110px;display:grid;gap:18px}
.aside-card{background:#fff;border:1px solid var(--lgrey);padding:24px}
.aside-card h3{font-size:1.4rem;margin:8px 0 6px}
.aside-card p{font-size:.86rem;color:var(--grey);margin-bottom:14px}
.mini-cards{display:grid;gap:8px;margin:12px 0 16px}
.mini-card{display:block;padding:10px 12px;border:1px solid var(--lgrey);text-decoration:none;color:var(--navy);font-family:var(--serif);font-size:1.15rem}
.mini-card span{display:block;font-family:var(--sans);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--royal)}
.mini-card:hover{border-color:var(--royal)}
.disclaimer{font-size:.78rem;color:var(--grey);margin-top:28px;max-width:900px;font-style:italic}
/* CTA band */
.cta-band{background:var(--navy);color:#fff}
.cta-band .lede{color:#C9CDDA}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.cta-alt{margin-top:22px;font-size:.9rem;color:#C9CDDA}
.cta-alt a{color:#fff}
.form-card{background:var(--paper);color:var(--navy);padding:32px;border-top:3px solid var(--royal)}
.form-card .h3{margin:10px 0 14px}
/* general ways list (light bg) */
.ways{margin-top:24px;display:grid;gap:2px}
.ways a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--lgrey);color:var(--navy);text-decoration:none;font-size:.95rem}
.ways a small{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--royal);display:block}
.contact .ways a{border-bottom-color:rgba(255,255,255,.12);color:#fff}
.contact .ways a small{color:var(--royal-50)}
.about-fig img{width:100%;max-height:560px;object-fit:cover}
.facts{list-style:none;margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.facts li{padding:12px 0;border-bottom:1px solid var(--lgrey);font-size:.9rem}
.facts li span{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.soon{font-size:.72rem;color:var(--royal);font-weight:500}
/* blog */
.post-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.post-card{background:#fff;border:1px solid var(--lgrey);padding:30px}
.post-card a{text-decoration:none;color:var(--navy)}
.post-card a:hover{color:var(--royal)}
.post-card p{color:var(--grey);font-size:.92rem;margin:10px 0}
.byline{font-size:.8rem;color:var(--grey);margin-top:20px}
/* forms success */
.lead-form .success{background:var(--royal-10);border-left:3px solid var(--royal);padding:18px 20px;font-size:.95rem;color:var(--navy)}
.lead-form .success .btn{margin-top:12px}
.form-status.error{color:#9b1c1c}
.review blockquote p{font-family:var(--serif);font-size:1.25rem;line-height:1.45;font-style:italic}
@media (max-width:1080px){
  .area-cards{grid-template-columns:1fr 1fr}
  .area-grid,.cta-grid{grid-template-columns:1fr;gap:40px}
  .area-aside{position:static}
}
@media (max-width:640px){
  .area-cards,.post-list,.facts{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .page-hero{padding:50px 0 56px}
  .form-card{padding:24px 18px}
  .stat dd{font-size:1.5rem}
}

/* ===== 2026-10 refresh: cleaner layout, photo-led ===== */
section{padding:140px 0}
.hero{min-height:min(88vh,860px);align-items:flex-end}
.hero::after{background:linear-gradient(0deg,rgba(12,15,36,.72) 0%,rgba(12,15,36,.28) 45%,rgba(12,15,36,.05) 75%),linear-gradient(90deg,rgba(12,15,36,.45),transparent 65%)}
.hero .wrap{display:block;padding-bottom:110px;padding-top:140px}
.hero-copy{max-width:720px}
.hero h1{font-size:clamp(2.8rem,5.6vw,5rem)}
.story-grid{gap:110px}
.story-media img{aspect-ratio:4/5;background:#E9E7E2}
.story-body .lede{margin-bottom:24px}
/* area cards with photos */
.area-card{padding:0;gap:0;overflow:hidden}
.area-card .ac-photo{display:block;aspect-ratio:3/2;overflow:hidden;background:#141a3c}
.area-card .ac-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.area-card:hover .ac-photo img{transform:scale(1.04)}
.area-card .ac-region{margin:22px 22px 6px}
.area-card h3{margin:0 22px 8px}
.area-card dl{margin:8px 22px 14px}
.area-card .link-arrow{margin:0 22px 24px}
.areas .more{text-align:left}
/* photo page heroes */
.page-hero.has-photo{position:relative;overflow:hidden;padding:120px 0 90px;background:var(--navy)}
.page-hero .ph-bg{position:absolute;inset:0}
.page-hero .ph-bg img{width:100%;height:100%;object-fit:cover}
.page-hero.has-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,15,36,.82) 0%,rgba(12,15,36,.5) 55%,rgba(12,15,36,.3) 100%)}
.page-hero.has-photo .wrap{position:relative;z-index:2}
.page-hero.has-photo .lede{color:#E6E8F0}
/* photo strip */
.photo-strip{padding:0}
.photo-strip .strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.photo-strip figure{margin:0;aspect-ratio:4/3;overflow:hidden}
.photo-strip img{width:100%;height:100%;object-fit:cover}
.sell-media img{aspect-ratio:4/3}
.tour-panel .media img{opacity:1;object-position:center 22%}
.about-fig img{aspect-ratio:4/3;max-height:none}
@media (max-width:1080px){.story-grid{gap:56px}.story-media{max-width:520px}}
@media (max-width:640px){
  section{padding:84px 0}
  .hero{min-height:78vh}
  .hero .wrap{padding-top:96px;padding-bottom:90px}
  .hero h1{font-size:2.5rem}
  .page-hero.has-photo{padding:80px 0 56px}
  .photo-strip .strip{grid-template-columns:1fr 1fr}
  .photo-strip figure:last-child{display:none}
}
.hero .eyebrow{color:#fff}.hero .eyebrow::before{background:#fff}
.hero .eyebrow,.hero h1,.hero .lede{text-shadow:0 1px 18px rgba(12,15,36,.45)}
