:root { --font-display:"Cormorant Garamond",Georgia,serif; --font-sans:"DM Sans",Arial,sans-serif; --ink:#132b25; --forest:#153d32; --deep:#0b2921; --sage:#b8c8b3; --cream:#f5f1e8; --paper:#fbfaf6; --gold:#c8a65b; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans),sans-serif; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.topbar { height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid rgba(19,43,37,.12); position:absolute; z-index:10; width:100%; color:var(--ink); }
.wordmark { font-size:18px; font-weight:600; letter-spacing:.16em; }.wordmark span { font-weight:400; }
.topbar-right { display:flex; align-items:center; gap:30px; }.availability { font-size:12px; letter-spacing:.04em; display:flex; align-items:center; gap:8px; }.availability i { width:7px;height:7px;border-radius:50%;background:#5c9b6e;box-shadow:0 0 0 5px rgba(92,155,110,.12); }
.nav-cta,.button-primary,.submit-button { border:0; background:var(--ink); color:#fff; padding:13px 20px; border-radius:100px; transition:.25s ease; }.nav-cta:hover,.button-primary:hover,.submit-button:hover { background:#28584b; transform:translateY(-2px); }.nav-cta span,.button-primary span,.submit-button span { margin-left:13px; }
.hero { min-height:760px; display:grid; grid-template-columns:58% 42%; overflow:hidden; background:linear-gradient(110deg,var(--cream) 0 58%,#d8e0d4 58%); }
.hero-copy { padding:168px 4vw 65px 7vw; position:relative; z-index:2; }.eyebrow,.section-kicker { text-transform:uppercase; font-size:11px; letter-spacing:.22em; font-weight:600; }.eyebrow span { color:#7e5f26; }.hero h1,.manifesto h2,.services h2,.about h2,.contact h2 { font-family:var(--font-display),serif; font-weight:500; line-height:.92; letter-spacing:-.045em; margin:25px 0; }.hero h1 { font-size:clamp(64px,7.2vw,112px); }.hero h1 em,.contact h2 em { color:#8e6f32; font-weight:400; }.hero-intro { max-width:600px; font-size:18px; line-height:1.7; color:#49615a; }.hero-actions { display:flex; align-items:center; gap:30px; margin:35px 0 52px; }.button-primary { padding:17px 27px; }.button-text { background:none;border:0;color:var(--ink);padding:10px 0;border-bottom:1px solid rgba(19,43,37,.3); }
.credential-row { display:flex; gap:0; border-top:1px solid rgba(19,43,37,.15); padding-top:24px; max-width:680px; }.credential-row div { padding-right:28px;margin-right:28px;border-right:1px solid rgba(19,43,37,.15); }.credential-row div:last-child { border:0; }.credential-row strong,.credential-row span { display:block; }.credential-row strong { font-size:13px; }.credential-row span { font-size:10px;color:#6d7e79;margin-top:5px; }
.portrait-wrap { position:relative; display:flex; align-items:flex-end; justify-content:center; padding:130px 3vw 70px; }.portrait-frame { width:min(440px,86%); aspect-ratio:.78; overflow:hidden; border-radius:220px 220px 20px 20px; background:linear-gradient(145deg,#aac0b5,#8ca89b); z-index:2; box-shadow:0 35px 80px rgba(11,41,33,.18);position:relative;display:grid;place-items:center; }.portrait-monogram{position:absolute;font-family:var(--font-display),serif;font-size:clamp(100px,13vw,190px);color:rgba(255,255,255,.28);letter-spacing:-.08em}.portrait-frame img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.8) contrast(1.02); }.portrait-note { position:absolute; right:3%;bottom:8%;z-index:3;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);padding:20px 25px;border-radius:2px;box-shadow:0 15px 35px rgba(11,41,33,.12); }.signature { font-family:var(--font-display),serif;font-style:italic;font-size:30px;color:#9a7735; }.portrait-note p { font-size:11px;line-height:1.5;margin:5px 0 0;letter-spacing:.04em; }.orbit { position:absolute;border:1px solid rgba(19,61,50,.16);border-radius:50%; }.orbit-one { width:590px;height:590px; }.orbit-two { width:700px;height:700px; }
.manifesto,.about { padding:125px 8vw; }.section-kicker { color:#9a7735; }.manifesto h2,.about h2 { font-size:clamp(48px,5.5vw,82px); }.manifesto h2 span,.about h2 span { color:#91a69d; }.manifesto-grid { display:grid;grid-template-columns:1fr 1.25fr;gap:11vw;margin-top:75px; }.lead { font-family:var(--font-display),serif;font-size:30px;line-height:1.35;margin:0; }.principles>div { display:grid;grid-template-columns:42px 1fr;gap:20px;padding:22px 0;border-top:1px solid rgba(19,43,37,.14); }.principles b { color:#9a7735;font-size:12px; }.principles p { margin:0;color:#60726c;font-size:14px;line-height:1.6; }.principles strong { display:block;color:var(--ink);font-family:var(--font-display),serif;font-size:22px;margin-bottom:4px; }
.services { background:var(--deep);color:#fff;padding:120px 7vw; }.light { color:var(--gold); }.services-head { display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:80px; }.services h2 { font-size:clamp(47px,5vw,74px);margin-bottom:0; }.services-head>p { color:#b8c8c1;line-height:1.8;font-size:15px; }.service-grid { display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.18); }.service-grid article { padding:32px 25px 36px;border-right:1px solid rgba(255,255,255,.13);transition:.3s ease; }.service-grid article:hover { background:rgba(255,255,255,.05);transform:translateY(-5px); }.service-grid article>span { font-size:11px;color:var(--gold); }.service-icon { font-size:31px;margin:60px 0 35px;color:#d4c08f; }.service-grid h3 { font-family:var(--font-display),serif;font-size:26px;font-weight:500; }.service-grid p { color:#adbbb6;font-size:13px;line-height:1.7; }.service-footnote { color:#7f948c;font-size:10px;margin:35px 0 0; }
.insight { padding:120px 8vw;text-align:center;background:#e5eadd; }.quote-mark { font-family:serif;font-size:80px;color:#98aa91;height:65px; }.insight blockquote { font-family:var(--font-display),serif;font-size:clamp(42px,5vw,70px);line-height:1.1;margin:20px 0; }.insight em { color:#8e6f32; }.insight p { font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#718077; }
.about { display:grid;grid-template-columns:.6fr 1.4fr;gap:9vw; }.about-portrait{margin:55px 0 0;max-width:285px}.about-portrait img{display:block;width:100%;aspect-ratio:.84;object-fit:cover;object-position:center top;border-radius:150px 150px 8px 8px;filter:saturate(.82);box-shadow:0 24px 55px rgba(11,41,33,.14)}.about-portrait figcaption{padding:17px 5px;border-bottom:1px solid #d4dcd2}.about-portrait strong,.about-portrait span{display:block}.about-portrait strong{font-family:var(--font-display),serif;font-size:22px}.about-portrait span{font-size:10px;color:#7b8984;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.about-copy .large { font-family:var(--font-display),serif;font-size:25px;line-height:1.5;color:var(--ink); }.about-copy>p:not(.large) { color:#64756f;line-height:1.8;max-width:750px; }.about-tags { display:flex;gap:10px;flex-wrap:wrap;margin-top:35px; }.about-tags span { border:1px solid #cfd7ce;border-radius:100px;padding:10px 15px;font-size:11px; }
.affiliation{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--deep);color:#fff}.affiliation-image{min-height:560px;overflow:hidden;position:relative}.affiliation-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,var(--deep))}.affiliation-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.03)}.affiliation-copy{padding:95px 7vw 85px 5vw;align-self:center}.primerica-logo{font-size:clamp(32px,4vw,54px);font-weight:700;letter-spacing:.04em;margin:28px 0 42px}.primerica-logo:before{content:"";display:inline-block;width:9px;height:9px;background:#d5212e;transform:rotate(45deg);margin:0 15px 9px 0}.primerica-logo span{font-size:11px;vertical-align:top;margin-left:4px}.affiliation h2{font-family:var(--font-display),serif;font-size:clamp(42px,4vw,62px);font-weight:500;line-height:1;letter-spacing:-.035em;margin:0 0 25px}.affiliation h2 em{color:#d5bd7d;font-weight:400}.affiliation-copy>p:not(.section-kicker){color:#aebdb7;line-height:1.8;max-width:630px}.affiliation-marks{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}.affiliation-marks span{border:1px solid rgba(255,255,255,.17);padding:11px 13px;font-size:9px;letter-spacing:.05em;color:#9eb0a9}.affiliation-marks b{color:#e4cd92;font-size:11px;margin-right:5px}.footer-primerica{margin-top:25px;font-size:9px;letter-spacing:.16em;color:#d0b66f}.footer-primerica sup{font-size:6px}
.contact { background:#b9c8b3;display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:110px 7vw; }.contact h2 { font-size:clamp(52px,5vw,76px); }.contact-copy>p:not(.section-kicker) { max-width:590px;color:#3f5a51;line-height:1.8; }.direct-contact { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:55px; }.direct-contact div:last-child { grid-column:1/-1; }.direct-contact small,.direct-contact strong { display:block; }.direct-contact small { text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#60756c; }.direct-contact strong { margin-top:5px;font-family:var(--font-display),serif;font-size:20px; }
.form-card { background:var(--paper);padding:50px;box-shadow:0 30px 70px rgba(22,58,48,.15); }.form-card h3 { font-family:var(--font-display),serif;font-size:35px;margin:0 0 8px; }.form-card form>p { color:#75817c;font-size:13px;margin:0 0 28px; }.form-card label { display:block;text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:600;margin-bottom:15px; }.form-card input,.form-card select,.form-card textarea { width:100%;border:0;border-bottom:1px solid #ccd3ca;background:transparent;padding:10px 0 12px;outline:none;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink); }.form-card input:focus,.form-card select:focus,.form-card textarea:focus { border-color:#7f6a37; }.field-row { display:grid;grid-template-columns:1fr 1fr;gap:20px; }.submit-button { width:100%;border-radius:0;padding:17px;margin-top:8px; }.privacy { display:block;text-align:center;color:#8b948f;font-size:9px;margin-top:12px; }.success { min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }.success span { width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#dce7d8;font-size:25px; }.success p { color:#718077;max-width:300px;line-height:1.7; }
footer { background:#081d18;color:#fff;padding:70px 7vw 30px; }.footer-main { display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:70px;padding-bottom:55px; }.inverse { color:#fff; }.footer-brand p { color:#9db0a8;font-family:var(--font-display),serif;font-size:24px;line-height:1.25; }.footer-main h4 { color:#d0b66f;text-transform:uppercase;letter-spacing:.15em;font-size:9px; }.footer-main p { color:#90a49c;font-size:11px;line-height:1.8; }.disclosure { border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:25px 0; }.disclosure p { color:#70857c;font-size:8px;line-height:1.7;margin:0; }.copyright { display:flex;justify-content:space-between;color:#61756d;font-size:9px;padding-top:25px;text-transform:uppercase;letter-spacing:.08em; }
.reveal { opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease; }.reveal.visible { opacity:1;transform:none; }
@media(max-width:900px){.availability{display:none}.hero{grid-template-columns:1fr;background:var(--cream)}.hero-copy{padding:140px 7vw 55px}.portrait-wrap{min-height:650px;background:#d8e0d4;padding-top:60px}.credential-row{flex-wrap:wrap;row-gap:20px}.manifesto-grid,.services-head,.about,.contact{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.about-aside{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.about-portrait{margin:0;width:220px}.affiliation{grid-template-columns:1fr}.affiliation-image{min-height:430px}.affiliation-image:after{background:linear-gradient(180deg,transparent 60%,var(--deep))}.affiliation-copy{padding:70px 8vw 90px}.contact{gap:60px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.topbar{height:74px;padding:0 5vw}.wordmark{font-size:14px}.nav-cta{padding:10px 14px;font-size:12px}.hero-copy{padding:115px 6vw 45px}.hero h1{font-size:58px}.hero-intro{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.credential-row div{width:46%;margin-right:10px;padding-right:10px}.portrait-wrap{min-height:510px}.portrait-frame{width:90%}.portrait-note{right:0}.manifesto,.about{padding:85px 6vw}.manifesto h2,.about h2{font-size:45px}.manifesto-grid{margin-top:45px}.lead{font-size:25px}.services{padding:85px 6vw}.services-head{gap:20px}.services h2{font-size:44px}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.service-icon{margin:35px 0 20px}.insight{padding:85px 6vw}.insight blockquote{font-size:39px}.about-aside{display:block}.about-portrait{width:100%;max-width:260px;margin:35px auto 50px}.affiliation-image{min-height:330px}.affiliation-copy{padding:60px 6vw 75px}.primerica-logo{font-size:32px}.contact{padding:85px 5vw}.contact h2{font-size:48px}.form-card{padding:32px 24px}.field-row{grid-template-columns:1fr}.direct-contact{grid-template-columns:1fr}.direct-contact div:last-child{grid-column:auto}.footer-main{grid-template-columns:1fr;gap:25px}.footer-brand{grid-column:auto}.copyright{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* Locally hosted portrait and prominent affiliation treatment. */
.hero-industry-image .portrait-frame img{object-position:58% center;filter:saturate(.9) contrast(1.03)}
.image-note-title{font-family:var(--font-display),serif;font-size:25px;color:#9a7735}
.affiliation-image{background:#cfdbd2}
.affiliation-image img{object-position:center;filter:saturate(.82) contrast(1.04)}
.image-seal{position:absolute;z-index:2;left:7%;bottom:7%;width:175px;padding:18px;background:#fff;color:var(--ink);font-size:11px;line-height:1.45;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.image-seal span{display:block;font-family:var(--font-display),serif;font-size:38px;color:#a57f31;line-height:1}
.brand-lockup{display:inline-flex;flex-direction:column;gap:7px;background:#fff;color:#17392f;padding:18px 24px;margin:28px 0 42px;border-left:5px solid #d5212e}
.brand-lockup small{text-transform:uppercase;letter-spacing:.17em;font-size:8px;color:#63726d}
.brand-lockup .primerica-logo{font-size:clamp(28px,3.2vw,46px);font-weight:800;line-height:.9;margin:0}
