/* ef-layout.css — Each Focus visual floor.
   Quiet luxury: forest, cream, museum gold. Fraunces + Hanken Grotesk.
   Visual only. Not Hillman Ventures. Not Andrew. */

@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-vf.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-italic-vf.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/fonts/hanken-grotesk-vf.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --cream:#F3EEE4;
  --cream-soft:#F8F4EB;
  --ink:#0C1210;
  --ink-2:#1E2622;
  --ink-mid:#4A5650;
  --ink-quiet:#6F7C75;
  --line:#D4CBB6;
  --hair:#E5DCCB;
  --forest:#103F35;
  --forest-deep:#071C17;
  --gold:#C6902E;
  --gold-ink:#8A6420;
  --gold-soft:#E8CC8A;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ease:cubic-bezier(0.22, 1, 0.36, 1);
  --measure:1120px;
}

html{overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
*{box-sizing:border-box;margin:0;padding:0}
::selection{background:var(--forest);color:#F8F4EB}
body{
  font-family:var(--sans);
  font-size:16.5px;
  line-height:1.64;
  color:var(--ink);
  background:
    radial-gradient(1200px 480px at 50% -80px, rgba(16,63,53,.06), transparent 60%),
    var(--cream);
  letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1,"liga" 1;
  text-wrap:pretty;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .28s var(--ease),opacity .28s var(--ease),border-color .28s var(--ease)}
a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:1px}
p a, .contact-sub a{
  color:var(--forest);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:from-font;
}
h1,h2,h3{font-family:var(--serif);text-wrap:balance}

.skip-to-content{
  position:absolute;left:-9999px;top:0;z-index:2147483600;
  padding:12px 20px;background:var(--forest);color:#fff;
  font:600 15px/1.4 var(--sans);text-decoration:underline;
}
.skip-to-content:focus,.skip-to-content:focus-visible{
  position:fixed!important;left:12px!important;top:12px!important;
  width:auto!important;height:auto!important;min-width:44px;min-height:44px;
  overflow:visible!important;clip:auto!important;clip-path:none!important;
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  display:inline-flex!important;align-items:center;z-index:2147483646!important;
}

.markbar{
  position:sticky;top:0;z-index:50;
  background:rgba(7,28,23,.92);
  backdrop-filter:saturate(140%) blur(18px);
  -webkit-backdrop-filter:saturate(140%) blur(18px);
  border-bottom:1px solid rgba(232,204,138,.22);
}
.markbar-inner{
  max-width:var(--measure);margin:0 auto;
  padding:20px 44px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
@media(max-width:600px){.markbar-inner{padding:16px 22px}}
.brand{
  display:inline-flex;align-items:center;gap:.55rem;
  color:#fff;text-decoration:none;
}
.brand-mark{
  width:28px;height:28px;border-radius:0;
  background:transparent;
  display:grid;place-items:center;
  border:0;
}
.brand-mark svg{display:block;width:22px;height:22px}
.brand-name{
  font-family:var(--serif);
  font-variation-settings:"wght" 500,"opsz" 36;
  font-size:18px;letter-spacing:.08em;font-weight:500;line-height:1;color:#F8F4EB;
  text-transform:uppercase;
}
.nav{display:flex;gap:36px;align-items:center}
.nav a{
  color:rgba(248,244,235,.78);
  font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  min-height:44px;display:inline-flex;align-items:center;
}
.nav a:hover{color:var(--gold-soft)}
@media(max-width:820px){
  .markbar-inner{flex-wrap:wrap;gap:12px}
  .nav{flex-wrap:wrap;gap:8px 18px}
}

.hero{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:min(92vh,920px);
  padding:128px 44px 108px;
  color:#FAF7EE;
  background:var(--forest-deep);
  display:flex;align-items:flex-end;
}
@media(max-width:600px){.hero{padding:108px 22px 80px;min-height:min(88vh,780px)}}
.hero-loop{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
}
.hero-loop::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(7,28,23,.12) 0%, rgba(7,28,23,.55) 62%, rgba(7,28,23,.88) 100%),
    linear-gradient(180deg,rgba(7,28,23,.28) 0%,rgba(7,28,23,.18) 38%,rgba(7,28,23,.86) 100%);
}
.hero-grain{
  position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.28;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.82 0 0 0 0 0.7 0 0 0 0 0.42 0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.hero-loop-poster,.hero-loop-video{
  position:absolute;inset:-8%;
  width:116%;height:116%;
  max-width:none!important;
  object-fit:cover;object-position:center 46%;
  display:block;
  filter:saturate(.86) contrast(1.12) brightness(.92);
  animation:ef-drift 64s var(--ease) infinite alternate;
  will-change:transform;
}
.hero-loop-video{z-index:1}
@keyframes ef-drift{from{transform:scale(1.02)}to{transform:scale(1.07)}}
.hero-in{position:relative;z-index:4;max-width:var(--measure);margin:0 auto;width:100%}
.hero-eyebrow{
  font-size:11px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold-soft);font-weight:600;margin-bottom:32px;
  font-family:var(--sans);
}
.hero-headline{
  font-family:var(--serif);
  font-variation-settings:"wght" 380,"opsz" 144,"SOFT" 40;
  font-size:clamp(2.55rem,5.8vw,4.55rem);
  line-height:1.04;letter-spacing:-.042em;
  color:#FAF7EE;max-width:16ch;margin-bottom:.78em;
}
.hero-headline em{
  font-style:italic;
  font-variation-settings:"wght" 360,"opsz" 144,"SOFT" 70;
  color:var(--gold-soft);
}
.hero-lede{
  font-size:clamp(17.5px,1.7vw,20px);
  line-height:1.68;color:rgba(250,247,238,.78);
  max-width:48ch;margin-bottom:44px;
}
.hero-cta-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:14px 26px;
  background:var(--gold-soft);color:var(--forest-deep);
  font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;border-radius:0;
  transition:background .28s var(--ease),color .28s var(--ease),border-color .28s var(--ease);
}
.cta:hover{background:#fff}
.cta.ghost{
  background:transparent;color:#FAF7EE;
  border:1px solid rgba(232,204,138,.45);
}
.cta.ghost:hover{border-color:var(--gold-soft);background:transparent;color:var(--gold-soft)}

.section-rule{max-width:var(--measure);margin:0 auto;padding:0 44px}
@media(max-width:600px){.section-rule{padding:0 22px}}
.section-rule hr{border:none;border-top:1px solid var(--hair);margin:0}

.section{
  max-width:var(--measure);margin:0 auto;
  padding:clamp(3.6rem,8vw,7.2rem) 44px;
}
@media(max-width:600px){.section{padding:clamp(3.2rem,8vw,6.2rem) 22px}}
.section-head{
  display:grid;grid-template-columns:180px 1fr;gap:3.2rem;margin-bottom:3.4rem;
}
@media(max-width:780px){.section-head{grid-template-columns:1fr;gap:.85rem}}
.section-label{
  font-size:11px;font-weight:600;color:var(--gold-ink);
  letter-spacing:.28em;text-transform:uppercase;padding-top:.55rem;
  font-family:var(--sans);
}
.section-title{
  font-family:var(--serif);
  font-variation-settings:"wght" 430,"opsz" 80,"SOFT" 30;
  font-size:clamp(1.75rem,3.3vw,2.55rem);
  line-height:1.12;letter-spacing:-.032em;color:var(--ink);max-width:20ch;
}

.prose{max-width:62ch;font-size:clamp(17px,1.65vw,19.5px);line-height:1.72;color:var(--ink-mid)}
.prose p+p{margin-top:1.35rem}
.prose strong{color:var(--ink);font-weight:600}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:64px 56px}
.card{
  background:transparent;border:0;border-top:1px solid var(--gold);
  border-radius:0;padding:28px 0 0;
}
.card-num{
  font-family:var(--sans);font-size:11px;color:var(--gold-ink);font-style:normal;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.1rem;display:block;
}
.card-h{
  font-family:var(--serif);font-variation-settings:"wght" 480,"opsz" 36,"SOFT" 20;
  font-size:23px;line-height:1.16;letter-spacing:-.018em;color:var(--ink);margin-bottom:12px;
}
.card-b{font-size:16.5px;color:var(--ink-mid);line-height:1.7}

