/*
Theme Name: Sterling Capital Partners
Theme URI: https://sterlingcapitalpartner.com
Author: Sterling Capital Partners
Description: Custom one-page theme for Sterling Capital Partners, converted from a static HTML design.
Version: 1.1
Requires PHP: 7.4
Text Domain: sterling-capital
*/

:root{
  --ink:#0b1526;
  --panel:#0f2040;
  --light:#eef1f6;
  --white:#ffffff;
  --silver:#aab6c4;
  --silver-bright:#e7ecf2;
  --ink-on-light:#101a2e;
  --body-on-dark:rgba(238,241,246,0.88);
  --body-on-light:rgba(16,26,46,0.78);
  --hair-dark:rgba(170,182,196,0.22);
  --hair-light:rgba(16,26,46,0.14);
  --display:'Fraunces',Georgia,serif;
  --sans:'Inter',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--light);color:var(--ink-on-light);}
a{color:inherit;text-decoration:none;}
::selection{background:var(--silver-bright);color:var(--ink);}

/* diamond divider glyph */
.diamond{width:9px;height:9px;background:var(--silver);transform:rotate(45deg);display:inline-block;}
.divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto;}
.divider .line{height:1px;width:64px;background:var(--hair-dark);}
.divider.on-light .line{background:var(--hair-light);}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:calc(14px + env(safe-area-inset-top)) max(32px, env(safe-area-inset-left)) 14px max(32px, env(safe-area-inset-left));
  background:rgba(11,21,38,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--hair-dark);}
/* Keep the fixed nav below the WP admin toolbar for logged-in users, so the logo isn't covered. */
body.admin-bar .nav{top:32px;}
@media(max-width:782px){
  body.admin-bar .nav{top:46px;}
}
.nav-brand{display:flex;align-items:center;gap:14px;}
.nav-mark{width:72px;height:72px;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(170,182,196,0.45));}
.nav-name{font-family:var(--sans);font-weight:700;font-size:16px;letter-spacing:0.16em;color:var(--silver);white-space:nowrap;}
@media(max-width:480px){.nav-name{font-size:12.5px;letter-spacing:0.08em;}}
@media(max-width:360px){.nav-name{font-size:11px;letter-spacing:0.05em;}}
.nav-links{display:flex;gap:28px;}
.nav-links a{font-size:11.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--body-on-dark);}
.nav-links a:hover{color:var(--white);}
.mobile-toggle{display:none;background:none;border:none;color:var(--silver-bright);cursor:pointer;padding:4px;}
@media(max-width:820px){
  .mobile-toggle{display:block;}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;background:var(--ink);padding:22px 32px;
    border-bottom:1px solid var(--hair-dark);gap:18px;
  }
  .nav-links.active{display:flex;}
}

/* HERO */
.hero{position:relative;min-height:100vh;background:var(--ink);color:var(--white);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:calc(120px + env(safe-area-inset-top)) 24px 80px;overflow:hidden;}
.hero-watermark{position:absolute;top:50%;left:50%;width:min(900px,140vw);opacity:0.05;
  transform:translate(-50%,-50%);pointer-events:none;}
.hero-eyebrow{font-size:11.5px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--silver);margin-bottom:26px;position:relative;width:100%;}
.hero-title{font-family:var(--display);font-weight:500;font-size:clamp(40px,7vw,86px);line-height:1.03;
  letter-spacing:-0.01em;margin-bottom:26px;position:relative;max-width:900px;width:100%;}
.hero-title em{font-style:italic;color:var(--silver-bright);}
.hero-sub{font-size:16px;line-height:1.7;color:var(--body-on-dark);max-width:520px;margin-bottom:40px;position:relative;width:100%;}
.hero .divider{position:relative;margin-bottom:0;}

/* STAT STRIP */
.stat-strip{background:var(--ink);border-top:1px solid var(--hair-dark);display:flex;flex-wrap:wrap;
  justify-content:center;gap:0;padding:34px 24px;}
.stat{padding:0 40px;text-align:center;border-right:1px solid var(--hair-dark);}
.stat:last-child{border-right:none;}
.stat-n{font-family:var(--display);font-size:28px;color:var(--silver-bright);margin-bottom:4px;}
.stat-l{font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--body-on-dark);}

/* SECTIONS */
.section{padding:110px 24px;scroll-margin-top:calc(76px + env(safe-area-inset-top));}
.contact{scroll-margin-top:calc(76px + env(safe-area-inset-top));}
.section.on-dark{background:var(--ink);color:var(--white);}
.section.on-light{background:var(--light);color:var(--ink-on-light);}
.section-inner{max-width:1040px;margin:0 auto;}
.two-col{display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:840px){
  .two-col{grid-template-columns:0.85fr 1.15fr;gap:80px;align-items:start;}
  .two-col.reverse > *:first-child{order:2;}
  .two-col.reverse > *:last-child{order:1;}
}
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:18px;}
.on-dark .eyebrow{color:var(--silver);}
.on-light .eyebrow{color:#5c6a80;}
.sec-title{font-family:var(--display);font-weight:500;font-size:clamp(30px,4vw,44px);line-height:1.12;margin-bottom:20px;}
.sec-body{font-size:15.5px;line-height:1.85;}
.on-dark .sec-body{color:var(--body-on-dark);}
.on-light .sec-body{color:var(--body-on-light);}
.sec-body p + p{margin-top:16px;}

/* WEALTH CLOSER */
.closer-line{font-family:var(--display);font-style:italic;font-size:clamp(24px,3.4vw,34px);
  line-height:1.4;color:var(--silver-bright);max-width:640px;margin-top:34px;}

/* LOCATIONS */
.locations{background:var(--ink);color:var(--white);}
.loc-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--hair-dark);
  border:1px solid var(--hair-dark);margin-top:56px;}
