/* npbwaterfront.com — shared.css v13
   Palette: Ink #131720 / Champagne #C9A55A
   Fonts: Fraunces + Inter
================================================================ */
:root{
  --ink:#131720;--ink-deep:#0D1118;--abyss:#1B2330;
  --champ:#C9A55A;--champ-soft:#E6D7AE;
  --pearl:#F6F4EE;--mist:#8C93A2;--paper:#FFFFFF;
  --line:rgba(201,165,90,0.25);--shadow:0 18px 44px rgba(19,23,32,0.22);
  --serif:"Fraunces","Georgia",serif;
  --sans:"Inter",-apple-system,sans-serif;
  --wrap:1180px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--ink);background:var(--pearl);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}a{color:inherit;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}

/* TOPBAR */
.topbar{background:var(--ink-deep);color:rgba(246,244,238,0.7);font-size:12px;padding:7px 0;border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;}
.topbar a{color:var(--champ);text-decoration:none;font-weight:600;}

/* HEADER */
.site-header{position:sticky;top:0;z-index:200;}
header{background:var(--ink);border-bottom:1px solid var(--line);}
.header-inner{max-width:var(--wrap);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;min-height:68px;}
.logo{font-family:var(--serif);font-size:1.15rem;color:var(--pearl);text-decoration:none;letter-spacing:0.04em;line-height:1.1;}
.logo span{display:block;font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--champ);margin-top:2px;}
.nav-toggle{display:none;}
.nav-toggle-label{display:none;color:var(--pearl);font-size:1.5rem;cursor:pointer;padding:6px 10px;border:1px solid var(--line);border-radius:3px;}
.site-nav{display:flex;align-items:center;gap:2px;}
.nav-item{position:relative;}
.nav-item>a{display:block;color:rgba(246,244,238,0.82);text-decoration:none;font-size:0.72rem;letter-spacing:0.07em;text-transform:uppercase;font-weight:600;padding:22px 11px;transition:color .18s;white-space:nowrap;}
.nav-item>a:hover,.nav-item:focus-within>a{color:var(--champ);}
.nav-item>a.has-arrow::after{content:"\25BE";font-size:0.6rem;margin-left:4px;opacity:0.6;}
.dropdown{display:none;position:absolute;top:100%;left:0;background:var(--abyss);border:1px solid var(--line);border-top:2px solid var(--champ);min-width:210px;padding:8px 0;z-index:300;box-shadow:var(--shadow);}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:block;}
.dropdown a{display:block;color:rgba(246,244,238,0.82);text-decoration:none;font-size:0.84rem;padding:9px 18px;transition:color .15s,background .15s;white-space:nowrap;}
.dropdown a:hover{color:var(--champ);background:rgba(201,165,90,0.07);}
.dropdown-divider{height:1px;background:var(--line);margin:6px 12px;}
.nav-cta{background:var(--champ);color:var(--ink)!important;padding:10px 16px!important;border-radius:3px;font-weight:800!important;margin-left:6px;}
.nav-cta:hover{background:var(--champ-soft)!important;}

/* BREADCRUMB */
.breadcrumb{background:#1B2330;padding:10px 0;border-bottom:1px solid var(--line);}
.breadcrumb .wrap{display:flex;align-items:center;gap:6px;font-size:0.8rem;flex-wrap:wrap;}
.breadcrumb a{color:var(--champ);text-decoration:none;}
.breadcrumb .sep{color:rgba(255,255,255,0.25);}
.breadcrumb .current{color:rgba(255,255,255,0.6);}

/* HERO */
.hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,23,32,0.08) 0%,rgba(19,23,32,0.45) 55%,var(--ink) 100%);z-index:1;}
.hero-content{position:relative;z-index:2;width:100%;padding:0 24px 72px;max-width:calc(var(--wrap) + 48px);margin:0 auto;color:var(--pearl);}
.hero-label{display:inline-block;background:rgba(201,165,90,0.15);border:1px solid rgba(201,165,90,0.4);color:var(--champ);font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:6px 14px;margin-bottom:20px;}
.hero h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:400;line-height:1.1;max-width:820px;color:var(--pearl);}
.hero-lead{margin-top:16px;font-size:1.02rem;max-width:580px;color:rgba(246,244,238,0.82);line-height:1.65;}
.hero-ctas{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}

