/* ============================================================
   BreadyME — shared styles
   Bold editorial: chunky display type, warm paper, texture
   ============================================================ */

/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/cc12bd68-ee5e-4aeb-a587-991791e06a2b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/8a53df52-6f4a-4ff6-b103-1419a2f41d7b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/7059c93b-75de-457d-82c1-e978ab423f14.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/cc12bd68-ee5e-4aeb-a587-991791e06a2b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/8a53df52-6f4a-4ff6-b103-1419a2f41d7b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/7059c93b-75de-457d-82c1-e978ab423f14.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/cc12bd68-ee5e-4aeb-a587-991791e06a2b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/8a53df52-6f4a-4ff6-b103-1419a2f41d7b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/7059c93b-75de-457d-82c1-e978ab423f14.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/cc12bd68-ee5e-4aeb-a587-991791e06a2b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/8a53df52-6f4a-4ff6-b103-1419a2f41d7b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/7059c93b-75de-457d-82c1-e978ab423f14.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/482f8f94-c865-4a87-ad9c-3d401473ea59.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/9d88f0a9-13db-4cf2-ac12-a5585b7af9b6.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/abb7aa5b-b47e-4c46-b124-131e22e644ef.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/7c27b94b-7989-45ee-b2a2-a32a2d14e4da.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/3502d545-20be-4184-bd08-69acba251a74.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/8fb7b5c2-c5bf-4e4e-a9dd-c048b2017237.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/f80bb473-ed19-49d6-be3a-1df99b4b3b1e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/38d9559f-781d-43ca-aa6e-05a4b11d3c5a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/3502d545-20be-4184-bd08-69acba251a74.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/8fb7b5c2-c5bf-4e4e-a9dd-c048b2017237.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/f80bb473-ed19-49d6-be3a-1df99b4b3b1e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/38d9559f-781d-43ca-aa6e-05a4b11d3c5a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/3502d545-20be-4184-bd08-69acba251a74.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/8fb7b5c2-c5bf-4e4e-a9dd-c048b2017237.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/f80bb473-ed19-49d6-be3a-1df99b4b3b1e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/38d9559f-781d-43ca-aa6e-05a4b11d3c5a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/3502d545-20be-4184-bd08-69acba251a74.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/8fb7b5c2-c5bf-4e4e-a9dd-c048b2017237.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/f80bb473-ed19-49d6-be3a-1df99b4b3b1e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/38d9559f-781d-43ca-aa6e-05a4b11d3c5a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{
  --green-900:#123a27;
  --green-700:#1d5c3c;
  --green-500:#34935f;
  --green-300:#86c6a0;
  --cream:#faf6ef;
  --cream-2:#f2e9d8;
  --cream-3:#ece0c9;
  --ink:#1a160f;
  --ink-70:rgba(26,22,15,.70);
  --ink-45:rgba(26,22,15,.45);
  --crust:#f4a623;
  --crust-deep:#dd7d18;
  --line:rgba(26,22,15,.14);
  --line-strong:rgba(26,22,15,.28);

  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-body:'Hanken Grotesk',system-ui,sans-serif;

  --maxw:1240px;
  --gutter:clamp(20px,5vw,72px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* paper grain overlay */
body::before{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;
  z-index:9999;
  opacity:.05;
  mix-blend-mode:multiply;
  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='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

a{color:inherit}
img{max-width:100%;display:block}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}

/* ---------- Type ---------- */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:.98;letter-spacing:-.02em;margin:0}
.display{
  font-size:clamp(3.2rem,9vw,7.5rem);
  line-height:.9;
  letter-spacing:-.035em;
}
.eyebrow{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--green-700);
  display:inline-flex;align-items:center;gap:.7em;
}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--crust)}
.ink-green{color:var(--green-500)}
.serif-i{font-style:italic}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:color-mix(in srgb,var(--cream) 88%,transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s ease,background .3s ease;
}
.nav.scrolled{box-shadow:0 8px 26px -16px rgba(26,22,15,.4);background:color-mix(in srgb,var(--cream) 94%,transparent)}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;
  padding:14px var(--gutter);
  display:flex;align-items:center;gap:28px;
  transition:padding .3s ease;
}
.nav.scrolled .nav-inner{padding-top:9px;padding-bottom:9px}
.nav .brand img{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.nav.scrolled .brand img{transform:rotate(-8deg) scale(.88)}
/* scroll progress bar */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--green-500),var(--crust));box-shadow:0 0 8px -1px var(--crust);transition:width .08s linear}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.brand img{width:42px;height:42px;object-fit:contain;transform:rotate(-8deg)}
.brand b{font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em}
.nav-links{display:flex;gap:30px;margin-left:auto;align-items:center}
.nav-links a{
  text-decoration:none;font-weight:600;font-size:1rem;color:var(--ink-70);
  position:relative;padding:4px 0;transition:color .2s;white-space:nowrap;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--crust);transition:width .25s}
.nav-links a:hover::after{width:100%}
.nav-cta{
  margin-left:8px;
  font-family:var(--font-body);font-weight:700;font-size:.92rem;
  padding:9px 16px;border-radius:999px;text-decoration:none;
  background:var(--ink);color:var(--cream);white-space:nowrap;
  transition:transform .15s;
}
.nav-cta:hover{transform:translateY(-1px)}

