/* ==========================================================================
   MM Mojo — Stage 1 website · Version B "Editorial Contrast Flow"
   Plain CSS, no framework. Design tokens per the build brief.
   ========================================================================== */

:root{
  /* brief palette — dark tones differentiated so charcoal / ink / espresso
     do not collapse into one near-black; cream sits a touch deeper than
     parchment so light sections alternate visibly. */
  --ink:#08090C;          /* deepest, coolest — closing band + footer */
  --charcoal:#1B1C20;     /* graphite, faintly cool — dark editorial bands */
  --espresso:#211A11;     /* warm brown-black — One Earth sub-brand */
  --cream:#EFE6D2;        /* deeper warm light — alternates with parchment */
  --parchment:#F8F2E4;    /* lightest warm light — hero / who */
  --warm-neutral:#B8AA92;
  --soft-gold:#D6BB76;
  --warm-gold:#EFD68E;
  --muted-gold:#B88A2A;

  /* derived */
  --text:#2b2720;                 /* body on light */
  --muted:#6c6557;                /* secondary on light */
  --line:#e1d8c4;                 /* hairline on light */
  --on-dark:#f3eee3;              /* text on dark */
  --on-dark-muted:rgba(243,238,227,.66);
  --line-dark:rgba(214,187,118,.22);

  --maxw:1180px;
  --measure:640px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --r:3px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:"DM Sans",system-ui,-apple-system,sans-serif;
  color:var(--text);background:var(--parchment);
  line-height:1.66;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:340;color:var(--ink);line-height:1.12;letter-spacing:-.015em;text-wrap:balance;}
p{text-wrap:pretty;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:var(--soft-gold);color:var(--ink);}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.narrow{max-width:860px;}

/* ---- shared type helpers ---- */
.label{font-family:"DM Sans",sans-serif;font-weight:500;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted-gold);}
/* Gold restraint: the kicker rule is reserved for the two conversation
   bookends (hero + closing) rather than repeating on every section. */
.label .tick{display:none;}
.hero .label .tick,.start .label .tick{display:inline-block;width:26px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px;}
em{font-style:italic;color:var(--muted-gold);}
.serif-em{font-family:"Fraunces",serif;font-style:italic;}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:"DM Sans",sans-serif;font-weight:500;font-size:15px;
  padding:14px 28px;border-radius:999px;cursor:pointer;border:1px solid transparent;
  transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .3s;white-space:nowrap;}
.btn-primary{background:var(--soft-gold);color:var(--ink);}
.btn-primary:hover{background:var(--warm-gold);transform:translateY(-2px);box-shadow:0 12px 30px rgba(214,187,118,.3);}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-secondary:hover{border-color:var(--muted-gold);color:var(--muted-gold);transform:translateY(-2px);}
.on-dark .btn-secondary,.btn-secondary.on-dark{color:var(--on-dark);border-color:var(--line-dark);}
.on-dark .btn-secondary:hover,.btn-secondary.on-dark:hover{border-color:var(--soft-gold);color:var(--soft-gold);}

/* ---- icon (inline SVG via <use href="#id"> — renders over http://, file://
   and in screenshots; inherits currentColor on light & dark sections) ---- */
.icon{display:inline-block;width:1em;height:1em;flex:none;fill:none;stroke:currentColor;vertical-align:middle;}

/* ==========================================================================
   NAV
   ========================================================================== */
