/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOuaBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIO-aBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofINeaB.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: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOuaBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIO-aBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofINeaB.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: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOuaBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIO-aBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofINeaB.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: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOuaBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIO-aBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofINeaB.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: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIOuaBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofIO-aBXso.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: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/nunito-XRXV3I6Li01BKofINeaB.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;
}

@font-face { font-family:"Zing Rust"; src:url("/assets/fonts/zing-rust.otf") format("opentype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Zing Sans Rust"; src:url("/assets/fonts/zing-sans-rust.otf") format("opentype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Zing Script Rust"; src:url("/assets/fonts/zing-script-rust.otf") format("opentype"); font-weight:400; font-style:normal; font-display:swap; }

:root {

  --logo-red:#ff0000;
  --red-700:#c40000; --red-600:#e60000; --red-500:#ff0000; --red-50:#ffecec;
  --teal-900:#0f3a40; --teal-700:#16565e; --teal-500:#2c858e; --teal-50:#e6f2f2;
  --amber:#e09112;

  --green-500:#349a2f; --green-eye:#2f9d4d; --green-book:#00864d; --green-600:#0a7444; --green-900:#0b4a31;

  --green-web:#009966; --green-billboard:#2f9d4d;

  --red-band:#f0525a;

  --fp-amp:6px; --fp-para:90;
  --ink-700:#33413f; --ink-600:#5b6b68; --ink-400:#5f6e6b;

  --ground:#f4f6f1;
  --ground-deep:#e9ede3;
  --white:#ffffff;
  --line:#e1e6da;

  --display:"Zing Rust", "Nunito", ui-sans-serif, system-ui, sans-serif;
  --sub:"Zing Sans Rust", "Nunito", ui-sans-serif, system-ui, sans-serif;
  --body:"Nunito", ui-sans-serif, system-ui, sans-serif;
  --paw:url("/img/paw.webp");
  --wrap:1180px; --ease:cubic-bezier(.16,1,.3,1);
}
* { box-sizing:border-box; }
body { margin:0; background:var(--ground); color:var(--ink-600); font-family:var(--body); font-size:16px; line-height:1.75; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
p, ul { margin:0; }
a { color:inherit; text-decoration:none; }
h1, h2, h3, h4 { margin:0; font-family:var(--body); font-weight:800; color:var(--teal-900); line-height:1.12; letter-spacing:-.015em; text-wrap:balance; }
h1, h2 { font-family:var(--display); font-weight:400; text-transform:uppercase; letter-spacing:.01em; line-height:1.02; }
:focus-visible { outline:3px solid var(--red-500); outline-offset:3px; border-radius:8px; }

.wrap { width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px; }
.band { padding-block:98px; position:relative; overflow:hidden; }

.band--cream { background:var(--white); }
.band--teal { background:var(--teal-900); color:rgba(255,255,255,.75); }
.band--teal h2, .band--teal h3 { color:#fff; }
.band--tight { padding-block:64px; }

.eyebrow { display:inline-flex; align-items:center; gap:9px; font-family:var(--sub); font-size:14.5px; font-weight:400; text-transform:uppercase; letter-spacing:.14em; color:var(--teal-700); }
.eyebrow::before { content:""; width:20px; height:2px; background:var(--amber); }
.h-sec { font-size:clamp(30px,4.1vw,46px); margin-top:13px; }
.lede { margin-top:16px; color:var(--ink-600); font-size:17px; }
.head-c { max-width:620px; margin-inline:auto; text-align:center; }
.head-c .eyebrow::before { display:none; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:0 22px; border-radius:999px; font-family:var(--display); font-size:18px; font-weight:400; letter-spacing:.04em; text-transform:uppercase; border:1.5px solid transparent; cursor:pointer; transition:transform .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease), color .25s var(--ease); }
.btn:hover { transform:translateY(-2px); }
.btn:active { transform:translateY(0); }
.btn--red { background:var(--red-500); color:#fff; }
.btn--red:hover { background:var(--red-600); box-shadow:0 12px 26px -14px rgba(196,36,24,.6); }
.btn--teal { background:var(--teal-900); color:#fff; }
.btn--teal:hover { background:var(--teal-700); box-shadow:0 12px 26px -14px rgba(14,58,66,.55); }
.btn--ghost { border-color:#cbd5c8; background:transparent; color:var(--teal-900); }
.btn--ghost:hover { border-color:var(--teal-900); background:var(--teal-900); color:#fff; }
.btn--light { background:#fff; color:var(--teal-900); }
.btn--light:hover { box-shadow:0 12px 26px -14px rgba(0,0,0,.35); }
.btn--outline-light { border-color:rgba(255,255,255,.5); color:#fff; }
.btn--outline-light:hover { border-color:#fff; background:#fff; color:var(--teal-900); }

.paw-mark { position:absolute; pointer-events:none; aspect-ratio:1; background:var(--paw) center/contain no-repeat; opacity:.045; filter:brightness(0); }

.hdr { position:sticky; top:0; z-index:60; background:rgba(244,246,241,.92); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.hdr-in { display:flex; align-items:center; gap:22px; min-height:82px; }

.brand { display:flex; align-items:center; gap:11px; flex-shrink:0; }
.brand .mark { width:46px; height:46px; border-radius:50%; flex-shrink:0; background:var(--paw) center/80% no-repeat, var(--logo-red); }
.brand .wm { display:block; height:21px; width:auto; overflow:visible; fill:var(--teal-900); }
.foot .brand .wm { fill:#fff; }

@media (max-width:1180px) { .nav a { padding:0 9px; font-size:14px; } .hdr .brand .wm { height:18px; } .hdr .btn { padding:0 15px; font-size:17px; } .hdr-in { gap:14px; }}
@media (max-width:520px) { .hdr .brand .wm { height:16px; } .hdr .brand .mark { width:38px; height:38px; }}
.brand b { font-family:var(--body); font-size:21px; font-weight:800; color:var(--teal-900); letter-spacing:-.03em; white-space:nowrap; }
.nav { display:flex; gap:2px; margin-left:auto; list-style:none; padding:0; }

.nav a { display:inline-flex; align-items:center; min-height:44px; padding:0 11px; font-size:15px; font-weight:700; white-space:nowrap; color:var(--ink-700); position:relative; isolation:isolate; transition:color .3s var(--ease); }
.hdr .btn { min-height:46px; padding:0 20px; font-size:18px; }
.nav a::before { content:""; position:absolute; inset:4px -3px; z-index:-1; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%2040%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22%23f0525a%22%20d%3D%22M9%200H91Q94%200%2094.6%203L99.4%2035Q100%2040%2095%2040H5Q0%2040%200.6%2035L5.4%203Q6%200%209%200Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat; clip-path:circle(0% at 50% 50%); transition:clip-path .25s var(--ease); }
.nav a:hover, .nav a.on { color:#fff; }
.nav a:hover::before, .nav a.on::before { clip-path:circle(75% at 50% 50%); transition:clip-path .6s var(--ease); }
.hdr .btn { min-height:46px; padding:0 20px; }
.burger { display:none; width:48px; height:48px; border:1px solid var(--line); border-radius:14px; background:transparent; cursor:pointer; margin-left:auto; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.burger svg { width:24px; height:24px; fill:none; stroke:var(--teal-900); stroke-width:2; stroke-linecap:round; }

.phero { background:var(--ground-deep); padding-block:78px; position:relative; overflow:hidden; }
.phero .paw-mark { inset-block-start:-70px; inset-inline-end:3%; width:330px; opacity:.05; }
.phero h1 { font-size:clamp(33px,4.9vw,52px); max-width:20ch; }
.crumb { display:flex; gap:8px; align-items:center; margin-top:14px; font-size:14px; color:var(--ink-400); }
.crumb a:hover { color:var(--teal-700); }
.crumb span { color:var(--ink-400); }

.hero { position:relative; overflow:hidden; padding-block:74px 140px; }
.hero .paw-mark { inset-block-start:50px; inset-inline-start:-90px; width:400px; opacity:.035; }
.hero-in { display:grid; grid-template-columns:1.05fr .95fr; gap:62px; align-items:center; position:relative; }
.pill { display:inline-block; font-family:var(--sub); font-weight:400; text-transform:uppercase; letter-spacing:.18em; font-size:15px; color:var(--red-500); }
.pill i { width:19px; height:19px; border-radius:50%; flex-shrink:0; background:var(--paw) center/78% no-repeat, var(--red-500); }
.hero h1 { font-size:clamp(38px,5.4vw,64px); margin-top:20px; letter-spacing:.005em; }
.hero h1 em { font-style:normal; color:var(--red-500); }
.hero .lede { max-width:32rem; font-size:17.5px; }
.hero-cta { display:flex; flex-wrap:wrap; gap:13px; margin-top:32px; }
.hero-art { position:relative; }
.hero-art .shot { border-radius:240px 240px 36px 36px; overflow:hidden; box-shadow:0 40px 78px -34px rgba(13,47,44,.4); }
.hero-art .shot img { width:100%; aspect-ratio:4/4.8; object-fit:cover; }
.hero-badge { position:absolute; inset-inline-start:-22px; inset-block-end:44px; background:#fff; border-radius:20px; padding:16px 21px; box-shadow:0 22px 48px rgba(13,47,44,.18); display:flex; align-items:center; gap:13px; }
.hero-badge .n { font-family:var(--display); font-size:29px; font-weight:400; color:var(--red-500); line-height:1; font-variant-numeric:tabular-nums; }
.hero-badge .t { font-size:12.5px; color:var(--ink-600); line-height:1.35; }

.soc-b { color:#fff; background:#0f0f0f; }
.soc-b[data-k="youtube"] { background:#ff0000; }
.soc-b[data-k="instagram"] { background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.soc-b[data-k="facebook"] { background:#1877f2; }
.soc-b[data-k="snapchat"] { background:#fffc00; color:#111; }
.soc-rot { position:relative; display:block; width:54px; height:54px; flex-shrink:0; perspective:420px; }
.soc-rot::after { content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid var(--red-500); opacity:0; pointer-events:none; }
.soc-rot.pulse::after { animation:soc-ring 1.6s ease-out 1; }
.soc-rot i { position:absolute; inset:0; border-radius:50%; display:grid; place-items:center; opacity:0; transform:rotateY(-90deg) scale(.8); transition:opacity .4s ease, transform .6s cubic-bezier(.2,.8,.2,1.15); }
.soc-rot i.on { opacity:1; transform:none; }
.soc-rot i.off { opacity:0; transform:rotateY(90deg) scale(.8); }
.soc-rot svg, .soc-pop svg { width:50%; height:50%; fill:currentColor; }
@keyframes soc-ring { 0% { opacity:.55; transform:scale(.92); } 100% { opacity:0; transform:scale(1.18); } }
.soc-badge { gap:14px; padding:13px 22px 13px 13px; z-index:2; }
.soc-badge .n { display:block; font-size:36px; }
.soc-badge .t { display:block; margin-top:4px; }
.soc-pop { position:absolute; z-index:2; width:50px; height:50px; border-radius:50%; display:grid; place-items:center; box-shadow:0 0 0 4px #fff, 0 16px 30px -10px rgba(13,47,44,.45); animation:soc-bob 5.5s ease-in-out infinite alternate; }
.sp1 { inset-inline-end:-14px; inset-block-start:24%; }
.sp2 { inset-inline-end:14%; inset-block-end:-16px; width:44px; height:44px; animation-delay:-2s; }
.sp3 { inset-inline-start:-12px; inset-block-start:34%; width:40px; height:40px; animation-delay:-3.6s; }
@keyframes soc-bob { from { translate:0 0; } to { translate:0 -12px; } }
.soc-chip { display:inline-flex; align-items:center; gap:12px; background:#fff; border-radius:999px; padding:7px 22px 7px 7px; box-shadow:0 18px 40px -20px rgba(13,47,44,.4); }
.soc-chip .soc-rot { width:44px; height:44px; }
.soc-chip > span:last-child { font-weight:800; color:var(--teal-900); font-size:15px; line-height:1.15; }
.soc-chip strong { font-family:var(--display); font-weight:400; font-size:25px; color:var(--red-500); margin-inline-end:3px; }
.soc-chip small { display:block; font-weight:600; font-size:12.5px; color:var(--ink-600); }
.phero > .wrap:has(> .soc-chip) { display:grid; grid-template-columns:1fr auto; column-gap:32px; align-items:center; }
.phero > .wrap:has(> .soc-chip) > :not(.soc-chip) { grid-column:1; }
.phero > .wrap > .soc-chip { grid-column:2; grid-row:1 / span 2; }
.soc-count { margin:18px 0 0; font-weight:800; color:var(--teal-900); font-size:15px; }
.soc-count strong { font-family:var(--display); font-weight:400; font-size:24px; color:var(--red-500); margin-inline-end:4px; }
.soc-count + .socials { margin-top:10px; }
@media (max-width:760px) {
  .phero > .wrap:has(> .soc-chip) { display:block; }
  .phero > .wrap > .soc-chip { margin-top:20px; }
  .soc-badge { padding:10px 16px 10px 10px; gap:11px; }
  .soc-badge .soc-rot { width:44px; height:44px; }
  .soc-badge .n { font-size:28px; }
  .soc-pop { width:40px; height:40px; }
  .sp1 { inset-inline-end:10px; } .sp2 { width:36px; height:36px; } .sp3 { display:none; }}
@media (prefers-reduced-motion: reduce) { .soc-pop, .soc-rot.pulse::after { animation:none; }}

.sup-thanks { max-width:760px; margin:44px auto 10px; text-align:center; }
.sup-thanks h3 { font-family:var(--display); font-weight:400; font-size:clamp(27px,3.4vw,38px); line-height:1.1; color:var(--teal-900); }
.sup-thanks p { margin-top:14px; font-size:17px; line-height:1.65; color:var(--ink-600); }
.thx-ways { list-style:none; padding:0; margin:22px 0 0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.thx-ways li { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:var(--red-50); color:var(--teal-900); font-weight:800; font-size:14.5px; line-height:1.2; }
.thx-ways li::before { content:""; width:13px; height:12px; flex-shrink:0; background:var(--red-500); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 22 10.3 20.4C4.2 14.9 0 11.1 0 6.5 0 2.8 2.9 0 6.6 0c2.1 0 4.1 1 5.4 2.5C13.3 1 15.3 0 17.4 0 21.1 0 24 2.8 24 6.5c0 4.6-4.2 8.4-10.3 13.9Z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 22 10.3 20.4C4.2 14.9 0 11.1 0 6.5 0 2.8 2.9 0 6.6 0c2.1 0 4.1 1 5.4 2.5C13.3 1 15.3 0 17.4 0 21.1 0 24 2.8 24 6.5c0 4.6-4.2 8.4-10.3 13.9Z'/%3E%3C/svg%3E") center/contain no-repeat; }
.sup-thanks .thx-end { margin-top:22px; font-weight:800; color:var(--teal-900); }

.grid { display:grid; gap:22px; }
.g2 { grid-template-columns:repeat(2,1fr); }
.g3 { grid-template-columns:repeat(3,1fr); }
.g4 { grid-template-columns:repeat(4,1fr); }
.card { background:#fff; border:1px solid var(--line); border-radius:30px; padding:34px 30px; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.card:hover { transform:translateY(-6px); box-shadow:0 26px 56px -32px rgba(13,47,44,.32); }
.card .ico { width:58px; height:58px; border-radius:20px; background:var(--teal-50); display:grid; place-items:center; font-size:24px; margin-bottom:18px; transition:background-color .3s var(--ease); }
.card:hover .ico { background:var(--amber); }
.card h3 { font-size:21px; }
.card p { margin-top:9px; color:var(--ink-600); font-size:15px; }

.card .more { display:inline-block; margin-top:15px; font-weight:600; font-size:14px; color:var(--teal-700); }
.card .more--give { color:var(--red-600); }
.lift { margin-top:-94px; position:relative; z-index:5; }

.split { display:grid; grid-template-columns:.92fr 1.08fr; gap:62px; align-items:center; }
.split--flip { grid-template-columns:1.08fr .92fr; }
.split .art { position:relative; }
.split .art img { width:100%; aspect-ratio:4/4.2; object-fit:cover; border-radius:36px 180px 36px 180px; }
.split .tag { position:absolute; inset-inline-end:-20px; inset-block-start:32px; background:var(--teal-700); color:#fff; border-radius:22px; padding:17px 21px; text-align:center; }
.split .tag .n { font-family:var(--display); font-size:26px; font-weight:400; line-height:1; }
.split .tag .t { font-size:11.5px; opacity:.85; }

.checks { list-style:none; padding:0; margin-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; }
.checks li { display:flex; gap:10px; align-items:flex-start; font-size:15px; font-weight:500; color:var(--ink-700); }
.checks .tk { width:22px; height:22px; flex-shrink:0; margin-top:3px; border-radius:50%; background:var(--teal-50); color:var(--teal-700); display:grid; place-items:center; font-size:11px; font-weight:700; }

.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px; padding-top:34px; border-top:1px solid var(--line); }
.stats .n { margin:0; font-family:var(--display); font-size:40px; font-weight:400; color:var(--teal-900); line-height:1; font-variant-numeric:tabular-nums; }
.stats .n span { color:var(--red-500); }
.stats .l { display:block; margin-top:6px; font-size:13px; color:var(--ink-400); }

.vm { background:#fff; border:1px solid var(--line); border-radius:30px; padding:36px 32px; }
.vm .ic { width:56px; height:56px; border-radius:18px; background:var(--red-50); display:grid; place-items:center; font-size:23px; margin-bottom:18px; }
.vm h3 { font-size:23px; }
.vm p { margin-top:10px; color:var(--ink-600); font-size:15.5px; }

.supp { border-block:1px solid var(--line); padding-block:34px; }
.supp-in { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 42px; }
.supp .lbl { width:100%; text-align:center; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:.16em; color:var(--ink-400); }
.supp .logo { display:inline-flex; align-items:center; gap:9px; font-family:var(--body); font-weight:800; font-size:19px; letter-spacing:-.01em; }
.supp .logo svg { width:24px; height:24px; fill:currentColor; }
.supp .logo--paypal { color:#003087; } .supp .logo--patreon { color:#141414; } .supp .logo--youtube { color:#141414; } .supp .logo--youtube svg { fill:#ff0000; }
.supp .ph { font-size:13px; font-weight:500; color:var(--ink-400); border:1px dashed var(--line); border-radius:12px; padding:10px 20px; }

.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:46px; counter-reset:s; }
.step { counter-increment:s; background:#fff; border:1px solid var(--line); border-radius:26px; padding:30px 26px; }
.step::before { content:counter(s,decimal-leading-zero); display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--amber); color:#fff; font-family:var(--display); font-weight:400; font-size:15px; margin-bottom:16px; }
.step h3 { font-size:20px; }
.step p { margin-top:8px; color:var(--ink-600); font-size:15px; }

.call { background:var(--green-500); color:#fff; padding-block:66px; position:relative; overflow:hidden; }
.call .btn--outline-light:hover { color:var(--green-600); }
.call--red { background:var(--red-500); }
.call-in { display:grid; grid-template-columns:1.4fr auto; gap:32px; align-items:center; position:relative; }
.call h2 { color:#fff; font-size:clamp(26px,3.2vw,36px); }
.call p { margin-top:10px; color:rgba(255,255,255,.82); max-width:34rem; }
.call-acts { display:flex; flex-wrap:wrap; gap:12px; }

.pet { background:#fff; border:1px solid var(--line); border-radius:30px; overflow:hidden; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.pet:hover { transform:translateY(-6px); box-shadow:0 26px 56px -32px rgba(13,47,44,.32); }
.pet .shot { position:relative; }
.pet .shot img { width:100%; aspect-ratio:4/4.4; object-fit:cover; }
.pet .badge { position:absolute; inset-block-start:14px; inset-inline-start:14px; background:#fff; border-radius:999px; padding:6px 14px; font-size:12px; font-weight:600; color:var(--teal-700); }
.pet .body { padding:22px 24px 26px; }
.pet h3 { font-size:21px; }
.pet .meta { font-size:14px; color:var(--ink-400); margin-top:3px; }

.empty { max-width:620px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:32px; padding:46px 40px; text-align:center; }
.empty h2 { font-size:27px; }
.empty p { margin-top:12px; color:var(--ink-600); }
.empty h2, .empty p { max-width:34rem; margin-inline:auto; text-wrap:balance; }
.empty .acts { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
.legal-short { text-align:left; }
.legal-short h2 { text-align:center; }
.legal-list { margin:18px 0 0; padding-inline-start:20px; display:grid; gap:10px; color:var(--ink-600); }
.legal-list li { list-style:disc; }
.legal-list b { color:var(--teal-900); }

.animal { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.animal .main img { width:100%; aspect-ratio:4/4.2; object-fit:cover; border-radius:36px; }
.gal { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px; }
.gal img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:18px; }
.facts { list-style:none; padding:0; margin-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.facts li { background:var(--ground); border-radius:18px; padding:14px 18px; }
.facts .k { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--ink-400); font-weight:600; }
.facts .v { font-family:var(--body); font-weight:700; color:var(--teal-900); font-size:17px; }

.pf-main { margin:0; border-radius:36px; overflow:hidden; background:var(--ground-deep); box-shadow:0 30px 60px -34px rgba(13,47,44,.45); }
.pf-main img { display:block; width:100%; aspect-ratio:20/21; object-fit:cover; }
.pf-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:14px; }
.pf-thumbs button { display:block; padding:0; border:0; background:none; border-radius:18px; overflow:hidden; cursor:pointer; opacity:.7; box-shadow:0 0 0 3px transparent; transition:opacity .2s, box-shadow .2s; }
.pf-thumbs button:hover, .pf-thumbs button:focus-visible { opacity:1; }
.pf-thumbs button.on { opacity:1; box-shadow:0 0 0 3px var(--red-500); }
.pf-thumbs img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.pf-info h2 { margin-top:10px; }
.pf-status { display:inline-flex; align-items:center; gap:9px; margin-top:16px; padding:7px 16px; border-radius:999px; background:#fff; border:1px solid var(--line); font-weight:800; font-size:14px; color:var(--teal-900); }
.pf-status i { width:9px; height:9px; border-radius:50%; background:var(--teal-500); }
.pf-status--home i { background:var(--green-500, #2f9d4d); }
.pf-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:24px 0 0; }
.pf-facts > div { background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px 18px; }
.pf-facts dt { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-400); }
.pf-facts dd { margin:5px 0 0; font-weight:800; font-size:17px; line-height:1.3; color:var(--teal-900); }
.pf-h { margin-top:30px; font-size:20px; }
.pf-story { margin-top:10px; font-size:16.5px; line-height:1.7; color:var(--ink-600); }
.pf-film { display:flex; align-items:center; gap:16px; margin-top:22px; padding:10px 20px 10px 10px; background:#fff; border:1px solid var(--line); border-radius:22px; color:inherit; text-decoration:none; transition:transform .2s, box-shadow .2s; }
.pf-film:hover { transform:translateY(-2px); box-shadow:0 18px 36px -22px rgba(13,47,44,.45); }
.pf-film .th { position:relative; flex-shrink:0; width:136px; border-radius:14px; overflow:hidden; }
.pf-film .th img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.pf-film .play { position:absolute; inset:0; display:grid; place-items:center; }
.pf-film .play > span { width:38px; height:38px; border-radius:50%; background:var(--red-500); display:grid; place-items:center; box-shadow:0 6px 16px rgba(0,0,0,.25); }
.pf-film .play svg { width:16px; height:16px; fill:#fff; margin-inline-start:2px; }
.pf-film small { display:block; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--red-600); }
.pf-film b { display:block; margin-top:4px; font-size:15.5px; line-height:1.35; color:var(--teal-900); }
.pf-info .hero-cta { margin-top:28px; }
@media (max-width:760px) { .pf-thumbs { gap:8px; } .pf-thumbs button { border-radius:14px; } .pf-film { gap:12px; padding-inline-end:14px; } .pf-film .th { width:104px; } .pf-film b { font-size:14.5px; }}

.faqgrp { margin-top:48px; }
.faqgrp h3 { font-size:22px; margin-bottom:14px; }
.faqgrp + .faqgrp { margin-top:40px; }
.faq { display:flex; flex-direction:column; gap:12px; }
.faq details { border:1px solid var(--line); border-radius:20px; background:#fff; overflow:hidden; }
.faq summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:60px; padding:14px 24px; font-weight:600; font-size:16px; color:var(--teal-900); }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font-size:22px; color:var(--teal-500); flex-shrink:0; }
.faq details[open] summary::after { content:"−"; }
.faq details[open] summary { border-bottom:1px solid var(--line); }
.faq .a { padding:16px 24px 24px; color:var(--ink-600); font-size:15.5px; }
.faq .a a { color:var(--red-600); font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.faq .a a:hover { color:var(--red-500); }
.faq details { scroll-margin-top:110px; }

.rev { background:#fff; border:1px solid var(--line); border-radius:28px; padding:30px; }
.rev .st { color:var(--amber); letter-spacing:2px; font-size:14px; }
.rev p { margin-top:13px; color:var(--ink-600); font-size:15px; }
.rev .who { display:flex; align-items:center; gap:12px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.rev .av { width:42px; height:42px; border-radius:50%; background:var(--teal-700); color:#fff; display:grid; place-items:center; font-family:var(--body); font-weight:700; }
.rev .nm { font-family:var(--body); font-weight:700; color:var(--teal-900); line-height:1.2; font-size:15px; }
.rev .rl { font-size:12.5px; color:var(--ink-400); }
.ph-note { margin-top:22px; text-align:center; font-size:13.5px; color:var(--ink-400); }

.tier { background:#fff; border:1px solid var(--line); border-radius:30px; padding:34px 30px; display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.tier:hover { transform:translateY(-6px); box-shadow:0 26px 56px -32px rgba(14,58,66,.3); }
.tier--hero { border-color:var(--red-500); border-width:2px; }
.tier .flag { position:absolute; inset-block-start:-13px; inset-inline-start:50%; transform:translateX(-50%); background:var(--red-500); color:#fff; font-size:11.5px; font-weight:600; letter-spacing:.04em; padding:5px 14px; border-radius:999px; white-space:nowrap; }
.tier .ico { width:54px; height:54px; border-radius:18px; background:var(--teal-50); display:grid; place-items:center; font-size:23px; }
.tier .amt { font-family:var(--display); font-size:46px; font-weight:400; color:var(--teal-900); line-height:1; margin-top:16px; }
.tier h3 { font-size:19px; margin-top:10px; }
.tier p { margin-top:8px; color:var(--ink-600); font-size:15px; }
.tier .btn { margin-top:auto; width:100%; }
.tier p + .btn { margin-top:24px; }
.tier .via { margin-top:10px; font-size:12.5px; color:var(--ink-400); }

.give-any { max-width:620px; margin:40px auto 0; text-align:center; background:#fff; border:1px solid var(--line); border-radius:24px; padding:26px; }
.give-any p { color:var(--ink-600); font-size:15px; }
.give-any-acts { display:flex; flex-wrap:wrap; justify-content:center; gap:11px; margin-top:16px; }
@media (max-width:760px) { .give-any-acts { flex-direction:column; }}

.pp-search { max-width:620px; margin:34px auto 0; display:flex; gap:10px; }
.pp-search input { flex:1; min-width:0; min-height:56px; border:1px solid var(--line); border-radius:999px; padding:0 24px; font-family:var(--body); font-size:16px; color:var(--teal-900); background:#fff; }
.pp-search input:focus { outline:none; border-color:var(--teal-500); box-shadow:0 0 0 3px var(--teal-50); }
.pp-search .btn { min-height:56px; }

.pp-topics { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:22px; }
.pp-topics a { display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border-radius:999px; background:#fff; border:1px solid var(--line); font-size:14px; font-weight:500; color:var(--ink-700); transition:.2s; }
.pp-topics a:hover { border-color:var(--teal-700); color:var(--teal-700); }

.pp-cat { display:block; background:#fff; border:1px solid var(--line); border-radius:30px; padding:32px 28px; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.pp-cat:hover { transform:translateY(-6px); box-shadow:0 26px 56px -32px rgba(14,58,66,.32); }
.pp-cat .ico { width:56px; height:56px; border-radius:18px; background:var(--teal-50); display:grid; place-items:center; font-size:24px; margin-bottom:18px; transition:background-color .3s var(--ease); }
.pp-cat:hover .ico { background:var(--amber); }
.pp-cat h3 { font-size:21px; }
.pp-cat p { margin-top:8px; color:var(--ink-600); font-size:15px; }
.pp-cat .n { display:inline-block; margin-top:14px; font-size:13px; font-weight:600; color:var(--teal-700); }
.pp-cat .soon { display:inline-block; margin-top:14px; font-size:12px; font-weight:600; color:var(--ink-400); border:1px dashed var(--line); border-radius:999px; padding:5px 12px; }

.ba { background:#fff; border:1px solid var(--line); border-radius:30px; overflow:hidden; }
.ba-pair { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); }
.ba-shot { position:relative; aspect-ratio:1; background:var(--ground-deep); overflow:hidden; }
.ba-shot img { width:100%; height:100%; object-fit:cover; }
.ba-shot .lbl { position:absolute; inset-block-start:12px; inset-inline-start:12px; border-radius:999px; padding:5px 13px; font-size:11.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.ba-shot .lbl--b { background:rgba(13,47,44,.82); color:#fff; }
.ba-shot .lbl--a { background:var(--red-500); color:#fff; }

.ba-shot .lbl { inset-block-start:auto; inset-block-end:10px; inset-inline-start:50%; translate:-50% 0; padding:3px 10px; font-size:10px; font-weight:700; letter-spacing:.1em; line-height:1.4; box-shadow:0 4px 12px rgba(0,0,0,.18); }
.ba-shot .slot { position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:20px; color:var(--ink-400); font-size:13px; }
.ba-body { padding:22px 26px 26px; }
.ba-body h3 { font-size:20px; }
.ba-body p { margin-top:7px; color:var(--ink-600); font-size:15px; }

.rev blockquote { margin:0; }
.rev .src { display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--ink-400); margin-top:2px; }
.rev .g { width:17px; height:17px; flex-shrink:0; border-radius:50%; background:#fff; border:1px solid var(--line); display:grid; place-items:center; font-family:var(--body); font-size:10px; font-weight:700; color:#4285f4; }
.rev--long p { font-size:15.5px; }
.rev .tr { display:inline-block; margin-top:10px; font-size:12px; color:var(--ink-400); font-style:italic; }
.revs-note { margin-top:26px; text-align:center; font-size:13.5px; color:var(--ink-400); }
.revs-note a { color:var(--red-600); font-weight:600; }
.revs-cta { margin-top:18px; display:flex; justify-content:center; }
.revs-give { margin:24px auto 0; max-width:520px; display:flex; align-items:center; gap:22px; background:#fff; border:1px solid var(--line); border-radius:24px; padding:18px 22px; }
.revs-qr { width:148px; height:148px; flex-shrink:0; image-rendering:pixelated; border-radius:8px; }
.revs-give p { margin:0 0 12px; color:var(--ink-600); font-size:15px; }
@media (max-width:760px) { .revs-qr { display:none; } .revs-give { justify-content:center; text-align:center; } .revs-give p { display:none; }}

.member { display:flex; align-items:center; gap:15px; background:#fff; border:1px solid var(--line); border-radius:22px; padding:19px 22px; transition:transform .25s var(--ease); }
.member:hover { transform:translateY(-4px); }
.member .av { width:48px; height:48px; flex-shrink:0; border-radius:50%; background:var(--teal-700); color:#fff; display:grid; place-items:center; font-family:var(--body); font-weight:700; font-size:17px; }
.member .nm { font-family:var(--body); font-weight:700; color:var(--teal-900); line-height:1.2; }
.member .rl { font-size:13.5px; color:var(--ink-400); }

.post { border:1px solid #cfd8cc; border-radius:28px; overflow:hidden; background:var(--ground); box-shadow:0 1px 2px rgba(15,58,64,.04); transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.post:hover { transform:translateY(-6px); box-shadow:0 26px 56px -32px rgba(13,47,44,.3); }
.post .shot { position:relative; overflow:hidden; }
.post .shot img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .55s var(--ease); }
.post:hover .shot img { transform:scale(1.05); }
.post .cat { position:absolute; inset-block-start:14px; inset-inline-start:14px; background:#fff; color:var(--teal-700); border-radius:999px; padding:5px 13px; font-size:11.5px; font-weight:600; }
.post .body { padding:24px; }
.post .date { font-family:var(--sub); font-size:13.5px; font-weight:400; letter-spacing:.1em; text-transform:uppercase; color:var(--teal-700); }
.post h3 { font-size:19px; margin-top:7px; line-height:1.34; }
.post .more { display:inline-block; margin-top:14px; font-weight:600; font-size:14px; color:var(--teal-700); }

.post { position:relative; cursor:pointer; }
.post .more::after { content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; }
.post .more:focus-visible { outline:none; }
.post:focus-within { outline:3px solid var(--red-500); outline-offset:3px; }

.form { background:#fff; border:1px solid var(--line); border-radius:30px; padding:34px; }
.form .row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { margin-top:14px; }
.field label { display:block; font-size:13.5px; font-weight:600; color:var(--ink-700); margin-bottom:6px; }
.field input, .field textarea, .field select { width:100%; min-height:52px; border:1px solid var(--line); border-radius:14px; padding:14px 16px; font-family:var(--body); font-size:15px; color:var(--teal-900); background:#fff; }
.field textarea { min-height:132px; resize:vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline:none; border-color:var(--red-500); box-shadow:0 0 0 3px var(--red-50); }
.cgrid { display:grid; grid-template-columns:1fr 1.12fr; gap:56px; align-items:start; }
.cinfo { list-style:none; padding:0; display:flex; flex-direction:column; gap:22px; }
.cinfo li { display:flex; gap:15px; }
.cinfo .ic { width:48px; height:48px; flex-shrink:0; border-radius:16px; background:var(--teal-50); display:grid; place-items:center; font-size:19px; }
.cinfo .k { font-family:var(--body); font-weight:700; color:var(--teal-900); font-size:15px; }
.cinfo .v { font-size:15px; color:var(--ink-600); }

.foot { background:var(--teal-900); color:rgba(255,255,255,.88); padding-block:14px 12px; position:relative; overflow:hidden; }
.foot .fp i { opacity:calc(var(--o,.1) * .55); }
.foot-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; padding:14px 0; }
.foot-row + .foot-row { border-top:1px solid rgba(255,255,255,.16); }
.foot-map { display:flex; flex-wrap:wrap; gap:2px 2px; list-style:none; padding:0; margin:0; }
.foot-map a { display:inline-flex; align-items:center; min-height:36px; padding:0 9px; border-radius:8px; color:rgba(255,255,255,.88); font-size:14px; font-weight:600; transition:background-color .2s, color .2s; }
.foot-map a:hover { background:rgba(255,255,255,.14); color:#fff; }
.foot .socials { display:flex; gap:6px; margin:0 0 0 auto; padding:0; list-style:none; }
.foot .socials a { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; transition:background-color .2s, transform .2s; }
.foot .socials a svg { width:14px; height:14px; fill:currentColor; }
.foot .socials a .tx { font-size:11px; font-weight:800; }
.foot .socials a:hover { background:var(--red-500); transform:translateY(-2px); }
.foot-news { display:flex; align-items:center; gap:12px; flex:1 1 380px; max-width:520px; }
.foot h4 { margin:0; white-space:nowrap; color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.14em; font-family:var(--sub); font-weight:400; }
.sub { display:flex; gap:8px; flex:1; margin:0; }
.sub input { flex:1; min-width:0; min-height:40px; border-radius:999px; padding:0 16px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.12); color:#fff; font-family:var(--body); font-size:14px; }
.sub input::placeholder { color:rgba(255,255,255,.55); }
.sub input:focus { outline:none; border-color:#fff; }
.foot-contact { margin-left:auto; display:flex; flex-wrap:wrap; align-items:center; gap:4px 18px; font-size:14px; color:rgba(255,255,255,.88); }
.foot-contact a { color:#fff; font-weight:700; } .foot-contact a:hover { text-decoration:underline; text-underline-offset:3px; }
.foot .brand b { color:#fff; }
.sub .btn { min-height:40px; padding:0 16px; font-size:15px; }
.foot-base { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 18px; padding-top:12px; border-top:1px solid rgba(255,255,255,.16); font-size:12.5px; color:rgba(255,255,255,.66); }
.foot-base ul { display:flex; flex-wrap:wrap; gap:4px 16px; list-style:none; padding:0; margin:0; }
.foot-base a { color:rgba(255,255,255,.82); } .foot-base a:hover { color:#fff; }
@media (max-width:1024px) { .foot-map { margin-left:0; width:100%; order:3; }}
@media (max-width:760px) { .foot-row { gap:10px 14px; } .foot .socials { margin-left:0; } .foot .socials a { width:40px; height:40px; } .foot-news { flex-direction:column; align-items:flex-start; gap:6px; max-width:none; } .sub { width:100%; } .foot-contact { margin-left:0; } .foot-base { justify-content:flex-start; }}

.cookie { position:fixed; inset-inline:0; inset-block-end:0; z-index:90; display:flex; justify-content:center; padding:12px; pointer-events:none; }
.cookie[hidden] { display:none; }
.cookie-card { pointer-events:auto; width:100%; max-width:780px; background:var(--teal-900); border-radius:16px; padding:12px 14px 12px 20px; box-shadow:0 18px 44px rgba(14,58,66,.36); display:flex; gap:18px; align-items:center; }
.cookie p { font-size:14px; line-height:1.55; color:rgba(255,255,255,.78); flex:1; min-width:0; }
.cookie p a { color:#fff; text-decoration:underline; text-underline-offset:2px; white-space:nowrap; }
.cookie-acts { display:flex; gap:8px; flex-shrink:0; }
.cookie-acts .btn {
  min-height:44px; padding:0 18px; font-size:14px; border-radius:10px;
  background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.3);
}
.cookie-acts .btn:hover { background:rgba(255,255,255,.22); transform:none; }
@media (max-width:720px) {
  .cookie { padding:10px; }
  .cookie-card { flex-direction:column; align-items:stretch; gap:12px; padding:16px; }
  .cookie-acts .btn { flex:1; }}

.card:hover h3, .post:hover h3, .pp-cat:hover h3, .pet:hover h3, .tier:hover h3 { color:var(--red-500); }
.card h3, .post h3, .pp-cat h3, .pet h3, .tier h3 { transition:color .3s var(--ease); }

.entry { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.entry-card { display:grid; grid-template-columns:44% 1fr; background:#ece7e1; border:1px solid #e3ddd5; border-radius:28px; overflow:hidden; min-height:236px; position:relative; }
.entry-card .ph { position:relative; overflow:hidden; background:var(--ground-deep); }
.entry-card .ph img { width:100%; height:100%; object-fit:cover; object-position:50% 22%; }
.entry-card .tx { padding:34px 24px 26px 22px; display:flex; flex-direction:column; justify-content:flex-start; position:relative; z-index:1; }
.entry-card h3 { font-size:27px; line-height:1.08; display:inline-block; align-self:flex-start; position:relative; isolation:isolate; padding:6px 14px; margin:-6px 0 0 -14px; color:#3d4744; transition:color .35s var(--ease); }
.entry-card h3::before { content:""; position:absolute; inset:0; z-index:-1; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%2040%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M9%200H91Q94%200%2094.6%203L99.4%2035Q100%2040%2095%2040H5Q0%2040%200.6%2035L5.4%203Q6%200%209%200Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat; filter:drop-shadow(0 8px 16px rgba(13,47,44,.10)); clip-path:circle(0% at 50% 50%); transition:clip-path .25s var(--ease); }
.entry-card:hover h3 { color:var(--red-500); }
.entry-card:hover h3::before { clip-path:circle(75% at 50% 50%); transition:clip-path .75s var(--ease); }
.entry-card p { margin-top:10px; color:var(--ink-600); font-size:14.5px; line-height:1.55; }
.entry-card .go { position:absolute; inset:0; z-index:2; }
@media (max-width:1024px) { .entry { grid-template-columns:1fr; } .entry-card { min-height:170px; grid-template-columns:200px 1fr; }}
@media (max-width:760px) { .entry-card { grid-template-columns:38% 1fr; min-height:150px; } .entry-card h3 { font-size:22px; } .entry-card .tx { padding:18px 16px; }}

.svgi { width:26px; height:26px; stroke:var(--teal-700); fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; transition:stroke .3s var(--ease); }
.card:hover .svgi, .pp-cat:hover .svgi { stroke:#fff; }

.stars { display:inline-flex; align-items:center; gap:2px; color:var(--amber); font-size:17px; letter-spacing:1px; line-height:1; }
.stars small { margin-left:8px; font-family:var(--body); font-size:12.5px; font-weight:700; color:var(--ink-400); letter-spacing:0; }

.stories { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.story { background:#fff; border:1px solid var(--line); border-radius:30px; overflow:hidden; display:flex; flex-direction:column; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.story:hover { transform:translateY(-6px); box-shadow:0 26px 56px -32px rgba(13,47,44,.32); }
.story-media { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); }
.story-media figure { position:relative; margin:0; aspect-ratio:1; overflow:hidden; background:var(--ground-deep); }
.story-media img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.story:hover .story-media img { transform:scale(1.04); }
.story-media figcaption { position:absolute; inset-block-start:12px; inset-inline-start:12px; border-radius:999px; padding:5px 12px; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:rgba(13,47,44,.82); color:#fff; }
.story-media figure:last-child figcaption { background:var(--red-500); }
.story-body { padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; }
.story-body blockquote { margin:12px 0 0; color:var(--ink-600); font-size:15px; flex:1; }
.story-who { display:flex; align-items:center; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.story-who .pic { width:46px; height:46px; border-radius:50%; flex-shrink:0; background:var(--teal-700); color:#fff; display:grid; place-items:center; font-family:var(--body); font-weight:800; font-size:17px; overflow:hidden; border:2px solid #fff; box-shadow:0 0 0 1px var(--line); }
.story-who .pic img { width:100%; height:100%; object-fit:cover; }
.story-who .nm { font-family:var(--body); font-weight:800; color:var(--teal-900); font-size:15px; line-height:1.2; }
.story-who .src { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--ink-400); margin-top:2px; }
.story-who .g { width:17px; height:17px; border-radius:50%; background:#fff; border:1px solid var(--line); display:grid; place-items:center; font-family:var(--body); font-size:10px; font-weight:700; color:#4285f4; }
.stories-note { margin-top:20px; text-align:center; font-size:13.5px; color:var(--ink-400); }

.rating { display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:30px; padding:28px 32px; max-width:720px; margin:0 auto; }
.rating .big { font-family:var(--display); font-weight:400; font-size:64px; line-height:1; color:var(--teal-900); font-variant-numeric:tabular-nums; }
.rating .stars { font-size:26px; letter-spacing:3px; }
.rating p { margin-top:6px; font-size:15px; color:var(--ink-600); }
.rev .stars { font-size:16px; }
.rev .who { align-items:center; }
@media (max-width:1024px) { .stories { grid-template-columns:1fr 1fr; }}
@media (max-width:760px) { .stories { grid-template-columns:1fr; } .rating { grid-template-columns:1fr; text-align:center; } .rating .big { font-size:52px; }}

.field .hint { margin-top:8px; font-size:13.5px; color:var(--ink-400); min-height:1.5em; }

.card .more, .post .more, .pp-cat .n { min-height:44px; display:inline-flex; align-items:center; margin-top:5px; margin-bottom:-10px; }
.stories-note a, .revs-note a { min-height:44px; display:inline-flex; align-items:center; margin-block:-12px; }
.foot li a, .foot .socials a { min-height:44px; }

.give2 { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:900px; margin:44px auto 0; }
.give-card { background:#fff; border:1px solid var(--line); border-radius:30px; padding:36px 32px 32px; display:flex; flex-direction:column; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.give-card:hover { transform:translateY(-6px); box-shadow:0 26px 56px -32px rgba(13,47,44,.32); }
.give-card .kind { font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-500); }
.give-card h3 { font-size:30px; margin-top:10px; }
.give-card p { margin-top:10px; color:var(--ink-600); font-size:15.5px; flex:1; }
.give-card .btn { margin-top:24px; width:100%; min-height:56px; font-size:16px; }
.give-card .fine { margin-top:10px; font-size:12.5px; color:var(--ink-400); text-align:center; }
.give-card--monthly { background:var(--teal-50); border-color:transparent; }
.buys { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.buy { background:#fff; border:1px solid var(--line); border-radius:26px; padding:28px 26px; text-align:center; }
.buy .amt { font-family:var(--display); font-size:40px; font-weight:400; color:var(--teal-900); line-height:1; }
.buy h3 { font-size:18px; margin-top:10px; }
.buy p { margin-top:6px; color:var(--ink-600); font-size:14.5px; }

.ledger { background:#fff; border:1px solid var(--line); border-radius:30px; overflow:hidden; margin-top:44px; }
.ledger-head { display:grid; grid-template-columns:110px 1fr 140px 110px 120px; gap:16px; padding:16px 26px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-400); border-bottom:1px solid var(--line); }
.ledger-row { display:grid; grid-template-columns:110px 1fr 140px 110px 120px; gap:16px; align-items:center; padding:16px 26px; border-bottom:1px solid var(--line); font-size:15px; }
.ledger-row:last-child { border-bottom:0; }
.ledger-row .d { color:var(--ink-400); font-variant-numeric:tabular-nums; }
.ledger-row .it { font-weight:600; color:var(--teal-900); }
.ledger-row .cat { display:inline-flex; align-items:center; min-height:28px; padding:0 11px; border-radius:999px; background:var(--teal-50); color:var(--teal-700); font-size:12.5px; font-weight:700; justify-self:start; }
.ledger-row .amt { font-variant-numeric:tabular-nums; font-weight:700; color:var(--teal-900); text-align:right; }
.ledger-row .rc { display:inline-flex; align-items:center; gap:8px; justify-self:end; min-height:44px; font-size:13.5px; font-weight:700; color:var(--teal-700); }
.ledger-row .rc i { width:30px; height:38px; border:1px dashed var(--ink-400); border-radius:5px; display:block; opacity:.7; }
.ledger-month { padding:12px 26px; background:var(--ground); font-size:13px; font-weight:700; color:var(--ink-600); display:flex; justify-content:space-between; }
@media (max-width:760px) { .give2, .buys { grid-template-columns:1fr; } .ledger-head { display:none; } .ledger-row { grid-template-columns:1fr auto; gap:6px 12px; } .ledger-row .d, .ledger-row .cat { grid-column:1; } .ledger-row .rc { grid-column:2; grid-row:1 / span 3; }}

.fp { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.fp i { position:absolute; top:var(--y); width:var(--s); aspect-ratio:1; background:var(--paw) center/contain no-repeat; filter:brightness(0) invert(1); opacity:var(--o,.1); rotate:var(--r,0deg); translate:0 calc(var(--py,0px) * var(--v,1)); animation:fp-float var(--t,10s) ease-in-out var(--dl,0s) infinite alternate; }
.fp--dark i { filter:brightness(0); opacity:calc(var(--o,.1) * .5); }
@keyframes fp-float { from { transform:translateY(calc(var(--fp-amp,6px) * -1)) rotate(-2deg); } to { transform:translateY(var(--fp-amp,6px)) rotate(2deg); } }
@media (prefers-reduced-motion: reduce) { .fp i { animation:none; translate:none; }}
@keyframes drift { to { transform:translate(28px,18px); } }
.call, .foot, .phero { isolation:isolate; }
.call > .wrap, .foot > .wrap, .phero > .wrap { position:relative; z-index:1; }

.hero h1 .o { display:inline-grid; place-items:center; width:.98em; height:.98em; border-radius:50%; vertical-align:middle; translate:0 -.06em; margin:0 .01em; background:var(--teal-50); text-align:center; line-height:1; transform:rotate(-8deg); box-shadow:0 10px 24px -14px rgba(15,58,64,.35); }
.hero h1 .o small { display:block; font-family:var(--body); font-weight:700; font-size:.18em; letter-spacing:.04em; text-transform:none; color:var(--ink-600); }
.hero h1 .o b { display:block; font-family:var(--display); font-weight:900; font-size:.38em; letter-spacing:-.02em; color:var(--red-500); line-height:1.05; }
.hero h1 .o--pic { overflow:hidden; transform:none; border:4px solid #fff; background:var(--ground-deep); }
.hero h1 .o--pic img { width:100%; height:100%; object-fit:cover; }
.hero h1 .spark { display:inline-block; width:.28em; height:.28em; vertical-align:top; margin-left:-.04em; color:var(--red-500); }
.hero h1 .spark svg { width:100%; height:100%; display:block; stroke:currentColor; fill:none; stroke-width:2.4; stroke-linecap:round; }

.fs { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px,4vw,56px); align-items:center; background:#fff; border:1px solid var(--line); border-radius:32px; padding:clamp(22px,3vw,36px); }
.fs--flip .collage { order:2; }
.collage { position:relative; padding:0 36px 36px 0; }
.collage .after { width:100%; aspect-ratio:4/3.6; object-fit:cover; border-radius:26px; display:block; }
.collage .before { position:absolute; inset-inline-end:0; inset-block-end:0; width:38%; aspect-ratio:1; object-fit:cover; border-radius:18px; border:5px solid #fff; box-shadow:0 22px 44px -22px rgba(15,58,64,.45); transform:rotate(var(--rot,-4deg)) translateY(var(--py,0px)); transition:transform .5s var(--ease); }
.collage .lbl { position:absolute; border-radius:999px; padding:5px 12px; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.collage .lbl--after { inset-block-start:14px; inset-inline-start:14px; background:rgba(255,255,255,.92); color:var(--teal-900); }
.collage .lbl--before { inset-inline-end:8px; inset-block-end:-4px; background:var(--red-500); color:#fff; }
.collage .person { position:absolute; inset-block-start:-16px; inset-inline-end:14px; width:64px; height:64px; border-radius:50%; border:4px solid #fff; background:var(--teal-700); color:#fff; display:grid; place-items:center; font-family:var(--body); font-weight:900; font-size:22px; box-shadow:0 14px 30px -16px rgba(15,58,64,.5); overflow:hidden; }
.collage .person img { width:100%; height:100%; object-fit:cover; }
.fs-text { display:flex; flex-direction:column; gap:14px; }
.fs-text .mark { font-family:var(--body); font-weight:900; font-size:64px; line-height:.6; color:var(--red-500); }
.fs-text blockquote { margin:0; font-family:var(--body); font-weight:800; font-size:clamp(19px,1.7vw,24px); line-height:1.32; color:var(--teal-900); letter-spacing:-.01em; }
.fs-text .stars { font-size:18px; }
.fs-text .who { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding-top:14px; border-top:1px solid var(--line); }
.fs-text .nm { font-family:var(--body); font-weight:900; color:var(--teal-900); font-size:16px; }
.fs-text .meta { font-size:13.5px; color:var(--ink-400); }
.fs-text .src { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--ink-400); font-weight:600; margin-left:auto; }
.fs-text .g { width:17px; height:17px; border-radius:50%; background:#fff; border:1px solid var(--line); display:grid; place-items:center; font-family:var(--body); font-size:10px; font-weight:700; color:#4285f4; }
.fs + .fs { margin-top:22px; }

.rp { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rp article { background:#fff; border:1px solid var(--line); border-radius:28px; padding:26px 26px 24px; display:flex; flex-direction:column; }
.rp .top { display:flex; align-items:center; gap:14px; }
.rp .pic { width:64px; height:64px; border-radius:50%; flex-shrink:0; background:var(--teal-50); border:0; display:grid; place-items:center; font-family:var(--body); font-weight:900; font-size:20px; color:var(--teal-900); overflow:hidden; }
.rp .pic img { width:100%; height:100%; object-fit:cover; }
.rp .nm { font-family:var(--body); font-weight:900; color:var(--teal-900); font-size:15.5px; line-height:1.2; }
.rp .meta { font-size:12.5px; color:var(--ink-400); }
.rp blockquote { margin:14px 0 0; color:var(--ink-600); font-size:15px; flex:1; }
.rp .stars { margin-top:12px; font-size:15px; }

.rq { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rq article { background:var(--teal-50); border-radius:24px; padding:22px 24px; display:flex; flex-direction:column; gap:10px; }
.rq blockquote { margin:0; color:var(--teal-900); font-size:15px; flex:1; }
.rq .who { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:13.5px; }
.rq .who b { color:var(--teal-900); }
.rq .stars { font-size:14px; }
.sub-h { font-family:var(--body); font-weight:900; font-size:22px; color:var(--teal-900); margin:52px 0 20px; display:flex; align-items:center; gap:14px; }
.sub-h::after { content:""; flex:1; height:1px; background:var(--line); }

.stack-rv { display:grid; gap:22px; }
.stack-rv .fs { position:sticky; top:calc(82px + 16px + var(--k,0) * 14px); box-shadow:0 30px 64px -40px rgba(15,58,64,.4); }
.rating { display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:30px; padding:28px 32px; max-width:720px; margin:0 auto; }
.rating .big { font-family:var(--display); font-weight:400; font-size:64px; line-height:1; color:var(--teal-900); font-variant-numeric:tabular-nums; }
.rating .stars { font-size:26px; letter-spacing:3px; }
.rating p { margin-top:6px; font-size:15px; color:var(--ink-600); }

.films { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.film { display:block; background:#fff; border:1px solid var(--line); border-radius:28px; overflow:hidden; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.film:hover { transform:translateY(-6px); box-shadow:0 26px 56px -32px rgba(13,47,44,.32); }
.film .th { position:relative; overflow:hidden; background:var(--ground-deep); }
.film .th img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .55s var(--ease); }
.film:hover .th img { transform:scale(1.04); }
.film .play { position:absolute; inset:0; display:grid; place-items:center; }
.film .play span { width:56px; height:56px; border-radius:50%; background:#fff; display:grid; place-items:center; box-shadow:0 14px 30px -12px rgba(0,0,0,.4); transition:background-color .2s; }
.film .play svg { width:22px; height:22px; fill:var(--teal-900); margin-left:3px; transition:fill .2s; }
.film:hover .play span { background:var(--red-500); } .film:hover .play svg { fill:#fff; }
.film .dur { position:absolute; inset-block-end:12px; inset-inline-end:12px; background:rgba(15,58,64,.9); color:#fff; border-radius:999px; padding:4px 10px; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.film .body { padding:20px 22px 22px; }
.film .date { font-size:12.5px; color:var(--ink-400); }
.film h3 { font-size:17.5px; margin-top:6px; line-height:1.35; }
.film .more { display:inline-flex; align-items:center; min-height:44px; margin-top:4px; margin-bottom:-10px; font-weight:600; font-size:14px; color:var(--teal-700); }

.vland { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(24px,4vw,48px); align-items:start; }
.facade { position:relative; display:block; border-radius:30px; overflow:hidden; background:var(--ground-deep); box-shadow:0 40px 78px -34px rgba(13,47,44,.4); }
.facade img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .6s var(--ease); }
.facade:hover img { transform:scale(1.03); }
.facade .play { position:absolute; inset:0; display:grid; place-items:center; }
.facade .play span { display:inline-flex; align-items:center; gap:12px; background:#fff; color:var(--teal-900); border-radius:999px; padding:14px 22px 14px 16px; font-weight:700; font-size:15px; box-shadow:0 18px 40px -16px rgba(0,0,0,.45); transition:background-color .2s, color .2s; }
.facade .play svg { width:22px; height:22px; fill:currentColor; }
.facade:hover .play span { background:var(--red-500); color:#fff; }
.facade .dur { position:absolute; inset-block-end:14px; inset-inline-end:14px; background:rgba(15,58,64,.9); color:#fff; border-radius:999px; padding:5px 11px; font-size:12.5px; font-weight:700; }
.vmeta { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.vmeta span { display:inline-flex; align-items:center; min-height:34px; padding:0 13px; border-radius:999px; background:#fff; border:1px solid var(--line); font-size:13px; font-weight:600; color:var(--ink-700); }
.vmeta .ytlink { display:inline-flex; align-items:center; min-height:34px; padding:0 6px; font-size:13.5px; }
.vstory { margin-top:28px; }
.vstory h2 { font-size:26px; }
.vstory p { margin-top:12px; color:var(--ink-600); font-size:16px; }
.vside { display:grid; gap:18px; position:sticky; top:106px; }
.vgive { background:var(--teal-900); color:#fff; border-radius:28px; padding:28px; position:relative; overflow:hidden; isolation:isolate; }
.vgive > * { position:relative; z-index:1; }
.vgive h3 { color:#fff; font-size:22px; }
.vgive p { margin-top:8px; color:rgba(255,255,255,.8); font-size:15px; }
.vgive .btn { width:100%; margin-top:14px; }
.vgive .btn + .btn { margin-top:10px; }
.vsub { background:#fff; border:1px solid var(--line); border-radius:28px; padding:24px 26px; }
.vsub h3 { font-size:18px; }
.vsub p { margin-top:6px; color:var(--ink-600); font-size:14.5px; }
.vsub .btn { width:100%; margin-top:14px; }
@media (max-width:1024px) { .fs, .vland { grid-template-columns:1fr; } .fs--flip .collage { order:0; } .rp, .rq, .films { grid-template-columns:1fr 1fr; } .vside { position:static; } .stack-rv .fs { position:relative; top:auto; }}
@media (max-width:760px) { .rp, .rq, .films { grid-template-columns:1fr; } .hero h1 .o small { display:none; } .hero h1 .o b { font-size:.4em; } .fs-text .mark { font-size:48px; } .rating { grid-template-columns:1fr; text-align:center; }}

.road { display:grid; grid-template-columns:210px 1fr; gap:44px; margin-top:52px; align-items:start; }
.mm { position:sticky; top:110px; }
.mm-title { font-family:var(--sub); font-size:14.5px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-700); }
.mm-list { list-style:none; padding:0; margin:14px 0 0; position:relative; }
.mm-list::before { content:""; position:absolute; left:10px; top:22px; bottom:22px; width:2px; background:var(--line); }
.mm-fill { position:absolute; left:10px; top:22px; width:2px; height:0; background:var(--red-500); transition:height .25s linear; }
.mm-you { position:absolute; left:-3px; top:22px; width:28px; height:28px; translate:0 -50%; border-radius:50%; background:var(--paw) center/78% no-repeat, var(--red-500); box-shadow:0 0 0 4px var(--ground); transition:top .3s var(--ease); z-index:2; opacity:0; }
.mm-list.started .mm-you { opacity:1; }
.mm-list a { display:flex; align-items:center; gap:14px; min-height:44px; font-size:14.5px; font-weight:600; color:var(--ink-400); transition:color .2s; }
.mm-list a i { width:22px; height:22px; border-radius:50%; background:var(--ground); border:2px solid var(--line); flex-shrink:0; position:relative; z-index:1; transition:border-color .25s, background-color .25s, box-shadow .25s; }
.mm-list li.done a i { border-color:var(--red-500); background:var(--red-500); }
.mm-list li.on a { color:var(--teal-900); }
.mm-list li.on a i { border-color:var(--red-500); background:#fff; box-shadow:0 0 0 5px var(--red-50); }
.mm-list a:hover { color:var(--teal-900); }
.mm-note { margin-top:14px; font-size:13px; color:var(--ink-400); min-height:40px; }
.route { position:relative; --route:1000; }
.route-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.route-svg path { fill:none; stroke-width:3; stroke-linecap:round; }
.route-bg { stroke:var(--line); stroke-dasharray:6 10; }
.route-fg { stroke:var(--red-500); }
.route-svg--fg { clip-path:inset(0 0 calc(100% - var(--p, 0) * 100%) 0); }
.stop { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,64px); align-items:center; padding:38px 0; }
.stop:first-of-type { padding-top:8px; } .stop:last-of-type { padding-bottom:8px; }
.stop:nth-of-type(even) .stop-media { order:2; }
.stop-dot { position:absolute; left:50%; top:50%; translate:-50% -50%; width:22px; height:22px; border-radius:50%; background:#fff; border:4px solid var(--line); box-shadow:0 0 0 7px var(--ground); transition:border-color .3s, background-color .3s, box-shadow .3s; z-index:1; }
.stop.on .stop-dot { border-color:var(--red-500); background:var(--red-500); box-shadow:0 0 0 7px var(--ground), 0 0 0 13px var(--red-50); }
.stop-media { margin:0; position:relative; z-index:1; }
.stop-media img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:28px; box-shadow:0 30px 60px -34px rgba(13,47,44,.45); transform:rotate(-1.5deg); transition:transform .5s var(--ease); }
.stop:nth-of-type(even) .stop-media img { transform:rotate(1.5deg); }
.stop:hover .stop-media img { transform:rotate(0) scale(1.02); }
.stop-media figcaption { margin-top:10px; font-size:12.5px; color:var(--ink-400); }
.stop-text { position:relative; z-index:1; padding-inline:18px; }
.stop-n { display:inline-block; font-family:var(--sub); font-size:14.5px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; color:var(--red-500); }
.stop-text h3 { font-size:clamp(24px,2.4vw,32px); margin-top:8px; }
.stop-text p { margin-top:12px; color:var(--ink-600); }
.stop-facts { list-style:none; padding:0; margin:18px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.stop-facts li > * { display:inline-flex; align-items:center; min-height:38px; padding:8px 14px; border-radius:19px; font-size:13.5px; font-weight:600; line-height:1.35; }
.stop-facts span { background:var(--teal-50); color:var(--teal-700); }
.stop-facts a { background:var(--teal-900); color:#fff; transition:background-color .2s; }
.stop-facts a:hover { background:var(--red-500); }
@media (max-width:1024px) {
  .road { grid-template-columns:1fr; gap:0; }
  .mm { display:none; }
  .route-svg, .stop-dot { display:none; }
  .stop { grid-template-columns:1fr; gap:20px; padding:30px 0; border-top:1px solid var(--line); }
  .stop:first-of-type { border-top:0; }
  .stop:nth-of-type(even) .stop-media { order:0; }
  .stop-media img, .stop:nth-of-type(even) .stop-media img { transform:none; }}

.phero--pp { padding-block:56px 72px; }
.pp-hero { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(28px,4vw,56px); align-items:start; }
.pp-hero .lede { max-width:56ch; }
.pp-hero .pp-search { margin:28px 0 0; max-width:none; }
.pp-hero .pp-topics { justify-content:flex-start; margin-top:14px; }
.pp-toc { background:#fff; border:1px solid var(--line); border-radius:28px; padding:24px 26px 12px; }
.pp-toc h3 { font-size:14.5px; text-transform:uppercase; letter-spacing:.14em; color:var(--teal-700); font-family:var(--sub); font-weight:400; }
.pp-toc ol { list-style:none; padding:0; margin:10px 0 0; }
.pp-toc li a { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:46px; border-top:1px solid var(--line); font-weight:600; color:var(--teal-900); transition:color .2s; }
.pp-toc li:first-child a { border-top:0; }
.pp-toc li a span { font-size:12.5px; color:var(--ink-400); font-weight:700; }
.pp-toc li a:hover { color:var(--red-500); }
.pp-feature { display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:stretch; margin-top:44px; }
.pp-lead { display:grid; grid-template-rows:auto 1fr; background:#fff; border:1px solid var(--line); border-radius:32px; overflow:hidden; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.pp-lead:hover { transform:translateY(-4px); box-shadow:0 30px 60px -34px rgba(13,47,44,.35); }
.pp-lead img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.pp-lead .body { padding:26px 30px 30px; }
.pp-lead .cat { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-700); }
.pp-lead h3 { font-size:clamp(24px,2.4vw,32px); margin-top:8px; }
.pp-lead p { margin-top:12px; color:var(--ink-600); }
.pp-lead .more { display:inline-block; margin-top:18px; font-weight:700; color:var(--red-500); }
.pp-most { background:var(--teal-900); color:#fff; border-radius:32px; padding:28px 30px 18px; position:relative; overflow:hidden; isolation:isolate; }
.pp-most > * { position:relative; z-index:1; }
.pp-most > .fp { z-index:0; }
.pp-most h3 { color:#fff; font-size:14.5px; text-transform:uppercase; letter-spacing:.14em; font-family:var(--sub); font-weight:400; }
.pp-most ol { list-style:none; padding:0; margin:10px 0 0; counter-reset:mr; }
.pp-most li a { display:grid; grid-template-columns:34px 1fr; gap:14px; align-items:start; padding:14px 0; border-top:1px solid rgba(255,255,255,.14); color:#fff; font-weight:600; line-height:1.4; transition:color .2s; }
.pp-most li:first-child a { border-top:0; }
.pp-most li a::before { counter-increment:mr; content:"0" counter(mr); font-family:var(--display); font-weight:400; font-size:22px; line-height:1.1; color:var(--amber); }
.pp-most li a small { display:block; grid-column:2; font-size:12.5px; opacity:.7; font-weight:500; margin-top:2px; }
.pp-most li a:hover { color:var(--amber); }
.pp-lib { margin-top:48px; display:grid; grid-template-columns:repeat(3,1fr); gap:34px 44px; }
.pp-lib section h3 { font-size:18px; display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding-bottom:10px; border-bottom:2px solid var(--teal-900); }
.pp-lib section h3 small { font-size:12px; color:var(--ink-400); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.pp-lib-b { margin:10px 0 2px; font-size:13.5px; color:var(--ink-400); }
.pp-lib ul { list-style:none; padding:0; margin:0; }
.pp-lib li a { display:flex; justify-content:space-between; gap:14px; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px; font-weight:500; color:var(--ink-700); line-height:1.45; transition:color .2s, padding-left .25s var(--ease); }
.pp-lib li a small { flex-shrink:0; font-size:12px; color:var(--ink-400); font-weight:600; }
.pp-lib li a:hover { color:var(--red-500); padding-left:6px; }
.pp-ways { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pp-way { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:22px; padding:20px 22px; color:inherit; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
a.pp-way:hover { transform:translateY(-3px); box-shadow:0 22px 46px -30px rgba(13,47,44,.3); }
.pp-way .ico { width:44px; height:44px; border-radius:14px; background:var(--teal-50); display:grid; place-items:center; flex-shrink:0; }
.pp-way h4 { font-size:16px; } .pp-way p { margin-top:4px; font-size:14px; color:var(--ink-600); }
.pp-way .soon { display:inline-block; margin-top:8px; font-size:12px; font-weight:600; color:var(--ink-400); border:1px dashed var(--line); border-radius:999px; padding:4px 10px; }
@media (max-width:1024px) { .pp-hero, .pp-feature { grid-template-columns:1fr; } .pp-lib, .pp-ways { grid-template-columns:1fr 1fr; }}
@media (max-width:760px) { .pp-lib, .pp-ways { grid-template-columns:1fr; } .pp-hero .pp-search { flex-direction:column; } .pp-hero .pp-search .btn { width:100%; }}

.fs-text blockquote, .rp blockquote, .rq blockquote, .rev p, .rev blockquote { font-family:"Zing Script Rust", var(--body); font-weight:400; letter-spacing:0; color:var(--teal-900); }
.fs-text blockquote { font-size:clamp(24px,2.1vw,30px); line-height:1.35; }
.rp blockquote, .rq blockquote, .rev p, .rev blockquote { font-size:19px; line-height:1.45; }
.fs-text .nm, .rp .nm, .rq .who b, .rev .nm, .story-who .nm { font-family:"Zing Script Rust", var(--body); font-weight:400; color:var(--red-500); font-size:1.4em; line-height:1.1; }
.fs-text .meta, .rp .meta, .rev .rl { font-family:"Zing Script Rust", var(--body); font-weight:400; text-transform:none; letter-spacing:0; font-size:15.5px; color:var(--ink-600); }

.dog-hero { display:grid; grid-template-columns:1.25fr .75fr; gap:32px; align-items:end; }
.dog-hero .lede { max-width:58ch; }
.track { list-style:none; padding:0; margin:0 0 6px; display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.track::before { content:""; position:absolute; left:12.5%; right:12.5%; top:12px; height:2px; background:var(--line); }
.track li { display:grid; justify-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--ink-400); text-align:center; position:relative; }
.track li i { width:26px; height:26px; border-radius:50%; background:#fff; border:2px solid var(--line); }
.track li.done i { background:var(--green-500); border-color:var(--green-500); }
.track li.on i { border:0; background:var(--paw) center/78% no-repeat, var(--red-500); box-shadow:0 0 0 5px var(--red-50); }
.track li.done, .track li.on { color:var(--teal-900); }
.dogland { display:grid; grid-template-columns:1fr 360px; gap:clamp(24px,4vw,56px); align-items:start; }
.tl { list-style:none; padding:0; margin:24px 0 0; position:relative; --tlp:0px; }
.tl::before { content:""; position:absolute; left:11px; top:8px; bottom:8px; width:2px; background:var(--line); }
.tl::after { content:""; position:absolute; left:11px; top:8px; height:var(--tlp); width:2px; background:var(--red-500); transition:height .2s linear; }
.tl-i { position:relative; padding:0 0 32px 46px; }
.tl-i:last-child { padding-bottom:6px; }
.tl-dot { position:absolute; left:3px; top:5px; width:18px; height:18px; border-radius:50%; background:#fff; border:3px solid var(--line); z-index:1; transition:border-color .3s, background-color .3s; }
.tl-i.on .tl-dot { border-color:var(--red-500); background:var(--red-500); }
.tl-when { font-family:var(--sub); text-transform:uppercase; letter-spacing:.14em; font-size:13.5px; color:var(--teal-700); }
.tl-body h3 { font-size:21px; margin-top:4px; }
.tl-body p { margin-top:6px; color:var(--ink-600); }
.tl-img { width:min(100%,380px); aspect-ratio:16/9; object-fit:cover; border-radius:16px; margin-top:12px; display:block; }
.tl-film { display:inline-flex; align-items:center; gap:8px; margin-top:12px; min-height:40px; padding:0 14px 0 12px; border-radius:999px; background:var(--teal-900); color:#fff; font-size:13.5px; font-weight:700; transition:background-color .2s; }
.tl-film:hover { background:var(--red-500); color:#fff; }
.tl-film svg { width:14px; height:14px; fill:#fff; }
.tl-i .btn { margin-top:14px; }
.dfilms { display:grid; gap:14px; margin-bottom:14px; }
.dfilms .fcap { font-size:13px; color:var(--ink-400); margin:-4px 4px 0; }
@media (max-width:1024px) { .dog-hero, .dogland { grid-template-columns:1fr; }}

.btn:active { transform:translateY(0) scale(.97); }
.nav a:active::before { clip-path:circle(75% at 50% 50%); transition:clip-path .15s; }
.nav a:active { color:#fff; }
.film:active, .entry-card:active, .post:active, .pp-lead:active, a.pp-way:active { transform:scale(.99); }

@media (max-width:760px) {
  :root { --fp-para:110; }
  .fp i { width:calc(var(--s) * .55); opacity:calc(var(--o,.1) * .7); }
  .fp--dark i { opacity:calc(var(--o,.1) * .35); }}

.call p { color:#fff; }
.call .btn--red { background:#fff; color:var(--red-500); }
.call .btn--red:hover { background:var(--red-500); color:#fff; }
.foot, .foot-top .ab, .foot-map a, .foot li a, .foot-contact, .foot address, .foot-news p { color:#fff; }
.foot-base { color:rgba(255,255,255,.88); } .foot-base a { color:#fff; }
.foot .fp i { opacity:calc(var(--o,.1) * .6); }

.ways-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.way { display:flex; align-items:flex-start; gap:16px; padding:20px 22px; border-radius:24px; background:#fff; border:1px solid var(--line); color:var(--teal-900); min-height:104px; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s; }
.way:hover { transform:translateY(-4px); box-shadow:0 26px 50px -30px rgba(13,47,44,.35); color:var(--teal-900); border-color:transparent; }
.way-logo { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; flex-shrink:0; }
.way--paypal .way-logo { background:#003087; } .way--patreon .way-logo { background:#141414; } .way--yt .way-logo { background:#ff0000; }
.way-logo svg { width:26px; height:26px; fill:#fff; } .way-logo b { font-size:22px; color:#fff; }
.way-t { display:grid; gap:4px; }
.way-t b { display:block; font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:19px; letter-spacing:.03em; line-height:1.05; min-height:20px; }
.way-t small { display:block; font-size:13.5px; color:var(--ink-600); line-height:1.35; }
.ways-more { text-align:center; margin:22px 0 0; font-weight:700; } .ways-more a { color:var(--teal-900); } .ways-more a:hover { color:var(--red-500); }

.spine { margin-top:44px; }
.spine-heads { display:grid; grid-template-columns:1fr 64px 1fr; text-align:center; font-family:var(--sub); text-transform:uppercase; letter-spacing:.14em; font-size:14px; color:var(--teal-700); margin-bottom:14px; }
.spine-list { list-style:none; padding:0; margin:0; position:relative; --sp:0px; }
.spine-list::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:3px; translate:-50% 0; background:var(--line); border-radius:2px; }
.spine-list::after { content:""; position:absolute; left:50%; top:0; height:var(--sp); width:3px; translate:-50% 0; background:var(--red-500); border-radius:2px; transition:height .2s linear; }
.sp { display:grid; grid-template-columns:1fr 64px 1fr; align-items:center; padding:14px 0; position:relative; }
.sp-l, .sp-r { background:#fff; border:1px solid var(--line); border-radius:24px; padding:22px 24px; opacity:.5; translate:0 12px; transition:opacity .5s var(--ease), translate .5s var(--ease), border-color .3s; }
.sp-l { text-align:right; }
.sp.on .sp-l, .sp.on .sp-r { opacity:1; translate:0 0; }
.sp.on .sp-l { border-color:var(--green-500); } .sp.on .sp-r { border-color:var(--red-500); }
.sp-dot { width:22px; height:22px; border-radius:50%; background:#fff; border:4px solid var(--line); justify-self:center; z-index:1; transition:border-color .3s, background-color .3s; }
.sp.on .sp-dot { border-color:var(--red-500); background:var(--red-500); }
.sp-amt { display:block; font-family:var(--display); font-size:34px; color:var(--green-600); line-height:1; }
.sp-tag { display:inline-block; font-family:var(--sub); text-transform:uppercase; letter-spacing:.14em; font-size:12.5px; color:var(--red-500); }
.sp h3 { font-size:19px; margin-top:6px; } .sp p { margin-top:6px; font-size:14.5px; color:var(--ink-600); }
.memb { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:900px; margin:44px auto 0; }
.memb-card { background:#fff; border:1px solid var(--line); border-radius:30px; padding:30px 30px 28px; display:flex; flex-direction:column; }
.memb-card .ml { display:flex; align-items:center; gap:14px; }
.memb-card .kind { font-family:var(--sub); text-transform:uppercase; letter-spacing:.14em; font-size:12.5px; color:var(--teal-700); }
.memb-card h3 { font-size:26px; }
.memb--yt .way-logo { background:#ff0000; } .memb--pat .way-logo { background:#141414; }
.perks { list-style:none; padding:0; margin:18px 0 0; display:grid; gap:9px; flex:1; }
.perks li { position:relative; padding-left:28px; font-size:15px; color:var(--ink-700); }
.perks li::before { content:"\2713"; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:var(--teal-50); color:var(--teal-700); font-size:11px; font-weight:700; display:grid; place-items:center; }
.memb-card .btn { margin-top:22px; width:100%; color:#fff; }
.memb--yt .btn { background:#ff0000; } .memb--pat .btn { background:#141414; }
.memb-card .fine { margin-top:10px; font-size:12.5px; color:var(--ink-400); text-align:center; }
@media (max-width:900px) {
  .ways-grid, .memb { grid-template-columns:1fr; }
  .spine-heads { display:none; }
  .sp { grid-template-columns:24px 1fr; gap:10px 14px; }
  .sp-dot { grid-column:1; grid-row:1 / span 2; align-self:start; margin-top:22px; }
  .sp-l, .sp-r { grid-column:2; text-align:left; }
  .spine-list::before, .spine-list::after { left:11px; translate:0; }}

.dog-hero { grid-template-columns:1.05fr .95fr; align-items:center; }
.dog-hero .track { margin-top:26px; }
.dog-hero .dfilms { margin:0; }
.dog-hero .fcap { margin-top:8px; }
.road--dog .stop-media figcaption { font-size:12.5px; }
.road--dog .stop-facts a.tl-film { margin:0; }

@media (min-width:1025px) { .films:has(> :nth-child(4)) { grid-template-columns:repeat(4,1fr); gap:18px; } .films:has(> :nth-child(4)) .film h3 { font-size:16.5px; }}
.vstory-link { margin-top:14px; font-weight:800; } .vstory-link a { color:var(--red-600); }
.pf-more { margin-top:12px; font-weight:800; } .pf-more a { color:var(--red-600); }
.vgive--end { display:none; }

.mem { margin:34px 0 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:22px; align-items:center; background:var(--teal-900); color:#fff; border-radius:28px; padding:22px; }
.mem-shot { position:relative; border-radius:18px; overflow:hidden; aspect-ratio:16/9; background:#000; }
.mem-shot img { width:100%; height:100%; object-fit:cover; display:block; }
.mem-lock { position:absolute; left:12px; top:12px; display:inline-flex; align-items:center; gap:6px; background:rgba(0,0,0,.62); color:#fff; border-radius:999px; padding:6px 12px; font-size:13px; font-weight:800; }
.mem-lock svg { width:13px; height:13px; fill:currentColor; }
.mem .eyebrow { color:rgba(255,255,255,.75); }
.mem h3 { color:#fff; font-size:24px; margin:6px 0 0; }
.mem p { margin:8px 0 0; color:rgba(255,255,255,.85); font-size:15.5px; line-height:1.55; }
.mem-acts { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
@media (min-width:761px) { .road > .mem { grid-column:2; }}
@media (max-width:760px) { .mem { grid-template-columns:1fr; padding:16px; gap:14px; } .mem h3 { font-size:21px; }}
.d-named { margin-top:10px; font-size:14.5px; font-style:italic; color:var(--ink-600); }

@media (max-width:1024px) {
  .mm { display:block; position:sticky; top:92px; z-index:20; margin:0 0 6px; padding:10px 14px 11px; background:rgba(255,255,255,.94); backdrop-filter:blur(12px); border:1px solid var(--line); border-radius:18px; box-shadow:0 14px 30px -22px rgba(13,47,44,.45); }
  .mm-title { display:none; }
  .mm-list { display:flex; justify-content:space-between; margin:0; }
  .mm-list::before { left:14px; right:14px; top:50%; bottom:auto; width:auto; height:2px; translate:0 -50%; }
  .mm-fill { left:14px; top:50%; width:0; height:2px; translate:0 -50%; transition:width .25s linear; }
  .mm-you { left:14px; top:50%; width:22px; height:22px; translate:-50% -50%; box-shadow:0 0 0 3px #fff; transition:left .3s var(--ease); }
  .mm-list li { flex:0 0 auto; }
  .mm-list a { min-height:30px; min-width:28px; justify-content:center; gap:0; }
  .mm-list a span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .mm-list a i { width:14px; height:14px; }
  .mm-list li.on a i { box-shadow:0 0 0 4px var(--red-50); }
  .mm-note { margin:5px 0 0; min-height:0; font-size:13px; font-weight:700; color:var(--teal-900); text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .vgive--mm { display:none; }
  .vgive--end { display:block; margin-top:26px; }
  .route-svg { display:block; left:0; right:auto; width:28px; }
  .stop { padding-left:42px; }
  .stop-dot { display:block; left:14px; top:44px; width:18px; height:18px; border-width:3px; box-shadow:0 0 0 5px var(--ground); }
  .stop.on .stop-dot { box-shadow:0 0 0 5px var(--ground), 0 0 0 9px var(--red-50); }}
.vgive--mm { margin-top:18px; padding:20px; border-radius:22px; }
.vgive--mm h3 { font-size:17px; } .vgive--mm p { font-size:13.5px; }
.vgive--mm .btn { min-height:44px; font-size:15px; margin-top:10px; }
@media (max-width:1024px) { .dog-hero { grid-template-columns:1fr; } .vgive--mm { display:none; }}

.quotes { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:40px; }
.q { margin:0; background:#fff; border:1px solid var(--line); border-radius:30px; padding:30px 34px 26px; }
.q-mark { display:block; font-family:var(--body); font-weight:900; font-size:64px; line-height:.6; color:var(--red-500); }
.q p { margin:16px 0 0; font-family:"Zing Script Rust", var(--body); font-weight:400; font-size:clamp(24px,2.2vw,32px); line-height:1.35; color:var(--teal-900); }
.q footer { margin-top:18px; font-family:var(--sub); text-transform:uppercase; letter-spacing:.14em; font-size:13.5px; color:var(--teal-700); }
.pledge { list-style:none; padding:0; margin:40px auto 0; max-width:820px; display:grid; gap:12px; }
.pledge li { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:20px; padding:18px 22px; }
.pledge li i { width:30px; height:30px; border-radius:50%; border:2px solid var(--line); flex-shrink:0; position:relative; margin-top:1px; }
.pledge li i::after { content:""; position:absolute; left:9px; top:4px; width:7px; height:13px; border:solid #fff; border-width:0 3px 3px 0; transform:rotate(45deg) scale(0); }
.pledge.in li i { animation:pledge-fill .35s var(--ease) both; }
.pledge.in li i::after { animation:pledge-tick .3s var(--ease) both; }
.pledge.in li:nth-child(1) i, .pledge.in li:nth-child(1) i::after { animation-delay:.2s; }
.pledge.in li:nth-child(2) i, .pledge.in li:nth-child(2) i::after { animation-delay:.5s; }
.pledge.in li:nth-child(3) i, .pledge.in li:nth-child(3) i::after { animation-delay:.8s; }
.pledge.in li:nth-child(4) i, .pledge.in li:nth-child(4) i::after { animation-delay:1.1s; }
.pledge.in li:nth-child(5) i, .pledge.in li:nth-child(5) i::after { animation-delay:1.4s; }
.pledge.in li:nth-child(6) i, .pledge.in li:nth-child(6) i::after { animation-delay:1.7s; }
@keyframes pledge-fill { to { background:var(--green-500); border-color:var(--green-500); } }
@keyframes pledge-tick { to { transform:rotate(45deg) scale(1); } }
.pledge li b { display:block; font-size:17px; color:var(--teal-900); }
.pledge li span { display:block; margin-top:3px; font-size:14.5px; color:var(--ink-600); }

.a-title { font-size:clamp(30px,4.2vw,50px); max-width:24ch; margin-top:10px; }
.a-tools { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:20px; }
.listen svg { width:16px; height:16px; fill:currentColor; }
.listen.playing { background:var(--red-500); color:#fff; border-color:var(--red-500); }
.a-date { font-size:14px; color:var(--ink-400); }
.article { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(28px,4vw,60px); align-items:start; }
.a-img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:28px; }
.a-lead { margin-top:26px; font-size:19px; line-height:1.6; font-weight:600; color:var(--teal-900); max-width:62ch; }
#a-text p { margin-top:18px; font-size:17px; line-height:1.8; max-width:66ch; }
#a-text h2 { margin-top:40px; max-width:66ch; font-family:var(--body); font-weight:800; font-size:clamp(21px,2.2vw,25px); text-transform:none; letter-spacing:-.01em; line-height:1.25; color:var(--teal-900); }
#a-text ul { margin:14px 0 0; padding-inline-start:22px; max-width:66ch; }
#a-text li { list-style:disc; margin-top:8px; font-size:17px; line-height:1.7; }
#a-text a { color:var(--red-600); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.a-note { margin-top:40px; padding-top:18px; border-top:1px solid var(--line); font-size:14px; line-height:1.6; color:var(--ink-400); max-width:66ch; }
#a-text p:first-child::first-letter { font-family:var(--display); font-size:3.2em; float:left; line-height:.85; margin:6px 10px 0 0; color:var(--red-500); }
.a-side { position:sticky; top:106px; background:#fff; border:1px solid var(--line); border-radius:26px; padding:22px 24px; }
.a-side h3 { font-size:13px; text-transform:uppercase; letter-spacing:.14px; letter-spacing:.14em; font-family:var(--sub); font-weight:400; color:var(--teal-700); }
.a-side ul { list-style:none; padding:0; margin:10px 0 18px; }
.a-side li a { display:block; padding:10px 0; border-top:1px solid var(--line); font-weight:600; color:var(--teal-900); font-size:15px; line-height:1.4; }
.a-side li:first-child a { border-top:0; }
.a-side li a small { display:block; font-size:12.5px; color:var(--ink-400); font-weight:500; margin-top:2px; }
.a-side li a:hover { color:var(--red-500); }
.a-side .btn { width:100%; }

.ajourney { margin-top:44px; }
.aj-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(6,1fr); position:relative; --ajp:0%; }
.aj-steps::before { content:""; position:absolute; left:8.33%; right:8.33%; top:19px; height:3px; background:var(--line); border-radius:2px; }
.aj-steps::after { content:""; position:absolute; left:8.33%; width:calc(var(--ajp) * .8334); top:19px; height:3px; background:var(--red-500); border-radius:2px; transition:width .35s var(--ease); }
.aj-steps button { display:grid; justify-items:center; gap:8px; width:100%; background:none; border:0; cursor:pointer; font-family:var(--body); color:var(--ink-400); font-size:13.5px; font-weight:700; padding:0; position:relative; }
.aj-steps button i { width:40px; height:40px; border-radius:50%; background:#fff; border:3px solid var(--line); display:grid; place-items:center; font-family:var(--display); font-size:17px; color:var(--ink-400); font-style:normal; transition:border-color .25s, background-color .25s, color .25s; }
.aj-steps li.done button i { background:var(--green-500); border-color:var(--green-500); color:#fff; }
.aj-steps li.on button i { border-color:var(--red-500); background:var(--red-500); color:#fff; box-shadow:0 0 0 6px var(--red-50); }
.aj-steps li.on button, .aj-steps li.done button { color:var(--teal-900); }
.aj-panel { margin:26px auto 0; max-width:820px; background:#fff; border:1px solid var(--line); border-radius:30px; padding:30px 34px; }
.aj-panel h3 { font-size:26px; margin-top:6px; } .aj-panel > p { margin-top:10px; color:var(--ink-600); font-size:16.5px; }
.aj-cols { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
.aj-cols h4 { font-size:13px; text-transform:uppercase; letter-spacing:.14em; font-family:var(--sub); font-weight:400; color:var(--teal-700); }
.aj-cols ul { margin:8px 0 0; padding:0 0 0 18px; color:var(--ink-700); font-size:15px; } .aj-cols li { margin-top:4px; } .aj-cols p { margin-top:8px; color:var(--ink-700); font-size:15px; }
.aj-nav { display:flex; justify-content:space-between; gap:12px; margin-top:22px; }
.aj-nav > :last-child { margin-left:auto; }
.ready { max-width:820px; margin:40px auto 0; background:#fff; border:1px solid var(--line); border-radius:30px; padding:26px 30px 28px; }
.ready ul { list-style:none; padding:0; margin:0; display:grid; gap:6px; }
.ready label { display:flex; gap:14px; align-items:flex-start; padding:10px 12px; border-radius:14px; cursor:pointer; font-size:15.5px; color:var(--ink-700); }
.ready label:hover { background:var(--ground); }
.ready input { width:22px; height:22px; margin:2px 0 0; accent-color:var(--green-500); flex-shrink:0; }
.ready-out { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.ready-bar { height:10px; border-radius:999px; background:var(--ground-deep); overflow:hidden; }
.ready-bar b { display:block; height:100%; width:0; background:linear-gradient(90deg, var(--red-500), var(--green-500)); transition:width .4s var(--ease); }
#ready-text { margin-top:12px; font-weight:700; color:var(--teal-900); }
.aform { max-width:820px; margin:40px auto 0; background:#fff; border:1px solid var(--line); border-radius:30px; padding:30px 34px; display:grid; gap:16px; }
.aform .row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.aform label { display:grid; gap:6px; font-size:14px; font-weight:700; color:var(--teal-900); }
.aform input, .aform select, .aform textarea { font-family:var(--body); font-size:15.5px; color:var(--teal-900); background:var(--ground); border:1px solid var(--line); border-radius:14px; padding:12px 14px; min-height:48px; width:100%; }
.aform textarea { min-height:120px; resize:vertical; }
.aform input:focus, .aform select:focus, .aform textarea:focus { outline:none; border-color:var(--teal-500); box-shadow:0 0 0 3px var(--teal-50); }
.aform .chk { grid-template-columns:22px 1fr; align-items:start; font-weight:500; color:var(--ink-700); } .aform .chk input { width:22px; height:22px; min-height:0; padding:0; margin-top:2px; accent-color:var(--green-500); }
.aform .acts { display:flex; align-items:center; gap:14px; flex-wrap:wrap; } .aform .fine { font-size:13px; color:var(--ink-400); }

.embed { position:relative; aspect-ratio:16/9; border-radius:30px; overflow:hidden; background:#000; box-shadow:0 40px 78px -34px rgba(13,47,44,.4); }
.embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.facade[hidden], .pf-film[hidden] { display:none; }
.pf-film + .embed { margin-top:22px; border-radius:22px; }
.ytlink { font-weight:700; color:var(--teal-700); } .ytlink:hover { color:var(--red-500); }
@media (max-width:1024px) { .article { grid-template-columns:1fr; } .a-side { position:static; }}
@media (max-width:900px) { .quotes { grid-template-columns:1fr; } .aj-steps { grid-template-columns:repeat(3,1fr); row-gap:18px; } .aj-steps::before, .aj-steps::after { display:none; } .aj-cols, .aform .row { grid-template-columns:1fr; } .aj-nav { flex-direction:column; }}

.foot-legal { display:grid; gap:3px; font-size:12.5px; line-height:1.5; max-width:70ch; color:rgba(255,255,255,.8); }
.foot-legal b { color:#fff; font-weight:800; } .foot-legal a { color:#fff; font-weight:700; }
.sup-partner { text-align:center; margin-top:48px !important; }
.sup-partner p { max-width:34rem; margin-inline:auto; }
.sup-partner .btn { margin-top:16px; }
.disc { max-width:820px; margin:30px auto 0; background:#fff; border:1px solid var(--line); border-radius:24px; padding:24px 28px; }
.disc h3 { font-size:18px; } .disc p { margin-top:10px; font-size:15px; color:var(--ink-600); } .disc b { color:var(--teal-900); }
.supp-note { text-align:center; font-size:13.5px; color:var(--ink-400); margin:16px 0 0; }

.call { max-width:var(--wrap); margin:0 auto 64px; border-radius:36px; }
.call > .wrap { padding-inline:clamp(24px,4vw,48px); }
.band + .call, .call:first-child { margin-top:0; }
@media (max-width:760px) { .call { margin:0 12px 36px; border-radius:26px; }}

.nl { background:var(--red-500); color:#fff; position:relative; overflow:hidden; isolation:isolate; padding-block:46px; }
.nl > .wrap { position:relative; z-index:1; }
.nl .fp i { opacity:calc(var(--o,.1) * 1.5); }
.nl-in { display:grid; grid-template-columns:1fr auto; gap:24px 44px; align-items:center; }
.nl-text h2 { color:#fff; font-family:var(--body); font-weight:900; font-size:clamp(24px,2.6vw,32px); text-transform:none; letter-spacing:-.01em; line-height:1.15; display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; }
.nl-lbl { position:relative; isolation:isolate; display:inline-block; padding:3px 14px 5px; color:var(--red-500); }
.nl-lbl::before { content:""; position:absolute; inset:0; z-index:-1; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%2040%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M9%200H91Q94%200%2094.6%203L99.4%2035Q100%2040%2095%2040H5Q0%2040%200.6%2035L5.4%203Q6%200%209%200Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat; }
.nl-text p { margin:10px 0 0; color:rgba(255,255,255,.94); font-size:15.5px; max-width:52ch; }
.nl-form { display:flex; gap:12px; width:min(560px, 100%); }
.nl-form input { flex:1; min-width:0; min-height:58px; border-radius:16px; border:0; padding:0 20px; font-family:var(--body); font-size:16px; color:var(--teal-900); background:#fff; }
.nl-form input::placeholder { color:var(--ink-400); }
.nl-form input:focus { outline:3px solid rgba(255,255,255,.55); outline-offset:2px; }
.nl-btn { min-height:58px; padding:0 26px; border:0; border-radius:16px; background:#fff; color:var(--red-500); font-family:var(--display); font-size:18px; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; display:inline-flex; align-items:center; gap:10px; transition:background-color .2s, color .2s, transform .2s; }
.nl-btn .pawi { width:20px; height:20px; background:var(--red-500); -webkit-mask:var(--paw) center/contain no-repeat; mask:var(--paw) center/contain no-repeat; transition:background-color .2s; }
.nl-btn:hover { background:var(--teal-900); color:#fff; transform:translateY(-2px); } .nl-btn:hover .pawi { background:#fff; }
.foot { background:#fff; color:var(--ink-600); padding:56px 0 0; border-top:0; }
.foot .fp { display:none; }
.foot-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1.25fr; gap:36px 40px; align-items:start; }
.foot .brand .wm { fill:var(--teal-900); }
.foot .ab { margin:18px 0 0; font-size:15px; line-height:1.6; color:var(--ink-600); max-width:30rem; }
.foot .socials { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 0; padding:0; list-style:none; }
.foot .socials a { width:38px; height:38px; border-radius:50%; background:var(--red-50); color:var(--red-500); display:grid; place-items:center; transition:background-color .2s, color .2s, transform .2s; }
.foot .socials a svg { width:15px; height:15px; fill:currentColor; } .foot .socials a .tx { font-size:11px; font-weight:800; }
.foot .socials a:hover { background:var(--red-500); color:#fff; transform:translateY(-2px); }
.foot h4 { font-family:var(--body); font-weight:800; font-size:20px; color:var(--teal-900); text-transform:none; letter-spacing:0; margin:0 0 14px; min-height:0; display:block; }
.foot ul { list-style:none; padding:0; margin:0; display:grid; gap:2px; }
.foot li a { display:inline-flex; align-items:center; min-height:34px; font-size:15px; color:var(--ink-600); transition:color .2s; }
.foot li a:hover { color:var(--red-500); text-decoration:none; }
.foot-videos { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.foot-videos a { display:block; border-radius:14px; overflow:hidden; aspect-ratio:16/10; background:var(--ground-deep); }
.foot-videos img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease); }
.foot-videos a:hover img { transform:scale(1.06); }
.foot-bar { margin-top:52px; background:var(--ground-deep); padding:16px 0; font-size:13.5px; color:var(--ink-400); }
.foot-bar .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; }
.foot-bar a { color:var(--ink-600); } .foot-bar a:hover { color:var(--teal-900); }
@media (max-width:1024px) { .foot-grid { grid-template-columns:1fr 1fr; } .nl-in { grid-template-columns:1fr; } .nl-form { width:100%; }}
@media (max-width:640px) { .foot-grid { grid-template-columns:1fr; } .nl { padding-block:30px; } .nl-text h2 { font-size:22px; } .nl-text p { margin-top:6px; font-size:14.5px; } .nl-form input { min-height:50px; padding:0 14px; } .nl-btn { min-height:50px; padding:0 16px; font-size:16px; gap:6px; flex-shrink:0; } .nl-btn .pawi { display:none; } .nl-in { grid-template-columns:minmax(0,1fr); } .nl-form { width:100%; min-width:0; } .foot-bar .wrap { flex-direction:column; }}

.call { background:var(--red-500); max-width:none; margin:0; border-radius:0; }
.call > .wrap { padding-inline:24px; }
.call .btn--outline-light:hover { color:var(--red-500); }
.call .fp, .nl .fp, .vgive .fp, .pp-most .fp { display:none; }
.track li.done i, .aj-steps li.done button i { background:var(--teal-900); border-color:var(--teal-900); }
.sp.on .sp-l { border-color:var(--teal-900); }
.sp-amt { color:var(--teal-900); }
.ready input, .aform .chk input { accent-color:var(--red-500); }
.ready-bar b { background:var(--red-500); }
@keyframes pledge-fill { to { background:var(--red-500); border-color:var(--red-500); } }
.foot .socials a { width:38px; height:38px; min-height:0; padding:0; flex:0 0 38px; aspect-ratio:1; border-radius:12px; }
#foot-articles li a { min-height:0; padding:8px 0; line-height:1.4; }

.foot-grid > * { min-width:0; }
.foot ul { grid-template-columns:minmax(0,1fr); } .foot li { min-width:0; }
#foot-articles li a { display:block; overflow-wrap:anywhere; }
@media (max-width:640px) {
  .foot-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:30px 20px; }
  .foot-grid > .foot-brand, .foot-grid > div:last-child { grid-column:1 / -1; }
  .foot .foot-brand .brand { display:none; }
  .foot .ab { margin-top:0; }}
@media (max-width:760px) { .call { margin:0; border-radius:0; }}

.call, .nl { background:var(--red-band); }
.nl-lbl { color:var(--red-band); }
.nl-btn { color:var(--red-band); } .nl-btn .pawi { background:var(--red-band); }
.call .btn--red { color:var(--red-band); }
.call .btn--red:hover { background:var(--teal-900); color:#fff; }
#foot-articles li a { display:block; min-height:34px; line-height:34px; padding:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }

.call-note { margin-top:12px; font-size:13.5px; line-height:1.55; color:rgba(255,255,255,.92); max-width:46rem; }
.call .btn { min-height:60px; padding:0 32px; font-size:20px; }
.call-in { align-items:center; }

.fs-note { margin:12px 0 0; font-size:13px; line-height:1.5; color:var(--ink-400); }

@media (max-width:1119px) {
  .nav { display:none; }
  .burger { display:flex; }
  .nav.open { display:flex; position:absolute; inset-inline:0; top:100%; flex-direction:column; gap:0; background:var(--white); border-bottom:1px solid var(--line); padding:8px 24px 16px; box-shadow:0 20px 40px -20px rgba(13,47,44,.28); }
  .nav.open a { min-height:50px; }
  .nav.open { max-height:calc(100dvh - 83px); overflow-y:auto; overscroll-behavior:contain; }
  .nav.open a::before { inset:4px -10px; }}

.skip { position:absolute; left:-9999px; top:12px; z-index:100; background:var(--teal-900); color:#fff; border:0; border-radius:12px; padding:12px 18px; font-family:var(--body); font-weight:800; font-size:15px; }
.skip:focus { left:16px; }
[tabindex="-1"]:focus { outline:none; }
.nav .nav-donate { display:none; }
@media (max-width:760px) { .nav .nav-donate { display:list-item; } .nav .nav-donate a { color:var(--red-500); font-weight:800; } .nav .nav-donate a:hover, .nav .nav-donate a:active, .nav .nav-donate a.on { color:#fff; }}
.entry-card .go:focus-visible { outline:3px solid var(--red-500); outline-offset:-5px; border-radius:26px; }
.call :focus-visible, .nl :focus-visible { outline-color:#fff; }
.hero .lede { text-wrap:pretty; }
@media (max-width:1024px) { .hero-art { max-width:460px; width:100%; margin-inline:auto; }}
.pp-results { max-width:620px; margin:14px auto 0; background:#fff; border:1px solid var(--line); border-radius:20px; padding:14px 18px; text-align:left; }
.pp-results ul { list-style:none; margin:6px 0 0; padding:0; }
.pp-results li a { display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-top:1px solid var(--line); color:var(--teal-900); font-weight:700; }
.pp-results li a small { color:var(--ink-600); font-weight:600; white-space:nowrap; }
.pp-results .pp-rcount { margin:0; font-size:14px; color:var(--ink-600); }
.pp-hero .pp-results { max-width:none; margin:14px 0 0; }
.pp-results .pp-rcount a { color:var(--teal-700); font-weight:800; text-decoration:underline; }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation-duration:.01ms !important; animation-delay:0s !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } .sp-l, .sp-r { translate:none !important; }}

.call { padding-block:44px; }
.call-in { grid-template-columns:1fr; justify-items:center; text-align:center; max-width:760px; margin-inline:auto; gap:16px; }
.call p { margin-inline:auto; max-width:36rem; }
.call .btn { min-height:54px; font-size:19px; padding:0 30px; }
.call-acts { justify-content:center; }
.call .call-note { color:#fff; font-size:14.5px; font-weight:600; line-height:1.5; }

.page > .call:last-child { max-width:calc(var(--wrap) - 48px); margin:0 auto 80px; border-radius:36px; }
@media (max-width:760px) { .page > .call:last-child { margin:0 16px 44px; border-radius:26px; }}

.gbadge { display:inline-flex; align-items:center; gap:7px; align-self:flex-start; margin-top:6px; padding:5px 10px 5px 8px; border-radius:999px; background:#fff; border:1px solid var(--line); font-family:var(--body); font-size:12.5px; font-weight:700; letter-spacing:0; text-transform:none; color:#3c4043; line-height:1.2; white-space:nowrap; }
.gbadge .g { width:15px; height:15px; flex-shrink:0; }
.gbadge .ck { width:15px; height:15px; flex-shrink:0; }
.rp .top > div { display:flex; flex-direction:column; align-items:flex-start; }
.rq .gbadge { margin-top:0; }
.fs-text .gbadge { margin-top:-4px; }
.gtr { font-size:12.5px; color:var(--ink-600); margin-top:-4px; }

.crew { list-style:none; margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }
.mate { width:212px; min-height:186px; background:#fff; border:1px solid var(--line); border-radius:22px; padding:22px 16px 20px; display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.mate .av { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; margin-bottom:4px; font-family:var(--display); font-weight:400; font-size:28px; line-height:1; background:var(--teal-50); color:var(--teal-900); }
.mate:nth-child(3n+2) .av { background:var(--red-50); color:var(--red-700); }
.mate:nth-child(3n) .av { background:#f2deca; color:var(--teal-900); }
.mate .nm { font-family:var(--body); font-weight:800; font-size:17px; color:var(--teal-900); line-height:1.2; }
.mate .rl { font-family:var(--sub); font-weight:400; text-transform:uppercase; letter-spacing:.12em; font-size:12.5px; color:var(--ink-600); }
@media (max-width:760px) { .crew { gap:12px; } .mate { width:calc(50% - 6px); padding:18px 10px 16px; }}

.rp .top > div { gap:2px; }
.gline { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:6px; }
.gline .gbadge, .gline .gtr { margin-top:0; }
.rq { display:block; columns:3 280px; column-gap:22px; }
.rq article { break-inside:avoid; margin-bottom:22px; }
.rated { margin-top:12px; text-align:center; }
.rated-lbl { font-size:13.5px; font-weight:700; color:var(--ink-600); }
.rated ul { list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.rated li { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:6px 14px; font-size:13.5px; font-weight:700; color:var(--teal-900); }
.rated li .stars { font-size:12px; }

.quotes--one { grid-template-columns:1fr; max-width:940px; margin-inline:auto; margin-top:26px; }
.quotes--one .q { background:none; border:0; border-radius:0; padding:0; text-align:center; }
.quotes--one .q p { margin-top:10px; font-size:clamp(26px,2.7vw,38px); line-height:1.3; }
.quotes--one .q footer { margin-top:16px; }

.crew { gap:26px 18px; margin-top:26px; max-width:1040px; margin-inline:auto; }
.mate { width:180px; min-height:0; background:none; border:0; border-radius:0; padding:0; gap:4px; }
.mate .nm { font-family:"Zing Script Rust", var(--body); font-weight:400; font-size:30px; line-height:1.1; color:var(--red-500); }
.mate .rl { font-size:12px; }
@media (max-width:760px) { .mate { width:calc(50% - 9px); padding:0; } .mate .nm { font-size:27px; }}

.supstrip { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px 30px; background:#fff; border:1px solid var(--line); border-radius:26px; padding:22px 28px; }
.ss-lbl { font-family:var(--sub); font-weight:400; text-transform:uppercase; letter-spacing:.14em; font-size:13px; color:var(--teal-700); max-width:14rem; line-height:1.4; }
.ss-list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 34px; }
.ss-list li { display:flex; flex-direction:column; }
.ss-list b { font-family:"Zing Script Rust", var(--body); font-weight:400; font-size:26px; line-height:1.1; color:var(--red-500); }
.ss-list small { font-size:12.5px; color:var(--ink-600); }
.ss-btn { white-space:nowrap; }
@media (max-width:900px) { .supstrip { grid-template-columns:1fr; text-align:center; justify-items:center; } .ss-lbl { max-width:none; } .ss-list { justify-content:center; } .ss-list li { align-items:center; }}
.sup-cos { list-style:none; margin:26px auto 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:16px; max-width:1040px; }

.sup-cos .sup-co { width:auto; min-width:200px; padding:16px 22px; font-family:var(--body); font-weight:800; font-size:16px; color:var(--teal-900); }
.sup-co { width:236px; background:#fff; border:1px solid var(--line); border-radius:22px; padding:22px 18px 20px; display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
.sup-logo { display:grid; place-items:center; width:120px; height:64px; margin-bottom:6px; border:1.5px dashed var(--line); border-radius:14px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-600); }
.sup-co b { font-family:var(--body); font-weight:800; font-size:17px; color:var(--teal-900); }
.sup-co small { font-family:var(--sub); text-transform:uppercase; letter-spacing:.12em; font-size:12px; color:var(--ink-600); }
.sup-fine { margin:34px auto 0; max-width:40rem; text-align:center; font-size:14px; color:var(--ink-600); }
.sup-fine a { color:var(--teal-700); font-weight:800; text-decoration:underline; }
@media (max-width:760px) { .sup-co { width:calc(50% - 8px); }}

.collage .person--g { background:#fff; }
.collage .person--g .g { width:30px; height:30px; }

.form-ok { margin:6px 0 0; padding:14px 18px; border-radius:14px; background:var(--teal-50); color:var(--teal-900); font-weight:700; }
.form-ok:focus { outline:none; }
.aform.tried :invalid, .form.tried :invalid { border-color:var(--red-500); }
.aform.tried .chk input:invalid { outline:2px solid var(--red-500); outline-offset:2px; }

.band:has(.road) { overflow:clip; }

body[data-route="/services"] .nl { display:none; }

@media (min-width:1120px) { .nav .nav-contact { display:none; }}

.ss-list .ss-brand { gap:4px; }
.ss-list .logo { display:inline-flex; align-items:center; gap:9px; font-family:var(--body); font-weight:800; font-size:21px; letter-spacing:-.01em; line-height:1.1; }
.ss-list .logo svg { width:26px; height:26px; fill:currentColor; flex-shrink:0; }
.ss-list .logo--paypal { color:#003087; } .ss-list .logo--patreon { color:#141414; } .ss-list .logo--youtube { color:#141414; } .ss-list .logo--youtube svg { fill:#ff0000; }

.sup-group { margin:34px auto 0; max-width:1040px; background:#fff; border:1px solid var(--line); border-radius:28px; padding:28px 30px 24px; }
.sup-group + .sup-group { margin-top:22px; }
.sup-head { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.sup-head h3 { font-size:24px; margin:0; }
.sup-head .sup-count { margin-left:auto; font-family:var(--sub); text-transform:uppercase; letter-spacing:.12em; font-size:12.5px; color:var(--ink-600); }
.sup-head .logo { display:inline-flex; align-items:center; gap:9px; font-family:var(--body); font-weight:800; font-size:20px; letter-spacing:-.01em; }
.sup-head .logo svg { width:26px; height:26px; fill:currentColor; }
.sup-head .logo--patreon { color:#141414; } .sup-head .logo--youtube { color:#141414; } .sup-head .logo--youtube svg { fill:#ff0000; } .sup-head .logo--paypal { color:#003087; }
.names { list-style:none; margin:18px 0 0; padding:0; columns:5 160px; column-gap:26px; max-height:430px; overflow:hidden; -webkit-mask-image:linear-gradient(#000 72%, transparent); mask-image:linear-gradient(#000 72%, transparent); }
.names.open { max-height:none; -webkit-mask-image:none; mask-image:none; }
.names li { break-inside:avoid; font-family:"Zing Script Rust", var(--body); font-size:22px; line-height:1.45; color:var(--teal-900); }
.names-more { margin-top:14px; }
.ba-more { text-align:center; max-width:62ch; margin:34px auto 0; font-size:17px; line-height:1.6; color:var(--ink-600); }
.ba-more b { color:var(--teal-900); font-weight:800; }

.names.paged { max-height:none; -webkit-mask-image:none; mask-image:none; }
.sup-brands { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:18px 54px; margin:30px auto 0; }
.sup-brands .logo { display:inline-flex; align-items:center; gap:11px; font-family:var(--body); font-weight:800; font-size:28px; letter-spacing:-.01em; }
.sup-brands .logo svg { width:34px; height:34px; fill:currentColor; }
.sup-brands .logo--paypal { color:#003087; } .sup-brands .logo--patreon { color:#141414; } .sup-brands .logo--youtube { color:#141414; } .sup-brands .logo--youtube svg { fill:#ff0000; }
.sup-group .sub-team { margin-top:0; }
@media (max-width:760px) { .sup-brands { gap:14px 28px; } .sup-brands .logo { font-size:22px; } .sup-brands .logo svg { width:28px; height:28px; }}
@media (max-width:760px) { .sup-group { padding:22px 18px 18px; } .names { columns:2 140px; column-gap:16px; } .names li { font-size:20px; } .sup-head .sup-count { margin-left:0; width:100%; }}

.ph-slot { display:grid; place-items:center; overflow:hidden; background:var(--teal-50); border:2px dashed var(--teal-500); color:var(--teal-700); font-family:var(--body); font-weight:900; }
.ph-slot img { width:100%; height:100%; object-fit:cover; }
.ph-slot.filled { border:0; background:var(--ground-deep); }
.lead-card { display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center; max-width:860px; margin:44px auto 0; padding:26px 32px; background:#fff; border:1px solid var(--line); border-radius:30px; text-decoration:none; transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.lead-card:hover { transform:translateY(-4px); box-shadow:0 26px 50px -34px rgba(15,58,64,.45); }
.lead-card .ph-slot { width:132px; height:132px; border-radius:50%; font-size:34px; }
.lead-tx { display:block; }
.lead-nm { display:block; margin-top:6px; font-family:var(--display); font-weight:400; text-transform:uppercase; letter-spacing:.01em; font-size:30px; line-height:1.05; color:var(--teal-900); }
.lead-bio { display:block; margin-top:10px; max-width:56ch; color:var(--ink-600); font-size:16px; line-height:1.6; }
.lead-card .more { display:inline-block; margin-top:12px; font-weight:800; font-size:14.5px; color:var(--red-500); }
.sub-team { margin:54px 0 0; text-align:center; font-family:var(--sub); font-weight:400; text-transform:uppercase; letter-spacing:.16em; font-size:14px; color:var(--teal-700); }
.person-art .ph-slot { width:100%; aspect-ratio:4/4.2; border-radius:36px 180px 36px 180px; font-size:64px; }
.person-q { max-width:860px; }
.draft-note { margin-top:14px; text-align:center; font-size:13px; color:var(--ink-400); }
.person-cta { display:flex; flex-wrap:wrap; justify-content:center; gap:13px; margin-top:28px; }
@media (max-width:640px){ .lead-card { grid-template-columns:1fr; justify-items:center; text-align:center; padding:26px 22px; } .lead-card .ph-slot { width:112px; height:112px; }}

.hero > .paw-mark, .phero .paw-mark, .fp { display:none !important; }

.page { display:block; }
.page.live { display:block; }

.rv { opacity:0; translate:0 22px; transition:opacity .7s var(--ease), translate .7s var(--ease); transition-delay:var(--d,0ms); }
.rv.in { opacity:1; translate:0 0; }
@media (prefers-reduced-motion:reduce){ .rv {opacity:1;translate:none;transition:none} .btn:hover, .card:hover, .pet:hover, .post:hover, .member:hover, .entry-card:hover, .tier:hover, .pp-cat:hover {transform:none}}

@media (max-width:1024px) {
  .hero-in, .split, .split--flip, .cgrid, .animal { grid-template-columns:1fr; gap:44px; }
  .g3, .g4 { grid-template-columns:repeat(2,1fr); }
  .call-in { grid-template-columns:1fr; gap:22px; }
  .foot-in { grid-template-columns:1fr 1fr; }
  .split .art, .animal .main { max-width:460px; }}
@media (max-width:760px) {
  .band { padding-block:58px; }
  .phero { padding-block:52px; }
  .hero { padding-block:36px 108px; }
  .nav { display:none; }
  .burger { display:flex; }
  .hdr .btn { display:none; }
  .nav.open { display:flex; position:absolute; inset-inline:0; top:100%; flex-direction:column; gap:0; background:var(--white); border-bottom:1px solid var(--line); padding:8px 24px 16px; box-shadow:0 20px 40px -20px rgba(13,47,44,.28); }
  .nav.open a { min-height:50px; }
  .nav.open { max-height:calc(100dvh - 83px); overflow-y:auto; overscroll-behavior:contain; }
  .nav.open a::before { inset:4px -10px; }
  .g2, .g3, .g4, .steps, .checks, .foot-in, .form .row, .facts { grid-template-columns:1fr; }
  .stats { grid-template-columns:1fr 1fr; gap:24px 14px; }
  .lift { margin-top:-70px; }
  .btn { width:100%; }
  .hero-cta, .call-acts, .empty .acts { flex-direction:column; }
  .hero-art .shot { border-radius:150px 150px 28px 28px; }
  .split .art img { border-radius:28px 100px 28px 100px; }
  .hero-badge { inset-inline-start:12px; inset-block-end:12px; }
  .split .tag { inset-inline-end:12px; inset-block-start:12px; }
  .sub { flex-direction:column; }
  .foot-base { justify-content:center; text-align:center; }

  .card .more, .post .more, .crumb a, .cinfo a { min-height:44px; display:inline-flex; align-items:center; }

  .revs-note a { min-height:44px; display:inline-flex; align-items:center; }
  .trim-mobile > *:nth-child(n+4) { display:none; }}

.form-err { margin:6px 0 0; padding:14px 18px; border-radius:14px; background:#fdecea; color:#8a1c1c; font-weight:700; }
form[aria-busy="true"] [type="submit"] { opacity:.65; cursor:progress; }
.nl-msg { grid-column:-2 / -1; margin:0; padding:12px 18px; border-radius:14px; background:#fff; color:var(--teal-900); font-weight:700; }
.nl-msg:focus { outline:none; }
.nl-msg--err { background:#fdecea; color:#8a1c1c; }
.hp { position:absolute !important; left:-10000px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; }