@media(min-width:600px){.loc-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}}
.loc-card{background:var(--ink);padding:44px 38px 40px;min-height:420px;display:flex;flex-direction:column;}
.loc-card:not(.photo){justify-content:center;}
.loc-card.photo{justify-content:flex-end;}
.loc-city{font-family:var(--display);font-size:26px;margin-bottom:6px;}
.loc-tag{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--silver);margin-bottom:28px;}
.skyline{width:100%;height:110px;margin-bottom:28px;}
.loc-detail{font-size:13.5px;line-height:1.9;color:var(--body-on-dark);}
.loc-detail a{border-bottom:1px solid var(--hair-dark);}
.loc-detail a:hover{border-color:var(--silver);}
.loc-card.photo{position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;}
.loc-card.photo .loc-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(100%) contrast(1.05);opacity:0.55;}
.loc-card.photo .loc-photo-overlay{position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,21,38,0.15) 0%, rgba(11,21,38,0.55) 55%, rgba(11,21,38,0.94) 100%);}
.loc-card.photo > *:not(.loc-photo):not(.loc-photo-overlay){position:relative;z-index:1;}
.loc-card.photo .skyline{display:none;}


/* CONTACT / FOOTER */
.contact{background:var(--light);text-align:center;padding:110px 24px 90px;}
.contact .sec-title{margin-bottom:14px;}
.contact-sub{font-size:14.5px;color:var(--body-on-light);max-width:460px;margin:0 auto 40px;line-height:1.7;}
.contact-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.btn{font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:15px 30px;border-radius:2px;}
.btn-primary{background:var(--ink);color:var(--white);}
.btn-primary:hover{background:#16264a;}
.btn-ghost{border:1px solid var(--hair-light);color:var(--ink-on-light);}
.btn-ghost:hover{border-color:var(--ink-on-light);}

footer{background:var(--ink);color:var(--body-on-dark);padding:36px 24px;text-align:center;}
.footer-mark{width:20px;height:20px;margin:0 auto 12px;display:block;}
.footer-name{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--white);margin-bottom:6px;}
.footer-fine{font-size:10.5px;color:var(--body-on-dark);letter-spacing:0.03em;}
.footer-disclaimer{font-size:10px;color:var(--body-on-dark);letter-spacing:0.02em;line-height:1.7;
  max-width:640px;margin:22px auto 0;padding-top:18px;border-top:1px solid var(--hair-dark);opacity:0.75;}
.section-disclaimer{font-size:9.5px;letter-spacing:0.02em;line-height:1.6;opacity:0.6;
  max-width:640px;margin-top:32px;padding-top:16px;border-top:1px solid var(--hair-dark);}
.on-light .section-disclaimer{border-top-color:var(--hair-light);}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* FOOTER LEGAL LINKS */
.footer-legal-links{font-size:10.5px;letter-spacing:0.03em;margin:10px 0;}
.footer-legal-links a{color:var(--silver-bright);text-decoration:underline;text-underline-offset:2px;}
.footer-legal-links a:hover{color:var(--white);}

/* SMS OPT-IN / CONTACT FORM */
.sms-optin-wrap{max-width:480px;margin:40px auto 0;text-align:left;}
.sms-optin-notice{font-size:13px;font-weight:600;text-align:center;padding:12px 16px;border-radius:4px;margin-bottom:24px;}
.sms-optin-success{background:rgba(74,158,110,0.14);color:#2f7a4d;}
.sms-optin-error{background:rgba(200,80,80,0.12);color:#a83c3c;}
.sms-optin-form{display:flex;flex-direction:column;gap:16px;}
.sms-optin-row{display:flex;flex-direction:column;gap:6px;}
.sms-optin-row label{font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--body-on-light);}
.sms-optin-row input,
.sms-optin-row textarea{font-family:var(--sans);font-size:14.5px;padding:12px 14px;border:1px solid var(--hair-light);border-radius:3px;
  background:var(--white);color:var(--ink-on-light);}
.sms-optin-row input:focus,
.sms-optin-row textarea:focus{outline:2px solid var(--panel);outline-offset:1px;}
.sms-optin-row textarea{resize:vertical;}
.sms-optin-consent{font-size:12px;line-height:1.6;color:var(--body-on-light);}
.sms-optin-consent label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;}
.sms-optin-consent input[type="checkbox"]{flex-shrink:0;margin-top:3px;width:16px;height:16px;accent-color:var(--panel);}
.sms-optin-consent a{color:var(--ink-on-light);text-decoration:underline;text-underline-offset:2px;}
.sms-optin-form .btn{align-self:center;margin-top:6px;border:none;cursor:pointer;font-family:var(--sans);}
