:root{
  --navy:#0b2845;
  --navy2:#071c31;
  --blue:#174f7b;
  --gold:#b8955c;
  --pale:#f5f1e9;
  --ice:#ffffff;
  --ink:#111d2b;
  --muted:#617182;
  --line:#d9e1e6;
  --serif:"Baskervville",Georgia,serif;
  --sans:"Jost",Arial,sans-serif;
  --shadow:0 24px 64px rgba(11,40,69,.15);
}

body{background:#fff;color:var(--ink);font-family:var(--sans)}
.site-header{background:rgba(255,255,255,.97)}
.wordmark strong{font-family:var(--serif);font-weight:400;color:var(--navy)}
.wordmark span{color:var(--gold);font-weight:700}
.site-nav a{color:#42576a;font-weight:600}
.eyebrow{color:var(--gold)}
.home-hero{min-height:660px}
.hero-copy{max-width:790px;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}
.hero-overlay{background:linear-gradient(90deg,rgba(5,23,40,.95) 0%,rgba(5,23,40,.8) 43%,rgba(5,23,40,.18) 78%,rgba(5,23,40,.04))}
.home-hero h1,.page-hero h1{font-weight:400}
.home-hero h1,.page-hero h1,.contact-hero h1,.legal-page h1,.listing-title-row h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:1}
.home-hero h1{max-width:720px}
.home-hero p,.page-hero p{color:#e2eaf0}
.home-hero .button:first-child,.page-hero .button:first-child{background:#fff;color:var(--navy);border-color:#fff;min-height:54px}
.home-hero .button:first-child:hover,.page-hero .button:first-child:hover{background:var(--pale)}
.hero-proof span{border-color:rgba(216,189,142,.42);color:#e5d2b1}
.hero-dot.active{background:var(--gold)}
.quick-paths{background:var(--navy2)}
.path-grid span,.number-list article>span,.six-steps article>span,.story-number{color:var(--gold)}
.section.pale{background:var(--pale)}
.section.dark,.cta-band{background:var(--navy2)}
.section-heading h2,.split-intro h2,.about-home h2,.about-story h2,.personal-grid h2,.story-panel h2,.contact-form h2,.payment-heading h2{color:inherit;font-weight:400}
.feature-image img,.image-card,.area-card,.choice-card,.info-card,.comparison-grid article,.resource-tile,.contact-form,.disclosure-card{border-radius:0}
.floating-note{border-top:3px solid var(--gold)}
.choice-card,.info-card,.comparison-grid article,.resource-tile{border-color:var(--line)}
.choice-card:hover,.resource-tile:hover{box-shadow:var(--shadow)}
.image-card:after{background:linear-gradient(transparent,rgba(5,23,40,.9))}
.mosaic-copy{background:var(--pale)}
.mosaic-copy.navy,.six-steps article{background:var(--navy)}
.tabbed-comparison{box-shadow:var(--shadow)}
.compare-tabs{background:var(--navy2)}
.compare-tab.active{border-left:2px solid var(--gold)}
.compare-panel span,.builder-name-grid span,.builder-name-grid a{color:var(--gold)}
.builder-name-grid article{border-top-color:var(--gold)}
.payment-section{background:var(--navy2)}
.payment-device{border-color:#e9e3d9;border-radius:18px}
.device-bar{background:#e9e3d9}
.contact-hero{background:linear-gradient(145deg,var(--cream,#f5f1e9),#fff)}
.contact-form input,.contact-form select,.contact-form textarea{background:#fff}
.form-intro{margin:-12px 0 24px;color:var(--muted)}
.hubspot-form-wrap .hs-form-field{margin-bottom:17px}
.hubspot-form-wrap label{display:block;margin-bottom:7px;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hubspot-form-wrap input,.hubspot-form-wrap select,.hubspot-form-wrap textarea{display:block;width:100%;padding:14px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}
.hubspot-form-wrap textarea{min-height:130px;resize:vertical}
.hubspot-form-wrap .hs-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid var(--navy);background:var(--navy);color:#fff;font:700 12px var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.hubspot-form-wrap .hs-button:hover{background:var(--blue)}
.hubspot-form-wrap .hs-error-msgs{margin:7px 0 0;padding:0;list-style:none}
.hubspot-form-wrap .hs-error-msg{color:#9d2b2b;font-size:12px;letter-spacing:0;text-transform:none}
.hubspot-form-wrap .submitted-message{padding:24px;border-left:4px solid var(--gold);background:var(--pale);color:var(--ink);font-size:1.05rem}
.portrait-crop{background-image:url('assets/conner-headshot.webp');background-position:center 30%;background-size:cover}
.personal-grid>div:first-child span{color:#fff}
.site-footer,.footer{background:#061a2e}
.site-footer .footer-mark strong{display:block;color:#fff;font-size:clamp(1.75rem,3vw,2.65rem);line-height:1;letter-spacing:.045em}
.site-footer .footer-mark span{display:block;margin-top:9px;color:#d3b477;font-size:.72rem;letter-spacing:.2em}
.site-footer .footer-email{display:block;width:max-content;max-width:100%;margin:20px 0 16px;color:#fff;font-size:1rem;font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.38);text-underline-offset:5px;overflow-wrap:anywhere}
.site-footer .footer-email:hover{color:#e2c996;text-decoration-color:currentColor}
.site-footer .footer-grid{grid-template-columns:minmax(320px,1.6fr) minmax(150px,.7fr) minmax(150px,.7fr)}
.footer .brand strong{color:#fff;font-size:1.65rem;letter-spacing:.05em}
.footer .brand small{display:block;margin-top:8px;color:#d3b477}
.footer-listing-email{display:block;margin-top:10px;color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.legal{color:#c0ced9;opacity:1}
.compact-section{padding-top:68px;padding-bottom:68px}
.photo-ribbon{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;padding:10px;background:#fff}
.photo-ribbon figure,.builder-photo-grid figure{position:relative;margin:0;min-height:410px;overflow:hidden;background:var(--pale)}
.photo-ribbon img,.builder-photo-grid img{height:100%;transition:transform .55s ease}
.photo-ribbon figure:hover img,.builder-photo-grid figure:hover img{transform:scale(1.025)}
.photo-ribbon figcaption,.builder-photo-grid figcaption{position:absolute;left:18px;bottom:16px;padding:8px 12px;background:rgba(7,28,49,.9);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.builder-photo-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-auto-rows:330px;gap:12px}
.builder-photo-grid figure{min-height:0}
.builder-photo-grid figure.wide{grid-row:span 2}
.area-ribbon{background:var(--pale)}

@media(max-width:680px){
  .home-hero{min-height:650px;align-items:flex-start}
  .home-hero-inner{padding:64px 0 130px}
  .hero-overlay{background:linear-gradient(90deg,rgba(5,23,40,.92),rgba(5,23,40,.5))}
  .hero-copy{padding:0}
  .home-hero h1,.page-hero h1,.contact-hero h1,.legal-page h1,.listing-title-row h1{font-size:2.65rem;line-height:1.02}
  .page-hero{min-height:490px}
  .page-hero-inner{padding:48px 0 42px}
  .section{padding:54px 0}
  .compact-section{padding:46px 0}
  .site-footer .footer-grid{grid-template-columns:1fr}
  .site-footer .footer-mark strong{font-size:2rem}
  .photo-ribbon{grid-template-columns:1fr;gap:8px;padding:8px}
  .photo-ribbon figure{min-height:270px}
  .builder-photo-grid{grid-template-columns:1fr;grid-auto-rows:275px}
  .builder-photo-grid figure.wide{grid-row:auto}
  .area-ribbon figure:first-child{min-height:315px}
  .section-heading h2,.split-intro h2,.about-home h2,.about-story h2,.personal-grid h2,.story-panel h2{font-size:2.45rem;line-height:1.04}
  .number-list article{grid-template-columns:42px 1fr;gap:12px;padding:18px 0}
  .number-list h3{font-size:24px}
  .faq summary{font-size:21px;line-height:1.2}
}

.simple-home-hero{min-height:590px}
.simple-home-hero .home-hero-inner{padding-top:52px;padding-bottom:70px}
.simple-home-hero .hero-copy{max-width:700px}
.simple-home-hero h1{font-size:clamp(2.7rem,4.7vw,4.7rem);max-width:660px}
.simple-home-hero .hero-copy>p:not(.eyebrow){max-width:570px;font-size:1.08rem}
.simple-page-hero{min-height:470px}
.simple-page-hero .page-hero-inner{padding-top:50px;padding-bottom:54px}
.simple-page-hero h1{font-size:clamp(2.6rem,4.6vw,4.6rem);max-width:790px}
.simple-page-hero .page-hero-inner>p:not(.eyebrow){max-width:650px;font-size:1.08rem}
.simple-heading{align-items:end}
.simple-heading h2{font-size:clamp(2.2rem,3.7vw,3.6rem)}
.simple-heading>p{max-width:520px}
.home-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.visual-choice{padding:0;overflow:hidden;display:block}
.visual-choice img{width:100%;height:240px;object-fit:cover}
.visual-choice>div{padding:25px}
.visual-choice>div>span{color:var(--gold);font-size:.72rem;letter-spacing:.13em;font-weight:700}
.visual-choice h3{font:400 2rem/1.05 var(--serif);margin:10px 0}
.visual-choice p{min-height:52px;margin:0 0 20px}
.visual-choice b{font-size:.75rem;letter-spacing:.08em;color:var(--navy)}
.simple-about{grid-template-columns:minmax(300px,.9fr) minmax(0,1fr);max-width:1050px}
.simple-about>div:last-child{max-width:580px}
.three-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.three-step-grid article{background:#fff;border:1px solid var(--line);padding:28px;min-height:180px}
.three-step-grid article>span{display:block;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.12em;margin-bottom:28px}
.three-step-grid h3{font:400 1.7rem/1.12 var(--serif);margin:0 0 10px}
.three-step-grid p{margin:0;color:var(--muted);line-height:1.6}
.light-steps article{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.light-steps h3,.light-steps p{color:#fff}
.simple-cards .info-card{min-height:190px}
.simple-cards h3{text-transform:none;font:400 1.55rem/1.15 var(--serif)}
.short-list{max-width:900px;margin:0 auto}
.program-preview{padding-top:62px;padding-bottom:62px}
.program-frame{overflow:hidden;border:1px solid #cfd8df;border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.program-frame .device-bar a{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--navy)}
.program-frame iframe{display:block;width:100%;height:780px;border:0;background:#fff}
.offer-summary{background:#fff}
.offer-summary-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.offer-number{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px;background:var(--navy2);color:#fff;text-align:center;box-shadow:var(--shadow)}
.offer-number span{font-size:.78rem;font-weight:700;letter-spacing:.2em}
.offer-number strong{font:400 clamp(7rem,14vw,12rem)/.9 var(--serif);color:#fff}
.offer-number p{margin:16px 0 0;font-size:.78rem;font-weight:700;letter-spacing:.16em}
.offer-copy h2{font-size:clamp(2.5rem,4.5vw,4.6rem);font-weight:400;line-height:1}
.offer-copy>p:not(.eyebrow){max-width:620px}
.campaign-benefits article{border-top:3px solid var(--gold)}
.offer-terms{margin:22px 0 0;font-size:.82rem;line-height:1.6;color:var(--muted)}
.simple-payment{padding-top:64px}
.simple-footer{grid-template-columns:1.6fr .75fr .75fr}
.simple-story p{font-size:1.03rem;line-height:1.7}
.simple-story a{color:var(--blue);font-weight:600;text-underline-offset:3px}
.about-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.about-service-grid article{padding:34px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.06)}
.about-service-grid span{color:#e4c89b;font-size:.75rem;font-weight:700;letter-spacing:.13em}
.about-service-grid h3{margin:14px 0 12px;color:#fff;font:400 2rem/1.08 var(--serif)}
.about-service-grid p{margin:0;color:#d6e1e9;line-height:1.7}
.about-belief{max-width:850px;text-align:center}
.about-belief h2{font-size:clamp(2.3rem,4vw,3.8rem);font-weight:400}
.about-belief>p:not(.eyebrow){max-width:720px;margin:18px auto 0;font-size:1.08rem;line-height:1.75;color:var(--muted)}
.contact-layout{padding-top:82px;padding-bottom:82px}
.photo-ribbon figure{min-height:330px}

@media(max-width:980px){
  .home-choice-grid{grid-template-columns:1fr}
  .visual-choice{display:grid;grid-template-columns:42% 1fr}
  .visual-choice img{height:100%;min-height:235px}
  .visual-choice p{min-height:0}
  .three-step-grid{grid-template-columns:1fr}
  .three-step-grid article{min-height:0}
  .simple-footer{grid-template-columns:1fr 1fr}
  .offer-summary-grid{grid-template-columns:1fr;gap:34px}
  .offer-number{min-height:300px}
}
@media(max-width:680px){
  .site-header{position:relative;top:auto;backdrop-filter:none}
  .nav-wrap{height:64px}
  .site-nav{inset:64px 0 auto}
  .simple-home-hero{min-height:570px}
  .simple-home-hero .home-hero-inner{padding:48px 0 80px}
  .simple-home-hero h1{font-size:clamp(2.35rem,10.5vw,3.35rem)}
  .simple-home-hero .hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.5}
  .simple-home-hero .button-row{display:grid;width:100%}
  .simple-home-hero .button{width:100%;justify-content:center}
  .simple-page-hero{min-height:420px}
  .simple-page-hero .page-hero-inner{padding:42px 0}
  .simple-page-hero h1{font-size:clamp(2.3rem,10vw,3.1rem)}
  .simple-page-hero .page-hero-inner>p:not(.eyebrow){font-size:1rem;line-height:1.5}
  .simple-heading{display:block}
  .simple-heading h2{font-size:2.35rem}
  .visual-choice{display:block}
  .visual-choice img{height:225px;min-height:0}
  .visual-choice>div{padding:22px}
  .simple-about{grid-template-columns:1fr}
  .simple-about .portrait-crop{min-height:390px}
  .about-story.simple-story{gap:32px}
  .about-service-grid{grid-template-columns:1fr}
  .about-service-grid article{padding:24px}
  .about-service-grid h3{font-size:1.7rem}
  .about-belief{text-align:left}
  .about-belief>p:not(.eyebrow){margin-left:0}
  .three-step-grid article{padding:23px}
  .three-step-grid article>span{margin-bottom:18px}
  .program-preview{padding:46px 0}
  .program-frame{border-radius:10px}
  .program-frame iframe{height:640px}
  .offer-number{min-height:255px;padding:28px}
  .offer-number strong{font-size:7.5rem}
  .offer-copy h2{font-size:2.45rem}
  .device-bar{gap:10px}
  .device-bar span{font-size:.62rem}
  .program-frame .device-bar a{font-size:.62rem}
  .simple-payment{padding-top:48px}
  .payment-device iframe{min-height:650px}
  .simple-footer{grid-template-columns:1fr}
  .contact-layout{padding-top:48px;padding-bottom:52px}
}