header.nav{position:sticky;top:0;z-index:60;background:rgba(248,242,228,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background .3s;}
header.nav.scrolled{border-color:var(--line);box-shadow:0 1px 22px rgba(11,11,10,.05);background:rgba(248,242,228,.94);}
.nav .wrap{display:flex;align-items:center;height:78px;gap:30px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand img{height:34px;width:auto;display:block;}
.brand .wm{font-family:"Fraunces",serif;font-weight:500;font-size:20px;letter-spacing:.04em;color:var(--ink);white-space:nowrap;}
.nav .links{display:flex;gap:28px;margin-left:auto;}
.nav .links a{font-size:14px;font-weight:500;color:var(--ink);opacity:.82;position:relative;padding:6px 0;transition:opacity .2s,color .2s;}
.nav .links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--muted-gold);transition:width .3s var(--ease);}
.nav .links a:hover{opacity:1;color:var(--muted-gold);}
.nav .links a:hover::after{width:100%;}
.nav .links a.navcta{padding:9px 20px;border-radius:999px;background:var(--soft-gold);color:var(--ink);opacity:1;}
.nav .links a.navcta::after{display:none;}
.nav .links a.navcta:hover{background:var(--warm-gold);color:var(--ink);}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;width:44px;height:44px;color:var(--ink);}
/* compact always-visible mobile CTA (desktop hides this; uses nav pill instead) */
.navcta-m{display:none;font-family:"DM Sans",sans-serif;font-weight:500;font-size:13.5px;line-height:1;
  padding:10px 16px;border-radius:999px;background:var(--soft-gold);color:var(--ink);white-space:nowrap;
  transition:background .25s var(--ease),transform .25s var(--ease);}
.navcta-m:hover{background:var(--warm-gold);}
.navcta-m:active{transform:translateY(1px);}
@media(max-width:940px){
  .nav .wrap{gap:14px;}
  .nav .links{display:none;}
  .navcta-m{display:inline-flex;align-items:center;margin-left:auto;}
  .burger{display:grid;place-items:center;margin-left:8px;}
  .nav .links.open{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;gap:0;
    background:var(--parchment);padding:8px 28px 22px;border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(11,11,10,.08);}
  .nav .links.open a{padding:14px 0;border-bottom:1px solid var(--line);}
  .nav .links.open a.navcta{margin-top:12px;text-align:center;border:0;}
}
/* very narrow: drop the wordmark (logo icon carries the brand) so the
   always-visible CTA + burger never crowd the header */
@media(max-width:430px){
  .brand .wm{display:none;}
  .navcta-m{font-size:13px;padding:9px 14px;}
}

/* ==========================================================================
   SECTION SHELLS
   ========================================================================== */
section{padding:104px 0;scroll-margin-top:90px;}
.sec-head{max-width:var(--measure);margin-bottom:48px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head .label{display:inline-block;margin-bottom:20px;}
.sec-head h2{font-size:clamp(30px,4.4vw,48px);}
.sec-head .sub{font-family:"Fraunces",serif;font-style:italic;font-size:clamp(19px,2.4vw,26px);color:var(--muted-gold);margin-top:14px;}
.sec-head p{color:var(--muted);font-size:17.5px;margin-top:18px;}
.sec-head.center p{margin-left:auto;margin-right:auto;}

.band-light{background:var(--parchment);}
.band-cream{background:var(--cream);}
.band-dark{background:var(--charcoal);color:var(--on-dark);}
.band-espresso{background:var(--espresso);color:var(--on-dark);}
.band-ink{background:var(--ink);color:var(--on-dark);}
.band-dark h2,.band-espresso h2,.band-ink h2,.band-dark h3,.band-espresso h3,.band-ink h3{color:var(--on-dark);}
.band-dark p,.band-espresso p,.band-ink p{color:var(--on-dark-muted);}
.band-dark .sec-head p,.band-espresso .sec-head p,.band-ink .sec-head p{color:var(--on-dark-muted);}

/* Restrained motif texture on the two dark transition bands (Tension + closing).
   Existing curated motif asset only, very low opacity — atmosphere, not pattern. */
.has-motif{position:relative;isolation:isolate;}
.has-motif::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("assets/images/motifs/motif-layered-grid-v1.png") center/cover no-repeat;
  opacity:.05;mix-blend-mode:screen;}
.has-motif > .wrap{position:relative;z-index:1;}

/* ==========================================================================
   1 · HERO
   ========================================================================== */
.hero{padding:84px 0 96px;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;top:-25%;left:50%;transform:translateX(-50%);width:1000px;height:680px;border-radius:50%;
  background:radial-gradient(circle,rgba(214,187,118,.11),transparent 62%);pointer-events:none;}
.hero .wrap{position:relative;text-align:center;}
.hero .label{display:inline-block;margin-bottom:26px;}
.hero h1{font-size:clamp(38px,6.4vw,74px);font-weight:300;letter-spacing:-.025em;max-width:15ch;margin:0 auto;}
.hero h1 em{color:var(--muted-gold);font-style:italic;}
.hero .lead{font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:var(--measure);margin:26px auto 0;}
.hero .actions{margin-top:34px;}
/* Demoted secondary line: smaller, lighter, narrower — sits below the CTA so the
   headline + primary action own the first screen (wording unchanged). */