.two-up{display:grid;grid-template-columns:1fr 1fr;gap:3.4rem 4.5rem}
@media(max-width:780px){.two-up{grid-template-columns:1fr;gap:2.6rem}}
.principle{border-top:1px solid rgba(232,204,138,.55);padding-top:1.55rem}
.principle-h{
  font-family:var(--serif);font-size:1.3rem;letter-spacing:-.018em;color:#fff;margin-bottom:.7rem;font-weight:500;
}
.principle-b{font-size:1rem;line-height:1.7;color:rgba(245,242,234,.74)}

.darkband{
  background:
    radial-gradient(900px 380px at 80% -10%, rgba(232,204,138,.08), transparent 55%),
    var(--forest);
  color:var(--cream);
}
.darkband .section{padding:clamp(3.6rem,8vw,7.2rem) 44px}
@media(max-width:600px){.darkband .section{padding:clamp(3.2rem,8vw,6.2rem) 22px}}
.darkband .section-label{color:var(--gold-soft)}
.darkband .section-title{color:#fff}

.faq-item{
  border-top:1px solid var(--hair);padding:28px 0;
  display:grid;grid-template-columns:1fr 2fr;gap:2.2rem;
}
@media(max-width:780px){.faq-item{grid-template-columns:1fr;gap:.55rem}}
.faq-q{
  font-family:var(--serif);font-size:21px;color:var(--ink);
  letter-spacing:-.016em;line-height:1.28;font-weight:500;
}
.faq-a{font-size:15.5px;line-height:1.74;color:var(--ink-mid);max-width:62ch}

.contact{background:var(--cream-soft);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.contact .section{padding:clamp(3.4rem,7.5vw,5.8rem) 44px}
@media(max-width:600px){.contact .section{padding:clamp(3.2rem,7.5vw,5.4rem) 22px}}
.contact-row{display:grid;grid-template-columns:1fr auto;gap:2.2rem;align-items:center}
@media(max-width:780px){.contact-row{grid-template-columns:1fr}}
.contact-headline{
  font-family:var(--serif);font-size:clamp(1.75rem,3.1vw,2.5rem);
  line-height:1.12;letter-spacing:-.032em;color:var(--ink);max-width:22ch;
}
.contact-sub{font-size:1.05rem;color:var(--ink-mid);margin-top:.8rem;max-width:46ch}
.contact .cta{background:var(--forest);color:#fff;letter-spacing:.14em}
.contact .cta:hover{background:var(--forest-deep)}

footer{background:#071C17;color:rgba(245,242,234,.62)}
.foot{
  max-width:var(--measure);margin:0 auto;padding:72px 44px 36px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;
  font-size:12px;letter-spacing:.06em;
}
@media(max-width:600px){.foot{padding:56px 22px 32px}}
.foot-rings{width:36px;height:22px;margin-bottom:4px;opacity:.85}
.foot-mark{
  font-family:var(--serif);font-size:13px;color:#F8F4EB;letter-spacing:.22em;font-weight:500;text-transform:uppercase;
}
.foot a{color:rgba(232,204,138,.8);text-decoration:none;margin-left:.6rem;min-height:44px;display:inline-flex;align-items:center;letter-spacing:.12em;text-transform:uppercase}
.foot a:hover{color:#fff}
.foot-disaffiliation{margin-top:10px;font-size:11.5px;line-height:1.55;opacity:.58;max-width:58ch;letter-spacing:.02em}

.page-miss{
  min-height:70vh;display:grid;place-items:center;padding:6rem 1.6rem;text-align:center;
}
.page-miss p{max-width:36ch;margin:0 auto;color:var(--ink-mid);font-size:1.05rem;line-height:1.7}
.page-miss a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}

@media (prefers-reduced-motion:no-preference){
  .reveal{animation:elegantFadeIn 1050ms var(--ease) both}
  .card{animation:polishRise 1050ms var(--ease) both}
  .card:nth-child(2){animation-delay:.1s}
  .principle{animation:elegantFadeIn 1050ms var(--ease) both}
}
@keyframes elegantFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes polishRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-loop-poster,.hero-loop-video{animation:none!important;transform:none!important;inset:0;width:100%;height:100%}
  .reveal,.card,.principle,.cta,a{animation:none!important;transition:none!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
html.enh-reveal [data-reveal]{opacity:0;transform:translateY(14px)}
html.enh-reveal [data-reveal].enh-revealed{opacity:1;transform:none;transition:opacity 1050ms cubic-bezier(0.22, 1, 0.36, 1),transform 1050ms cubic-bezier(0.22, 1, 0.36, 1)}

/* ===== 2026-09-09 media lux: hero mark layout, contrast, mobile ===== */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:min(72vh,720px);
  padding:clamp(120px,14vw,168px) 40px clamp(88px,10vw,120px)!important;
  background:#071C17!important;
}
.hero-loop{
  position:absolute;inset:0;z-index:0;overflow:hidden;
  opacity:1!important;pointer-events:none;
}
.hero-loop-poster{
  width:100%!important;height:100%!important;
  max-width:none!important;
  object-fit:cover!important;object-position:center center!important;
  display:block;filter:saturate(1.05) contrast(1.08) brightness(.92);
}
.hero-loop::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:
    radial-gradient(60% 50% at 50% 42%,rgba(7,28,23,.28) 0%,rgba(7,28,23,.72) 70%,rgba(7,28,23,.88) 100%),
    linear-gradient(180deg,rgba(7,28,23,.45) 0%,rgba(7,28,23,.82) 100%);
}
.hero-in,.hero .in{position:relative;z-index:3}
.hero-eyebrow,.kick,.section-label{color:#E8CC8A!important}
.hero-headline,.hero h1{color:#FAF7EE!important;text-shadow:0 2px 28px rgba(7,28,23,.55)}
.hero-headline em,.hero h1 em{color:#E8CC8A!important}
.hero-lede,.hero p{color:rgba(250,247,238,.82)!important;max-width:52ch}
.hero .cta,.hero .btn{background:#C6902E;color:#071C17}
.hero .cta:hover{background:#E8CC8A;color:#071C17}
.hero .cta.ghost,.hero .btn-sec{
  background:transparent;color:#FAF7EE;border:1.5px solid rgba(232,204,138,.65)
}
.hero .cta.ghost:hover{background:#E8CC8A;color:#071C17}
@media(max-width:600px){
  .hero{min-height:0;padding:88px 24px 72px!important}
  .hero-loop-poster{object-position:center 40%!important}
  .hero-loop::after{
    background:
      linear-gradient(180deg,rgba(7,28,23,.55) 0%,rgba(7,28,23,.9) 100%)!important;
  }
  .markbar-inner,.nav-in,.foot,section,.section{padding-left:24px;padding-right:24px}
}
/* section type contrast on cream */
body{color:#0E1310}
.card-b,.principle-b,.faq-a,.prose,.contact-sub{color:#4A5650}
.section-title,h2,.faq-q,.contact-headline{color:#0A2A23}
.darkband{background:#0A2A23}
.darkband .section-label{color:#E8CC8A!important}
.darkband .section-title,.darkband h2,.darkband .principle-h{color:#FAF7EE}