/* BUTTONS */
.btn-gold{display:inline-block;background:var(--champ);color:var(--ink);text-decoration:none;font-weight:800;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;padding:14px 28px;border-radius:2px;transition:background .18s;}
.btn-gold:hover{background:var(--champ-soft);}
.btn-outline{display:inline-block;background:transparent;color:var(--pearl);border:1px solid rgba(246,244,238,0.4);text-decoration:none;font-weight:700;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;padding:13px 26px;border-radius:2px;transition:border-color .18s,color .18s;}
.btn-outline:hover{border-color:var(--champ);color:var(--champ);}
.btn-outline.dark{color:var(--ink);border-color:rgba(19,23,32,0.3);}
.btn-outline.dark:hover{color:var(--champ);border-color:var(--champ);}

/* STAT STRIP */
.stat-strip{background:var(--abyss);padding:20px 0;border-bottom:1px solid var(--line);}
.stat-strip .wrap{display:flex;justify-content:space-around;flex-wrap:wrap;gap:16px;}
.stat{text-align:center;}
.stat-num{font-family:var(--serif);font-size:1.8rem;font-weight:400;color:var(--champ);line-height:1;}
.stat-label{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(246,244,238,0.5);margin-top:4px;}
.stat-source{text-align:center;font-size:10px;color:rgba(246,244,238,0.25);margin-top:6px;padding-bottom:4px;}

