:root{--cream:#FFF4E4;--choco:#38251A;--tomato:#E4572E;--butter:#F7C548;--leaf:#4C7A4C;--paper:#FFFBF3;--muted:#5c463a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Sofia Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--cream);color:var(--choco);line-height:1.6;overflow-x:hidden}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px dashed var(--tomato);outline-offset:3px}
.logo{font-family:'Unbounded',system-ui,sans-serif;font-weight:900;font-size:1.35rem;color:var(--choco);text-decoration:none;display:flex;align-items:center;gap:10px}.logo .mark{flex-shrink:0}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,244,228,.97);border-bottom:3px solid var(--choco);backdrop-filter:blur(8px)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.nav-links{display:flex;gap:26px}.nav-links a{font-weight:650;font-size:1rem;color:var(--choco);text-decoration:none;border-bottom:3px solid transparent;padding-bottom:2px}.nav-links a:hover{border-color:var(--butter)}.nav-links a.active{border-color:var(--tomato)}
.desktop-cta{font-family:'Unbounded',system-ui,sans-serif;font-weight:700;font-size:.85rem;background:var(--tomato);color:var(--paper);text-decoration:none;padding:12px 22px;border-radius:14px;border:3px solid var(--choco);box-shadow:4px 4px 0 var(--choco);transition:transform .12s ease,box-shadow .12s ease}.desktop-cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--choco)}
.mobile-toggle{display:none;width:48px;height:44px;border:3px solid var(--choco);border-radius:13px;background:var(--butter);box-shadow:3px 3px 0 var(--choco);padding:9px 10px;cursor:pointer}.mobile-toggle span{display:block;height:3px;border-radius:10px;background:var(--choco);margin:4px 0;transition:transform .2s ease,opacity .2s ease}.mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-panel{background:var(--paper);border-top:3px solid var(--choco);box-shadow:0 12px 0 rgba(56,37,26,.08)}.mobile-panel[hidden]{display:none}.mobile-panel-inner{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:18px;padding-bottom:22px}.mobile-panel a{color:var(--choco);text-decoration:none;font-family:'Unbounded',system-ui,sans-serif;font-weight:700;font-size:.9rem;padding:13px 15px;border:3px solid var(--choco);border-radius:14px;background:var(--cream);box-shadow:3px 3px 0 var(--choco)}.mobile-panel a.active{background:var(--butter)}.mobile-panel .mobile-cta{grid-column:1/-1;background:var(--tomato);color:var(--paper);display:flex;justify-content:space-between;align-items:center}
.site-footer{border-top:3px solid var(--choco);padding:44px 0 34px;text-align:center;font-size:.9rem;color:var(--muted);background:rgba(255,251,243,.45)}.site-footer .logo{justify-content:center;margin-bottom:12px}.foot-nav,.legal-nav,.site-footer .soc{display:flex;gap:15px 22px;justify-content:center;flex-wrap:wrap}.foot-nav{margin:14px 0 8px}.legal-nav{margin:10px 0 16px;padding-top:14px;border-top:1px dashed rgba(56,37,26,.35)}.site-footer a{color:var(--choco);font-weight:650;text-decoration:none;border-bottom:2px solid var(--butter)}.site-footer a:hover{border-color:var(--tomato)}.site-footer .logo{border:0}.footer-location{margin:10px 0 7px}.footer-meta{font-size:.78rem;opacity:.72;margin-top:18px}

