/* Hess Holdings LLC, v8 pop (v7 bright palette, pop-cartoon art). Plain CSS, no external requests, no JS.
   Fonts (SIL OFL 1.1, see fonts/OFL-*.txt), self-hosted and subset: Fraunces (display), Inter (body), Caveat (signature only). */
@font-face{font-family:"Fraunces";src:url(fonts/fraunces.woff2) format("woff2");font-weight:650 900;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{
  --ground:#FBEFD2; --ochre:#F7C531; --mustard:#FFC93C; --butter:#FFE07A;
  --cream:#FFF7E6; --paper:#FFFCF4;
  --red:#C8281F; --red-deep:#9E1C17; --band:#0E6A70;
  --teal:#148F94; --teal-ink:#0B6469;
  --ink:#1D1B1E; --ink-soft:#4C4547; --link:#B0221B;
  --line:3px;
  --wob:20px 28px 22px 30px / 28px 20px 30px 22px;
  --wob2:28px 18px 30px 20px / 20px 30px 18px 28px;
  --tex:url(img/canvas.webp) 0 0/320px 320px repeat;
  /* spacing scale */
  --s1:8px; --s2:12px; --s3:16px; --s4:24px; --s5:32px; --s6:48px; --s7:72px; --s8:96px;
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hand:"Caveat","Comic Sans MS",cursive;
  --wrap:1160px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:400 1.125rem/1.6 var(--body);background:var(--tex),var(--ground);overflow-x:hidden}
img,svg{max-width:100%;height:auto}
a{color:var(--link);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--red-deep);text-decoration-thickness:3px}
/* Focus: thick painted ring, butter inside and ink outside so it shows on every ground */
:focus{outline:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 4px var(--butter);border-radius:6px}
.site-foot :focus-visible,.section.alt :focus-visible{outline-color:var(--butter);box-shadow:0 0 0 4px var(--ink)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--cream);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:780px}

/* ---------- Painted surface: the shape lives on ::before with a crisp outline; text stays crisp ---------- */
.btn,.links-card li,.card,.who li,.principles li,.letter,.cta .box{position:relative;isolation:isolate}
.btn::before,.links-card li::before,.card::before,.who li::before,.principles li::before,.letter::before,.cta .box::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--tex),var(--fill,var(--cream));
  border:var(--bw,3px) solid var(--ink);border-radius:var(--rad,var(--wob));box-shadow:var(--sh,6px 6px 0 var(--ink));
  transition:box-shadow .16s ease,transform .16s ease}
/* white highlight stroke, top left (light from upper left) */
.btn::after,.links-card li::after,.card:not(.pic)::after,.cta .box::after{
  content:"";position:absolute;top:var(--hy,9px);left:var(--hx,18px);width:var(--hw,28px);height:10px;
  border-top:3px solid rgba(255,255,255,.85);border-radius:50% 50% 0 0;transform:rotate(-6deg);pointer-events:none}

/* Header */
.site-head{padding:var(--s3) 0;border-bottom:var(--line) solid var(--ink);background:var(--tex),var(--cream)}
.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.5rem/1 var(--display);letter-spacing:-.01em;border-radius:10px}
.brand .llc{font-weight:700;font-size:.78em;letter-spacing:.02em}
.brand img{width:48px;height:48px;flex:none}
.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:700;font-size:1rem;padding:4px 2px;border-bottom:3px solid transparent;border-radius:2px}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--red)}

/* Buttons */
.btn{display:inline-block;--fill:var(--red);--rad:var(--wob);--sh:5px 5px 0 var(--ink);color:var(--cream);
  padding:14px 30px;font:800 1.1rem/1.2 var(--display);text-decoration:none;border-radius:var(--wob);transition:transform .16s ease}
