/* Groundwell. One type scale (1.25 ratio) and one spacing scale. */
:root{
  --bg:#F5F1EB; --ink:#1A1A1A; --rule:#B86F3D; --dark:#1F1C19; --cream:#F5F1EB;
  /* type scale */
  --t-sm:14px; --t-base:16px; --t-md:20px; --t-lg:25px; --t-xl:clamp(31px,3.2vw,39px); --t-2xl:clamp(39px,4.4vw,49px); --t-hero:clamp(44px,6.4vw,80px);
  /* line heights */
  --lh-tight:1.05; --lh-head:1.2; --lh-body:1.6;
  /* tracking */
  --tr-head:-0.02em; --tr-body:0;
  /* spacing scale */
  --s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:40px; --s6:64px; --s7:104px;
  --container:960px; --measure:640px; --pad:clamp(24px,5vw,64px);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink)}
body{font-family:'General Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;font-size:var(--t-base);line-height:var(--lh-body);letter-spacing:var(--tr-body)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
header.site-nav,main,footer.site-footer{position:relative;z-index:1}
a{color:inherit}
h1,h2,h3,p,ul,ol{margin:0}
h1,h2,h3{letter-spacing:var(--tr-head);line-height:var(--lh-head);font-weight:700}

/* shared container: every page aligns to the same left edge and max width */
header.site-nav,footer.site-footer,.page,.secondary-inner{width:100%;max-width:calc(var(--container) + 2*var(--pad));margin-left:auto;margin-right:auto;padding-left:var(--pad);padding-right:var(--pad)}
header.site-nav{display:flex;justify-content:space-between;align-items:center;padding-top:var(--s4);padding-bottom:var(--s4)}
.wordmark{font-weight:700;font-size:var(--t-base);text-decoration:none;letter-spacing:var(--tr-head)}
.wordmark.is-home{text-decoration:underline;text-underline-offset:4px}
nav.links{display:flex;gap:var(--s4)}
nav.links a{font-size:var(--t-sm);font-weight:500;text-decoration:none}
nav.links a.active{color:var(--rule);text-decoration:underline;text-underline-offset:4px}
main{flex:1;display:flex;flex-direction:column}
footer.site-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding-top:var(--s5);padding-bottom:var(--s5);font-size:var(--t-sm)}
footer.site-footer a{text-decoration:none}
.footer-left{display:flex;gap:var(--s4);flex-wrap:wrap}
.footer-useful{text-decoration:underline!important;text-underline-offset:4px}

.page{scroll-margin-top:200px;display:none;padding-top:var(--s6);padding-bottom:var(--s7)}
.page.active{display:block}
.page > *, .secondary-inner > *{max-width:var(--measure)}
.page > .receipt,.page > .craft{max-width:none}

/* shared text roles */
.eyebrow,.resource-kicker{color:var(--rule);font-weight:700;font-size:var(--t-sm);margin-bottom:var(--s4)}
.page h1:not(.hero-big),.secondary-title,.resource-page h1{font-size:var(--t-2xl);line-height:var(--lh-tight);margin-bottom:var(--s4)}
.intro,.secondary-intro,.resource-deck,.lede{font-size:var(--t-md);line-height:1.5;margin-bottom:var(--s6)}
h2{font-size:var(--t-lg);margin-bottom:var(--s3)}
h3{font-size:var(--t-base);margin-bottom:var(--s3)}
p + p{margin-top:var(--s3)}

/* home */
.hero-big{font-size:var(--t-hero);font-weight:600;line-height:1.0;letter-spacing:-0.03em;margin-bottom:var(--s5);max-width:14ch}
.hero-big span{display:block;color:var(--rule)}
.hero-line{font-size:var(--t-md);line-height:1.5;max-width:34em;opacity:.85}
#home .think-block{margin-top:var(--s7)}
#home .hero-line + .think-block{margin-top:var(--s7)}
.think-rule{display:block;height:1px;background:var(--rule);width:96px;margin-bottom:var(--s4);transform-origin:left}
.craft{display:block;margin-top:var(--s7)}
.craft .think-block{margin-top:0!important;max-width:var(--measure)}
.pull{background:var(--dark);color:var(--cream);padding:var(--s6) var(--s5);margin-top:var(--s5);display:flex;flex-direction:column;gap:var(--s4)}
.pull p{font-size:var(--t-xl);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--tr-head);margin:0}
.pull p span{color:var(--rule)}
.pull-rule{display:block;height:1px;background:var(--rule);width:64px}
.pull-rule:last-child{display:none}
.cta-wrap{margin-top:var(--s6)}
a.cta-btn{display:inline-flex;align-items:center;gap:var(--s3);background:var(--ink);color:var(--bg);text-decoration:none;font-weight:600;font-size:var(--t-base);line-height:1;padding:var(--s3) var(--s4);border-bottom:2px solid var(--ink);transition:border-color .2s}
a.cta-btn:hover{border-bottom-color:var(--rule)}
a.cta-btn svg{width:16px;height:16px}
.cta-note{font-size:var(--t-sm);margin-top:var(--s3);opacity:.75;max-width:46ch}