.hero .lead-sub{font-size:clamp(14.5px,1.55vw,16px);color:var(--muted);max-width:560px;margin-top:30px;opacity:.92;}
.hero .heroshot{margin-top:52px;border-radius:6px;overflow:hidden;box-shadow:0 30px 70px rgba(11,11,10,.18);position:relative;}
.hero .heroshot img{width:100%;height:clamp(260px,42vw,520px);object-fit:cover;display:block;}

/* ==========================================================================
   2 · THE TENSION  (dark band)
   ========================================================================== */
.tension .wrap{max-width:820px;text-align:center;}
.tension h2{font-size:clamp(28px,4.2vw,46px);font-weight:300;}
.tension .body{margin-top:30px;color:var(--on-dark-muted);font-size:18px;display:grid;gap:14px;}
.tension .body .spaced{margin-top:6px;}
.tension .close-line{margin-top:34px;font-family:"Fraunces",serif;font-style:italic;font-size:clamp(20px,2.6vw,28px);color:var(--warm-gold);}

/* ==========================================================================
   3 · VALUE BY DESIGN
   ========================================================================== */
.vbd .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
@media(max-width:860px){.vbd .wrap{grid-template-columns:1fr;gap:40px;}}
.vbd .copy p{color:var(--muted);font-size:16.5px;margin-top:16px;}
.vbd .copy .ask{margin-top:24px;font-family:"Fraunces",serif;font-style:italic;font-size:clamp(20px,2.6vw,26px);color:var(--ink);}
.vbd .copy .iconrow{display:flex;align-items:center;gap:14px;color:var(--muted-gold);margin-bottom:6px;font-size:30px;}
.vbd .motif{border-radius:6px;overflow:hidden;box-shadow:0 24px 56px rgba(11,11,10,.14);position:relative;}
.vbd .motif img{width:100%;height:clamp(300px,38vw,460px);object-fit:cover;}

/* ==========================================================================
   4 · THE 7 LAYERS  (dark block, fine-line cards)
   ========================================================================== */
.layers .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
@media(max-width:900px){.layers .grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.layers .grid{grid-template-columns:1fr;}}
.layer-card{background:var(--charcoal);padding:34px 30px;transition:background .35s;}
.layer-card:hover{background:#26272d;}
.layer-card.quote-cell{display:flex;flex-direction:column;justify-content:center;background:#14151a;}
.layer-card.quote-cell p{font-size:14px;color:var(--on-dark-muted);}
.layer-card .ic{color:var(--soft-gold);font-size:30px;margin-bottom:18px;display:block;}
.layer-card h3{font-family:"Fraunces",serif;font-size:21px;font-weight:400;color:var(--on-dark);margin-bottom:10px;}
.layer-card p{font-size:14px;color:var(--on-dark-muted);line-height:1.6;}
.layers .closing{max-width:720px;margin:48px auto 0;text-align:center;}
.layers .closing p{color:var(--on-dark-muted);font-size:16.5px;}
.layers .closing .pay{margin-top:14px;font-family:"Fraunces",serif;font-style:italic;color:var(--warm-gold);font-size:20px;}

/* ==========================================================================
   5 · WHO YOU WORK WITH
   ========================================================================== */
.who .founders{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:6px;}
@media(max-width:780px){.who .founders{grid-template-columns:1fr;gap:44px;max-width:440px;margin-left:auto;margin-right:auto;}}
.founder .frame{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;box-shadow:0 26px 56px rgba(11,11,10,.16);}
.founder .frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(11,11,10,.06);background:linear-gradient(180deg,transparent 62%,rgba(11,11,10,.24));}
.founder .frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.97) contrast(1.02);transition:transform .6s var(--ease);}
.founder:hover .frame img{transform:scale(1.04);}
.founder .name{font-family:"Fraunces",serif;font-size:26px;font-weight:400;margin-top:22px;}
.founder .role{font-family:"Fraunces",serif;font-style:italic;color:var(--muted-gold);font-size:18px;margin-top:4px;}
.founder .bio{font-size:15px;color:var(--muted);margin-top:14px;}
.founder .coreq{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-family:"Fraunces",serif;font-style:italic;color:var(--ink);font-size:17px;}

