:root{
  --forest-deep:#13251a;
  --forest:#1f3a25;
  --moss:#3d5c40;
  --ochre:#c9962b;
  --ochre-soft:#d9ab47;
  --cream:#f5efe1;
  --paper:#faf6ec;
  --paper-warm:#f2ead4;
  --ink:#1a1a18;
  --muted:#7a7568;
  --rule:#e3dcc6;
  --rule-dark:rgba(245,239,225,0.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);font-weight:300;line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--ochre);color:var(--cream)}
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--forest);color:var(--cream);padding:0.75rem 1.5rem;font-size:0.85rem;z-index:9999;border-radius:0 0 4px 4px;transition:top .2s ease}.skip-link:focus{top:0}
.wrap{max-width:1140px;margin:0 auto;padding:0 2rem}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.15rem 2.5rem;background:rgba(250,246,236,0.82);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);border-bottom:1px solid transparent;transition:padding .4s ease,background .4s ease,border-color .4s ease}
nav.scrolled{padding:0.85rem 2.5rem;border-bottom-color:var(--rule);background:rgba(250,246,236,0.94)}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--forest),var(--ochre));z-index:101;transition:width .12s linear;will-change:width}
.logo{display:flex;align-items:center;height:54px;transition:height .4s ease}
nav.scrolled .logo{height:46px}
.logo img{height:100%;width:auto;opacity:0.88}
.nav-links{display:flex;gap:2.75rem;font-size:0.76rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--forest-deep)}
.nav-links a{position:relative;padding:0.25rem 0;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--ochre);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.nav-links a:hover{color:var(--ochre)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-links a.active{color:var(--ochre)}
.nav-links a.active::after{transform:scaleX(1)}
.nav-cta{position:relative;display:inline-flex;align-items:center;gap:0.55rem;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;padding:0.7rem 1.4rem;border:1px solid var(--forest);color:var(--forest);overflow:hidden;transition:color .4s ease,border-color .4s ease}
.nav-cta::before{content:"";position:absolute;inset:0;background:var(--forest);transform:translateY(101%);transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:-1}
.nav-cta:hover{color:var(--cream);border-color:var(--forest)}
.nav-cta:hover::before{transform:translateY(0)}
.nav-cta::after{content:"→";font-family:'Fraunces',serif;transition:transform .4s ease}
.nav-cta:hover::after{transform:translateX(3px)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;width:32px;height:24px;position:relative;flex-shrink:0}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--forest-deep);position:absolute;left:0;transition:transform .3s ease,opacity .3s ease}
.nav-toggle span:nth-child(1){top:2px}
.nav-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}
.nav-toggle span:nth-child(3){bottom:2px}

/* PAGE CONTENT (interior pages clearance for fixed nav) */
.page-content{padding-top:5.5rem}

