/* Caldera Executive Advisory — site styles */
:root{
  --black:#16140F; --charcoal:#26231D; --slate:#45423A; --graphite:#5C5850;
  --stone:#A69E90; --sand:#D9CFBD; --paper:#F2EEE6;
  --copper:#B06E44; --bronze:#8A5A34; --gold:#C2A163;
  --hairline:#2E2B24; --hairline2:#35322A;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--sand);font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:17.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--copper);color:var(--black);padding:10px 18px;font-family:'Archivo',sans-serif;font-size:13px;z-index:100}
.skip-link:focus{left:16px;top:16px}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}

/* type */
.eyebrow{font-family:'Archivo',sans-serif;font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--copper)}
h1{font-family:'Marcellus',serif;font-weight:400;color:var(--paper);letter-spacing:.015em;line-height:1.18;font-size:clamp(32px,5.2vw,54px);margin:18px 0 22px}
h2{font-family:'Marcellus',serif;font-weight:400;color:var(--paper);letter-spacing:.02em;line-height:1.25;font-size:clamp(25px,3.4vw,36px);margin:14px 0 18px}
h3{font-family:'Marcellus',serif;font-weight:400;font-size:20px;color:var(--paper);letter-spacing:.03em;margin-bottom:8px}
.lede{font-size:20px;color:var(--sand);max-width:660px}
.body{color:var(--stone);max-width:660px;margin-top:14px}
.body strong{color:var(--sand);font-weight:400}

/* header */
header.site{border-bottom:1px solid var(--hairline);position:sticky;top:0;background:rgba(22,20,15,.92);backdrop-filter:blur(8px);z-index:50}
.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;max-width:1180px;margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand .wm{font-family:'Marcellus',serif;font-size:17px;letter-spacing:.24em;color:var(--paper)}
.brand .sub{display:block;font-family:'Archivo',sans-serif;font-size:7.5px;letter-spacing:.34em;color:var(--stone);margin-top:3px;text-transform:uppercase}
nav.primary{display:flex;align-items:center;gap:26px}
nav.primary a{font-family:'Archivo',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
nav.primary a:hover{color:var(--sand)}
nav.primary a[aria-current="page"]{color:var(--paper);border-bottom-color:var(--copper)}
nav.primary a.cta{color:var(--paper);border:1px solid var(--copper);padding:11px 18px}
nav.primary a.cta:hover{background:var(--copper);color:var(--black)}
.nav-toggle{display:none;background:none;border:1px solid var(--hairline2);color:var(--sand);font-family:'Archivo',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:10px 14px;cursor:pointer}

/* hero */
.hero{position:relative;overflow:hidden;padding:110px 0 100px;border-bottom:1px solid var(--hairline)}
.hero .contours{position:absolute;right:-160px;top:50%;transform:translateY(-50%);opacity:.42;pointer-events:none}
.hero h1{max-width:760px}
.hero .lede{margin-top:6px}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}
.btn{display:inline-block;font-family:'Archivo',sans-serif;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:15px 28px;border:1px solid var(--copper);color:var(--paper);background:transparent;cursor:pointer}
.btn:hover{background:var(--copper);color:var(--black)}
.btn.quiet{border-color:var(--hairline2);color:var(--stone)}
.btn.quiet:hover{background:transparent;border-color:var(--stone);color:var(--sand)}

/* sections */
section{padding:92px 0;border-bottom:1px solid var(--hairline)}
section:last-of-type{border-bottom:none}
.rim-marker{width:32px;height:32px;margin-bottom:20px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:44px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:44px}
.cell{background:var(--charcoal);padding:32px 32px 36px}
.cell .k{font-family:'Archivo',sans-serif;font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.cell h3{margin-top:10px}
.cell p{color:var(--stone);font-size:15.5px;margin-top:8px}
blockquote.pull{font-style:italic;font-size:clamp(22px,3vw,30px);color:var(--paper);line-height:1.45;max-width:720px;border-left:2px solid var(--copper);padding-left:28px;margin:28px 0}
blockquote.pull span{color:var(--copper)}
ul.plain{list-style:none;margin-top:16px}
ul.plain li{color:var(--stone);padding:12px 0;border-bottom:1px solid var(--hairline);font-size:16.5px}
ul.plain li::before{content:"";display:inline-block;width:18px;height:2px;background:var(--copper);margin-right:14px;vertical-align:middle}

/* band */
.band{background:var(--charcoal);border-top:1px solid var(--hairline2);border-bottom:1px solid var(--hairline2)}

/* forms */
form{max-width:620px;margin-top:36px}
.field{margin-bottom:22px}
label{display:block;font-family:'Archivo',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:8px}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;background:var(--charcoal);border:1px solid var(--hairline2);color:var(--paper);font-family:'Newsreader',serif;font-size:16.5px;padding:13px 15px}
input:focus,select:focus,textarea:focus{border-color:var(--copper);outline:none}
textarea{min-height:140px;resize:vertical}
.check{display:flex;gap:12px;align-items:flex-start;margin:26px 0}
.check input{width:18px;height:18px;margin-top:4px;accent-color:var(--copper)}
.check span{color:var(--stone);font-size:15.5px}
.form-note{color:var(--graphite);font-size:14.5px;margin-top:18px;font-style:italic}
.notice{background:var(--charcoal);border-left:2px solid var(--copper);padding:18px 22px;color:var(--sand);font-size:15.5px;margin-top:24px;display:none}
.notice.show{display:block}