/* SECTIONS */
section{padding:76px 0;}
.section-tight{padding:52px 0;}
.eyebrow{display:block;font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--champ);font-weight:700;margin-bottom:14px;}
.section-title{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:400;line-height:1.18;color:var(--ink);margin-bottom:14px;}
.section-lead{font-size:1rem;color:#3D4453;max-width:740px;line-height:1.7;margin-bottom:20px;}
.on-dark{color:var(--pearl)!important;}
.bg-ink{background:var(--ink);}
.bg-abyss{background:var(--abyss);}
.bg-paper{background:var(--paper);}
.bg-pearl{background:var(--pearl);}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.split img{border-radius:3px;box-shadow:var(--shadow);}
.split-body p{color:#3D4453;margin-bottom:14px;line-height:1.7;}

/* FEATURE GRID */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;margin-top:32px;}
.feature-card{background:var(--paper);border:1px solid rgba(19,23,32,0.08);border-top:2px solid var(--champ);padding:24px;}
.feature-card h3{font-family:var(--serif);font-size:1.05rem;font-weight:400;margin-bottom:8px;color:var(--ink);}
.feature-card p{font-size:0.88rem;color:#3D4453;line-height:1.65;}

/* NEIGHBORHOOD GRID */
.neighborhood-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:32px;}
.neighborhood-card{background:var(--paper);border:1px solid rgba(19,23,32,0.08);border-left:3px solid var(--champ);padding:20px;}
.neighborhood-card h3{font-family:var(--serif);font-size:1rem;font-weight:400;margin-bottom:6px;color:var(--ink);}
.neighborhood-card p{font-size:0.84rem;color:#3D4453;line-height:1.6;}

/* CTA BAR */
.cta-bar{background:var(--abyss);color:var(--pearl);padding:56px 0;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cta-bar h2{font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:400;color:var(--pearl);}
.cta-bar p{margin:12px auto 26px;max-width:520px;color:rgba(246,244,238,0.75);}

/* AGENT / FORM */
.agent-grid{display:grid;grid-template-columns:260px 1fr;gap:52px;align-items:start;}
.agent-photo img{width:100%;border:1px solid var(--line);}
.agent-name{font-family:var(--serif);font-size:1.25rem;font-weight:400;margin-top:14px;color:var(--pearl);}
.agent-title{font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--mist);margin-top:3px;}
.agent-contact{display:flex;flex-direction:column;gap:6px;margin-top:12px;}
.agent-contact a{color:var(--champ);text-decoration:none;font-weight:700;font-size:0.9rem;}
.specialist-badge{display:inline-block;font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;border:1px solid var(--champ);color:var(--champ);padding:6px 12px;margin-bottom:18px;}
.agent-blurb p{color:rgba(246,244,238,0.82);margin-bottom:12px;font-size:0.94rem;line-height:1.7;}
.form-card{background:var(--abyss);border:1px solid var(--line);padding:26px;margin-top:26px;position:relative;}
.form-card h3{color:var(--pearl);font-family:var(--serif);font-size:1.2rem;font-weight:400;}
.form-sub{font-size:0.82rem;color:var(--mist);margin:7px 0 16px;}
.form-field{margin-bottom:12px;}
.form-field label{display:block;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--mist);margin-bottom:5px;}
.form-field input,.form-field select,.form-field textarea{width:100%;background:var(--ink);border:1px solid rgba(201,165,90,0.22);color:var(--pearl);padding:11px 13px;font-family:var(--sans);font-size:0.92rem;border-radius:2px;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--champ);outline-offset:0;}
.form-field textarea{min-height:82px;resize:vertical;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-submit{width:100%;background:var(--champ);color:var(--ink);border:none;font-family:var(--sans);font-weight:800;font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;padding:14px;cursor:pointer;border-radius:2px;transition:background .18s;margin-top:4px;}
.form-submit:hover{background:var(--champ-soft);}
.form-disclaimer{font-size:0.7rem;color:var(--mist);margin-top:8px;text-align:center;}
.form-status{margin-top:8px;font-size:0.82rem;text-align:center;color:var(--champ);}

/* FOOTER */
footer{background:var(--ink);color:rgba(246,244,238,0.6);padding:40px 0 28px;border-top:1px solid var(--line);}
footer .wrap{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;}
.footer-name{color:rgba(246,244,238,0.85);font-weight:600;font-size:14px;}
.footer-info{font-size:13px;line-height:1.8;margin-top:4px;}
.footer-social{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;}
.footer-social a{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:rgba(246,244,238,0.5);transition:color .15s;}
.footer-social a:hover{color:var(--champ);}
footer a{color:rgba(246,244,238,0.6);}
footer a:hover{color:var(--champ);}

/* MOBILE BAR */
#mob-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:var(--ink);border-top:1px solid rgba(255,255,255,0.1);box-shadow:0 -4px 16px rgba(0,0,0,0.35);}
#mob-bar .inner{display:flex;width:100%;}
.mob-btn{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;padding:12px 6px;text-decoration:none;color:#fff;background:none;border:none;border-right:1px solid rgba(255,255,255,0.08);cursor:pointer;font-family:var(--sans);}
.mob-btn:last-child{border-right:none;}
.mob-icon{font-size:1.1rem;}
.mob-label{font-size:12px;font-weight:600;}
@media(max-width:560px){.mob-label{display:none;}}

/* RESPONSIVE */
@media(max-width:900px){
  .nav-toggle-label{display:block;}
  .site-nav{position:absolute;top:100%;left:0;right:0;background:var(--ink);flex-direction:column;align-items:stretch;display:none;max-height:calc(100vh - 68px);overflow-y:auto;border-bottom:1px solid var(--line);}
  .nav-toggle:checked~.site-nav{display:flex;}
  .nav-item>a{padding:13px 22px;border-bottom:1px solid rgba(201,165,90,0.1);}
  .dropdown{position:static;display:block!important;min-width:0;border:none;box-shadow:none;background:rgba(255,255,255,0.03);}
  .dropdown a{padding:9px 36px;}
  .nav-cta{margin:10px 22px;display:block;text-align:center;}
}
@media(max-width:768px){
  .split{grid-template-columns:1fr;gap:28px;}
  .agent-grid{grid-template-columns:1fr;}
  .form-row-2{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .neighborhood-grid{grid-template-columns:repeat(2,1fr);}
  section{padding:52px 0;}
}
@media(max-width:480px){
  .feature-grid{grid-template-columns:1fr;}
  .neighborhood-grid{grid-template-columns:1fr;}
}