/* HERO */
.hero{min-height:72vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6rem 2.5rem 4rem;text-align:center;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;overflow:hidden;opacity:0;animation:mistDissolve 2.2s ease-out 0.2s forwards}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.hero-wash{position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 45%,rgba(250,246,236,0.78) 0%,rgba(250,246,236,0.5) 45%,rgba(250,246,236,0.2) 75%),linear-gradient(180deg,rgba(250,246,236,0.5) 0%,rgba(250,246,236,0.25) 30%,rgba(250,246,236,0.2) 55%,rgba(250,246,236,0.7) 85%,rgba(250,246,236,1) 100%);pointer-events:none}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(19,37,26,0.18) 100%);pointer-events:none}
@keyframes mistDissolve{0%{opacity:0;transform:scale(1.02)}100%{opacity:1;transform:scale(1)}}
/* subtle grain texture */
.grain{position:absolute;inset:0;pointer-events:none;opacity:0.06;mix-blend-mode:multiply;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='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.08  0 0 0 0 0.07  0 0 0 0 0.05  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hero > *:not(.hero-bg):not(.hero-wash):not(.hero-vignette){position:relative;z-index:2}
.hero-eyebrow{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.35em;color:var(--forest-deep);margin-bottom:1.75rem;display:flex;align-items:center;gap:1.25rem;opacity:0;animation:fadeUp 1s ease-out 1.1s forwards}
.hero-eyebrow::before,.hero-eyebrow::after{content:"";width:36px;height:1px;background:var(--ochre)}
h1.hero-title{font-family:'Fraunces',serif;font-size:clamp(2.8rem,6.5vw,5.4rem);line-height:1.06;font-weight:400;color:var(--forest-deep);letter-spacing:-0.03em;max-width:15ch;margin-bottom:2rem;opacity:0;animation:fadeUp 1.1s ease-out 1.3s forwards}
h1.hero-title em{font-style:italic;color:var(--ochre);font-weight:300}
.hero-rule{width:70px;height:1px;background:var(--ochre);margin:0 auto 2rem;opacity:0;animation:fadeIn 1s ease-out 1.6s forwards}
.hero-sub{font-size:1.05rem;color:var(--ink);max-width:56ch;line-height:1.75;margin-bottom:2rem;opacity:0;animation:fadeUp 1.1s ease-out 1.75s forwards}
.hero-actions{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;justify-content:center;opacity:0;animation:fadeUp 1.1s ease-out 1.95s forwards}
.btn-ghost{position:relative;display:inline-flex;align-items:center;gap:0.7rem;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.18em;padding:1rem 2rem;border:1px solid var(--forest);color:var(--forest);overflow:hidden;transition:color .4s ease,border-color .4s ease}
.btn-ghost::before{content:"";position:absolute;inset:0;background:var(--forest);transform:translateY(101%);transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:-1}
.btn-ghost:hover{color:var(--cream);border-color:var(--forest)}
.btn-ghost:hover::before{transform:translateY(0)}
.btn-link{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--forest-deep);padding:0.25rem 0;border-bottom:1px solid var(--ochre);transition:color .3s ease,letter-spacing .3s ease}
.btn-link:hover{color:var(--ochre);letter-spacing:0.22em}
.btn-arrow,.btn-arrow-sm{display:inline-block;transition:transform .4s cubic-bezier(.7,0,.2,1);font-family:'Fraunces',serif}
.btn-ghost:hover .btn-arrow,.btn-link:hover .btn-arrow-sm{transform:translateX(4px)}
.hero-scroll{position:absolute;left:50%;bottom:3rem;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.75rem;z-index:2;opacity:0;animation:fadeIn 1s ease-out 2.4s forwards}
.hero-scroll span{font-size:0.62rem;text-transform:uppercase;letter-spacing:0.3em;color:var(--moss)}
.hero-scroll::after{content:"";width:1px;height:2.5rem;background:var(--ochre);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:0.3;transform:scaleY(0.85)}50%{opacity:0.9;transform:scaleY(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

section{padding:4rem 2.5rem;position:relative}
.section-label{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.32em;color:var(--ochre);margin-bottom:1.75rem;display:inline-flex;align-items:center;gap:0.9rem}
.section-label::before{content:"";width:28px;height:1px;background:var(--ochre)}
h2{font-family:'Fraunces',serif;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:300;line-height:1.1;letter-spacing:-0.032em;color:var(--forest-deep);max-width:18ch;margin-bottom:2rem}
h2 em{font-style:italic;color:var(--ochre);font-weight:300}
.lead{font-size:1.05rem;color:var(--muted);max-width:60ch;line-height:1.85}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s ease-out,transform 1s ease-out}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reveal,.hero-bg,.hero-bg .ridge,.hero-eyebrow,.hero-title,.hero-rule,.hero-sub,.hero-actions,.hero-scroll{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}

/* APPROACH */
.approach .wrap{display:grid;grid-template-columns:1fr 1.35fr;gap:4rem;align-items:start;position:relative}
.approach p.lead + p.lead{margin-top:1.75rem}
.marginalia{
  margin-top:3rem;padding-top:2rem;border-top:1px solid var(--rule);
  font-family:'Fraunces',serif;font-style:italic;font-size:0.92rem;
  color:var(--forest);max-width:30ch;line-height:1.65;
}
.marginalia::before{content:"✢ ";color:var(--ochre)}

/* PRINCIPAL */
.principal{background:var(--paper-warm);padding:4rem 2.5rem}
.principal .wrap{display:grid;grid-template-columns:240px 1fr;gap:3.75rem;align-items:start;max-width:1040px}
.portrait-frame{position:relative;padding:0.6rem;background:var(--cream);border:1px solid var(--rule);max-width:240px;box-shadow:0 14px 40px -22px rgba(19,37,26,0.35),0 2px 6px -2px rgba(19,37,26,0.08)}
.portrait-frame::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:linear-gradient(90deg,var(--forest),var(--ochre))}
.portrait-frame img{width:100%;display:block}
.portrait-caption{display:flex;flex-direction:column;gap:0.15rem;padding-top:0.85rem;margin-top:0.85rem;border-top:1px solid var(--rule);font-size:0.62rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--moss)}
.portrait-caption em{font-family:'Fraunces',serif;font-style:italic;font-size:0.88rem;text-transform:none;letter-spacing:0;color:var(--forest-deep)}
.principal-note h2{margin-bottom:1.75rem}
.principal-sig{font-family:'Fraunces',serif;font-style:italic;font-size:1rem;color:var(--forest);margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rule)}
.principal-sig strong{display:block;font-style:normal;font-weight:400;color:var(--forest-deep);margin-bottom:0.25rem}