.btn:hover{color:var(--cream);text-decoration:none;transform:translate(-2px,-2px) rotate(-1deg)}
.btn:hover::before{box-shadow:8px 8px 0 var(--ink)}
.btn:active{transform:translate(3px,3px)}
.btn:active::before{box-shadow:2px 2px 0 var(--ink)}
.nav .btn.small{padding:9px 18px;font-size:1rem;--fill:var(--mustard);--sh:3px 3px 0 var(--ink);color:var(--ink);border-bottom:0;--hx:11px;--hw:16px;--hy:6px}
.nav .btn.small:hover{color:var(--ink)}

/* Type: one vertical rhythm */
h1,h2,h3,.h3{font-family:var(--display);color:var(--ink);margin:0 0 .45em;letter-spacing:-.015em;text-wrap:balance}
h1{font-weight:850;font-size:clamp(2.4rem,5.4vw,4.3rem);line-height:1.04}
h2{font-weight:800;font-size:clamp(1.85rem,3.4vw,2.6rem);line-height:1.1}
h3,.h3{font-weight:750;font-size:1.375rem;line-height:1.25}
p{margin:0 0 1em}
.lede{font-size:clamp(1.15rem,1.9vw,1.375rem);line-height:1.5;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{display:inline-block;font:800 .8rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--cream);
  background:var(--teal-ink);border:2px solid var(--ink);border-radius:999px;padding:8px 13px 7px;margin-bottom:var(--s4)}

/* Painted art frames: straight canvas, rough painted outline on top */
.art{margin:0;position:relative;border-radius:var(--wob2);box-shadow:8px 8px 0 var(--ink);background:var(--ochre)}
.art img{display:block;width:100%;height:auto;border-radius:var(--wob2)}
.art::after{content:"";position:absolute;inset:-2px;border:5px solid var(--ink);border-radius:var(--wob2);pointer-events:none}
.hero-art{transform:rotate(1.4deg)}
.page-art{transform:rotate(-1.2deg)}

/* Hero */
.hero{padding:var(--s6) 0 var(--s5)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s6);align-items:center}
.hero h1{max-width:13ch}
.hero .lede{color:var(--ink);max-width:34em}
.hero p:last-child{margin:0}

/* Short version: four painted tiles, whole tile is the link */
.short{padding:var(--s4) 0 var(--s6)}
.links-card .label{display:inline-block;font:800 .8rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
  background:var(--butter);border:2px solid var(--ink);border-radius:999px;padding:8px 13px 7px;margin-bottom:var(--s4)}
.links-card ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.links-card li{padding:var(--s4) 22px 22px;font-size:1rem;line-height:1.45;--sh:5px 5px 0 var(--ink);--hx:auto;transition:transform .16s ease}
.links-card li::after{left:auto;right:16px;top:10px;width:22px}
.links-card li:nth-child(1){--fill:var(--red);color:var(--cream)}
.links-card li:nth-child(2){--fill:var(--mustard)}
.links-card li:nth-child(3){--fill:var(--teal-ink);color:var(--cream)}
.links-card li:nth-child(4){--fill:var(--cream)}
.links-card li:nth-child(4)::after{border-top-color:var(--mustard)}
.links-card a{font:800 1.2rem/1.3 var(--display);color:inherit;text-underline-offset:4px}
.links-card li:nth-child(4) a{color:var(--link)}
.links-card a::before{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--wob)}
.links-card li:hover{transform:translate(-2px,-3px) rotate(-.6deg)}
.links-card li:hover::before{box-shadow:9px 9px 0 var(--ink)}
.links-card a:focus-visible{outline:none;box-shadow:none}
.links-card a:focus-visible::before{outline:3px solid var(--ink);outline-offset:6px;box-shadow:0 0 0 6px var(--butter)}

