@font-face{font-family:'Lato';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/lato-400i.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/lato-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/lato-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/lato-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Layout: luxury-brokerage editorial. White and navy bands, full-bleed portraits, hairline rules, square corners. Copper only on rules and small marks. Single light theme by choice. */
:root{
  --navy:#1B2A4A; --navy-deep:#131E36; --copper:#CE823E; --copper-ink:#9E5E25;
  --paper:#FFFFFF; --stone:#F4F4F1; --ink:#1B2A4A; --muted:#5D6780; --rule:#D9DCE2;
  --on-navy:#F4F4F1; --on-navy-muted:#A9B3C7; --navy-rule:#33426A;
  --serif:"Archivo","Helvetica Neue",Arial,sans-serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;margin:0;-webkit-font-smoothing:antialiased}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:-.02em;text-wrap:balance;margin:0}
h2{font-size:clamp(32px,4vw,50px)}
h3{font-size:22px;line-height:1.2;letter-spacing:-.015em}
p{margin:0}
a{color:inherit}
.label{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink);display:flex;align-items:center;gap:14px}
.label::before{content:"";width:28px;height:1px;background:var(--copper)}
.on-navy .label{color:var(--copper)}
.lead{font-size:18px;color:var(--muted);max-width:34em}
.btn{display:inline-block;font:600 12.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:18px 30px;border:1px solid var(--navy);background:var(--navy);color:var(--paper);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--navy)}
.on-navy .btn{background:var(--paper);color:var(--navy);border-color:var(--paper)}
.on-navy .btn:hover{background:transparent;color:var(--paper)}
.link{font:600 12.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--copper);padding-bottom:4px}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
section{padding-block:120px}
.on-navy{background:var(--navy);color:var(--on-navy)}
.on-navy .lead,.on-navy p.muted{color:var(--on-navy-muted)}

/* Nav */
.nav{border-bottom:1px solid var(--rule);background:var(--paper)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px}
.nav img{height:38px;width:auto;display:block}
.nav ul{display:flex;gap:36px;list-style:none;margin:0;padding:0}
.nav ul a{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.nav ul a:hover{color:var(--ink)}
@media (max-width:880px){.nav ul{display:none}}

/* Hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:660px;background:var(--navy);color:var(--on-navy)}
.hero-copy{position:relative;overflow:hidden;padding:96px 64px 88px max(24px,calc((100vw - 1200px)/2 + 24px));display:flex;flex-direction:column;justify-content:center;gap:28px;min-width:0}
.hero-copy > *:not(canvas){position:relative;z-index:1}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero h1{font-size:clamp(44px,5.8vw,80px);font-weight:700;letter-spacing:-.035em;line-height:1}
.hero h1 span{color:var(--copper)}
.hero .lead{color:var(--on-navy-muted)}
.hero .label{color:var(--copper)}
.hero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:8px}
.hero .btn{background:var(--copper);border-color:var(--copper);color:var(--paper)}
.hero .btn:hover{background:transparent;color:var(--copper)}
.hero-photo{position:relative;min-height:420px;margin:0;background:var(--stone)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.hero-photo figcaption{position:absolute;left:24px;bottom:24px;background:var(--navy);color:var(--on-navy);padding:14px 18px;font-size:13px;line-height:1.4;border-left:2px solid var(--copper)}
.hero-photo figcaption b{display:block;font-family:var(--serif);font-size:17px;font-weight:600}
@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:64px 24px}.hero-photo{min-height:520px}}

/* Facts strip */
.facts{border-bottom:1px solid var(--rule)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:36px 24px;border-left:1px solid var(--rule);display:flex;flex-direction:column;gap:6px}
.fact:first-child{border-left:0;padding-left:0}
.fact strong{font-family:var(--serif);font-size:42px;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.fact span{font-size:13px;color:var(--muted);letter-spacing:.02em}
@media (max-width:760px){.facts .wrap{grid-template-columns:1fr 1fr}.fact{padding:26px 16px}.fact:nth-child(3){border-left:0;padding-left:0}.fact:nth-child(n+3){border-top:1px solid var(--rule)}}

/* Pillars */
.head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:72px}
@media (max-width:820px){.head{grid-template-columns:1fr;gap:20px;margin-bottom:48px}}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.pillar{padding:36px 36px 8px 0;display:flex;flex-direction:column;gap:16px;min-width:0}
.pillar+.pillar{padding-left:36px;border-left:1px solid var(--rule)}
.pillar .kicker{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink)}
.pillar p{color:var(--muted)}
.pillar ul{margin:4px 0 0;padding:0;list-style:none;font-size:15px}
.pillar li{padding-block:10px;border-bottom:1px solid var(--rule)}
@media (max-width:900px){.pillars{grid-template-columns:1fr}.pillar,.pillar+.pillar{padding:32px 0;border-left:0}.pillar+.pillar{border-top:1px solid var(--rule)}}

/* Coach */
.coach{background:var(--stone)}
.coach .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px;align-items:center}
.coach img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;filter:saturate(.85)}
.coach .body{display:flex;flex-direction:column;gap:24px;min-width:0}
.coach blockquote{margin:8px 0 0;padding-left:24px;border-left:1px solid var(--copper);font-family:var(--serif);font-size:28px;line-height:1.25;font-style:italic}
.creds{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:13px;color:var(--muted);letter-spacing:.04em;padding-top:20px;border-top:1px solid var(--rule)}
@media (max-width:860px){.coach .wrap{grid-template-columns:1fr;gap:40px}.coach img{max-width:440px}}

/* Curriculum */
.modules{display:grid;grid-template-columns:1fr 1fr;column-gap:72px;counter-reset:m}
.module{display:grid;grid-template-columns:64px 1fr;gap:12px;padding-block:24px;border-top:1px solid var(--rule);counter-increment:m}
.module::before{content:counter(m,decimal-leading-zero);font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.1;color:var(--copper-ink)}
.module h3{font-size:20px}
.module p{font-size:15px;color:var(--muted);margin-top:6px}
@media (max-width:820px){.modules{grid-template-columns:1fr}}

/* Library */
.library{columns:3 220px;column-gap:48px;margin:8px 0 0;padding:0;list-style:none}
.library li{break-inside:avoid;padding-block:11px;border-bottom:1px solid var(--navy-rule);font-size:15px;color:var(--on-navy)}
.library ul{margin:0;padding:0;list-style:none}

