/* Hess Holdings LLC, v10: v8's pop illustrations in a calmer, refined frame; growth-rings wood mark.
   Plain CSS, no external requests. The only JS is assets/zoom.js, a tiny fallback for the hero zoom where CSS scroll timelines are missing.
   Fonts (SIL OFL 1.1, see fonts/OFL-*.txt), self-hosted and subset: Archivo (headlines), Inter (body), Caveat (signature only). */
@font-face{font-family:"Archivo";src:url(fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url(fonts/caveat.woff2) format("woff2");font-weight:400 700;font-display:swap}

:root{
  --bg:#FBF8F1; --surface:#FFFFFF; --soft:#F4EEE2; --line:#E6DFD1; --line-strong:#D6CCB8;
  --ink:#1D1B1E; --ink-soft:#4C4547; --muted:#6B6366;
  --yellow:#FFC93C; --yellow-deep:#F2B518; --yellow-soft:#FFF2CC;
  --red:#C8281F; --red-deep:#9E1C17; --teal:#0B6469; --teal-deep:#0E5E63; --teal-bright:#148F94; --mint:#EEF5F1;
  --shadow-sm:0 1px 2px rgba(29,27,30,.06),0 2px 6px -2px rgba(29,27,30,.08);
  --shadow-md:0 1px 2px rgba(29,27,30,.06),0 10px 24px -12px rgba(29,27,30,.18),0 24px 48px -32px rgba(14,94,99,.28);
  --shadow-lg:0 2px 4px rgba(29,27,30,.06),0 24px 48px -20px rgba(29,27,30,.22),0 48px 96px -48px rgba(14,94,99,.35);
  --link:#9E1C17;
  --radius:20px;
  --s1:8px; --s2:12px; --s3:16px; --s4:24px; --s5:32px; --s6:48px; --s7:72px; --s8:112px;
  --display:"Archivo","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hand:"Caveat","Comic Sans MS",cursive;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:400 1.125rem/1.65 var(--body);background:var(--bg);overflow-x:hidden}
img,svg{max-width:100%;height:auto}
a{color:var(--link);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--ink);text-decoration-color:var(--yellow-deep);text-decoration-thickness:3px}
:focus{outline:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--yellow);border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;z-index:20;font-weight:700}
.skip:focus-visible{left:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--s4)}
.narrow{max-width:760px}

/* Header */
.site-head{position:sticky;top:0;z-index:10;padding:var(--s3) 0;border-bottom:1px solid rgba(214,204,184,.6);background:rgba(251,248,241,.84);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4);flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 1.4rem/1 var(--display);letter-spacing:-.02em;border-radius:8px}
.brand .llc{font-weight:600;font-size:.72em;letter-spacing:.02em;color:var(--ink-soft)}
.brand img{width:40px;height:40px;flex:none;filter:drop-shadow(0 2px 4px rgba(14,94,99,.18))}
.brand:hover{color:var(--ink);text-decoration:none}
.nav{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:1rem;padding:4px 0;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--yellow)}