/* Letter */
.letter-wrap{padding:var(--s5) 0 var(--s7)}
.letter{max-width:780px;margin:0 auto;padding:var(--s6) 64px;--fill:var(--paper);--bw:4px;--rad:8px 12px 10px 14px;--sh:8px 8px 0 var(--ink)}
.letter .acorn{position:absolute;top:-36px;right:40px;width:72px;height:72px;transform:rotate(12deg)}
.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-name{font:750 1.15rem/1.3 var(--display);color:var(--ink)}
.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:var(--tex),var(--band);border-top:var(--line) solid var(--ink);border-bottom:var(--line) solid var(--ink);color:var(--cream)}
.section.alt h2,.section.alt .lede{color:var(--cream)}
.section.alt .lede{color:#E3F4F2}
.section.alt a{color:var(--butter)}
.section.alt .fit li{border-bottom-color:rgba(255,247,230,.35)}
.section.alt .fit.no li::before{color:var(--butter)}
.section-head{max-width:760px;margin-bottom:var(--s5)}
.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 28px}
.card p{margin:0;color:var(--ink-soft)}
.card p+p,.card ul+p{margin-top:var(--s2)}
.card.pic{padding:14px 14px 26px}
.card.pic h3,.card.pic .h3,.card.pic p,.card.pic ul{margin-left:14px;margin-right:14px}
.card.pic h3,.card.pic .h3{margin-top:var(--s4)}
.card-art{margin:0;position:relative}
.card-art img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px 20px 12px 18px}
.card-art::after{content:"";position:absolute;inset:-1px;border:3px solid var(--ink);border-radius:14px 20px 12px 18px;pointer-events:none}

.who{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}
.who li{padding:22px 24px 22px 78px;--rad:var(--wob2);--sh:5px 5px 0 var(--ink)}
.who li::after{content:"";position:absolute;left:20px;top:22px;width:40px;height:40px;border:var(--line) solid var(--ink);border-radius:50%;
  background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13c2.4 1.6 4 3.6 5 5.4C12.6 12.6 15.6 9 19.5 6' fill='none' stroke='%23FBEFD6' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/24px;
  box-shadow:inset 3px 3px 0 rgba(255,255,255,.3)}
.who strong{display:block;font-family:var(--display);font-weight:800;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;display:grid;gap:var(--s4)}
.principles li{counter-increment:p;padding:var(--s4) 28px var(--s4) 96px;--sh:5px 5px 0 var(--ink)}
.principles li::after{content:counter(p);position:absolute;left:22px;top:22px;width:52px;height:52px;border:var(--line) solid var(--ink);border-radius:50%;display:grid;place-items:center;
  font:850 1.45rem/1 var(--display);background:var(--red);color:var(--cream);box-shadow:inset 3px 3px 0 rgba(255,255,255,.35)}
.principles li:nth-child(3n+2)::after{background:var(--mustard);color:var(--ink)}
.principles li:nth-child(3n)::after{background:var(--teal-ink)}
.principles .h3{margin-bottom:.3em}
.principles p{margin:0;color:var(--ink-soft)}

/* Page heroes */
.page-hero{padding:var(--s6) 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{color:var(--ink)}
.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:120px;height:120px;transform:rotate(-18deg)}
.prose p,.prose li{max-width:68ch}
.fit{list-style:none;padding:0;margin:0}
.fit li{padding:var(--s2) 0 var(--s2) 38px;border-bottom:2px dashed rgba(29,27,30,.25);position:relative}
.fit li:last-child{border-bottom:0}
.fit.yes li::before,.fit.no li::before{position:absolute;left:0;top:12px;font:800 1.25rem/1.4 var(--display)}
.fit.yes li::before{content:"\2713";color:var(--teal-ink)}
.fit.no li::before{content:"\00D7";color:var(--red);font-size:1.6rem;top:7px}
.mail{font:800 clamp(1.3rem,3.4vw,2rem)/1.2 var(--display);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 .step{display:inline-block}
.steps .card > h3::before{content:"Step " counter(s);display:table;font:800 .8rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);background:var(--butter);border:2px solid var(--ink);border-radius:999px;padding:7px 12px 6px;margin-bottom:var(--s3)}
.steps .card:nth-child(2) > h3::before{background:var(--teal-ink);color:var(--cream)}
.steps .card:nth-child(3) > h3::before{background:var(--red);color:var(--cream)}