/* footer */
footer.site{border-top:1px solid var(--hairline);padding:64px 0 48px}
.foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.foot-brand .wm{font-family:'Marcellus',serif;letter-spacing:.26em;color:var(--sand);font-size:15px;margin-top:14px}
.foot-brand .sub{font-family:'Archivo',sans-serif;font-size:8px;letter-spacing:.32em;text-transform:uppercase;color:var(--graphite);margin-top:5px}
.foot-links{display:flex;gap:34px;flex-wrap:wrap}
.foot-links a{font-family:'Archivo',sans-serif;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite);text-decoration:none;line-height:2.6}
.foot-links a:hover{color:var(--sand)}
.legal{margin-top:44px;padding-top:24px;border-top:1px solid var(--hairline);color:var(--graphite);font-family:'Archivo',sans-serif;font-size:11px;letter-spacing:.06em}

/* prose pages (privacy/accessibility) */
.prose{max-width:700px}
.prose h2{margin-top:44px;font-size:24px}
.prose p{color:var(--stone);margin-top:14px}
.prose a{color:var(--sand)}

/* insights */
.insight-list{display:grid;gap:2px;margin-top:38px;max-width:860px}
.insight-card{display:block;background:var(--charcoal);padding:34px 36px;text-decoration:none;border-left:2px solid transparent}
.insight-card:hover{border-left-color:var(--copper)}
.insight-card .meta,.article-meta{font-family:'Archivo',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.article-meta a{color:inherit;text-decoration-color:currentColor;text-underline-offset:.2em}
.article-meta a:hover{text-decoration-thickness:2px}
.insight-card h3{font-size:25px;margin:10px 0 8px}
.insight-card p{color:var(--stone);max-width:680px}
.article{max-width:760px}
.article h2{font-size:30px;margin-top:54px}
.article p{color:var(--stone);margin-top:18px}
.article strong{color:var(--sand);font-weight:400}
.article-visual{margin:42px 0;background:var(--charcoal);border:1px solid var(--hairline2);padding:28px}
.article-visual svg{width:100%;height:auto}
.article-visual img{display:block;width:100%;height:auto}
.article-visual a{display:block}
.article-visual figcaption{font-family:'Archivo',sans-serif;font-size:10.5px;letter-spacing:.1em;color:var(--graphite);margin-top:18px}
.framework-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:38px 0}
.framework-step{background:var(--charcoal);padding:26px}
.framework-step .n{font-family:'Archivo',sans-serif;font-size:10px;letter-spacing:.2em;color:var(--copper);text-transform:uppercase}
.framework-step h3{margin-top:12px}
.framework-step p{font-size:15.5px;margin-top:8px}
.article-domains{margin:24px 0 34px}
.article-domains li{padding:14px 0}
.article-domains strong{color:var(--paper);font-weight:400}

/* responsive */
@media(max-width:900px){
  .grid-3{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .nav-toggle{display:block}
  nav.primary{display:none;position:absolute;top:100%;left:0;right:0;background:var(--black);border-bottom:1px solid var(--hairline);flex-direction:column;align-items:stretch;padding:12px 28px 24px;gap:4px}
  nav.primary.open{display:flex}
  nav.primary a{padding:12px 0;border-bottom:1px solid var(--hairline)}
  nav.primary a.cta{margin-top:14px;text-align:center}
  .two-col,.grid-3,.grid-2{grid-template-columns:1fr}
  .framework-steps{grid-template-columns:1fr}
  .article-visual{padding:18px}
  .hero{padding:72px 0 64px}
  section{padding:64px 0}
}
@media(prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
}