/* Buttons */
.btn{display:inline-block;background:linear-gradient(180deg,#FFD65E,var(--yellow));color:var(--ink);padding:14px 28px;font:700 1.05rem/1.2 var(--display);text-decoration:none;border:2px solid var(--ink);border-radius:999px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 6px 16px -6px rgba(242,181,24,.65);transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{color:var(--ink);text-decoration:none;transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 22px -8px rgba(242,181,24,.8)}
.nav .btn.small{padding:8px 18px;font-size:.98rem;border:2px solid var(--ink);background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}
.nav .btn.small:hover{border-color:var(--ink);color:#fff;box-shadow:var(--shadow-md)}

/* Type */
h1,h2,h3,.h3{font-family:var(--display);color:var(--ink);margin:0 0 .45em;letter-spacing:-.025em;text-wrap:balance}
h1{font-weight:760;font-size:clamp(2.5rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.04em}
h2{font-weight:740;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.035em}
h3,.h3{font-weight:700;font-size:1.3rem;line-height:1.3;letter-spacing:-.015em}
p{margin:0 0 1em}
.lede{font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.55;color:var(--ink-soft);margin:0 0 var(--s5);text-wrap:pretty}
.hand{font-family:var(--hand);font-weight:600;line-height:1.1}
.eyebrow,.links-card .label{display:inline-flex;align-items:center;gap:8px;font:700 .8rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--s4)}
.eyebrow::before,.links-card .label::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 1.5px var(--ink)}

/* Illustrations: v8 pop art, crisp ink frame, soft layered depth, a tilted color plate behind for personality */
.art{margin:0;position:relative;isolation:isolate}
.art::before{content:"";position:absolute;inset:6% -4% -5% 6%;z-index:-1;border-radius:28px;background:linear-gradient(135deg,var(--yellow) 0%,#FFE48F 55%,#BFE3D6 100%);transform:rotate(3deg);opacity:.9}
.page-art::before{transform:rotate(-3deg);inset:6% 6% -5% -4%;background:linear-gradient(225deg,#BFE3D6 0%,#FFE48F 60%,var(--yellow) 100%)}
.art img{display:block;width:100%;height:auto;border:2.5px solid var(--ink);border-radius:24px;box-shadow:var(--shadow-lg);background:var(--yellow-soft)}
.card-art img{display:block;width:100%;height:auto}

/* Hero */
.hero{padding:var(--s7) 0 var(--s7);background:radial-gradient(900px 520px at 82% 30%,rgba(255,201,60,.28),transparent 65%),radial-gradient(700px 480px at 0% 0%,rgba(20,143,148,.10),transparent 60%)}
.page-hero{background:radial-gradient(800px 420px at 85% 20%,rgba(255,201,60,.22),transparent 65%)}
.hero .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--s7);align-items:center}
.hero h1{max-width:13ch}
.hero .lede{max-width:34em}
.hero p:last-child{margin:0}

/* Short version */
.short{padding:0 0 var(--s7)}
.links-card ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.links-card li{position:relative;padding:var(--s5) 48px var(--s4) 24px;font-size:1rem;line-height:1.5;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.links-card li::after{content:"";position:absolute;top:var(--s4);right:22px;width:14px;height:14px;border-radius:50%;border:2px solid var(--ink);background:var(--chip,var(--yellow))}
.links-card li:nth-child(2){--chip:var(--red)}.links-card li:nth-child(3){--chip:var(--teal-bright)}.links-card li:nth-child(4){--chip:#FFE48F}
.links-card li:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.links-card a{font:700 1.15rem/1.3 var(--display);color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:5px}
.links-card a::before{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.links-card a:focus-visible{outline:none;box-shadow:none}
.links-card a:focus-visible::before{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--yellow)}

/* Letter */
.letter-wrap{padding:var(--s5) 0 var(--s7)}
.letter{position:relative;max-width:720px;margin:0 auto;padding:var(--s6) 64px;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-md)}
.letter .acorn{position:absolute;top:-28px;right:44px;width:56px;height:56px}
.letter p{margin:0 0 1.1em}
.sig{margin-top:var(--s5);display:flex;flex-direction:column;gap:2px}
.sig .hand{font-size:2.6rem;color:var(--ink);margin-bottom:var(--s1)}
.sig-title{font-size:1rem;line-height:1.4;color:var(--ink-soft);font-weight:600}
.sig small{color:var(--ink-soft);font-size:.95rem;margin-top:2px}
.flourish{display:flex;justify-content:center;margin:var(--s6) 0 0}
.flourish img{width:160px;height:44px}

/* Sections */
.section{padding:var(--s8) 0}
.section.alt{background:linear-gradient(180deg,var(--mint),#F6F8F2);border-block:1px solid #DCE9E2}
.section-head{max-width:720px;margin-bottom:var(--s6)}
.section-head .lede{margin-bottom:0}
.section.tight{padding-top:var(--s5)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5)}
.card{color:var(--ink);padding:var(--s5) 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.card p{margin:0;color:var(--ink-soft)}
.card p+p,.card ul+p{margin-top:var(--s2)}
.card.pic{padding:var(--s3) var(--s3) 28px}
.card.pic h3,.card.pic .h3,.card.pic p,.card.pic ul{margin-left:12px;margin-right:12px}
.card.pic h3,.card.pic .h3{margin-top:var(--s3)}
.card-art{margin:0;border-radius:14px;overflow:hidden;border:2px solid var(--ink)}
.card-art img{aspect-ratio:4/3;object-fit:cover}
.mt-s{margin-top:var(--s3)}

.who{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5) var(--s6)}
.who li{position:relative;padding:0 0 0 52px}
.who li::before{content:"";position:absolute;left:0;top:2px;width:32px;height:32px;border-radius:50%;
  box-shadow:0 0 0 2px var(--ink);background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%231D1B1E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/18px}
.who strong{display:block;font-family:var(--display);font-weight:700;font-size:1.2rem;line-height:1.3;margin-bottom:2px}
.who span{color:var(--ink-soft)}

/* Principles */
.principles{counter-reset:p;list-style:none;margin:0;padding:0}
.principles li{counter-increment:p;position:relative;padding:var(--s4) 0 var(--s4) 72px;border-top:1px solid var(--line)}
.principles li:last-child{border-bottom:1px solid var(--line)}
.principles li::before{content:counter(p);position:absolute;left:0;top:var(--s4);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font:760 1.2rem/1 var(--display);background:var(--yellow);color:var(--ink);box-shadow:0 0 0 2px var(--ink),0 6px 14px -6px rgba(242,181,24,.7)}
.principles .h3{margin-bottom:.3em}
.principles p{margin:0;color:var(--ink-soft)}

/* Page heroes */
.page-hero{padding:var(--s7) 0 var(--s5)}
.page-hero.has-art .wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);align-items:center}
.page-hero.has-art .lede:last-child,.page-hero p:last-child{margin-bottom:0}
.page-hero.lost{text-align:center;padding:var(--s7) 0 var(--s8)}
.lost-acorn{display:block;margin:0 auto var(--s4);width:96px;height:96px}
.prose p,.prose li{max-width:68ch}
.fit{list-style:none;padding:0;margin:0}
.fit li{padding:var(--s2) 0 var(--s2) 34px;border-bottom:1px solid var(--line);position:relative;color:var(--ink-soft)}
.fit li:last-child{border-bottom:0}
.fit.yes li::before,.fit.no li::before{position:absolute;left:0;top:12px;font:800 1.15rem/1.4 var(--display)}
.fit.yes li::before{content:"\2713";color:var(--teal)}
.fit.no li::before{content:"\00D7";color:var(--red);font-size:1.5rem;top:8px}
.section.alt .fit li{border-bottom-color:var(--line-strong)}
.mail{font:800 clamp(1.3rem,3.2vw,1.9rem)/1.2 var(--display);letter-spacing:-.02em;word-break:break-word;margin:0 0 var(--s4)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);counter-reset:s}
.steps .card{counter-increment:s}
.steps .card h3{margin-top:0}
.steps .card > h3::before{content:"Step " counter(s);display:block;font:700 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--s3)}

/* CTA band */
.cta{padding:var(--s7) 0 var(--s8)}
.cta .box{position:relative;overflow:hidden;background:radial-gradient(600px 300px at 100% 0%,rgba(255,201,60,.28),transparent 60%),linear-gradient(135deg,#0B4F54,var(--teal-deep) 55%,#127A7F);border-radius:28px;padding:var(--s6) 56px;display:grid;grid-template-columns:1.4fr auto;gap:var(--s5);align-items:center;box-shadow:var(--shadow-lg)}
.cta h2{margin-bottom:.25em;color:#fff}
.cta p{margin:0;color:#DDEDEA}
.cta .btn:focus-visible{outline-color:#fff}

/* Footer */
.site-foot{background:linear-gradient(180deg,#1D1B1E,#151316);color:#F5F1E8;padding:var(--s1) 0 var(--s6);font-size:.98rem}
.site-foot .brand{color:#fff}.site-foot .brand .llc{color:#CFC8BC}
.site-foot :focus-visible{outline-color:#fff}
.site-foot .flourish{margin:var(--s5) 0}
.site-foot .wrap{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;align-items:flex-start}
.site-foot nav{display:flex;gap:var(--s2) var(--s4);flex-wrap:wrap}
.site-foot nav a{color:#fff;font-weight:600;text-decoration:none}
.site-foot nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--yellow)}
.site-foot a{color:#FFE08A}.site-foot a:hover{color:#fff}
.site-foot p{margin:var(--s1) 0 0;color:#CFC8BC}
.site-foot .disclaimer{flex-basis:100%;margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid rgba(255,255,255,.14);font-size:.875rem;line-height:1.55;color:#BDB5AA;max-width:none}

/* About */
.about-grid{display:grid;grid-template-columns:280px 1fr;gap:var(--s6);align-items:start;max-width:980px}
.portrait{margin:0}
.portrait .frame{background:var(--surface);padding:10px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-md)}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px}
.portrait picture{display:block}
.portrait-empty{aspect-ratio:4/5;background:var(--soft);border-radius:10px;display:grid;place-items:center}
.portrait-empty img{width:96px;height:96px;aspect-ratio:auto}
.portrait figcaption{text-align:center;margin-top:var(--s3);font:700 1.05rem/1.3 var(--display);color:var(--ink)}
.prose p:last-child{margin-bottom:0}

@media (max-width:1100px){.links-card ul{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  .hero .wrap,.page-hero.has-art .wrap{grid-template-columns:1fr;gap:var(--s5)}
  .hero h1{max-width:none}
  .grid3,.steps,.grid2,.who{grid-template-columns:1fr}
  .cta .box{grid-template-columns:1fr;padding:var(--s5) 28px}
  .hero .wrap{gap:var(--s6)}
  .art::before{inset:5% -2% -4% 4%}
  .section{padding:var(--s7) 0}.cta{padding:var(--s6) 0 var(--s7)}
}
@media (max-width:760px){.about-grid{grid-template-columns:1fr;gap:var(--s5)}.portrait{max-width:280px}}
@media (max-width:600px){
  body{font-size:1.0625rem}
  .wrap{padding:0 20px}
  .site-head{padding:var(--s2) 0;position:relative}
  .brand{font-size:1.25rem}.brand img{width:36px;height:36px}
  .nav{gap:var(--s3)}
  .nav a{font-size:.95rem}
  .site-head .btn.small{display:none}
  .hero{padding:var(--s5) 0 var(--s6)}
  .page-hero{padding:var(--s5) 0 var(--s4)}
  .links-card ul{grid-template-columns:1fr}
  .letter{padding:var(--s6) 24px var(--s5)}
  .letter .acorn{width:48px;height:48px;top:-24px;right:20px}
  .section{padding:var(--s6) 0}
  .principles li{padding-left:60px}
  .principles li::before{width:40px;height:40px}
}

@media (forced-colors:active){
  .btn,.links-card li,.card,.letter,.cta .box{border:1px solid CanvasText}
  .art::before{display:none}
  :focus-visible{outline-color:Highlight}
}
.section + .cta{padding-top:0}
p,.who span,.fit li,.links-card li{text-wrap:pretty}

/* Hero zoom: the illustration grows and settles as the page scrolls (transform + opacity only, compositor-friendly).
   CSS scroll timeline where supported; assets/zoom.js drives the same values elsewhere; static for reduced motion. */
@keyframes hh-zoom{
  from{transform:translateY(28px) scale(.84);opacity:.9;animation-timing-function:cubic-bezier(.33,.3,.3,1)}
  to{transform:none;opacity:1}
}
@media (prefers-reduced-motion:no-preference){
  .hero-art{transform-origin:50% 60%}
  @supports (animation-timeline:scroll()){
    .hero-art{animation:hh-zoom linear both;animation-timeline:scroll(root block);animation-range:0 min(60vh,520px)}
  }
  .hh-zoom-js .hero-art{will-change:transform,opacity}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* v11 refined art: quiet frame, no tilted plate, a soft glow instead of an ink outline */
.art.refined::before{inset:10% 2% -6% 8%;transform:none;border-radius:32px;background:radial-gradient(60% 60% at 70% 40%,rgba(255,201,60,.45),transparent 70%),radial-gradient(60% 60% at 20% 80%,rgba(20,143,148,.22),transparent 70%);filter:blur(24px);opacity:1}
.art.refined img{border:1px solid rgba(29,27,30,.08);border-radius:20px;background:#F7F1E3;box-shadow:0 1px 2px rgba(29,27,30,.05),0 20px 40px -24px rgba(29,27,30,.28),0 40px 80px -48px rgba(14,94,99,.35)}
.card-art.refined{border:1px solid rgba(29,27,30,.08);border-radius:12px;background:#F7F1E3}
.brand img{filter:none}

/* v11b short-version cards: title on its own line, description below */
.links-card .lc-title{display:block;margin:0 0 6px}
.links-card li p{margin:0}