/* CTA band */
.cta{padding:var(--s8) 0}
.cta .box{--fill:var(--mustard);--rad:var(--wob2);--bw:4px;--sh:9px 9px 0 var(--ink);--hx:30px;--hw:44px;--hy:12px;
  padding:var(--s6) 52px;display:grid;grid-template-columns:1.4fr auto;gap:var(--s5);align-items:center}
.cta h2{margin-bottom:.25em}
.cta p{margin:0;color:var(--ink)}

/* Footer */
.site-foot{background:var(--ink);color:var(--cream);padding:var(--s1) 0 var(--s6);font-size:.98rem}
.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 .brand{color:var(--cream)}
.site-foot a{color:var(--butter)}
.site-foot nav{display:flex;gap:var(--s2) var(--s4);flex-wrap:wrap}
.site-foot nav a{color:var(--cream);font-weight:600;text-decoration:none}
.site-foot nav a:hover{text-decoration:underline}
.site-foot p{margin:var(--s1) 0 0;color:#ECE6DA}
.site-foot .disclaimer{flex-basis:100%;margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid rgba(255,247,230,.25);font-size:.875rem;line-height:1.55;color:#E2DBCE;max-width:none}

/* About */
.about-grid{display:grid;grid-template-columns:300px 1fr;gap:var(--s6);align-items:start;max-width:1000px}
.portrait{margin:0}
.portrait .frame{position:relative;background:var(--tex),var(--mustard);padding:12px;border-radius:var(--wob2);box-shadow:8px 8px 0 var(--ink);transform:rotate(-1.5deg)}
.portrait .frame::after{content:"";position:absolute;inset:0;border:4px solid var(--ink);border-radius:var(--wob2);pointer-events:none}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border:var(--line) solid var(--ink);border-radius:14px 20px 16px 22px}
.portrait picture{display:block}
.portrait-empty{aspect-ratio:4/5;background:var(--cream);border:var(--line) solid var(--ink);border-radius:14px;display:grid;place-items:center}
.portrait-empty img{width:96px;height:96px;aspect-ratio:auto;border:0}
.portrait figcaption{text-align:center;margin-top:var(--s3);font:750 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}
  .hero-art,.page-art{transform:none}
  .grid3,.steps{grid-template-columns:1fr}
  .grid2,.who{grid-template-columns:1fr}
  .cta .box{grid-template-columns:1fr;padding:var(--s5) 28px}
  .section{padding:var(--s7) 0}.cta{padding:var(--s7) 0}
}
@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}
  .brand{font-size:1.3rem}.brand img{width:40px;height:40px}
  .nav{gap:var(--s3)}
  .nav a{font-size:.95rem}
  .site-head .btn.small{display:none}
  .hero{padding:var(--s5) 0 var(--s4)}
  .page-hero{padding:var(--s5) 0 var(--s4)}
  .links-card ul{grid-template-columns:1fr;gap:var(--s3)}
  .letter{padding:var(--s6) 24px var(--s5)}
  .letter .acorn{width:56px;height:56px;top:-28px;right:20px}
  .section{padding:var(--s6) 0}.cta{padding:var(--s6) 0}
  .principles li{padding:20px 20px 20px 84px}
  .principles li::after{left:18px;width:48px;height:48px}
  .art{box-shadow:6px 6px 0 var(--ink)}
  .who li{padding:20px 20px 20px 74px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important}
  .btn:hover,.btn:active,.links-card li:hover{transform:none}
}
@media (forced-colors:active){
  .btn::before,.links-card li::before,.card::before,.who li::before,.principles li::before,.letter::before,.cta .box::before{border-color:CanvasText;filter:none}
  :focus-visible{outline-color:Highlight}
}
.section + .cta{padding-top:0}
p,.who span,.fit li,.links-card li{text-wrap:pretty}
