/*
ETJ Life — New Design System
Ported from the client-approved HTML/CSS prototype.
Loaded ONLY on the new self-contained page templates (page-*-new.php),
via a <link> tag placed directly in each template's <head> — never
enqueued site-wide, so it cannot affect any existing Divi page.
*/

:root{
  --red:#C41230;
  --ink:#111111;
  --border:#e5e5e5;
  --cream:#FDF8F4;
  --circle:#9E1228;
}

/* Reset is scoped to this template only because these templates
   render their own full <body> and don't share markup with Divi. */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Lato',sans-serif;color:#1a1a1a;line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;color:var(--ink);}
.em{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;color:var(--red);}
.eyebrow{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);}
.eyebrow.muted{color:#999;}
a{color:inherit;text-decoration:none;}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-logo{height:50px;width:auto;display:block;}
nav.links{display:flex;align-items:center;gap:24px;}
nav.links a{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;color:#333;cursor:pointer;}
nav.links > a, nav.links > .has-dd{display:inline-flex;align-items:center;line-height:1;}
nav.links a:hover,nav.links a.active{color:var(--red);}
.has-dd{position:relative;}
.has-dd>.ddtoggle{display:inline-flex;align-items:center;gap:5px;}
.has-dd>.ddtoggle:after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.6;}
.dd{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 36px rgba(0,0,0,.12);min-width:210px;padding:8px;opacity:0;visibility:hidden;transition:.15s;}
.has-dd:hover .dd{opacity:1;visibility:visible;top:calc(100% + 4px);}
.dd a{display:block;padding:11px 14px;font-size:13px;font-weight:600;border-radius:7px;color:#333;}
.dd a:hover{background:var(--cream);color:var(--red);}
.dd a small{display:block;font-weight:400;font-size:11px;color:#999;letter-spacing:0;text-transform:none;margin-top:2px;}
.login{border:1.5px solid var(--ink);border-radius:4px;padding:9px 16px !important;font-size:12px !important;font-weight:700 !important;letter-spacing:.5px;text-transform:uppercase;}
.login:hover{background:var(--ink);color:#fff !important;}
.menu-btn{display:none;font-size:24px;background:none;border:none;cursor:pointer;color:var(--ink);}

.btn{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:15px 30px;border-radius:4px;cursor:pointer;}
.btn.primary{background:var(--red);color:#fff;}
.btn.primary:hover{background:#a50e27;}
.btn.ghost{border:1.5px solid var(--ink);color:var(--ink);margin-left:10px;}
.btn.ghost:hover{background:var(--ink);color:#fff;}

section{padding:74px 0;}
.cream{background:var(--cream);}
.sec-head{max-width:740px;margin-bottom:40px;}
.sec-head .eyebrow{font-size:14px;letter-spacing:2.5px;margin-bottom:14px;}
.sec-head h2{font-size:34px;font-weight:900;line-height:1.12;letter-spacing:-.5px;}
.sec-head h2.nw{white-space:nowrap;}
.nw{white-space:nowrap;}
.sec-head p{font-size:17px;color:#555;margin-top:14px;}

/* PROGRAM HERO (used by CEO in the Seat / Peer Circles / CEO in Transition) */
.prog-hero{padding:88px 0 76px;}
.prog-hero .eyebrow{margin-bottom:20px;}
.prog-hero h1{font-size:66px;font-weight:900;line-height:1.0;letter-spacing:-1.5px;}
.prog-hero .tagline{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;font-size:25px;margin-top:16px;}
.prog-hero .lede{font-size:18px;max-width:none;white-space:nowrap;margin:20px 0 0;}
.meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--mb,rgba(0,0,0,.12));border-bottom:1px solid var(--mb,rgba(0,0,0,.12));margin-top:46px;}
.meta .cell{padding:22px 26px 22px 0;border-right:1px solid var(--mb,rgba(0,0,0,.12));}
.meta .cell:last-child{border-right:none;padding-left:26px;}
.meta .cell:nth-child(2){padding-left:26px;}
.meta .k{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;}
.meta .v{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;}
.h-dark{--mb:rgba(255,255,255,.18);background:var(--ink);color:#fff;}
.h-dark h1,.h-dark .meta .v{color:#fff;} .h-dark .eyebrow{color:#ff6b81;} .h-dark .tagline{color:#ff8a9b;} .h-dark .lede{color:rgba(255,255,255,.82);} .h-dark .meta .k{color:rgba(255,255,255,.5);}
.h-circle{--mb:rgba(255,255,255,.22);background:var(--circle);color:#fff;}
.h-circle h1,.h-circle .meta .v{color:#fff;} .h-circle .eyebrow{color:rgba(255,255,255,.8);} .h-circle .tagline{color:var(--cream);} .h-circle .lede{color:rgba(255,255,255,.9);} .h-circle .meta .k{color:rgba(255,255,255,.6);}
.h-cream{--mb:#e7d9cf;background:var(--cream);color:var(--ink);border-bottom:1px solid #ecdfd6;}
.h-cream h1,.h-cream .meta .v{color:var(--ink);} .h-cream .eyebrow{color:var(--red);} .h-cream .tagline{color:var(--red);} .h-cream .lede{color:#555;} .h-cream .meta .k{color:#a08b7e;}

/* HOME HERO */
.h-home{padding:92px 0 80px;border-bottom:1px solid var(--border);}
.h-home .eyebrow{margin-bottom:22px;}
.h-home h1{font-size:60px;font-weight:900;line-height:1.04;letter-spacing:-1px;}
.h-home h1 .em{display:block;font-size:54px;}
.h-home .lede{font-size:20px;color:#444;max-width:none;margin:28px 0 34px;}
.etj-page-home .sec-head h2{font-size:38px;}

/* HOME SEASONS */
.seasons{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;}
.season{padding:36px 30px;border-right:1px solid var(--border);}
.season:last-child{border-right:none;}
.season .num{font-family:'Playfair Display',serif;font-style:italic;font-size:34px;color:var(--red);line-height:1;}
.season h3{font-size:20px;font-weight:800;margin:14px 0 8px;}
.season p{font-size:15px;color:#555;}

/* DUOTONE IMAGE GRID */
.duogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.duo-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.duo .lbl{position:relative;z-index:1;}
.duo{position:relative;aspect-ratio:4/5;border-radius:10px;overflow:hidden;display:flex;align-items:flex-end;background:linear-gradient(160deg,#2a2a2a,#6d0d1a);transition:.18s;}
.duo:hover{box-shadow:0 16px 44px rgba(0,0,0,.09);transform:translateY(-4px);}
.duo:nth-child(2){background:linear-gradient(160deg,#3a3a3a,#9E1228);}
.duo:nth-child(3){background:linear-gradient(160deg,#222,#c41230);}
.duo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.duo .lbl{position:relative;z-index:2;padding:22px;color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:19px;}
.duo .lbl span{display:block;font-family:'Lato',sans-serif;font-weight:400;font-size:13px;color:rgba(255,255,255,.82);margin-top:4px;}
.duo .ph{position:absolute;top:12px;left:12px;z-index:2;opacity:.5;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;}
.duo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.55));z-index:1;}

/* HOME FOUNDATION (dark) */
.lifemap-dark{background:#0c0c0c;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.lifemap-dark .eyebrow{color:#ff6b81;}
.lifemap-dark h2{color:#fff;font-size:36px;font-weight:900;line-height:1.1;letter-spacing:-.5px;margin-top:14px;}
.lifemap-dark h2 .em{color:#ff8a9b;}
.lifemap-dark .sub{font-size:17px;color:rgba(255,255,255,.8);margin-top:16px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.chips span{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:6px 13px;}
.lifemap-shot img{width:100%;height:auto;display:block;}

/* HOME PROGRAMS / cards w/ icons */
.progs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.prog{background:#fff;border:1px solid var(--border);border-radius:12px;padding:34px 30px;display:flex;flex-direction:column;transition:.18s;}
.prog:hover{box-shadow:0 16px 44px rgba(0,0,0,.09);transform:translateY(-4px);}
.prog .ic{width:50px;height:50px;border-radius:13px;background:rgba(196,18,48,.08);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.prog .ic svg{width:26px;height:26px;stroke:var(--red);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.prog .season-tag{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#999;margin-bottom:8px;}
.prog h3{font-size:24px;font-weight:900;line-height:1.05;}
.prog p{font-size:15px;color:#555;margin-top:12px;flex:1;}
.prog .more{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:var(--ink);margin-top:22px;cursor:pointer;}
.prog .more:after{content:" \2192";color:var(--red);}

/* HOME COMMUNITY */
.community{text-align:center;max-width:780px;margin:0 auto;}
.community h2{font-size:38px;font-weight:900;line-height:1.1;margin-bottom:14px;}
.community p{font-size:18px;color:#555;}

/* HOME STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.step{border-top:3px solid var(--red);padding-top:18px;}
.step .num{font-family:'Playfair Display',serif;font-style:italic;font-size:38px;color:var(--red);line-height:1;}
.step h3{font-size:17px;font-weight:800;margin:10px 0 6px;}
.step p{font-size:14px;color:#555;}

/* POINTS — horizontal rows */
.points{display:flex;flex-direction:column;gap:12px;}
.point{display:flex;align-items:center;gap:28px;background:#fff;border:1px solid var(--border);border-left:4px solid var(--red);border-radius:0 8px 8px 0;padding:16px 26px;}
.point .k{flex:0 0 300px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);margin-bottom:0;}
.point p{flex:1;font-size:16px;line-height:1.45;color:#444;margin:0;}
.etj-page-transition .point{background:var(--cream);border-color:#efe6df;border-left-color:var(--red);}
.etj-page-transition .point p{font-family:'Playfair Display',serif;font-style:italic;font-size:18px;line-height:1.4;color:#333;}

/* COMPONENTS */
.comps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.comp .ic{width:46px;height:46px;border-radius:12px;background:rgba(196,18,48,.08);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.comp .ic svg{width:24px;height:24px;stroke:var(--red);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.comp h3{font-size:17px;font-weight:800;}
.comp p{font-size:14px;color:#555;margin-top:8px;}

/* CEO OPERATING SYSTEM RINGS */
.os-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;}
.os-copy .eyebrow{font-size:14px;letter-spacing:2.5px;}
.os-copy h2{font-size:34px;font-weight:900;line-height:1.12;letter-spacing:-.5px;margin-top:12px;}
.os-lead{font-size:16px;color:#555;margin-top:16px;}
.os-rows{margin-top:22px;}
.os-r{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;}
.os-dot{width:14px;height:14px;border-radius:50%;margin-top:5px;flex:none;}
.os-r h4{font-size:16px;font-weight:800;}
.os-r p{font-size:14px;color:#666;}
.rings{display:block;margin:0 auto;max-width:380px;width:100%;}
.rings text{font-family:'Montserrat',sans-serif;font-weight:800;}

/* CIRCLES */
.circles{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.circle{background:#fff;border:1px solid var(--border);border-radius:10px;padding:26px 28px;display:flex;flex-direction:column;transition:.18s;}
.circle:hover{box-shadow:0 14px 38px rgba(0,0,0,.08);transform:translateY(-3px);}
.circle .who{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#999;margin-bottom:8px;}
.circle h3{font-size:19px;font-weight:900;line-height:1.1;}
.circle .hook{font-family:'Playfair Display',serif;font-style:italic;font-size:16px;color:var(--ink);margin:10px 0 0;line-height:1.4;flex:1;}
.circle .more{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:var(--ink);margin-top:18px;}
.circle .more:after{content:" \2192";color:var(--red);}

/* PREVIEW SPLIT */
.psplit{display:grid;grid-template-columns:0.6fr 1fr;gap:0;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:#fff;}
.psplit-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.psplit-pic{position:relative;min-height:340px;background:linear-gradient(150deg,#3a3a3a,#7a0c1e);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.psplit-pic img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.psplit-pic .ph-note{position:relative;z-index:2;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.6);border:1px dashed rgba(255,255,255,.45);border-radius:20px;padding:6px 14px;}
.psplit-txt{padding:46px 44px;}
.psplit-txt h2{font-size:28px;font-weight:900;line-height:1.12;letter-spacing:-.5px;margin-top:10px;white-space:nowrap;}
.psplit-txt .lst{list-style:none;margin-top:20px;}
.psplit-txt .lst li{position:relative;padding-left:24px;margin-bottom:14px;font-size:16px;color:#444;}
.psplit-txt .lst li:before{content:"\2014";position:absolute;left:0;color:var(--red);font-weight:700;}

/* TWO COLUMN */
.two{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;}
.two .lst{list-style:none;}
.two .lst li{position:relative;padding-left:24px;margin-bottom:16px;font-size:16px;color:#444;}
.two .lst li:before{content:"\2014";position:absolute;left:0;color:var(--red);font-weight:700;}
.two .box{background:#fff;border:1px solid var(--border);border-radius:10px;padding:30px;}
.two .box h4{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--red);margin-bottom:12px;}
.two .box p{font-size:16px;color:#444;}

/* RECEIVE 2x2 */
.receive{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 40px;}
.receive .r{border-left:3px solid var(--red);padding-left:18px;}
.receive .r .n{font-family:'Playfair Display',serif;font-style:italic;font-size:26px;color:var(--red);line-height:1;}
.receive .r h4{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:800;margin-top:8px;}
.receive .r p{font-size:14px;color:#555;margin-top:4px;}
.note{margin-top:34px;background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px 24px;font-size:15px;color:#444;}
.note b{font-family:'Montserrat',sans-serif;color:var(--ink);}

/* CTA */
.cta{background:var(--ink);color:#fff;border-radius:14px;padding:58px 50px;}
.cta.center{text-align:center;padding:64px 56px;}
.cta.center .q{margin:0 auto;}
.cta.cta-circle{background:var(--circle);}
.cta .eyebrow{color:#fff;font-size:14px;letter-spacing:2.5px;margin-bottom:18px;}
.cta h2{color:#fff;font-size:36px;font-weight:900;line-height:1.12;max-width:680px;margin:0 auto;}
.cta h2 .em{color:#ff8a9b;}
.cta .q{font-size:21px;line-height:1.5;color:#fff;max-width:760px;font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-.3px;}
.cta .q .lead{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;color:#ff8a9b;}
.cta-circle .q .lead{color:var(--cream);}
.cta .src{font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:16px;}
.cta a.btn{margin-top:26px;}
.cta-circle a.btn{background:#fff;color:var(--circle);}

/* DOWNLOAD */
.download{padding:0 0 80px;}
.dl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;background:var(--cream);border:1px solid var(--border);border-radius:12px;padding:32px 38px;}
.dl-text{flex:1;min-width:260px;}
.dl-text .eyebrow{margin-bottom:8px;font-size:12px;letter-spacing:2px;}
.dl-text h3{font-size:21px;font-weight:900;}
.dl-text p{font-size:14px;color:#555;margin-top:6px;}

/* LEAD FORM WRAPPER (Gravity Forms renders inside this; only layout/spacing
   is styled here so Gravity Forms' own field styling still applies) */
.etj-form-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;padding:44px;}
.etj-form-wrap .eyebrow{margin-bottom:10px;}
.etj-form-wrap h2{font-size:30px;font-weight:900;margin-bottom:22px;}

footer{background:#fff;border-top:1px solid var(--border);padding:46px 0;}
.foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.foot-inner .tagline{font-family:'Playfair Display',serif;font-style:italic;color:var(--red);font-size:15px;}
.foot-inner .legal{font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#999;}

@media(max-width:880px){
  nav.links{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:#fff;border-bottom:1px solid var(--border);padding:10px 20px;}
  .point{flex-direction:column;align-items:flex-start;gap:6px;}
  header.nav.open nav.links{display:flex;}
  nav.links a{padding:12px 0;width:100%;}
  .has-dd{width:100%;} .dd{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;padding:0 0 8px 14px;min-width:0;}
  .has-dd>.ddtoggle:after{display:none;}
  .menu-btn{display:block;}
  .prog-hero h1,.h-home h1{font-size:40px;letter-spacing:-1px;} .h-home h1 .em{font-size:34px;} .prog-hero .tagline{font-size:20px;} .prog-hero .lede{white-space:normal;}
  .meta,.seasons,.duogrid,.split,.progs,.steps,.comps,.os-grid,.circles,.psplit,.two,.receive{grid-template-columns:1fr;}
  .meta .cell{border-right:none;border-bottom:1px solid var(--mb,rgba(0,0,0,.12));padding:16px 0 !important;}
  .meta .cell:last-child{border-bottom:none;}
  .season{border-right:none;border-bottom:1px solid var(--border);} .season:last-child{border-bottom:none;}
  .sec-head h2,.etj-page-home .sec-head h2{font-size:28px;} .sec-head h2.nw{white-space:normal;} .nw{white-space:normal;} .community h2{font-size:26px;} .lifemap-dark h2{font-size:26px;}
  .psplit-txt h2{white-space:normal;font-size:23px;} .os-copy h2{font-size:26px;}
  .cta{padding:40px 26px;} .cta.center{padding:40px 26px;} .cta h2{font-size:26px;} .btn.ghost{margin-left:0;margin-top:12px;}
  .wrap{padding:0 22px;}
}
