/* Ellsworth Capitol redesign preview (rd v1): clear, corporate, premium.
   Layout ideas modeled on kornferry.com (white nav, left-aligned hero, mosaic, split CTA form)
   and maxconnect.com (full-bleed hero, numbered "who we serve" grid, dark CTA bar). */
:root{--serif:"Montserrat","Inter",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
 --t-display:clamp(2.6rem,5vw,4.4rem);--t-h1:clamp(2.4rem,4.6vw,3.9rem);--t-h2:clamp(2rem,3.4vw,3rem);--t-stage:clamp(1.6rem,2.4vw,2.1rem);
 --r:6px;--rd-navh:72px}
h1,h2,.display{font-weight:500;letter-spacing:-.028em;line-height:1.06}
h3{letter-spacing:-.01em}
.eyebrow{letter-spacing:.14em;font-size:.75rem}

/* Buttons: squared, solid, with arrow (KF) */
.btn{border-radius:4px;height:50px;font-weight:600;letter-spacing:0}
.btn-sm{height:38px}
.btn.btn-arrow::after{content:"";width:.45em;height:.45em;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:.15em;transition:transform .25s var(--ease)}
.btn.btn-arrow:hover::after{transform:translateX(3px) rotate(45deg)}
.btn-white{background:#fff;border-color:#fff;color:var(--navy)}.btn-white:hover{background:#f1f2f5;border-color:#f1f2f5}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn-line:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* Header: white bar, navy wordmark, navy text (KF) */
.nav,.nav.scrolled,.home .nav,.home .nav.scrolled,.home.menu-open .nav{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px)}
.home .nav{position:sticky}
.nav{height:var(--rd-navh)}
:root{--navh:72px}
.nav-logo img{height:18px}
#site-nav a{color:var(--ink);font-weight:500;font-size:.9rem}
#site-nav a:hover,#site-nav a[aria-current]{color:var(--gold-ink)}
.nav-signin{color:var(--muted);font-weight:500}.nav-signin:hover{color:var(--ink)}
.nav-end .btn{height:40px;background:var(--navy);border-color:var(--navy);color:#fff}
.nav-end .btn:hover{background:var(--navy-3);border-color:var(--navy-3)}
.nav-toggle span{background:var(--ink)}

/* Home hero: left-aligned, one-line what-we-do (KF structure over MC full-bleed media) */
.home .hero{min-height:calc(100svh - var(--rd-navh));max-height:none;align-items:center}
.home .hero::before{background:linear-gradient(90deg,rgba(14,26,51,.92) 0%,rgba(14,26,51,.72) 42%,rgba(14,26,51,.18) 78%,rgba(14,26,51,.1) 100%),linear-gradient(0deg,rgba(14,26,51,.75) 0%,transparent 40%)}
.home .hero-copy{width:min(100% - 48px,1240px);text-align:left;padding:40px 0 112px}
.home .hero h1{margin:0;max-width:13ch;font-size:var(--t-display);font-weight:600;line-height:1.02}
.home .hero .eyebrow{margin-bottom:var(--s3)}
.hero-sub{font:500 clamp(1.15rem,1.6vw,1.45rem)/1.45 var(--sans);color:#fff;max-width:36ch;margin:var(--s4) 0 0;letter-spacing:-.01em}
.home .hero-lead{margin:var(--s3) 0 0;max-width:48ch;text-wrap:pretty;font-size:1.0625rem;color:rgba(255,255,255,.78)}
.home .hero .acts{justify-content:flex-start;margin-top:var(--s5);gap:var(--s2)}
.home .hero-loc{margin:var(--s4) 0 0;font-size:.875rem;color:rgba(255,255,255,.62)}
.hero-cue{display:none}
.hero-ctl{bottom:96px}
/* Stage ribbon across the bottom of the hero (KF marquee band, static) */
.rd-ribbon{position:absolute;left:0;right:0;bottom:0;z-index:1;background:rgba(14,26,51,.86);border-top:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rd-ribbon ol{list-style:none;margin:0 auto;padding:0;width:min(100% - 48px,1240px);display:grid;grid-template-columns:auto repeat(5,1fr)}
.rd-ribbon li{border-left:1px solid rgba(255,255,255,.12)}
.rd-ribbon li.lab{border-left:0;display:flex;align-items:center;padding-right:var(--s4);font:600 .72rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.rd-ribbon a{display:flex;align-items:baseline;gap:10px;padding:22px 18px;color:#fff;text-decoration:none;font:600 1rem/1.1 var(--sans);transition:background .2s}
.rd-ribbon a:hover{background:rgba(255,255,255,.07)}
.rd-ribbon a span{font:500 .72rem/1 var(--sans);letter-spacing:.12em;color:var(--gold)}

/* What we do: stage tiles (KF mosaic cards) */
.rd-what{background:#fff}
.rd-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.rd-tile{position:relative;display:flex;flex-direction:column;min-height:320px;padding:32px 30px 28px;border-radius:var(--r);background:var(--stone);color:var(--text);text-decoration:none;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.rd-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(14,26,51,.45)}
.rd-tile .n{font:600 .75rem/1 var(--sans);letter-spacing:.16em;color:var(--gold-ink)}
.rd-tile h3{font:600 1.75rem/1.1 var(--serif);letter-spacing:-.02em;color:var(--ink);margin:14px 0 10px}
.rd-tile .o{font-size:1rem;line-height:1.55;margin:0 0 var(--s3)}
.rd-tile ul{list-style:none;margin:auto 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.rd-tile li{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;padding:5px 0;color:var(--ink)}
.rd-tile li b{font-weight:600;white-space:nowrap}
.rd-tile .more{margin-top:18px;font-weight:600;font-size:.9rem;color:var(--gold-ink);display:inline-flex;gap:.4em;align-items:center}
.rd-tile .more::after{content:"";width:.42em;height:.42em;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.rd-tile.dark{background:var(--navy);color:var(--on-dark)}
.rd-tile.dark h3{color:#fff}.rd-tile.dark .n,.rd-tile.dark .more{color:var(--gold)}
.rd-tile.dark ul{border-top-color:var(--line-d)}.rd-tile.dark li{color:#fff}
.rd-tile.gold{background:var(--gold);color:var(--navy)}
.rd-tile.gold h3,.rd-tile.gold .n,.rd-tile.gold .more,.rd-tile.gold li{color:var(--navy)}
.rd-tile.gold ul{border-top-color:rgba(14,26,51,.2)}
.rd-note{margin-top:var(--s4);font-size:.8125rem;color:var(--muted)}

/* Who we serve: numbered grid (MC verticals) */
.rd-serve{background:var(--paper)}
.rd-serve .split{align-items:start}
.rd-ind{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;list-style:none;margin:var(--s6) 0 0;padding:0;counter-reset:ind}
.rd-ind li{counter-increment:ind;border-top:2px solid var(--ink);padding-top:18px;font:500 1.2rem/1.3 var(--serif);letter-spacing:-.015em;color:var(--ink)}
.rd-ind li::before{content:counter(ind);display:block;font:600 .8rem/1 var(--sans);letter-spacing:.1em;color:var(--gold-ink);margin-bottom:12px}

/* Begin: dark full-width CTA band (MC "brand needs to shine" bar) */
.begin.sec-stone{background:var(--navy);color:var(--on-dark)}
.begin h2{color:#fff}.begin .eyebrow{color:var(--gold)}.begin .lead{color:var(--on-dark)}
.begin .roi{color:#d9c9a3;border-left-color:var(--gold)}
.begin .begin-card{background:#fff;color:var(--text);border-radius:var(--r)}
.begin .begin-card .kick{color:var(--gold-ink)}.begin .begin-card .price-big{color:var(--ink)}.begin .begin-card li{color:var(--text)}
.begin .begin-card .cad{color:var(--muted)}
.begin .begin-card .go{color:var(--gold-ink)}

/* Mosaic: photo tiles + text tiles, non-numeric proof (KF mosaic) */
.rd-mosaic{background:#fff}
.rd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(240px,auto);gap:16px}
.rd-grid>*{border-radius:var(--r);overflow:hidden;position:relative}
.rd-grid .ph{grid-column:span 2;background:var(--navy) center/cover no-repeat;min-height:240px}
.rd-grid .tx{display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:var(--stone)}
.rd-grid .tx h3{font:600 1.4rem/1.15 var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 10px}
.rd-grid .tx p{margin:0;font-size:.95rem;line-height:1.55;color:var(--text)}
.rd-grid .tx.big{grid-column:span 2;background:var(--navy)}
.rd-grid .tx.big h3{font-size:clamp(1.8rem,2.6vw,2.4rem);color:#fff}.rd-grid .tx.big p{color:var(--on-dark);max-width:44ch}
.rd-grid .tx.big .btn{margin-top:22px;align-self:flex-start}
.rd-grid .tx.navy{background:linear-gradient(160deg,var(--navy-3),var(--navy))}.rd-grid .tx.navy h3{color:#fff}.rd-grid .tx.navy p{color:var(--on-dark)}
.rd-grid .tx.gold{background:linear-gradient(160deg,#e9dcc0,#f4efe4)}

/* Founder with photo */
.rd-founder{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.rd-founder img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);display:block}
.rd-founder .lede{font:500 clamp(1.3rem,1.9vw,1.6rem)/1.4 var(--serif);letter-spacing:-.015em;color:var(--ink);margin:var(--s3) 0}

/* Section rhythm: tighter, corporate */
:root{--sec:clamp(80px,9vw,136px)}
.sec-stone{background:var(--stone)}
.stage-side h3,.tl .t{font-weight:600}
.card h3,.svc h3{font-family:var(--sans)}
.card{border-radius:var(--r)}
.form-card{border-radius:var(--r)}
.form-card button[type=submit]{border-radius:4px}
.contact.sec-stone{background:linear-gradient(180deg,#f3f0e9,#fbfaf7)}

/* Inner pages: page head reads like KF section openers */
.phead{background:var(--stone);border-bottom:1px solid var(--line)}
.phead h1{font-weight:600}
.svc-hero .price-big{font-family:var(--serif);font-weight:600;letter-spacing:-.02em}
.close{background:var(--navy)!important;color:var(--on-dark)}
.close h2{color:#fff}.close p{color:var(--on-dark)}

/* Footer */
.foot{background:#0b1529}

/* Responsive */
@media(max-width:1100px){.rd-ind{grid-template-columns:repeat(2,1fr)}.rd-grid{grid-template-columns:1fr 1fr}.rd-ribbon ol{grid-template-columns:repeat(5,1fr)}.rd-ribbon li.lab{display:none}.rd-ribbon li:nth-child(2){border-left:0}}
@media(max-width:900px){
 .rd-tiles{grid-template-columns:1fr 1fr}
 .rd-founder{grid-template-columns:1fr}.rd-founder img{max-width:440px;aspect-ratio:4/4.4}
 #site-nav{background:#fff}
 #site-nav a,#site-nav button{color:var(--ink);font-family:var(--sans);font-weight:600;font-size:1.5rem;border-bottom-color:var(--line)}
 #site-nav .m-small{color:var(--muted)}
 #site-nav a.m-cta{border-radius:4px;background:var(--navy);border-color:var(--navy);color:#fff}
 .nav,.nav.scrolled,.home .nav.scrolled,.menu-open .nav,.home.menu-open .nav{background:#fff}
 .home .hero::before{background:linear-gradient(0deg,rgba(14,26,51,.95) 0%,rgba(14,26,51,.7) 55%,rgba(14,26,51,.35) 100%)}
}
@media(max-width:700px){
 :root{--navh:60px;--rd-navh:60px}
 .home .hero{min-height:auto}
 .home .hero-copy{padding:72px 0 40px}
 .home .hero .acts .btn{width:100%}
 .hero-ctl{top:16px;bottom:auto}
 .rd-ribbon{position:relative}
 .rd-ribbon ol{grid-template-columns:1fr;width:100%}
 .rd-ribbon li{border-left:0;border-top:1px solid rgba(255,255,255,.1)}
 .rd-ribbon a{padding:15px 24px}
 .home .hero{flex-direction:column;align-items:stretch}
 .rd-tiles{grid-template-columns:1fr}
 .rd-tile{min-height:0}
 .rd-ind{grid-template-columns:1fr 1fr;gap:28px 18px}.rd-ind li{font-size:1.05rem}
 .rd-grid{grid-template-columns:1fr}.rd-grid .ph,.rd-grid .tx.big{grid-column:auto}.rd-grid .ph{min-height:220px}
}
.rd-grid .tx.wide{grid-column:span 2;min-height:200px}
@media(max-width:700px){.rd-grid .tx.wide{grid-column:auto;min-height:0}}

/* ---- rd v2: inner page heads (dark band over the aerial, same as the home hero) ---- */
.phead{position:relative;isolation:isolate;background:var(--navy) url(/assets/media/hero-poster.webp) 70% 60%/cover no-repeat;color:var(--on-dark);border-bottom:0;padding:clamp(72px,8vw,120px) 0 clamp(64px,7vw,104px)}
.phead::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,26,51,.96) 0%,rgba(14,26,51,.86) 45%,rgba(14,26,51,.55) 100%)}
.phead h1{color:#fff}
.phead .eyebrow,.phead .crumb{color:var(--gold)}.phead .crumb:hover{color:#fff}
.phead .lead,.phead p{color:var(--on-dark)}
.phead .go{color:var(--gold)}
.phead .btn:not(.btn-gold){background:#fff;border-color:#fff;color:var(--navy)}
.phead .btn:not(.btn-gold):hover{background:#f1f2f5;border-color:#f1f2f5}
.phead .btn.btn-ghost,.phead .btn.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.phead .btn.btn-ghost:hover,.phead .btn.btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
.phead .price-big{color:#fff}.phead .cad{color:#aab1c1}
.phead .math{background:rgba(255,255,255,.07);border-left-color:var(--gold)}
.phead .math p{color:#fff}.phead .math .math-note{color:#aab1c1}.phead .math .eyebrow{color:var(--gold)}
.phead a.inline{color:#fff}
.phead .fine{color:#aab1c1}
/* static stage ribbon under an inner page head */
.rd-ribbon.static{position:relative}
.rd-ribbon.static{background:var(--navy-2)}
/* compact serve band on inner pages */
.rd-serve.compact .rd-ind{margin-top:var(--s5)}
/* advisory proof grid without photos */
.rd-grid.np{grid-auto-rows:minmax(200px,auto)}
/* about split stays readable after the dark head */
.subnav{top:var(--navh)}
@media(max-width:700px){.phead{padding:56px 0 52px}.rd-ribbon.static ol{grid-template-columns:1fr}}
/* rd v3: breathing room between a dark page head and a section that starts flush (free tools pages) */
.phead + .sec[style*="padding-top:0"]{padding-top:clamp(48px,6vw,88px)!important}