/* Upgraded waitlist form */
#waitlist{scroll-margin-top:92px}#waitlist .waitlist{padding:66px 44px}#waitlist .waitlist>p{max-width:62ch}.founder-offer{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 15px;font-family:'Unbounded',system-ui,sans-serif;font-size:.75rem;font-weight:700;margin:0 auto 26px;position:relative}.wl-form{max-width:850px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;text-align:left}.field{display:flex;flex-direction:column;gap:7px;position:relative}.field.full,.form-actions,.consent-row{grid-column:1/-1}.field label,.field legend{font-weight:700;color:var(--cream);font-size:.92rem}.field small{font-size:.77rem;opacity:.72}.wl-form input,.wl-form select,.wl-form textarea{width:100%;min-width:0!important;padding:14px 16px!important;border:3px solid var(--choco)!important;border-radius:14px!important;background:var(--paper);color:var(--choco);font:inherit}.wl-form textarea{min-height:116px;resize:vertical}.wl-form select{appearance:auto}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice-row label{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.35);padding:9px 12px;border-radius:999px;cursor:pointer}.choice-row input{width:auto!important;min-width:auto!important;padding:0!important}.consent-row{display:flex;align-items:flex-start;gap:10px;color:var(--cream);font-size:.86rem;line-height:1.45}.consent-row input{width:18px!important;height:18px;min-width:18px!important;margin-top:2px;padding:0!important}.consent-row a{color:var(--butter);font-weight:700}.form-actions{text-align:center}.form-actions .btn{min-width:220px}.wl-note{max-width:65ch!important;margin:17px auto 0!important}.counter{margin-top:18px!important}.hidden-field{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important}.form-microcopy{font-size:.76rem;opacity:.75;text-align:center;margin-top:10px}.promo-limit{font-size:.78rem;opacity:.8;margin-top:7px}.site-status{display:none;margin:20px auto 0;max-width:620px;padding:14px 18px;border:2px solid var(--butter);border-radius:14px;color:var(--cream);font-weight:650}.site-status.show{display:block}