/* ==========================================================================
   6 · TWO WAYS TO BEGIN  (image band + scrim)
   ========================================================================== */
.two-ways{position:relative;overflow:hidden;color:var(--on-dark);}
.two-ways .bg{position:absolute;inset:0;background:url("assets/images/motifs/section-6.png") center/cover;transform:scale(1.05);}
.two-ways .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.78),rgba(21,21,21,.7)),radial-gradient(60% 60% at 50% 0%,rgba(214,187,118,.12),transparent);}
.two-ways .wrap{position:relative;}
.two-ways .cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:780px){.two-ways .cards{grid-template-columns:1fr;}}
.pathway{background:rgba(20,18,14,.6);backdrop-filter:blur(4px);border:1px solid var(--line-dark);border-radius:var(--r);padding:40px 36px;transition:transform .35s var(--ease),border-color .35s,background .35s;}
.pathway:hover{transform:translateY(-5px);border-color:var(--soft-gold);background:rgba(20,18,14,.78);}
.pathway.primary{border-color:rgba(214,187,118,.45);}
.pathway .ic{color:var(--soft-gold);font-size:30px;display:block;margin-bottom:18px;}
.pathway .tag{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft-gold);}
.pathway h3{font-family:"Fraunces",serif;font-size:25px;font-weight:400;color:var(--on-dark);margin:8px 0 12px;}
.pathway p{font-size:15px;color:var(--on-dark-muted);margin-bottom:22px;}
.pathway .go{font-weight:500;font-size:14.5px;color:var(--on-dark);display:inline-flex;align-items:center;gap:8px;transition:gap .25s,color .25s;}
.pathway .go:hover{color:var(--soft-gold);gap:13px;}

/* ==========================================================================
   7 · WHO THIS IS FOR  (light, image-supported)
   ========================================================================== */
.who-for{position:relative;overflow:hidden;}
.who-for .bg{position:absolute;inset:0;background:url("assets/images/sections/section-7.png") center/cover;opacity:.16;}
.who-for .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--parchment),rgba(248,242,228,.7));}
.who-for .wrap{position:relative;max-width:880px;}
.who-for .qs{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;margin-top:36px;}
@media(max-width:680px){.who-for .qs{grid-template-columns:1fr;}}
.who-for .q{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);}
.who-for .q .ic{color:var(--muted-gold);font-size:20px;margin-top:3px;}
.who-for .q span{font-family:"Fraunces",serif;font-style:italic;font-size:18px;color:var(--ink);}
.who-for .pay{margin-top:34px;font-size:17px;color:var(--muted-gold);font-weight:500;letter-spacing:.02em;}

/* ==========================================================================
   8 · ADVISORY CONVERSATION  (copy left, image right)
   ========================================================================== */
.advisory .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media(max-width:860px){.advisory .wrap{grid-template-columns:1fr;gap:38px;}}
.advisory .copy p{color:var(--muted);font-size:16px;margin-top:16px;}
.advisory .copy .actions{margin-top:30px;}
.advisory .shot{border-radius:6px;overflow:hidden;position:relative;box-shadow:0 24px 56px rgba(11,11,10,.16);order:2;}
.advisory .shot img{width:100%;height:clamp(300px,40vw,480px);object-fit:cover;}
@media(max-width:860px){.advisory .shot{order:0;}}

/* ==========================================================================
   9 · ONE EARTH  (espresso block)
   ========================================================================== */
.one-earth .sub{font-family:"Fraunces",serif;font-style:italic;font-size:clamp(19px,2.4vw,26px);color:var(--warm-gold);margin-top:14px;}
.one-earth .intro{color:var(--on-dark-muted);font-size:16.5px;margin-top:20px;max-width:var(--measure);}
.one-earth .subcards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;}
@media(max-width:780px){.one-earth .subcards{grid-template-columns:1fr;}}
.oe-card{border:1px solid var(--line-dark);border-radius:var(--r);padding:34px 32px;background:rgba(245,240,230,.03);}
.oe-card .ic{color:var(--soft-gold);font-size:28px;display:block;margin-bottom:16px;}
.oe-card h3{font-family:"Fraunces",serif;font-size:22px;font-weight:400;color:var(--on-dark);margin-bottom:10px;}
.oe-card p{font-size:14.5px;color:var(--on-dark-muted);}
.one-earth .actions{margin-top:38px;}