/* VALUES */
.values{background:var(--cream);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.values-head{text-align:center;margin-bottom:2.5rem}
.values-head .section-label{margin-left:auto;margin-right:auto}
.values-head h2{margin-left:auto;margin-right:auto}
.values-intro{max-width:560px;margin:1.25rem auto 0;font-size:0.95rem;color:var(--muted);line-height:1.75;font-style:italic}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1140px;margin:0 auto;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.value{position:relative;padding:2.25rem 1.6rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .4s ease}
.value::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--ochre);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.value:hover{background:var(--paper-warm)}
.value:hover::before{transform:scaleX(1)}
.value-num{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--ochre);font-style:italic;font-weight:300;margin-bottom:1.5rem}
.value h4{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:400;color:var(--forest-deep);margin-bottom:0.35rem}
.value p{font-size:0.88rem;color:var(--muted);line-height:1.7}

/* CRITERIA */
.criteria .wrap{display:grid;grid-template-columns:1fr 1.35fr;gap:4rem;align-items:start}
.crit-list{border-top:1px solid var(--rule)}
.crit-row{display:grid;grid-template-columns:120px 1fr auto;gap:2rem;padding:1.85rem 0;border-bottom:1px solid var(--rule);align-items:baseline}
.crit-key{font-size:0.66rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--ochre)}
.crit-val{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--forest-deep);font-weight:400;letter-spacing:-0.01em}
.crit-val span{display:block;font-family:'Inter',sans-serif;font-size:0.85rem;color:var(--muted);margin-top:0.4rem;font-weight:300;letter-spacing:0}
.crit-mark{font-family:'Fraunces',serif;font-style:italic;font-size:0.85rem;color:var(--ochre);opacity:0.6}