/* About photos */
.photo-slot{background:#ead9c5!important;border-style:solid!important}.photo-slot img{display:block;width:100%;height:100%;object-fit:cover}.cat-card:first-child .photo-slot img{object-position:center 53%}.cat-card:last-child .photo-slot img{object-position:center 48%}.cat-card .photo-credit{font-size:.72rem;color:#78675d;margin-top:7px}

/* Legal and utility pages */
.legal-main{min-height:65vh}.legal-hero{padding:64px 0 32px;text-align:center}.legal-kicker{display:inline-block;font-family:'Unbounded',system-ui,sans-serif;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--butter);border:3px solid var(--choco);border-radius:999px;padding:7px 15px;box-shadow:3px 3px 0 var(--choco);transform:rotate(-1deg);margin-bottom:18px}.legal-hero h1{font-family:'Unbounded',system-ui,sans-serif;font-size:clamp(2rem,5vw,3.2rem);line-height:1.08;margin:0 0 14px}.legal-hero p{max-width:66ch;margin:0 auto;color:var(--muted);font-size:1.05rem}.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px;align-items:start;padding:20px 0 72px}.legal-toc{position:sticky;top:96px;background:var(--paper);border:3px solid var(--choco);border-radius:20px;padding:20px;box-shadow:5px 5px 0 var(--choco)}.legal-toc strong{font-family:'Unbounded',system-ui,sans-serif;display:block;margin-bottom:10px}.legal-toc a{display:block;color:var(--choco);text-decoration:none;padding:6px 0;font-size:.9rem}.legal-toc a:hover{text-decoration:underline}.legal-content{background:var(--paper);border:3px solid var(--choco);border-radius:24px;padding:clamp(24px,5vw,48px);box-shadow:8px 8px 0 var(--choco)}.legal-content section{padding:0;margin:0 0 34px;scroll-margin-top:100px}.legal-content section:last-child{margin-bottom:0}.legal-content h2{font-family:'Unbounded',system-ui,sans-serif;font-size:1.35rem;line-height:1.25;margin:0 0 12px}.legal-content h3{font-family:'Unbounded',system-ui,sans-serif;font-size:1rem;margin:20px 0 8px}.legal-content p,.legal-content li{color:#49382e}.legal-content p{margin:0 0 12px}.legal-content ul{padding-left:22px;margin:9px 0 14px}.legal-content li{margin-bottom:7px}.legal-content a{color:#8d351e;font-weight:700}.legal-note{background:var(--butter);border:3px solid var(--choco);border-radius:17px;padding:17px 19px;margin-bottom:28px}.legal-note strong{font-family:'Unbounded',system-ui,sans-serif}.data-table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:.9rem}.data-table th,.data-table td{border:2px solid var(--choco);padding:10px;vertical-align:top;text-align:left}.data-table th{background:#f3d98b}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.contact-card{background:var(--paper);border:3px solid var(--choco);border-radius:20px;padding:24px;box-shadow:5px 5px 0 var(--choco)}.contact-card .contact-icon{font-size:1.8rem}.contact-card h2{font-family:'Unbounded',system-ui,sans-serif;font-size:1rem;margin:10px 0 6px}.contact-card a{color:var(--choco);font-weight:700}.notice-band{background:var(--leaf);color:var(--paper);border:3px solid var(--choco);border-radius:24px;padding:28px;margin:25px 0;box-shadow:6px 6px 0 var(--choco)}.notice-band h2{color:var(--paper);margin-top:0}.back-button{display:inline-block;margin-top:18px;background:var(--tomato);color:var(--paper);font-family:'Unbounded',system-ui,sans-serif;font-weight:700;text-decoration:none;border:3px solid var(--choco);border-radius:14px;padding:13px 20px;box-shadow:4px 4px 0 var(--choco)}

@media(max-width:760px){.nav-links,.desktop-cta{display:none!important}.mobile-toggle{display:block}.nav{height:66px}.logo{font-size:1.16rem}.logo .mark{width:31px;height:30px}.mobile-panel-inner{grid-template-columns:1fr}.mobile-panel .mobile-cta{grid-column:auto}.wl-form{grid-template-columns:1fr}.field.full,.form-actions,.consent-row{grid-column:auto}#waitlist .waitlist{padding:48px 20px}.legal-layout{grid-template-columns:1fr;padding-top:0}.legal-toc{position:static}.contact-grid{grid-template-columns:1fr}.legal-hero{padding-top:45px}}
@media(max-width:440px){.wrap{padding-left:17px;padding-right:17px}.mobile-toggle{width:44px}.legal-content{padding:22px 18px}.choice-row{display:grid;grid-template-columns:1fr 1fr}.site-footer{font-size:.86rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* =========================================================
   2026-07 visual and technical polish pass
   Shared overrides intentionally live last so every page uses
   the same spacing, responsive behaviour and focus treatment.
   ========================================================= */

/* Give every first-page badge breathing room below the sticky header. */
.page-home .hero{padding-top:clamp(66px,5.5vw,88px)}
.page-products .page-head,
.page-about .page-head{padding-top:clamp(82px,7vw,104px)}
.page-business .hero{padding-top:clamp(82px,7vw,104px)}
.page-legal .legal-hero,
.page-contacts .legal-hero,
.page-thanks .legal-hero,
.page-not-found .legal-hero{padding-top:clamp(76px,6vw,96px)}

/* Keep decorative badges visually detached from the header rule. */
.page-home .hero>.sticker,
.page-products .page-head>.sticker,
.page-about .page-head>.sticker,
.page-business .hero>div:first-child>.sticker,
.legal-kicker{position:relative;z-index:2;margin-top:0}

/* Hero headline: deliberate two-line lockup, never a broken highlighted phrase. */
.page-home .hero-title{display:flex;flex-direction:column;align-items:flex-start;gap:.04em;margin-top:0;max-width:100%;font-size:clamp(2.45rem,4.45vw,3.75rem);line-height:1.04;letter-spacing:-.025em}
.page-home .hero-title-prefix{display:block}
.page-home .hero-title .full{display:inline-block;white-space:nowrap;isolation:isolate;position:relative;z-index:0;padding:0 .025em .035em;color:var(--tomato)}
.page-home .hero-title .full::after{content:"";position:absolute;z-index:-1;left:-.025em;right:-.045em;bottom:.055em;height:.235em;background:var(--butter);border-radius:.08em;transform:rotate(-.7deg);transform-origin:center}

/* Improve first-screen balance at desktop widths. */
.page-home .hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(34px,4vw,64px)}
.page-home .hero>div:first-child{min-width:0}
.page-home .hero p.lead{margin-top:0}
.page-home .hero-note{max-width:52ch;line-height:1.45}

/* Cleaner heading rhythm on catalogue and story pages. */
.page-products .page-head h1,
.page-about .page-head h1{margin-top:0;text-wrap:balance}
.page-products .page-head p,
.page-about .page-head p{text-wrap:balance}

/* Do not let sticky navigation cover anchored content. */
main [id]{scroll-margin-top:96px}

/* More resilient interactive states. */
.desktop-cta:active,.mobile-panel a:active,.back-button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--choco)}
button:disabled{cursor:not-allowed;opacity:.72}

/* Tables and long words must not create horizontal scrolling. */
.legal-content,.contact-card,.notice-band{min-width:0}
.legal-content a,.contact-card a,.site-footer a{overflow-wrap:anywhere}
.data-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:1080px){
  .page-home .hero-title{font-size:clamp(2.35rem,5.25vw,3.45rem)}
  .page-home .hero{grid-template-columns:minmax(0,1fr) minmax(330px,.86fr);gap:32px}
}