/* Ozzie AI */
.tech .wrap{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.tech .body{display:flex;flex-direction:column;gap:22px;min-width:0}
.tech ul{margin:0;padding:0;list-style:none;font-size:15px}
.tech li{padding-block:12px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:150px 1fr;gap:16px}
.tech li b{font-weight:600}
.tech li span{color:var(--muted)}
.console{border:1px solid var(--rule);background:var(--paper);box-shadow:0 40px 80px -40px rgba(27,42,74,.35);min-width:0}
.console-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--rule)}
.console-head small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.console-head strong{font-family:var(--serif);font-size:19px;font-weight:600}
.console-head .stage{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--copper-ink);border:1px solid var(--copper);padding:6px 10px}
.chat{padding:22px;display:flex;flex-direction:column;gap:14px;height:280px;overflow-y:auto}
.msg{display:flex;gap:12px;align-items:flex-start;max-width:94%}
.msg img{width:30px;height:30px;flex:none;border-radius:50%;background:var(--stone)}
.msg .who{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.msg .txt{font-size:14.5px;line-height:1.55}
.msg .txt ul{margin:2px 0 0;padding-left:18px}
.msg.me{align-self:flex-end;text-align:right}
.msg.me .txt{background:var(--navy);color:var(--paper);padding:9px 14px}
.run{margin-top:10px;display:flex;gap:16px;align-items:center}
.run button{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--navy);background:var(--navy);color:var(--paper);cursor:pointer}
.run button.alt{background:transparent;color:var(--muted);border-color:transparent;padding-inline:0}
.prompts{display:flex;flex-wrap:wrap;border-top:1px solid var(--rule)}
.prompts button{flex:1 1 50%;font:500 13.5px var(--sans);text-align:left;padding:14px 22px;background:transparent;color:var(--ink);border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);cursor:pointer}
.prompts button:nth-child(2n){border-right:0}
.prompts button:hover{background:var(--stone)}
.prompts button::after{content:" →";color:var(--copper-ink)}
.example{font-size:12px;color:var(--muted);padding:10px 22px}
@media (max-width:900px){.tech .wrap{grid-template-columns:1fr;gap:48px}.tech li{grid-template-columns:1fr;gap:2px}}

/* Programs */
.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--rule)}
.program{padding:40px 36px;display:flex;flex-direction:column;gap:18px;min-width:0}
.program+.program{border-left:1px solid var(--rule)}
.program.feature{background:var(--navy);color:var(--on-navy)}
.program .tier{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink)}
.program.feature .tier{color:var(--copper)}
.program .for{color:var(--muted);font-size:15px}
.program.feature .for{color:var(--on-navy-muted)}
.program ul{margin:0;padding:0;list-style:none;font-size:15px;flex:1}
.program li{padding-block:11px;border-top:1px solid var(--rule)}
.program.feature li{border-color:var(--navy-rule)}
.program .term{font-family:var(--serif);font-size:22px}
.program .btn{align-self:flex-start}
.program.feature .btn{background:var(--paper);color:var(--navy);border-color:var(--paper)}
.program.feature .btn:hover{background:transparent;color:var(--paper)}
.guarantee{margin-top:40px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:28px 0;border-block:1px solid var(--rule)}
.guarantee .seal{width:84px;height:84px;border:1px solid var(--copper);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--copper-ink);line-height:1.4}
.guarantee p{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.3;letter-spacing:-.015em}
@media (max-width:900px){.programs{grid-template-columns:1fr}.program+.program{border-left:0;border-top:1px solid var(--rule)}}

/* Apply */
.apply{background:var(--navy-deep);color:var(--on-navy);padding:0}
.apply-photo{position:relative;min-height:560px}
.apply-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.apply-form{max-width:1200px;margin:0 auto;padding:112px 24px;display:grid;grid-template-columns:1fr 1.1fr;column-gap:88px;row-gap:22px;align-items:start}
.apply-form form{grid-column:2;grid-row:1 / span 4;margin-top:0}
form{display:grid;gap:18px;margin-top:12px}
.field label{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--on-navy-muted)}
.field input,.field select{width:100%;font:500 16px var(--sans);color:var(--on-navy);background:transparent;border:0;border-bottom:1px solid var(--navy-rule);padding:10px 0 12px;border-radius:0}
.field select option{color:#1B2A4A}
.field input:focus,.field select:focus{outline:none;border-bottom-color:var(--copper)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ok{border-left:1px solid var(--copper);padding:8px 0 8px 18px;color:var(--on-navy-muted)}
.apply .btn{background:var(--paper);color:var(--navy);border-color:var(--paper);justify-self:start;margin-top:8px}
.apply .btn:hover{background:transparent;color:var(--paper)}
@media (max-width:900px){.apply-form{grid-template-columns:1fr;padding:72px 24px}.apply-form form{grid-column:1;grid-row:auto;margin-top:12px}.row{grid-template-columns:1fr}}

footer{padding-block:48px;font-size:13px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
footer img{height:32px;width:auto}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- Multi-page additions ---- */
.nav ul a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -1px 0 var(--copper);padding-bottom:6px}
.nav .right{display:flex;align-items:center;gap:24px}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:8px 0}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:calc(100% + 12px);background:var(--paper);border:1px solid var(--rule);min-width:220px;z-index:20;display:flex;flex-direction:column}
.menu nav a{padding:14px 18px;border-bottom:1px solid var(--rule);text-decoration:none;font-size:15px}
.menu nav a:last-child{border-bottom:0}
@media (max-width:880px){.menu{display:block}}

.page-hero{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.page-hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.page-hero .wrap{position:relative;z-index:1;padding-block:96px 88px;display:flex;flex-direction:column;gap:24px}
.page-hero .label{color:var(--copper)}
.page-hero h1{font-size:clamp(40px,5.4vw,72px);font-weight:700;letter-spacing:-.035em;line-height:1.02;max-width:14em}
.page-hero h1 span{color:var(--copper)}
.page-hero .lead{color:var(--on-navy-muted)}
.page-hero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:8px}
.page-hero .btn{background:var(--copper);border-color:var(--copper);color:var(--paper)}
.page-hero .btn:hover{background:transparent;color:var(--copper)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.page-hero .split{gap:64px}
.page-hero .split > img{width:100%;max-width:360px;justify-self:center;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:40px}.page-hero .split > img{max-width:220px}}

.more{margin-top:28px}
.pillar .more{margin-top:auto;padding-top:20px}

/* Rhythm panel (on navy) */
.rhythm{border:1px solid var(--navy-rule);background:var(--navy);position:relative;z-index:1;min-width:0}
.rhythm-head{padding:18px 24px;border-bottom:1px solid var(--navy-rule);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--on-navy-muted);display:flex;justify-content:space-between;gap:12px}
.rhythm-row{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:20px 24px;border-bottom:1px solid var(--navy-rule)}
.rhythm-row:last-child{border-bottom:0}
.rhythm-row .when{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);padding-top:3px}
.rhythm-row b{display:block;font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:-.01em}
.rhythm-row span{font-size:14px;color:var(--on-navy-muted)}

/* Capability grid + install steps (Ozzie page) */
.caps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.cap{padding:32px 32px 32px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:10px;min-width:0}
.cap:not(:nth-child(3n+1)){padding-left:32px;border-left:1px solid var(--rule)}
.cap .kicker{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink)}
.cap p{color:var(--muted);font-size:15px}
@media (max-width:900px){.caps{grid-template-columns:1fr}.cap,.cap:not(:nth-child(3n+1)){padding:28px 0;border-left:0}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.step{border-top:2px solid var(--copper);padding-top:20px;display:flex;flex-direction:column;gap:8px}
.step .when{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--copper)}
.step p{color:var(--on-navy-muted);font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* About */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:88px;align-items:start}
.about-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.about-grid .body{display:flex;flex-direction:column;gap:22px;min-width:0;padding-top:24px}
.about-grid .body p{color:var(--muted);font-size:17px;max-width:36em}
.about-photo{width:100%;height:clamp(320px,48vw,620px);object-fit:cover;object-position:50% 45%;display:block}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:40px}.about-grid img{max-width:440px}}

/* CTA band */
.cta-band{background:var(--stone);border-top:1px solid var(--rule)}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding-block:80px}
.cta-band h2{max-width:16em}