/* ---------- App store button ---------- */
.appbtn{
  display:inline-flex;align-items:center;gap:14px;
  padding:15px 26px 15px 22px;border-radius:16px;
  text-decoration:none;font-family:var(--font-body);
  background:var(--ink);color:var(--cream);
  border:2px solid var(--ink);
  box-shadow:6px 6px 0 rgba(26,22,15,.18);
  transition:transform .15s,box-shadow .15s;
}
.appbtn-stack{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left}
.appbtn .appbtn-sub{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7;line-height:1}
.appbtn .appbtn-main{font-family:var(--font-display);font-weight:700;font-size:1.32rem;line-height:1.05;letter-spacing:-.01em}
.appbtn svg{width:30px;height:30px;flex-shrink:0}
.appbtn:hover{transform:translateY(-2px);box-shadow:8px 8px 0 rgba(26,22,15,.24)}
.appbtn:active{transform:translateY(0);box-shadow:3px 3px 0 rgba(26,22,15,.2)}
.appbtn--disabled{
  cursor:default;
  background:var(--cream-2);color:var(--ink-45);border-color:var(--line-strong);
  box-shadow:none;
}
.appbtn--disabled .appbtn-sub{color:var(--crust-deep);opacity:1;font-weight:700}
.appbtn--light{background:var(--cream);color:var(--ink);border-color:var(--ink)}

/* generic pill / link */
.link-arrow{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:700;text-decoration:none;color:var(--ink);
  border-bottom:2px solid var(--crust);padding-bottom:2px;
}
.link-arrow:hover .arr{transform:translateY(3px)}
.link-arrow .arr{transition:transform .2s}

/* ---------- Footer ---------- */
.footer{background:var(--green-900);color:var(--cream);padding:64px 0 40px}
.footer .brand b{color:var(--cream)}
.footer-top{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-start}
.footer-links{display:flex;flex-wrap:wrap;gap:28px}
.footer-links a{text-decoration:none;font-weight:600;color:rgba(250,246,239,.78);transition:color .2s}
.footer-links a:hover{color:var(--cream)}
.footer-rule{height:1px;background:rgba(250,246,239,.18);margin:36px 0 22px}
.footer-bot{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;color:rgba(250,246,239,.55);font-size:.9rem}

/* tape strip / marquee */
.tape{
  background:var(--crust);color:var(--ink);
  font-family:var(--font-display);font-weight:800;
  letter-spacing:-.01em;font-size:1.15rem;
  padding:13px 0;overflow:hidden;white-space:nowrap;
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
}
.tape-track{display:inline-flex;gap:26px;animation:marq 26s linear infinite}
.tape span{display:inline-flex;align-items:center;gap:26px}
.tape .dot{color:var(--green-700)}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape-track{animation:none}}

/* reveal on scroll — opacity is ALWAYS 1 (never blank, even if animation
   is frozen/paused). Entrance is a translate-only rise. */
.reveal{opacity:1;transform:none}
@keyframes breadyRise{from{transform:translateY(24px)}to{transform:none}}
@media (prefers-reduced-motion:no-preference){
  .reveal.in{animation:breadyRise .6s cubic-bezier(.2,.7,.2,1) both}
}

/* ---------- Legal pages ---------- */
.legal-hero{padding:72px 0 40px;border-bottom:2px solid var(--ink)}
.legal-kicker{font-weight:600;color:var(--ink-45);margin-top:14px}
.legal-body{max-width:760px;margin:0 auto;padding:56px var(--gutter) 90px}
.legal-body h2{
  font-size:1.7rem;margin:48px 0 14px;padding-top:30px;
  border-top:1px solid var(--line);letter-spacing:-.02em;
}
.legal-body h2:first-of-type{border-top:none;padding-top:0;margin-top:8px}
.legal-body h3{font-size:1.12rem;margin:26px 0 6px;font-family:var(--font-body);font-weight:700}
.legal-body p{margin:0 0 16px;color:var(--ink-70)}
.legal-body strong{color:var(--ink);font-weight:700}
.legal-body ul{margin:0 0 16px;padding-left:0;list-style:none}
.legal-body li{position:relative;padding:6px 0 6px 30px;color:var(--ink-70);border-bottom:1px dashed var(--line)}
.legal-body li::before{content:"";position:absolute;left:4px;top:15px;width:9px;height:9px;background:var(--crust);border-radius:2px;transform:rotate(45deg)}
.legal-body a{color:var(--green-500);font-weight:600}
.placeholder{
  background:var(--cream-2);border:1px dashed var(--crust-deep);
  padding:1px 7px;border-radius:5px;font-weight:700;color:var(--crust-deep);
  font-size:.92em;white-space:nowrap;
}
.legal-toc{
  display:inline-flex;flex-wrap:wrap;gap:8px;margin-top:8px;
}
.legal-toc a{
  text-decoration:none;font-size:.86rem;font-weight:600;
  background:var(--cream-2);border:1px solid var(--line);
  padding:6px 12px;border-radius:999px;color:var(--ink-70);transition:.2s;
}
.legal-toc a:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

.backhome{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-weight:700;color:var(--ink-70);font-size:.95rem;
}
.backhome:hover{color:var(--ink)}

/* ---------- responsive ---------- */
@media (max-width:760px){
  body{font-size:16px}
  .nav-links{display:none}
  .nav-cta{margin-left:auto}
}