@media(max-width:860px){
  .page-home .hero{padding-top:62px;grid-template-columns:1fr}
  .page-home .hero-title{font-size:clamp(2.35rem,8.6vw,3.35rem);max-width:760px}
  .page-home .bowl-stage{margin-top:8px}
  .page-business .hero{padding-top:70px}
}

@media(max-width:640px){
  .page-home .hero,
  .page-products .page-head,
  .page-about .page-head,
  .page-business .hero,
  .page-legal .legal-hero,
  .page-contacts .legal-hero,
  .page-thanks .legal-hero,
  .page-not-found .legal-hero{padding-top:48px}
  .page-home .hero-title{font-size:clamp(2rem,10.15vw,2.7rem);letter-spacing:-.035em}
  .page-home .hero-title .full::after{height:.21em;bottom:.075em}
  .page-home .hero p.lead{font-size:1.06rem}
  .page-products .page-head h1,.page-about .page-head h1{font-size:clamp(1.85rem,9vw,2.65rem)}
  .page-products .page-head,.page-about .page-head{padding-bottom:34px}
}

@media(max-width:440px){
  .page-home .hero-title{font-size:clamp(1.82rem,9.8vw,2.38rem)}
  .page-home .hero-title .full{letter-spacing:-.045em}
  .hero-ctas .btn{width:100%;text-align:center}
  .choice-row label:last-child{grid-column:1/-1}
}

@media(max-width:350px){
  .page-home .hero-title{font-size:1.72rem}
  .page-home .hero-title .full{letter-spacing:-.055em}
}

/* Preserve the hand-drawn marquee without creating horizontal page overflow. */
.page-home .marquee{
  width:calc(100% - clamp(18px,1.6vw,34px));
  margin-left:auto;
  margin-right:auto;
  transform:rotate(-.55deg);
  transform-origin:center;
}
@media(max-width:640px){
  .page-home .marquee{width:calc(100% - 18px);transform:rotate(-.35deg)}
}

/* v1.0 trust, SEO and footer polish */
.site-footer{margin-top:0;background:var(--choco);color:var(--cream);border-top:0;padding:58px 0 0;text-align:left}
.footer-grid{display:grid;grid-template-columns:1.55fr .8fr 1fr 1fr;gap:38px;align-items:start}
.footer-brand .logo{color:var(--cream);justify-content:flex-start;margin:0 0 16px;font-size:1.25rem}
.footer-brand .logo img{border-radius:10px}
.footer-brand p{max-width:36ch;color:#f3dfcc;margin:0 0 10px;line-height:1.55}
.footer-status{display:inline-block;background:var(--butter);color:var(--choco)!important;border:2px solid var(--cream);border-radius:999px;padding:6px 12px;font-weight:700;font-size:.82rem}
.footer-column{display:flex;flex-direction:column;gap:9px}
.footer-column h2{font-family:'Unbounded',system-ui,sans-serif;font-size:.82rem;color:var(--butter);margin:4px 0 7px;letter-spacing:.04em;text-transform:uppercase}
.footer-column a{color:var(--cream);text-decoration:none;width:max-content;max-width:100%;border-bottom:2px solid transparent;overflow-wrap:anywhere}
.footer-column a:hover,.footer-column a:focus-visible{border-color:var(--butter)}
.footer-bottom{border-top:1px solid rgba(255,244,228,.28);margin-top:42px;padding:19px 24px 24px;display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;color:#e8d4c0;font-size:.84rem}
.page-not-found .legal-hero{text-align:center;max-width:760px}
.page-not-found .legal-hero h1{font-size:clamp(2rem,6vw,4rem);text-wrap:balance}
.page-not-found .back-button{font-size:1rem}
@media(max-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-contact{grid-column:2/4}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:auto}.footer-bottom{justify-content:flex-start;flex-direction:column;gap:5px}.site-footer{padding-top:44px}}
@media(max-width:420px){.footer-grid{grid-template-columns:1fr}.footer-brand,.footer-contact{grid-column:auto}.footer-column a{width:auto}}