/* Apply page */
.apply-page{background:var(--navy-deep);color:var(--on-navy)}
.apply-page .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:88px;padding-block:96px 112px}
.apply-page aside{display:flex;flex-direction:column;gap:22px}
.apply-page aside ol{margin:8px 0 0;padding:0;list-style:none;counter-reset:a;display:grid;gap:18px}
.apply-page aside li{display:grid;grid-template-columns:36px 1fr;gap:12px;counter-increment:a;color:var(--on-navy-muted);font-size:15px}
.apply-page aside li::before{content:counter(a,decimal-leading-zero);font-family:var(--serif);font-weight:700;color:var(--copper)}
.apply-page aside li b{display:block;color:var(--on-navy);font-weight:600}
.apply-page form{margin-top:0}
.apply-page .btn{background:var(--paper);color:var(--navy);border-color:var(--paper);justify-self:start;margin-top:8px}
.apply-page .btn:hover{background:transparent;color:var(--paper)}
@media (max-width:900px){.apply-page .wrap{grid-template-columns:1fr;gap:48px;padding-block:64px}}

footer .cols{display:flex;flex-wrap:wrap;gap:28px;font-size:13px}
footer .cols a{text-decoration:none;color:var(--muted)}
footer .cols a:hover{color:var(--ink)}

/* ===== Refinement layer (impeccable pass) ===== */
:root{
  --paper:oklch(99.2% 0.003 262); --stone:oklch(96.6% 0.007 262); --rule:oklch(89.5% 0.012 262);
  --muted:oklch(50% 0.035 262); --navy-deep:oklch(22% 0.045 262);
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12' fill='none' stroke='%23CE823E' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M2 11 8 5.5 14 11M2 6.5 8 1l6 5.5'/%3E%3C/svg%3E");
  --ease:cubic-bezier(.16,1,.3,1);
  --space-section:clamp(88px,10vw,144px);
}
body{background:var(--paper)}
section{padding-block:var(--space-section)}
.label::before{width:16px;height:12px;background:var(--chev) center/contain no-repeat}
.lead{max-width:62ch}

/* Sticky, quiet nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in oklch,var(--paper) 90%,transparent);backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px)}
.nav .wrap{padding-block:16px}
.nav img{height:34px}

/* Buttons: hairline that extends */
.btn{display:inline-flex;align-items:center;gap:14px}
.btn::after{content:"";width:14px;height:1px;background:currentColor;transition:width .35s var(--ease)}
.btn:hover::after{width:26px}
.link{transition:color .2s}
.link:hover{color:var(--copper-ink)}

/* Hero ledger replaces the big-number strip */
.ledger{display:flex;flex-wrap:wrap;gap:12px 32px;margin:16px 0 0;padding-top:26px;border-top:1px solid var(--navy-rule)}
.ledger div{display:flex;flex-direction:column;gap:2px}
.ledger dt{font-family:var(--serif);font-weight:700;font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--on-navy)}
.ledger dd{margin:0;font-size:12px;letter-spacing:.06em;color:var(--on-navy-muted)}
.hero-photo figcaption{border-left:0;border-top:1px solid var(--copper);background:var(--navy-deep)}

/* One orchestrated load moment */
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
@keyframes settle{from{transform:scale(1.07)}}
.hero-copy > :not(canvas), .page-hero .wrap > *, .page-hero .split > *{animation:rise 1s var(--ease) both}
.hero-copy > :nth-child(3), .page-hero .split > :nth-child(2){animation-delay:.08s}
.hero-copy > :nth-child(4){animation-delay:.16s}
.hero-copy > :nth-child(5){animation-delay:.24s}
.hero-copy > :nth-child(6){animation-delay:.32s}
.hero-photo{overflow:hidden}
.hero-photo img{animation:settle 1.8s var(--ease) both}
.hero-photo figcaption{animation:rise 1s .5s var(--ease) both}

/* Photography: slow reveal on hover only where it is a link target */
.coach img,.about-grid img{transition:transform 1.2s var(--ease)}
.coach .wrap:hover img{transform:scale(1.015)}

/* Pillars breathe; lists quieter */
.pillar h3{font-size:24px}
.pillar ul{color:var(--ink)}

/* Footer */
.site-foot{background:var(--navy-deep);color:var(--on-navy);padding-block:72px 40px}
.site-foot .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px;border-bottom:1px solid var(--navy-rule)}
.site-foot img{height:40px;width:auto}
.site-foot .tag{margin-top:20px;color:var(--on-navy-muted);max-width:30ch;font-size:15px}
.site-foot h4{margin:0 0 16px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--copper)}
.site-foot ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:15px}
.site-foot a{text-decoration:none;color:var(--on-navy)}
.site-foot a:hover{color:var(--copper)}
.site-foot .legal{padding-top:28px;font-size:12.5px;color:var(--on-navy-muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
@media (max-width:760px){.site-foot .top{grid-template-columns:1fr 1fr}.site-foot .top > :first-child{grid-column:1/-1}}

/* CTA band: navy, contour echo */
.cta-band{background:var(--stone)}
.cta-band h2{font-size:clamp(28px,3.4vw,42px)}

@media (prefers-reduced-motion:reduce){*{animation:none!important}}

/* Pass 2 */
.pillars.lead-first{grid-template-columns:1.35fr 1fr 1fr}
.pillars.lead-first .pillar:first-child h3{font-size:clamp(26px,2.6vw,34px)}
.pillars.lead-first .pillar:first-child > p{font-size:17px;color:var(--ink)}
@media (max-width:900px){.pillars.lead-first{grid-template-columns:1fr}}

/* Ozzie capabilities as a spec sheet, not a card grid */
.caps{grid-template-columns:1fr;border-top:1px solid var(--ink)}
.cap,.cap:not(:nth-child(3n+1)){display:grid;grid-template-columns:160px minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:baseline;padding:28px 0;border-left:0}
.cap h3{font-size:22px}
.cap p{max-width:52ch}
@media (max-width:820px){.cap,.cap:not(:nth-child(3n+1)){grid-template-columns:1fr;gap:8px}}

.apply-page + .site-foot{border-top:1px solid var(--navy-rule)}
@media (max-width:560px){.ledger{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}}

/* Dead lead audit */
.audit-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.audit-in{display:flex;flex-direction:column;gap:20px;min-width:0}
.drop{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:40px 32px;border:1px dashed color-mix(in oklch,var(--navy) 45%,transparent);background:var(--stone);cursor:pointer;transition:background .2s,border-color .2s}
.drop.over,.drop:hover{background:color-mix(in oklch,var(--copper) 8%,var(--stone));border-color:var(--copper)}
.drop:focus-within{outline:2px solid var(--copper);outline-offset:3px}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop b{font-family:var(--serif);font-size:20px;font-weight:600}
.drop span{color:var(--muted);font-size:14px}
.err{color:#B23A3A;font-size:14px}
.cols-pick{display:grid;gap:16px;padding-top:8px;border-top:1px solid var(--rule)}
.cols-pick .field label{color:var(--muted)}
.cols-pick .field select{color:var(--ink);border-bottom-color:var(--rule)}
.fname{font-weight:600}
.hint{font-size:13px;color:var(--muted)}
.how{padding-top:20px;border-top:1px solid var(--rule)}
.how h3{font-size:17px;margin-bottom:6px}
.how p{font-size:14.5px;color:var(--muted)}
.audit-out{min-width:0}
.empty{border:1px solid var(--rule);padding:36px;display:grid;gap:14px}
.empty p{color:var(--muted)}
.empty b{color:var(--ink)}
.muted-s{font-size:14px;padding-top:14px;border-top:1px solid var(--rule)}
#result:not([hidden]) ~ .empty{display:none}
.tag-example{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-ink);border:1px solid var(--copper);padding:4px 10px;margin-bottom:18px}
.headline-num{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.headline-num strong{font-family:var(--serif);font-weight:700;font-size:clamp(64px,9vw,112px);line-height:.9;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.headline-num span{color:var(--muted);font-size:17px}
.headline-num b{color:var(--ink);font-variant-numeric:tabular-nums}
.read{margin-top:18px;font-size:17px;max-width:52ch}
.bar{display:flex;height:14px;margin-top:28px;gap:2px}
.bar i{display:block;flex:0 1 0;min-width:0;transition:flex-grow .8s var(--ease)}
#b-never,.k-never{background:var(--navy)}
#b-stale,.k-stale{background:oklch(62% 0.04 262)}
#b-cooling,.k-cooling{background:oklch(82% 0.06 65)}
#b-active,.k-active{background:var(--copper)}
.legend{margin:20px 0 0;display:grid;gap:0}
.legend div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}
.legend dt{display:flex;align-items:center;gap:10px;font-size:15px}
.legend dt i{width:10px;height:10px;display:inline-block}
.legend dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.next{margin-top:32px;padding:28px;background:var(--navy);color:var(--on-navy);display:grid;gap:18px;justify-items:start}
.next p{color:var(--on-navy-muted)}
.next b{color:var(--on-navy)}
.next .btn{background:var(--copper);border-color:var(--copper);color:var(--paper)}
.next .btn:hover{background:transparent;color:var(--copper)}
@media (max-width:900px){.audit-grid{grid-template-columns:1fr;gap:40px}}

/* Playbook library */
.pchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:56px}
.pchip{font:600 13px var(--sans);border:1px solid var(--rule);background:var(--paper);color:var(--ink);padding:9px 14px;cursor:pointer}
.pchip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.pl-group{margin-bottom:72px}
.pl-group h2{font-size:clamp(24px,2.6vw,32px);display:flex;align-items:baseline;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--ink)}
.pl-group h2 span{font-size:14px;color:var(--copper-ink);font-family:var(--sans);font-weight:600}
.pl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));column-gap:48px}
.pl-list a{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--rule);text-decoration:none;transition:color .2s}
.pl-list a:hover b{color:var(--copper-ink)}
.pl-list b{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-.01em;transition:color .2s}
.pl-list span{font-size:14.5px;color:var(--muted)}
.pl-list i{font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-ink)}