/* PHILOSOPHY */
.philosophy{background:var(--forest-deep);color:var(--cream);padding:4.5rem 2.5rem;position:relative;overflow:hidden}
.philosophy::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,150,43,0.08),transparent 60%);pointer-events:none}
.philosophy-quote{max-width:880px;margin:0 auto;text-align:center;position:relative}
.phil-rule{width:60px;height:1px;background:var(--ochre);margin:0 auto 2rem}
.phil-rule-b{width:60px;height:1px;background:var(--ochre);margin:2rem auto 0}
.philosophy blockquote{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.25;letter-spacing:-0.025em;color:var(--cream)}
.philosophy blockquote em{color:var(--ochre);font-style:italic}
.philosophy-body{max-width:640px;margin:2.5rem auto 0;display:grid;gap:1.25rem}
.philosophy-body p{font-size:0.98rem;line-height:1.85;color:#c8c2af;padding-left:1.5rem;border-left:1px solid rgba(245,239,225,0.15)}
.philosophy-body p strong{color:var(--ochre-soft);font-weight:400;font-family:'Fraunces',serif;font-style:italic;font-size:1.02rem}
.philosophy-divider{width:60px;height:1px;background:var(--ochre);margin:2.5rem auto}
.philosophy-contrast{margin-top:0}
.philosophy-footnote{
  max-width:640px;margin:4rem auto 0;text-align:center;
  font-family:'Fraunces',serif;font-style:italic;font-size:0.82rem;
  color:#8a8475;letter-spacing:0.02em;line-height:1.7;
}

/* BACKING */
.backing{background:var(--paper);color:var(--ink);padding:4rem 2.5rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.backing .wrap{max-width:960px;text-align:center}
.backing .section-label{color:var(--ochre);margin-left:auto;margin-right:auto}
.backing h2{color:var(--forest-deep);margin-left:auto;margin-right:auto;margin-bottom:2.5rem}
.backing-body{font-size:1.05rem;line-height:1.9;color:var(--muted);max-width:60ch;margin:0 auto}
.backing-body em{color:var(--ochre);font-style:italic;font-family:'Fraunces',serif}
.backing-rule{width:80px;height:1px;background:var(--ochre);margin:3.5rem auto 0;opacity:0.6}
.partners-label{font-size:0.62rem;text-transform:uppercase;letter-spacing:0.3em;color:var(--ochre);margin-top:2.5rem;margin-bottom:1.75rem;font-style:italic;font-family:'Fraunces',serif}
.partners-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.75rem 2rem;max-width:960px;margin:0 auto;
  align-items:stretch;justify-items:stretch;
}
.partners-grid .chip{
  position:relative;display:flex;align-items:center;justify-content:center;
  background:transparent;padding:0.9rem 1.1rem;min-height:96px;
  border-radius:4px;
  transition:transform .4s cubic-bezier(.4,0,.2,1),background .4s ease,box-shadow .4s ease;
  opacity:0.78;
  cursor:pointer;
}
.partners-grid .chip::after{content:"";position:absolute;inset:auto 20% -2px;height:1px;background:var(--ochre);transform:scaleX(0);transform-origin:center;transition:transform .45s ease;opacity:0.55}
.partners-grid .chip:hover{opacity:1;transform:translateY(-3px);background:var(--cream);box-shadow:0 10px 30px -16px rgba(19,37,26,0.22)}
.partners-grid .chip:hover::after{transform:scaleX(1)}
.partners-grid img{
  max-width:100%;max-height:60px;width:auto;height:auto;
  transition:filter .4s ease;
}
.partners-coda{
  font-family:'Fraunces',serif;font-style:italic;font-size:0.85rem;
  color:var(--muted);margin-top:3rem;max-width:52ch;margin-left:auto;margin-right:auto;line-height:1.7;
}

/* COMPARISON */
.compare{background:var(--forest-deep);color:var(--cream);padding:4rem 2.5rem;border-top:1px solid var(--rule-dark)}
.compare h2{color:var(--cream)}
.compare .lead{color:#b8b3a4}
.compare-head{text-align:center;margin-bottom:2.5rem}
.compare-head .section-label{margin-left:auto;margin-right:auto}
.compare-head h2,.compare-head .lead{margin-left:auto;margin-right:auto}
.compare-table{max-width:1020px;margin:0 auto;border-top:1px solid var(--rule-dark)}
.compare-row{display:grid;grid-template-columns:1.1fr 1.3fr 1.3fr 1.3fr;gap:2rem;padding:2rem 1rem;border-bottom:1px solid var(--rule-dark);font-size:0.92rem;align-items:start}
.compare-row.head{padding-bottom:1.25rem;font-size:0.66rem;text-transform:uppercase;letter-spacing:0.22em;color:#8a8475}
.compare-row.head .edn{color:var(--ochre)}
.compare-label{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:400;color:var(--cream);font-style:italic}
.edn-cell{color:var(--cream);line-height:1.6}
.dim-cell{color:#6f6b5d;line-height:1.6}

/* PROCESS */
.process-head{text-align:center;margin-bottom:2.5rem}
.process-head .section-label{margin-left:auto;margin-right:auto}
.process-head h2,.process-head .lead{margin-left:auto;margin-right:auto}
.process-wrap{max-width:1140px;margin:0 auto;position:relative}
.process-thread{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--ochre);opacity:0.3;z-index:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);position:relative;z-index:1}
.step{padding:2.25rem 1.6rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper)}
.step:last-child{border-right:none}
.step-num{font-family:'Fraunces',serif;font-size:3rem;color:var(--ochre);font-weight:300;line-height:1;margin-bottom:1.5rem;font-style:italic}
.step h4{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:400;color:var(--forest-deep);margin-bottom:0.85rem}
.step p{font-size:0.88rem;color:var(--muted);line-height:1.7}

.confidence{text-align:center;padding:3.25rem 2.5rem;background:var(--cream);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.confidence p{font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem;color:var(--forest);max-width:52ch;margin:0 auto;font-weight:300;letter-spacing:-0.01em}
.confidence p::before{content:"— ";color:var(--ochre)}
.confidence p::after{content:" —";color:var(--ochre)}

/* CONTACT */
.contact{background:var(--paper);padding:4rem 2.5rem}
.contact .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start;max-width:1040px}
.contact h2{margin-bottom:2rem}
.contact .lead{margin-bottom:2.5rem}
.contact-info{border-top:1px solid var(--rule);margin-top:1rem}
.info-row{position:relative;padding:1.35rem 0.25rem;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;transition:padding-left .3s ease}
.info-row:hover{padding-left:0.75rem}
.info-row::after{content:"";position:absolute;left:0;top:50%;height:8px;width:2px;background:var(--ochre);transform:translateY(-50%) scaleY(0);transition:transform .35s ease}
.info-row:hover::after{transform:translateY(-50%) scaleY(1)}
.info-row span.k{font-size:0.66rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--ochre)}
.info-row a,.info-row .val{font-family:'Fraunces',serif;font-size:1.02rem;color:var(--forest-deep)}
.info-row a{transition:color .3s ease}
.info-row a:hover{color:var(--ochre)}
form{background:var(--cream);padding:2.85rem;border:1px solid var(--rule);position:relative}
form::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:linear-gradient(90deg,var(--forest),var(--ochre))}
.field{margin-bottom:1.75rem}
.field label{display:block;font-size:0.62rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--moss);margin-bottom:0.65rem}
.field input,.field textarea{width:100%;padding:0.85rem 0;border:none;border-bottom:1px solid var(--rule);background:transparent;font-family:'Inter',sans-serif;font-size:0.95rem;color:var(--ink);transition:border-color .25s ease}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ochre)}
.field textarea{resize:vertical;min-height:100px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
button[type=submit]{width:100%;margin-top:1rem;background:var(--forest);color:var(--cream);padding:1.15rem;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.22em;border:none;cursor:pointer;font-family:'Inter',sans-serif;transition:background .35s ease}
button[type=submit]:hover{background:var(--ochre)}
.form-postscript{font-family:'Fraunces',serif;font-style:italic;font-size:0.85rem;color:var(--muted);text-align:center;margin-top:1.25rem}
.form-msg{display:none;margin-top:1.25rem;padding:1rem;text-align:center;font-size:0.85rem;color:var(--forest);border:1px solid var(--ochre);background:var(--paper)}
.form-msg.show{display:block}

footer{background:var(--forest-deep);color:#8a8475;padding:0;border-top:2px solid var(--ochre)}
.footer-main{max-width:1140px;margin:0 auto;padding:4rem 2.5rem 3rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;align-items:start}
.footer-brand .logo{height:36px;margin-bottom:1.25rem}
.footer-brand .logo img{height:100%;width:auto}
.footer-brand p{font-family:'Fraunces',serif;font-style:italic;font-size:0.92rem;color:#b8b3a4;line-height:1.65;max-width:28ch}
.footer-nav-title{font-size:0.62rem;text-transform:uppercase;letter-spacing:0.25em;color:var(--ochre);margin-bottom:1.25rem}
.footer-nav-links{display:flex;flex-direction:column;gap:0.75rem}
.footer-nav-links a{font-size:0.85rem;color:#8a8475;transition:color .3s ease}
.footer-nav-links a:hover{color:var(--ochre-soft)}
.footer-contact-links{display:flex;flex-direction:column;gap:0.75rem}
.footer-contact-links a,.footer-contact-links span{font-size:0.85rem;color:#8a8475;transition:color .3s ease}
.footer-contact-links a:hover{color:var(--ochre-soft)}
.footer-bar{max-width:1140px;margin:0 auto;padding:2rem 2.5rem;border-top:1px solid rgba(245,239,225,0.1);display:flex;justify-content:space-between;align-items:center;font-size:0.72rem;letter-spacing:0.06em}
.footer-linkedin{display:inline-flex;align-items:center;gap:0.55rem;color:#b8b3a4;transition:color .3s ease}
.footer-linkedin:hover{color:var(--ochre-soft)}
.footer-linkedin svg{flex:none}
.footer-linkedin span{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:#8a8475;letter-spacing:0.06em;transition:color .3s ease}
.footer-legal a:hover{color:var(--ochre-soft)}

@media(max-width:900px){
  nav{padding:1rem 1.25rem}nav.scrolled{padding:0.75rem 1.25rem}.nav-toggle{display:block}.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(250,246,236,0.98);backdrop-filter:blur(18px);padding:1.5rem 2.5rem;gap:1.5rem;border-bottom:1px solid var(--rule);box-shadow:0 12px 24px -12px rgba(19,37,26,0.15)}
  .hero{padding:6rem 1.25rem 4rem;min-height:80vh}.hero-scroll{display:none}
  section{padding:3.5rem 1.25rem}
  .approach .wrap,.criteria .wrap,.contact .wrap,.principal .wrap{grid-template-columns:1fr;gap:3rem}
  .principal{padding:5rem 1.25rem}
  .values-grid,.steps{grid-template-columns:1fr;border-left:none}
  .value,.step{border-right:none}
  .crit-row{grid-template-columns:100px 1fr}.crit-mark{display:none}
  .compare-row{grid-template-columns:1fr;gap:0.6rem;padding:1.5rem 0}.compare-row.head{display:none}
  .compare-label{color:var(--ochre);font-size:0.9rem;margin-bottom:0.5rem}
  .edn-cell::before{content:"Edenridge · ";color:var(--ochre);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.15em}
  .dim-cell:nth-of-type(3)::before{content:"Financial Buyer · ";color:#5a5648;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.15em}
  .dim-cell:nth-of-type(4)::before{content:"Strategic Acquirer · ";color:#5a5648;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.15em}
  .process-thread{display:none}
  .philosophy,.backing{padding:4rem 1.25rem}
  .philosophy-body{margin-top:3rem}
  .partners-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem 2rem}
  .partners-grid img{max-height:42px}
  .row2{grid-template-columns:1fr;gap:0}
  .footer-main{grid-template-columns:1fr;gap:2.5rem;padding:3rem 1.25rem 2rem}
  .footer-bar{flex-direction:column;gap:0.9rem;text-align:center;padding:1.5rem 1.25rem}
}

/* PAGE NAVIGATION (next page links) */
.page-next{text-align:center;padding:3.5rem 2.5rem;border-top:1px solid var(--rule)}
.page-next a{display:inline-flex;align-items:center;gap:0.7rem;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--forest-deep);padding:0.25rem 0;border-bottom:1px solid var(--ochre);transition:color .3s ease,letter-spacing .3s ease}
.page-next a:hover{color:var(--ochre);letter-spacing:0.22em}
.page-next a span{display:inline-block;transition:transform .4s cubic-bezier(.7,0,.2,1);font-family:'Fraunces',serif}
.page-next a:hover span{transform:translateX(4px)}
.page-next-dark{background:var(--forest-deep);border-top-color:var(--rule-dark)}
.page-next-dark a{color:var(--cream);border-bottom-color:var(--ochre)}
.page-next-dark a:hover{color:var(--ochre)}

/* LEGAL PAGES */
.legal-content{max-width:760px;margin:0 auto;padding:3rem 2rem 4rem}
.legal-content h2{margin-bottom:1rem}
.legal-content .legal-date{font-family:'Fraunces',serif;font-style:italic;font-size:0.88rem;color:var(--muted);margin-bottom:3rem}
.legal-content h3{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:400;color:var(--forest-deep);margin-top:2.5rem;margin-bottom:0.75rem}
.legal-content p{font-size:0.95rem;color:var(--muted);line-height:1.85;margin-bottom:1rem}
.legal-content a{color:var(--ochre);border-bottom:1px solid var(--ochre);transition:color .3s ease}
.legal-content a:hover{color:var(--forest)}