/* ==========================================================================
   10 · CLIENT REFLECTIONS  (hidden for launch via [hidden]; styles kept ready
   so the section can be restored simply by removing the attribute and adding
   approved testimonial cards — see the HTML comment in index.html)
   ========================================================================== */
.proof{position:relative;overflow:hidden;}
.proof .bg{position:absolute;inset:0;background:url("assets/images/sections/section-10.png") center/cover;opacity:.14;}
.proof .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--cream),rgba(239,230,210,.82));}
.proof .wrap{position:relative;}
.proof .t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;}
@media(max-width:780px){.proof .t-grid{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto;}}
.t-card{border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;background:rgba(255,255,255,.45);}
.t-card .t-quote{font-family:"Fraunces",serif;font-style:italic;font-size:19px;color:var(--ink);line-height:1.45;border:0;margin:0;}
.t-card .t-attr{margin-top:20px;display:grid;gap:2px;}
.t-card .t-name{font-weight:600;font-size:15px;color:var(--ink);}
.t-card .t-role{font-size:13.5px;color:var(--muted);}
.t-card .t-field{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-gold);margin-top:4px;}
.t-card .t-context{font-size:13.5px;color:var(--muted);margin-top:14px;}

/* ==========================================================================
   11 · CLOSING CTA  (dark cinematic band; Tally left + Calendly popup right)
   ========================================================================== */
.start{position:relative;overflow:hidden;}
.start::before{content:"";position:absolute;bottom:-45%;left:50%;transform:translateX(-50%);width:1100px;height:1000px;border-radius:50%;
  background:radial-gradient(circle,rgba(214,187,118,.10),transparent 60%);z-index:0;}
.start .wrap{position:relative;}
.start .head{text-align:center;max-width:760px;margin:0 auto 52px;}
.start .head h2{font-size:clamp(30px,4.6vw,52px);font-weight:300;}
.start .head p{color:var(--on-dark-muted);font-size:18px;margin-top:18px;}
.start .panes{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;}
@media(max-width:860px){.start .panes{grid-template-columns:1fr;}}
.pane{border:1px solid var(--line);border-radius:6px;padding:30px;background:var(--cream);box-shadow:0 20px 50px rgba(0,0,0,.3);}
.pane h3{font-family:"Fraunces",serif;font-size:20px;font-weight:400;color:var(--ink);margin-bottom:6px;}
.pane .pane-sub{font-size:13.5px;color:var(--muted);margin-bottom:20px;}
.pane.tally iframe{width:100%;min-height:430px;border:0;background:transparent;border-radius:4px;}
.pane.book{display:flex;flex-direction:column;}
.pane.book .book-inner{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px;}
.pane.book .meet{display:flex;align-items:center;gap:12px;color:var(--ink);}
.pane.book .meet .ic{color:var(--muted-gold);font-size:26px;}
.pane.book .meet .mt{font-family:"Fraunces",serif;font-size:19px;}
.pane.book .meet .ms{font-size:13px;color:var(--muted);}

/* ==========================================================================
   FOOTER
   ========================================================================== */
footer{background:var(--ink);color:var(--on-dark-muted);padding:64px 0 28px;}
.foot-top{display:flex;justify-content:space-between;gap:36px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--line-dark);}
footer .brand img{height:46px;}
footer .foot-links{display:flex;gap:48px;flex-wrap:wrap;}
footer h5{font-family:"DM Sans",sans-serif;color:var(--on-dark);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;}
footer ul{list-style:none;display:grid;gap:10px;}
footer ul a{font-size:14px;transition:color .2s,padding-left .2s;}
footer ul a:hover{color:var(--soft-gold);padding-left:3px;}
.foot-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:22px;font-size:12.5px;color:rgba(243,238,227,.4);}

/* ==========================================================================
   REVEAL
   ========================================================================== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}