/* Playbook page */
.pb-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:72px;align-items:start}
.pb-meta{position:sticky;top:96px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.pb-meta dl{margin:0;display:grid;gap:12px;width:100%}
.pb-meta dt{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.pb-meta dd{margin:2px 0 0;font-weight:600}
.pb-geo{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-ink);border:1px solid var(--copper);padding:5px 9px}
.pb{max-width:72ch;font-size:16.5px;display:flex;flex-direction:column;gap:18px}
.pb h3{font-size:24px;margin-top:20px}
.pb h4{font-size:18px;margin-top:8px}
.pb p{margin:0}
.pb ul,.pb ol{margin:0;padding-left:22px;display:grid;gap:6px}
.pb [class*="pb-"]{min-width:0}
.pb .pb-touchpoint,.pb .pb-card,.pb .pb-objection-block,.pb .pb-framework-step{border:1px solid var(--rule);padding:24px 26px;display:flex;flex-direction:column;gap:12px;background:var(--paper)}
.pb .pb-touchpoint-header,.pb .pb-day-title{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:-.01em}
.pb .pb-channel-label,.pb .pb-format-tag,.pb .pb-day-num,.pb .pb-step-number,.pb .pb-stat-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-ink)}
.pb .pb-subject-line{font-weight:600}
.pb .pb-email-body,.pb .pb-video-body,.pb .pb-text-body,.pb .pb-response-text{background:var(--stone);padding:18px 20px;display:grid;gap:10px;font-size:15.5px}
.pb .pb-tip-box,.pb .pb-green-box,.pb .pb-summary-box,.pb .pb-day-principle{background:color-mix(in oklch,var(--copper) 9%,var(--paper));border:1px solid color-mix(in oklch,var(--copper) 35%,transparent);padding:18px 20px;display:grid;gap:8px}
.pb .pb-checklist{display:grid;gap:8px}
.pb .pb-divider{height:1px;background:var(--rule)}
.pb .pb-stat{display:inline-grid;gap:2px;margin-right:24px}
.pb-tbl{overflow-x:auto;border:1px solid var(--rule)}
.pb table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:480px}
.pb td,.pb th{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.pb th{background:var(--stone);font-size:12px;letter-spacing:.06em}
.pb-gate{margin-top:24px;position:relative;background:var(--navy);color:var(--on-navy);padding:40px 36px;display:grid;gap:16px;justify-items:start}
.pb-gate::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:140px;background:linear-gradient(to bottom,transparent,var(--paper));pointer-events:none}
.pb-gate h2{font-size:clamp(24px,2.6vw,32px)}
.pb-gate p:not(.label){color:var(--on-navy-muted)}
.pb-gate .label{color:var(--copper)}
.pb-gate .btn{background:var(--copper);border-color:var(--copper);color:var(--paper)}
.pb-gate .btn:hover{background:transparent;color:var(--copper)}
.pb-related{padding-top:0}
.pb-rel{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--ink)}
.pb-rel a{display:grid;gap:6px;padding-top:20px;text-decoration:none}
.pb-rel b{font-family:var(--serif);font-size:18px;font-weight:600}
.pb-rel span{font-size:14px;color:var(--muted)}
.pb-rel a:hover b{color:var(--copper-ink)}
@media (max-width:900px){.pb-grid{grid-template-columns:1fr;gap:28px}.pb-meta{position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.pb-meta dl{display:flex;gap:24px;width:auto}.pb-rel{grid-template-columns:1fr}}

/* FAQ + legal */
.faq{max-width:820px;border-top:1px solid var(--ink)}
.qa{border-bottom:1px solid var(--rule)}
.qa summary{cursor:pointer;list-style:none;padding:24px 40px 24px 0;font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:-.01em;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";position:absolute;right:4px;top:50%;width:12px;height:12px;border-right:1.5px solid var(--copper);border-bottom:1.5px solid var(--copper);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
.qa[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.qa p{padding:0 0 24px;color:var(--muted);max-width:64ch}
.legal{max-width:760px;display:grid;gap:14px}
.legal h2{font-size:24px;margin-top:24px}
.legal p{color:var(--muted)}
.legal .draft{color:var(--copper-ink);font-weight:600;border:1px solid var(--copper);padding:12px 16px;justify-self:start}
.legal .upd{font-size:13px;margin-top:24px}

/* ---- Copy audit additions ---- */
.hero h1{font-size:clamp(36px,4.6vw,64px);line-height:1.04}
.page-hero h1{max-width:16em}
.todo{margin-top:28px;border:1px dashed var(--copper);background:color-mix(in oklch,var(--copper) 7%,var(--paper));color:var(--ink);padding:16px 20px;font-size:14.5px;display:grid;gap:4px}
.todo b{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--copper-ink)}
.on-navy .todo,.page-hero .todo{color:var(--ink)}

.proof{background:var(--stone)}
.pnums{margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.pnums div{padding:28px 24px 8px 0;display:grid;gap:6px}
.pnums div+div{padding-left:24px;border-left:1px solid var(--rule)}
.pnums dt{font-family:var(--serif);font-weight:700;font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.pnums div:nth-child(2) dt{color:var(--copper-ink)}
.pnums dd{margin:0;color:var(--muted);font-size:15px}
@media (max-width:760px){.pnums{grid-template-columns:1fr 1fr}.pnums div,.pnums div+div{padding:20px 12px 12px 0;border-left:0}}

.promise{background:var(--navy);color:var(--on-navy);padding-block:clamp(64px,8vw,104px)}
.promise .wrap{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.promise .seal{width:104px;height:104px;border:1px solid var(--copper);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);line-height:1.5}
.promise h2{font-size:clamp(24px,3vw,38px);max-width:24em}
.promise p{margin-top:14px;color:var(--on-navy-muted);font-size:14.5px;max-width:62ch}
@media (max-width:640px){.promise .wrap{grid-template-columns:1fr}}

.fit-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:48px;border-top:1px solid var(--ink);padding-top:32px}
.fit-grid > div{min-width:0}
.fit-grid h3{font-size:18px;margin-bottom:14px}
.fit-grid ul,.fit-grid ol{list-style:none;margin:0;padding:0;display:grid;gap:0}
.fit-grid li{padding:12px 0 12px 26px;border-bottom:1px solid var(--rule);position:relative;font-size:15px}
.yes li::before{content:"";position:absolute;left:2px;top:19px;width:10px;height:6px;border-left:1.6px solid var(--copper);border-bottom:1.6px solid var(--copper);transform:rotate(-45deg)}
.no li::before{content:"";position:absolute;left:0;top:21px;width:12px;height:1.6px;background:var(--muted)}
.no li{color:var(--muted)}
.wk1 li{padding-left:0}
.wk1 b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-ink);margin-bottom:2px}
@media (max-width:900px){.fit-grid{grid-template-columns:1fr;gap:32px}}

.objs{background:var(--stone)}
.obj-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.obj-grid > div{padding:28px 32px 28px 0;border-bottom:1px solid var(--rule);display:grid;gap:10px;min-width:0}
.obj-grid > div:nth-child(2n){padding-left:32px;border-left:1px solid var(--rule)}
.obj-grid h3{font-size:20px}
.obj-grid p{color:var(--muted);max-width:56ch}
@media (max-width:820px){.obj-grid{grid-template-columns:1fr}.obj-grid > div,.obj-grid > div:nth-child(2n){padding:24px 0;border-left:0}}

.prog-cta{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.cta-note{font-size:14px;color:var(--muted)}
.story-body{display:grid;gap:16px}
.story-body p{color:var(--muted);font-size:17px;max-width:60ch}
.apply-promise{border:1px solid var(--navy-rule);padding:16px 18px;font-size:14.5px;color:var(--on-navy-muted);max-width:34em;display:grid;gap:4px}
.apply-promise b{color:var(--copper);font-size:11px;letter-spacing:.18em;text-transform:uppercase}

.obj-grid > div:last-child:nth-child(odd){grid-column:1/-1;padding-right:0}

/* Lead field */
.leadfield-wrap{margin:0 0 40px}
.leadfield{display:block;width:100%;height:180px}
.leadfield-wrap figcaption{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;font-size:13px;color:var(--muted);align-items:center}
.leadfield-wrap figcaption span{display:inline-flex;align-items:center;gap:8px}
.leadfield-wrap figcaption i{width:8px;height:8px;border-radius:50%;display:inline-block}
.leadfield-wrap figcaption em{font-style:normal;margin-left:auto}
.k-n{background:var(--copper)}.k-r{background:var(--navy)}.k-o{background:rgba(27,42,74,.18)}
.pnums div:nth-child(3) dt{color:var(--navy)}
.auditfield{display:block;width:100%;height:0;margin-top:28px}
#result.has-field .bar{display:none}
#r-scale{margin-top:10px}
.auditfield{color:var(--muted)}

/* ===== Motion set 2 ===== */
/* Ozzie typing beat + answers rise in */
.msg{animation:msg-in .45s var(--ease) both}
@keyframes msg-in{from{opacity:0;transform:translateY(8px)}}
.dots{display:inline-flex;gap:4px;padding:4px 0}
.dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:dot 1s infinite ease-in-out}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

/* Promise seal: slow turning ring */
.promise .seal{width:120px;height:120px;border:0;border-radius:0;display:block}
.promise .seal svg{width:100%;height:100%;overflow:visible}
.promise .seal text{font:700 8.6px var(--sans);letter-spacing:.2em;fill:var(--copper)}
.promise .seal .ring{transform-origin:60px 60px;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Library filter morph */
::view-transition-group(*){animation-duration:.45s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
.pl-group[data-cat="leads"]{view-transition-name:pl-leads}.pl-group[data-cat="sellers"]{view-transition-name:pl-sellers}
.pl-group[data-cat="buyers"]{view-transition-name:pl-buyers}.pl-group[data-cat="deals"]{view-transition-name:pl-deals}
.pl-group[data-cat="business"]{view-transition-name:pl-business}.pl-group[data-cat="ai"]{view-transition-name:pl-ai}

/* FAQ answers slide open (Chrome; others open instantly) */
:root{interpolate-size:allow-keywords}
.qa::details-content{height:0;overflow:clip;transition:height .45s var(--ease),content-visibility .45s allow-discrete}
.qa[open]::details-content{height:auto}

/* Scroll-driven: only where supported, never hides anything elsewhere */
@supports (animation-timeline: view()){
  .head > div:first-child, .pillar, .program, .obj-grid > div, .cap, .fit-grid > div, .pl-list li, .pb-rel li{
    animation:arrive linear both; animation-timeline:view(); animation-range:entry 0% entry 55%}
  @keyframes arrive{from{opacity:0;transform:translateY(22px)}}
  /* Curriculum climbs: numbers turn copper as each module arrives */
  .module::before{color:var(--rule);animation:climb linear both;animation-timeline:view();animation-range:entry 20% cover 40%}
  @keyframes climb{to{color:var(--copper-ink)}}
  /* Install weeks fill one after another */
  .step{border-top-color:var(--navy-rule);position:relative}
  .step::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--copper);transform-origin:left;animation:fill linear both;animation-timeline:view(); animation-range:entry 40% cover 45%}
  .step:nth-child(2)::before{animation-range:entry 60% cover 52%}
  .step:nth-child(3)::before{animation-range:entry 80% cover 59%}
  .step:nth-child(4)::before{animation-range:entry 100% cover 66%}
  @keyframes fill{from{transform:scaleX(0)}}
  /* Coaching rhythm rows step in */
  .rhythm-row{animation:arrive linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
}
@media (prefers-reduced-motion:reduce){.promise .seal .ring{animation:none}::view-transition-group(*){animation:none}.qa::details-content{transition:none}}

/* ===== Ozzie octopus ===== */
.octo-sec{background:var(--stone)}
.octo{position:relative;aspect-ratio:1000/640;max-width:1080px;margin:8px auto 0}
.octo-arms{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.arm{fill:none;stroke:color-mix(in oklch,var(--navy) 28%,transparent);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke .35s,stroke-width .35s}
.octo.armed .arm{stroke-dashoffset:1}
.octo.armed.in .arm{animation:draw 1.4s var(--ease) forwards}
.octo.in .arm:nth-child(4n+1){animation-delay:.05s}
.arm.on{stroke:var(--copper);stroke-width:3.4}
@keyframes draw{to{stroke-dashoffset:0}}
.pulse{fill:var(--copper);opacity:.85;transition:opacity .4s}
.octo.armed .pulse{opacity:0}
.octo.armed.in .pulse{opacity:.85;transition-delay:1.2s}
.octo-oz{position:absolute;left:50%;top:50%;width:22%;max-width:230px;transform:translate(-50%,-50%);animation:oz-float 5s ease-in-out infinite;filter:drop-shadow(0 22px 26px rgba(27,42,74,.25));pointer-events:none}
@keyframes oz-float{50%{transform:translate(-50%,calc(-50% - 10px))}}
.octo-node{position:absolute;transform:translate(-50%,-50%);opacity:1;display:grid;gap:2px;text-align:center;padding:12px 18px;min-width:150px;background:var(--paper);border:1px solid var(--rule);color:var(--ink);cursor:pointer;font-family:var(--sans);transition:transform .45s var(--ease),opacity .45s var(--ease),border-color .3s,background .3s,color .3s;box-shadow:0 10px 24px -14px rgba(27,42,74,.35)}
.octo.armed .octo-node{opacity:0;transform:translate(-50%,-50%) scale(.9)}
.octo.armed.in .octo-node{opacity:1;transform:translate(-50%,-50%) scale(1)}
.octo-node b{font-family:var(--serif);font-weight:600;font-size:16px;letter-spacing:-.01em}
.octo-node span{font-size:12px;color:var(--muted)}
.octo-node:hover,.octo-node.on{border-color:var(--copper)}
.octo-node.on{background:var(--navy);color:var(--paper)}
.octo-node.on span{color:var(--on-navy-muted)}
.octo-panel{max-width:720px;margin:28px auto 0;background:var(--navy);color:var(--on-navy);padding:28px 32px;display:grid;gap:10px;min-height:220px}
.octo-panel .label{color:var(--copper)}
.octo-panel h3{font-size:26px}
.octo-panel ul{margin:4px 0 0;padding-left:20px;display:grid;gap:6px;color:var(--on-navy-muted)}
.octo-panel ul li{animation:msg-in .45s var(--ease) both}
.op-note{font-size:13px;color:var(--copper);margin-top:6px}
/* Phones: Ozzie on top, arms as a grid */
@media (max-width:760px){
  .octo{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:190px}
  .octo-arms{display:none}
  .octo-oz{top:0;width:170px;transform:translateX(-50%);animation:none}
  .octo-node,.octo.in .octo-node{position:static;transform:none;min-width:0;left:auto!important;top:auto!important}
}
@media (prefers-reduced-motion:reduce){.arm{stroke-dashoffset:0}.octo .octo-node{opacity:1;transform:translate(-50%,-50%)}.pulse{display:none}.octo-oz{animation:none}}

/* ===== Section variety: cards + alternating grounds ===== */
/* Curriculum: module cards climbing like stairs */
.climb-sec{background:var(--stone)}
.climb-sec .modules{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;column-gap:14px;align-items:end;padding-top:8px}
.climb-sec .module{display:flex;flex-direction:column;gap:10px;border:1px solid var(--rule);background:var(--paper);padding:22px 20px 24px;min-height:200px;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.climb-sec .module::before{font-size:34px;font-weight:700;letter-spacing:-.03em}
.climb-sec .module h3{font-size:17px;line-height:1.25}
.climb-sec .module p{font-size:14px;margin-top:0}
.climb-sec .module:hover{transform:translateY(-6px);border-color:var(--copper);box-shadow:0 18px 30px -18px rgba(27,42,74,.35)}
.climb-sec .module:nth-child(5n+1){margin-top:96px}.climb-sec .module:nth-child(5n+2){margin-top:72px}
.climb-sec .module:nth-child(5n+3){margin-top:48px}.climb-sec .module:nth-child(5n+4){margin-top:24px}
.climb-sec .module:nth-child(n+6){margin-bottom:0}
@media (max-width:980px){.climb-sec .modules{grid-template-columns:1fr 1fr}.climb-sec .module{margin-top:0!important;min-height:0}}
@media (max-width:520px){.climb-sec .modules{grid-template-columns:1fr}}

/* Featured playbooks: a sideways row of cards */
.home-pl{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(270px,31%);grid-template-columns:none!important;gap:16px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin}
.home-pl li{scroll-snap-align:start}
.home-pl a{height:100%;border:1px solid var(--rule)!important;background:var(--paper);padding:26px 24px!important;align-content:start;gap:10px!important;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.home-pl a:hover{transform:translateY(-4px);border-color:var(--copper)!important;box-shadow:0 18px 30px -18px rgba(27,42,74,.35)}
.home-pl i{order:-1}
.home-pl b{font-size:20px!important}

/* Fit: three different cards */
.fit{background:var(--stone)}
.fit-grid{border-top:0;padding-top:0;gap:16px;align-items:stretch}
.fit-card{padding:30px 28px;border:1px solid var(--rule)}
.fit-yes{background:var(--paper)}
.fit-no{background:transparent;border-style:dashed}
.fit-how{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}
.fit-how li{border-color:var(--navy-rule)!important;color:var(--on-navy-muted)}
.fit-how b{color:var(--copper)!important}
.fit-card li:last-child{border-bottom:0}

/* Coach sits on white so its neighbours can differ */
.coach{background:var(--paper)}

/* Objections: white cards on navy with a big quote mark */
.objs{background:var(--navy);color:var(--on-navy)}
.objs .label{color:var(--copper)}
.obj-grid{border-top:0;gap:16px}
.obj-grid > div,.obj-grid > div:nth-child(2n){background:var(--paper);color:var(--ink);border:0;padding:56px 30px 30px!important;position:relative}
.obj-grid > div::before{content:"\201C";position:absolute;left:26px;top:4px;font:700 64px/1 var(--serif);color:var(--copper)}
.obj-grid > div:last-child:nth-child(odd){grid-column:1/-1}

/* Programs: separate cards, Accelerator raised */
.programs{border:0;gap:16px;align-items:stretch}
.program{border:1px solid var(--rule);background:var(--paper)}
.program+.program{border-left:1px solid var(--rule)}
.program.feature{position:relative;transform:translateY(-12px);box-shadow:0 28px 44px -26px rgba(27,42,74,.6);border-color:var(--navy)}
.program.feature::before{content:"Most agents start here";position:absolute;top:-13px;left:28px;background:var(--copper);color:var(--paper);font:700 10.5px var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:6px 10px}
@media (max-width:900px){.program.feature{transform:none}.program+.program{border-top:1px solid var(--rule)}}

/* Ozzie install: week cards */
.steps{gap:16px}
.step{border-top:0!important;background:rgba(255,255,255,.04);border:1px solid var(--navy-rule);padding:26px 24px 28px}
.step .when{font-size:30px;font-family:var(--serif);font-weight:700;letter-spacing:-.02em;text-transform:none}
.step::before{top:-1px!important}

/* Ozzie page grounds: navy hero, grey octopus, white numbers, grey story, white demo */
.proof{background:var(--paper)}
.story{background:var(--stone)}
.story .story-body{background:var(--paper);border:1px solid var(--rule);padding:30px 32px}
/* stairs: each row climbs left to right */
.climb-sec .modules{align-items:stretch;row-gap:84px}
.climb-sec .module{margin-top:0!important}
.climb-sec .module:nth-child(5n+1){translate:0 64px}.climb-sec .module:nth-child(5n+2){translate:0 48px}
.climb-sec .module:nth-child(5n+3){translate:0 32px}.climb-sec .module:nth-child(5n+4){translate:0 16px}
.climb-sec .wrap{padding-bottom:48px}
@media (max-width:980px){.climb-sec .modules{row-gap:14px}.climb-sec .module{translate:none!important}.climb-sec .wrap{padding-bottom:0}}

.story .head{align-items:start}
@media (max-width:760px){.octo.armed .octo-node,.octo.armed.in .octo-node{transform:none}}

/* ===== SMS consent + contact ===== */
.consent{border:1px solid var(--navy-rule);padding:18px 20px 16px;margin:6px 0 0;display:grid;gap:12px;min-width:0}
.consent legend{padding:0 8px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--on-navy-muted)}
.check{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;font-size:14.5px;color:var(--on-navy);cursor:pointer}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--copper);border-radius:0}
.consent-note{font-size:12.5px;line-height:1.55;color:var(--on-navy-muted)}
.consent-note a{color:var(--on-navy)}
.form-err{color:#F2B48A;font-size:13.5px}
.need{background:color-mix(in oklch,var(--copper) 14%,transparent);color:var(--copper-ink);padding:1px 6px;font-size:.9em;font-weight:600}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.contact-card{border:1px solid var(--rule);background:var(--paper);padding:28px 26px;display:grid;gap:8px;min-width:0}
.contact-card.wide{grid-column:1/-1;background:var(--stone)}
.contact-card .big{font-family:var(--serif);font-weight:600;font-size:20px;overflow-wrap:anywhere}
.contact-card p:not(.label){color:var(--ink)}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}
.legal ul{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--muted)}
.legal ul b{color:var(--ink)}

/* ===== The Climb (home, below hero) ===== */
.climb{position:relative;background:var(--stone)}
.climb-stage{position:relative;overflow:hidden;padding-block:var(--space-section)}
.climb .topo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.climb-grid{position:relative;z-index:1;display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.climb-copy{min-width:0}
.climb-map{min-width:0}
.climb-map svg{display:block;width:100%;height:auto;max-height:78vh;overflow:visible}
.trail-base{fill:none;stroke:rgba(27,42,74,.16);stroke-width:2.5;stroke-dasharray:2 9;stroke-linecap:round}
.trail{fill:none;stroke:var(--copper);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.wp-ring{fill:var(--paper);stroke:rgba(27,42,74,.22);stroke-width:1.5;transform-box:fill-box;transform-origin:center;transition:stroke .4s,transform .5s var(--ease)}
.wp-dot{fill:rgba(27,42,74,.22);transition:fill .4s}
.wp-n{font:700 14px var(--serif);fill:var(--muted);transition:fill .4s}
.wp-t{font:600 13.5px var(--sans);fill:var(--muted);opacity:.55;transition:opacity .4s,fill .4s}
.wp.done .wp-dot{fill:var(--copper)}.wp.done .wp-ring{stroke:var(--copper)}.wp.done .wp-n{fill:var(--copper-ink)}
.wp.on .wp-ring{transform:scale(1.35)}.wp.on .wp-t{opacity:1;fill:var(--ink)}
.summit path{fill:var(--navy)}.summit .flag{fill:var(--copper);transform-box:fill-box;transform-origin:left bottom;transition:transform .6s var(--ease)}
.summit text{font:700 15px var(--serif);fill:var(--ink)}.summit .sub{font:500 12.5px var(--sans);fill:var(--muted)}
.hiker{display:none}.hiker circle{fill:var(--copper)}.hiker .halo{opacity:.22;animation:halo 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes halo{50%{transform:scale(1.5);opacity:.08}}
.climb-panel{display:none;margin-top:32px;max-width:440px;background:var(--paper);border:1px solid var(--rule);padding:26px 28px;box-shadow:0 24px 40px -30px rgba(27,42,74,.45)}
.cp-top{display:flex;align-items:baseline;gap:10px}
.cp-n{font:700 64px/1 var(--serif);letter-spacing:-.04em;color:var(--copper-ink);font-variant-numeric:tabular-nums}
.cp-of{font-size:13px;color:var(--muted);letter-spacing:.06em}
.climb-panel h3{margin-top:10px;font-size:24px}
.climb-panel p{margin-top:6px;color:var(--muted)}
.climb-panel .swap{animation:msg-in .4s var(--ease) both}
.cp-bar{height:3px;background:var(--rule);margin-top:20px}.cp-bar i{display:block;height:100%;width:10%;background:var(--copper);transition:width .5s var(--ease)}
.cp-cta{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s,margin .5s}
.climb.summited .cp-cta{max-height:90px;opacity:1;margin-top:22px}
.climb.summited .summit .flag{transform:scale(1.15)}
.climb-list{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:0;border-left:2px solid var(--rule)}
.climb-list li{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:14px 0 14px 20px;position:relative}
.climb-list li::before{content:"";position:absolute;left:-7px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--copper)}
.climb-list .cl-n{font:700 20px var(--serif);color:var(--copper-ink)}
.climb-list b{font-family:var(--serif);font-weight:600}.climb-list p{font-size:14.5px;color:var(--muted);margin-top:2px}
/* Pinned desktop journey (JS adds .pin) */
.climb.pin{height:440vh}
.climb.pin .climb-stage{position:sticky;top:0;height:100vh;padding-block:76px 24px;display:flex;align-items:center}
.climb.pin .climb-stage > .wrap{width:100%}
.climb.pin .climb-panel{display:block}.climb.pin .climb-list{display:none}.climb.pin .hiker{display:block}
@media (max-width:899px){.climb-grid{grid-template-columns:1fr}.climb-map{display:none}}
@media (min-width:900px){.climb:not(.pin) .climb-list{display:none}.climb:not(.pin) .wp .wp-dot{fill:var(--copper)}.climb:not(.pin) .wp-t{opacity:1}}
@supports (animation-timeline: view()){
  .climb-list li::before{animation:cl-fill linear both;animation-timeline:view();animation-range:entry 30% cover 45%}
  @keyframes cl-fill{to{background:var(--copper)}}
}
/* Climb: stronger map */
.trail-base{stroke:rgba(27,42,74,.22);stroke-width:3}
.trail{stroke-width:5}
.wp-ring{stroke-width:2}
.wp-n{font-size:17px}
.wp-t{font-size:15.5px;opacity:.7}
.summit text{font-size:17px}
/* Climb: always fits one screen while pinned */
.climb.pin .climb-stage{padding-block:84px 20px;align-items:center}
.climb.pin .climb-map svg{max-height:calc(100vh - 130px)}
.climb.pin h2{font-size:clamp(30px,3.4vw,46px)}
.climb.pin .climb-copy .lead{font-size:16px;margin-top:14px!important}
.climb.pin .climb-panel{margin-top:22px;padding:22px 24px}
.climb.pin .cp-n{font-size:54px}
.climb.pin .climb-panel h3{font-size:21px}
.climb.summited .cp-cta{margin-top:16px}
.climb{padding-block:0}
/* Climb on phones: same journey, stacked: heading, map, panel */
@media (max-width:899px){
  .climb.pin{height:400vh}
  .climb.pin .climb-stage{height:100vh;height:100svh;padding-block:68px 14px;display:block}
  .climb.pin .climb-stage > .wrap{height:100%}
  .climb.pin .climb-grid{display:flex;flex-direction:column;align-items:stretch;height:100%;gap:8px}
  .climb.pin .climb-copy{display:contents}
  .climb.pin .climb-copy .label{order:0;margin-top:4px}
  .climb.pin h2{order:1;font-size:26px;margin-top:6px!important}
  .climb.pin .climb-copy .lead{display:none}
  .climb.pin .climb-map{display:block;order:2;flex:1 1 auto;min-height:0;display:flex;justify-content:center}
  .climb.pin .climb-map svg{height:100%;width:auto;max-width:100%;max-height:none}
  .climb.pin .wp-t{display:none}
  .climb.pin .wp-n{font-size:22px}
  .climb.pin .wp-ring{r:20}
  .climb.pin .summit text{font-size:22px}.climb.pin .summit .sub{display:none}
  .climb.pin .climb-panel{order:3;display:block;margin:0;max-width:none;padding:14px 16px}
  .climb.pin .cp-n{font-size:34px}
  .climb.pin .climb-panel h3{font-size:17px;margin-top:4px}
  .climb.pin .climb-panel p{font-size:13.5px;margin-top:2px}
  .climb.pin .cp-bar{margin-top:10px}
  .climb.summited .cp-cta{margin-top:12px}
  .climb.pin .cp-cta .btn{width:100%;justify-content:center;padding:14px 18px}
}
@media (max-width:899px){.climb.pin .cp-cta .btn{font-size:12px;letter-spacing:.12em;white-space:nowrap}}
/* Free Build Calls (home, under the hero) */
.buildcalls{background:var(--paper);border-bottom:1px solid var(--rule)}
.buildcalls .split{align-items:center}
.bc-dates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bc-dates li{border:1px solid var(--rule);background:var(--stone);padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.bc-dates b{font:700 26px var(--serif);color:var(--navy,inherit)}
.bc-dates span{font-size:14px;color:var(--muted)}
.cta-band .ctas{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.buildcalls .ctas{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
/* Landing pages: everything centred */
.landing .page-hero .wrap,.landing section .wrap{text-align:center}
.landing .label{justify-content:center}
.landing .page-hero h1,.landing .page-hero .lead{margin-inline:auto}
.landing .page-hero .lead{max-width:40em}
body:has(.landing) .site-foot .legal{justify-content:center;text-align:center;flex-wrap:wrap;gap:8px 24px}
/* Landing: calendar rides up into the hero, bouncing cue points at it */
.landing .page-hero .wrap{padding-block:64px 150px;gap:18px}
.landing .page-hero .ctas{justify-content:center;margin-top:4px}
.landing .book{padding-top:0;margin-top:-130px;position:relative;z-index:2;scroll-margin-top:16px}
.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:10px;color:var(--copper);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.scroll-cue i{width:14px;height:14px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);animation:cue-bob 1.6s ease-in-out infinite}
@keyframes cue-bob{0%,100%{translate:0 0}50%{translate:0 7px}}
@media (prefers-reduced-motion:reduce){.scroll-cue i{animation:none}}
@media (max-width:700px){.landing .page-hero .wrap{padding-block:44px 130px}.landing .book{margin-top:-110px}}
.site-foot .top{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:40px}@media (max-width:760px){.site-foot .top{grid-template-columns:1fr 1fr}}

/* ===== Elevation brand (Skyleigh, MASTER 2026-10-07: "Lato, white and navy, terracotta highlight"; values from her Build Guide) ===== */
:root{
  --navy:#182848; --navy-deep:#101B30; --ink:#182848; --navy-rule:#304058;
  --copper:#C46340; --copper-ink:#A34E2E;
  --stone:#F4F6FA; --paper:#FFFFFF; --rule:#E3E7EF; --muted:#5A6478;
  --on-navy:#FFFFFF; --on-navy-muted:#D5DBE6;
  --sans:"Lato",system-ui,-apple-system,"Segoe UI",sans-serif; --serif:"Lato",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body{font-family:var(--sans)}
h1,h2,h3,.page-hero h1,.hero h1{font-weight:900}
h1,.page-hero h1{letter-spacing:-.025em}
h2{letter-spacing:-.018em}
.label{font-size:13px;font-weight:700;letter-spacing:.15em}
.btn{font:700 16px/1 var(--sans);letter-spacing:0;text-transform:none;padding:18px 28px;border-radius:999px;border-width:2px}
.btn:hover{transform:translateY(-1px)}
.link{font-family:var(--sans);font-weight:700}
.nav ul a{font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--navy)}
.nav ul a:hover,.nav ul a[aria-current="page"]{color:var(--copper)}
.link{font-size:16px;letter-spacing:0;text-transform:none;color:var(--copper-ink)}
.on-navy .link,.page-hero .link,.hero .link,.cta-band .link{color:var(--on-navy)}

/* Brand shape (her Build Guide): rounded cards 18-28px, soft navy shadows, terra-light on navy, 20px slate lead */
:root{--terra-light:#E08B68;--slate:#304058;--tint:#EEF1F7;--radius:22px;--shadow:0 18px 44px rgba(24,40,72,.10)}
.program,.fit-card,.contact-card,.climb-panel,.climb-sec .module,.home-pl a,.bc-dates li,.console,.empty,
.pb .pb-card,.pb .pb-framework-step,.pb .pb-objection-block,.pb .pb-touchpoint,.story .story-body{border-radius:var(--radius)}
.program,.fit-card,.contact-card,.climb-panel,.home-pl a,.console,.pb .pb-card{box-shadow:var(--shadow)}
.programs,.pb-tbl{border-radius:var(--radius);overflow:hidden}
.octo-node{border-radius:18px}
.pchip{border-radius:999px}
.menu nav{border-radius:18px;overflow:hidden}
.coach img,.about-grid img{border-radius:28px}
input,select,textarea{border-radius:12px}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--slate)}
.on-navy .label,.page-hero .label,.hero .label,.cta-band .label{color:var(--terra-light)}
.on-navy .label::before,.page-hero .label::before,.hero .label::before{filter:brightness(1.15)}
/* Speed: the hero headline and intro paint immediately (no fade-in from invisible), so they count as the first big paint */
.hero-copy > h1,.hero-copy > .lead,.hero-copy > .label,.page-hero .wrap > h1,.page-hero .wrap > div > h1,.page-hero .split > div{animation:none}
/* Real estate AI guides: the Claude prompt block */
.ai-prompt{white-space:pre-wrap;font:14.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--soft,#F4F6FA);border-left:4px solid #C46340;border-radius:0 14px 14px 0;padding:18px 20px;margin:0;color:#182848;overflow-wrap:anywhere}
.pb ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