/* work */
.receipt{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin-bottom:var(--s6)}
.receipt-col h3{padding-top:var(--s3);border-top:1px solid var(--rule)}
.receipt-col ul{list-style:none;padding:0}
.receipt-col li{font-size:var(--t-base);line-height:var(--lh-body)}
.receipt-col .cta-note{margin-top:var(--s4)}
.closing{font-size:var(--t-md);font-weight:700;line-height:1.4;letter-spacing:var(--tr-head)}

/* talk */
#talk .talk-inner{max-width:var(--measure)}
.band{background:var(--dark);padding:var(--s5);margin-bottom:var(--s6)}
.band a.cta-btn{background:var(--cream);color:var(--ink);border-bottom-color:var(--cream)}
.band a.cta-btn:hover{border-bottom-color:var(--rule)}
.steps{list-style:none;padding:0 0 0 var(--s4);border-left:2px solid var(--rule);margin-bottom:var(--s5)}
.steps li + li{margin-top:var(--s4)}
.steps b{display:block;margin-bottom:var(--s1)}
#talk .steps + p{margin-bottom:var(--s4)}

/* useful things */
.secondary-shell{flex:1}
.secondary-inner{padding-top:var(--s6);padding-bottom:var(--s7)}
.resource-list,.question-list{border-top:1px solid var(--rule);max-width:none}
.resource-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid rgba(26,26,26,.18)}
.resource-item h2{font-size:var(--t-md);margin-bottom:var(--s2)}
.resource-item p{font-size:var(--t-base)}
.resource-item a,.resource-actions a{font-size:var(--t-sm);font-weight:600;text-underline-offset:4px;white-space:nowrap}
.question{font-size:var(--t-md);font-weight:600;line-height:1.4;letter-spacing:var(--tr-head);padding:var(--s4) 0;border-bottom:1px solid rgba(26,26,26,.18);margin:0!important}
.resource-actions{display:flex;gap:var(--s4);margin-top:var(--s5)}
.back-link{text-decoration:none}
.img-ph{aspect-ratio:4/3;max-width:var(--measure);margin-top:var(--s4);background:repeating-linear-gradient(45deg,#e7e0d6 0 10px,#efe9e0 10px 20px);border:1px solid #cdbfae;display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--t-sm);padding:var(--s3)}


/* motion */
.think-rule{transform:scaleX(0);transition:transform .6s ease}
.is-in .think-rule,.think-rule.is-in{transform:scaleX(1)}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
.no-js .think-rule{transform:none}
@media (prefers-reduced-motion:reduce){.reveal,.think-rule{transition:none!important;opacity:1!important;transform:none!important}}

@media (max-width:760px){
  .page{padding-top:var(--s5);padding-bottom:var(--s6)}
  .secondary-inner{padding-top:var(--s5);padding-bottom:var(--s6)}
  #home .think-block,.craft{margin-top:var(--s6)}
  .receipt{grid-template-columns:1fr;gap:var(--s5)}
  .resource-item{grid-template-columns:1fr;gap:var(--s2)}
  .pull{padding:var(--s5) var(--s4)}
  .band{padding:var(--s4)}
  footer.site-footer{flex-direction:column;align-items:flex-start}
}
.pull{max-width:var(--measure)}
.question-list{max-width:var(--measure)}
#talk h1{margin-bottom:var(--s3)}
/* topographic contour device */
#home{position:relative}
#home::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;right:calc(-1*var(--pad));width:min(62vw,760px);height:680px;background:url(/assets/contour.svg?v=2) no-repeat right top/contain;opacity:.12}
.pull{background:var(--dark) url(/assets/contour-light.svg?v=2) no-repeat right center/cover;position:relative}
.pull::after{content:"";position:absolute;inset:0;background:var(--dark);opacity:.86;pointer-events:none}
.pull > *{position:relative;z-index:1}
@media (max-width:760px){#home::before{width:100vw;height:420px;opacity:.08}}
#home::before{-webkit-mask-image:radial-gradient(ellipse 70% 70% at 60% 45%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 60% 45%,#000 40%,transparent 100%)}
