/* v8.css - Innovation 121 / The Incredibullz landing. Loads after section.css + site.css.
   One rule set per component, page order: tokens, header, hero, collab, family, program,
   mission/Max, nutcase, chains, contact, footer, scroll cue. Media queries sit with their component.
   Motion always runs; prefers-reduced-motion only shortens durations. */

/* ================= tokens + page ================= */
:root{
  --v7c-charcoal:#211e1c;
  --v7c-surface:#2b2725;
  --v7c-cream:#eae2d7;
  --v7c-cream-hi:#f4eee6;
  --v7c-copper-oncream:#805434;
  --v7c-copper-ondark:#dcae90;
  --v7c-dur:420ms;
  --v7c-dur-fast:180ms;
}
@media (prefers-reduced-motion:reduce){
  :root{--v7c-dur:140ms;--v7c-dur-fast:80ms;}
}
html{scroll-behavior:smooth}
html,body{overflow-x:clip;overscroll-behavior-y:none;background:#211e1c}
body{position:relative}
.v9-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px}

/* ================= header: floats over the hero film ================= */
header.ix-nav{position:absolute;top:0;left:0;right:0;margin-inline:auto;z-index:20;background:transparent}
header.ix-nav::before{content:"";position:absolute;top:0;bottom:-28px;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;
  background:linear-gradient(180deg,rgba(24,21,20,.82) 0,rgba(24,21,20,.55) 60%,rgba(24,21,20,0) 100%);pointer-events:none}
.ix-brand span{align-self:center}

/* ================= hero: whole 16:9 film, one screen, soft edges ================= */
.ix-hero.v9-hero{--v9-row:96px;min-height:0;height:auto;max-height:none;padding:0;background:#211e1c;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;position:relative;overflow:hidden}
.v9-hero .v9-hero-stage{position:relative;z-index:1;width:min(100vw,calc(100svh * 16 / 9));max-width:none;
  height:auto;max-height:none;aspect-ratio:16/9;margin:0 auto;background:#211e1c;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-composite:intersect}
.v9-hero .v9-hero-film{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%;border-radius:0;background:transparent}
.v9-hero .v9-hero-row{height:auto;min-height:var(--v9-row);display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:nowrap;padding:12px 16px}
.v9-hero .v9-hero-mark{width:40px;height:auto;flex:0 0 auto}
.v9-hero .v9-hero-cta{border-radius:10px;margin:0}
.v9-hero [hidden]{display:none}
@media (max-width:767px){
  .ix-hero.v9-hero{--v9-row:88px}
  .v9-hero .v9-hero-stage{width:100vw}
}
/* 700px up: header CTA carries it, no mark + CTA row over the film */
@media (min-width:700px){.v9-hero .v9-hero-row{display:none}}
/* 768px up: breathing room under the floating header; film shrinks to still fit */
@media (min-width:768px){
  .ix-hero.v9-hero{padding-top:44px}
  .v9-hero .v9-hero-stage{width:min(100vw,calc((100svh - 44px) * 16 / 9))}
}

/* ================= collab: charcoal band + Harry photo ================= */
#collab.v8-collab{position:relative;background:#211e1c;color:#f4eee6;overflow:hidden;min-height:clamp(420px,52vw,760px);
  display:flex;align-items:center;padding-bottom:0}
#collab.v8-collab .ix-collab-stair{position:relative;z-index:2}
#collab.v8-collab .ix-collab-headwrap,#collab.v8-collab .ix-kicker{max-width:46%}
#collab.v8-collab .ix-collab-head,#collab.v8-collab .ix-collab-line1{color:#f4eee6}
#collab.v8-collab .ix-collab-head{font-size:clamp(36px,4vw,68px);line-height:.98;overflow-wrap:break-word}
#collab.v8-collab .ix-kicker{color:#dcae90}
/* blue give-back line: display size, sweeps in left to right on view (JS adds .is-in) */
#collab .v12-collab-blue{margin:14px 0 18px;color:#7d9bea;font:italic 600 clamp(30px,3.3vw,56px)/1.02 var(--ix-font-display,'NC Oswald',Arial,sans-serif);
  letter-spacing:-.01em;text-transform:uppercase;clip-path:inset(0 100% 0 0);transition:clip-path calc(var(--v7c-dur) * 2.6) cubic-bezier(.6,.05,.25,1)}
#collab .v12-collab-blue.is-in{clip-path:inset(0 0 0 0)}
#collab.v8-collab .ix-collab-foot{display:block;width:100%;max-width:none}
#collab .v12-collab-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:10px}
#collab .v12-collab-link{position:relative;display:inline-flex;align-items:center;min-height:48px;padding:0 0 6px;color:#f4eee6;
  font:600 17px/1.3 Arial,sans-serif;text-decoration:none;white-space:nowrap}
#collab .v12-collab-link::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#dcae90;transform:scaleX(0);transform-origin:0 50%;
  transition:transform calc(var(--v7c-dur) * 1.8) cubic-bezier(.6,.05,.25,1)}
#collab .v12-collab-links.is-in .v12-collab-link::after{transform:scaleX(1)}
#collab .v12-collab-links.is-in .v12-collab-link:nth-child(2)::after{transition-delay:calc(var(--v7c-dur) * .6)}
#collab .v12-collab-link:hover,#collab .v12-collab-link:focus-visible{color:#dcae90}
#collab .v12-collab-link-blue{color:#7d9bea}
#collab .v12-collab-link-blue::after{background:#7d9bea}
@media (max-width:599px){
  #collab .v12-collab-links{flex-direction:column;gap:8px}
  #collab .v12-collab-link{display:flex;width:100%;font-size:16px;white-space:normal}
}
#collab.v8-collab .ix-lead{color:#e6ddd2}
#collab .v8-collab-photo{position:absolute;top:0;right:0;bottom:0;width:62%;margin:0;overflow:hidden;z-index:1;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%),linear-gradient(180deg,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 14%),linear-gradient(180deg,#000 88%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
#collab .v8-collab-photo img{width:100%;height:100%;object-fit:cover;object-position:78% 40%;border-radius:0;display:block;
  transform:scale(calc(1 + .06 * var(--v8-cp,0)));transform-origin:75% 45%;will-change:transform}
@media (max-width:760px){
  #collab.v8-collab{display:block;min-height:0;padding-top:0}
  #collab.v8-collab .ix-collab-stair{padding-top:8px}
  #collab.v8-collab .ix-collab-headwrap,#collab.v8-collab .ix-kicker{max-width:none}
  #collab .v8-collab-photo{position:relative;width:100%;height:auto;aspect-ratio:1672/941}
}
@media (max-width:767px){#collab.v8-collab{padding-bottom:32px}}
/* 768px up: photo box matches the image ratio, whole Harry + can */
@media (min-width:768px){
  #collab .v8-collab-photo{top:50%;bottom:auto;height:auto;aspect-ratio:1672/941;transform:translateY(-50%)}
  #collab .v8-collab-photo img{object-fit:contain;object-position:50% 50%;height:auto}
}
/* upright tablets: stack, photo under the text */
@media (min-width:700px) and (max-width:1100px) and (orientation:portrait){
  #collab.v8-collab{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-bottom:0}
  #collab.v8-collab .ix-collab-stair{order:1;width:100%;padding-bottom:40px}
  #collab.v8-collab .ix-collab-headwrap,#collab.v8-collab .ix-kicker{max-width:none}
  #collab .v8-collab-photo{order:2;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1672/941;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 94%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 94%,transparent 100%)}
}
@media (min-width:700px) and (max-width:1024px) and (orientation:portrait){
  #collab .v8-collab-photo{position:relative;top:auto;bottom:auto;transform:none;height:auto;margin-top:24px;
    -webkit-mask-composite:source-over;mask-composite:add}
}
/* wide + landscape: photo fills the band height, Harry anchored bottom, soft top/left edges */
@media (min-width:1101px),(min-width:768px) and (orientation:landscape){
  #collab.v8-collab{padding-top:88px}
  #collab .v8-collab-photo{top:0;bottom:0;transform:none;width:76%;height:auto;aspect-ratio:auto;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%),linear-gradient(180deg,transparent 0,#000 22%,#000 calc(100% - 36px),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 14%),linear-gradient(180deg,transparent 0,#000 22%,#000 calc(100% - 36px),transparent 100%)}
  #collab .v8-collab-photo img{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;object-fit:contain;object-position:60% 100%;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24%);mask-image:linear-gradient(180deg,transparent 0,#000 24%)}
}

/* ================= family: pinned headline, word arrival ================= */
#family{position:relative}
#family.ix-family{background:linear-gradient(180deg,#eae2d7 0,#eae2d7 calc(100% - 120px),#211e1c 100%);padding-bottom:140px}
html body #family.ix-family[data-sc-act]{height:230vh!important}
html body #family.ix-family[data-sc-act] .sc-stage{position:sticky!important;top:0!important}
#family .sc-stage{background:transparent}
#family .sc-stage,#family .ix-family-stage,#family .ix-family-photo,#family .ix-family-headwrap{box-shadow:none}
/* seams: one full-width charcoal fade in at the top, out at the bottom */
#family::before{content:"";display:block;position:absolute;top:0;left:0;right:0;width:100%;height:56px;z-index:5;pointer-events:none;box-shadow:none;
  background:linear-gradient(180deg,#211e1c 0,rgba(33,30,28,.95) 10%,rgba(33,30,28,.8) 25%,rgba(33,30,28,.5) 50%,rgba(33,30,28,.2) 75%,rgba(33,30,28,.05) 90%,rgba(33,30,28,0) 100%)}
#family::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(33,30,28,0),#211e1c)}
#family img,#program img{-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,#000 80%,transparent 100%)}
#family .v8-fam-head{margin:0;font:600 clamp(44px,6.4vw,104px)/.95 'NC Oswald',Arial,sans-serif;letter-spacing:-.02em;text-transform:uppercase;color:#211e1c}
#family .v8-fam-row{display:block}
#family .v8-fam-copper{color:#805434}
/* JS writes opacity/transform inline, scroll-linked */
#family .v8-w{display:inline-block;opacity:0;transform:translateY(.2em);transition:none;will-change:transform,opacity}
@media (max-width:760px){
  #family .v8-fam-head{font-size:46px}
  #family .ix-family-headwrap{padding-bottom:24px;position:relative;z-index:3;background:#eae2d7}
  #family .ix-family-photo img{transform:scale(calc(.82 + .18 * var(--sc-p,1)))!important}
}
@media (min-width:761px){
  #family .ix-family-headwrap{padding-left:72px;position:relative;z-index:3}
  #family .ix-family-photo::after{display:none}
}
@media (min-width:901px){
  #family .ix-family-photo{background:linear-gradient(180deg,#211e1c 0,#211e1c 48px,transparent 48px) no-repeat}
  #family .ix-family-photo img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 48px,#000 80%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0,#000 48px,#000 80%,transparent 100%)}
}

/* ================= program: Harry dive + dog wall ================= */
#program.v7c-program{position:relative;overflow:visible;overflow-x:clip;background:var(--v7c-charcoal);padding-top:112px;padding-bottom:48px}
#program::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(33,30,28,0) 0,#211e1c 100%)}
#program .v7c-grain{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.5;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
#program .v7c-vignette{position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(120% 90% at 50% 20%,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 100%);}

/* dive: pinned stage, Harry right, copy on the dark left */
#program .v8-dive{position:relative;height:160vh;z-index:2}
#program .v8-dive-stage{position:sticky;top:0;height:100vh;overflow:visible;background:var(--v7c-charcoal)}
#program .v8-dive-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;overflow:hidden}
#program .v8-dive-photo img{position:absolute;top:0;right:0;bottom:0;left:auto;width:100%;height:100%;object-fit:cover;border-radius:0;will-change:transform,opacity}
#program .v8-dive-scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#211e1c 0 40%,rgba(33,30,28,.85) 44%,rgba(33,30,28,0) 52%)}
#program .v8-dive-copy{position:absolute;left:clamp(20px,5vw,80px);top:50%;transform:translateY(-50%);width:min(38%,540px);z-index:3}
#program .v8-dive-copy p{color:#e6ddd2}
#program .v8-dive-copy .v7c-prog-headline{font:600 clamp(40px,5.2vw,88px)/.92 var(--ix-font-display,'NC Oswald',Arial,sans-serif);
  letter-spacing:-.03em;text-transform:uppercase;color:#f4eee6;margin:16px 0 0;position:relative;z-index:4;
  text-shadow:0 2px 0 rgba(0,0,0,.35);opacity:1;transform:none;transition:opacity var(--v7c-dur) ease,transform var(--v7c-dur) ease}
#program .v8-dive-copy .v7c-prog-copy{position:relative;z-index:3;max-width:none;margin-top:20px;padding:24px clamp(20px,2.4vw,32px);
  background:rgba(43,39,37,.72);backdrop-filter:blur(2px);border-left:4px solid var(--v7c-copper-ondark);
  opacity:1;transform:none;transition:opacity var(--v7c-dur) ease,transform var(--v7c-dur) ease}
#program .v7c-prog-copy .ix-lead{color:var(--v7c-cream-hi);margin:0 0 14px}
#program .v7c-prog-link{color:var(--v7c-copper-ondark);display:inline-block;margin-top:12px}
/* Incredibullz lockup: logo + brushed silver wordmark + rule */
#program .v8-ib{margin:0 0 8px;display:inline-block;max-width:100%}
#program .v8-ib-row{display:flex;align-items:center;gap:clamp(12px,1.4vw,20px)}
#program .v8-ib-logo{width:clamp(72px,9vw,136px);height:auto;flex:0 0 auto;border-radius:0;opacity:var(--v8-ib,0)}
#program .v8-dive-copy p.v8-ib-word{margin:0;white-space:nowrap;text-transform:uppercase;color:#dcae90;
  font:600 clamp(26px,2.9vw,44px)/1 var(--ix-font-display,'NC Oswald',Arial,sans-serif);letter-spacing:.04em}
#program .v8-dive-copy p.v8-ib-word .v8-l{background:linear-gradient(180deg,#f7f7f7 0%,#c9ccd0 38%,#8f949a 52%,#e4e6e8 70%,#b3b7bc 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
#program .v8-ib .v8-l{display:inline-block;opacity:0;transition:none;will-change:transform,opacity}
#program .v8-ib-rule{display:block;height:1px;background:#dcae90;margin-top:12px;width:100%}
/* desktop: Harry's ears always in frame, with headroom */
@media (min-width:861px){
  #program .v8-dive-photo img{width:min(60%,100vh);object-fit:cover;object-position:45% 0%;
    transform-origin:45% 100%;transform:scale(calc(.92 + .03 * var(--v8-p,0)))}
}
/* phone/tablet: photo stacked above the copy, no pin */
@media (max-width:860px){
  #program .v8-dive{height:auto}
  #program .v8-dive-stage{position:relative;height:auto}
  #program .v8-dive-photo{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;height:auto;aspect-ratio:1/1.08;max-height:78vh;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 28px);mask-image:linear-gradient(180deg,transparent 0,#000 28px)}
  #program .v8-dive-photo img{left:0;object-fit:contain;object-position:50% 100%;
    transform-origin:50% 100%;transform:scale(calc(.97 + .03 * var(--v8-hp,0)))}
  #program .v8-dive-scrim{display:none}
  #program .v8-dive-copy{position:relative;top:auto;bottom:auto;left:auto;right:auto;transform:none;width:auto;padding:28px 16px 8px;background:#211e1c}
  #program .v8-dive-copy p{font-size:15px;line-height:1.45;margin-bottom:10px}
  #program .v8-dive-copy .v7c-prog-headline{font-size:40px}
  #program .v8-ib-logo{width:72px}
  #program .v8-dive-copy p.v8-ib-word{font-size:clamp(24px,7.4vw,34px)}
}

/* dog wall: three staggered columns, square-cornered cards */
#program .v7c-prog-wall{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2.2vw,28px);align-items:start;padding:0 clamp(20px,4vw,64px);margin-top:clamp(28px,4vw,56px)}
#program .v7c-dogcard{position:relative;isolation:isolate;background:var(--v7c-surface);cursor:pointer;border-radius:0;overflow:hidden;outline:none;
  opacity:0;transform:translateY(28px);transition:opacity var(--v7c-dur) ease,transform var(--v7c-dur) ease,box-shadow var(--v7c-dur) ease}
#program .v7c-dogcard.is-seen{opacity:1}
#program .v7c-dogcard-harry.is-seen{transform:translateY(0)}
#program .v7c-dogcard-mid.is-seen{transform:translateY(clamp(28px,4vw,64px))}
#program .v7c-dogcard-thing.is-seen{transform:translateY(clamp(10px,1.6vw,24px))}
#program .v7c-dogcard-photo{aspect-ratio:4/5;overflow:hidden;border-radius:0}
#program .v7c-dogcard-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;border-radius:0;
  transition:transform var(--v7c-dur) cubic-bezier(.2,.7,.2,1);}
#program .v7c-dogcard:hover .v7c-dogcard-photo img,
#program .v7c-dogcard.is-open .v7c-dogcard-photo img{transform:scale(1.06)}
#program .v7c-dogcard-face{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;z-index:2;background:#211e1c;
  transition:opacity var(--v7c-dur) ease;}
#program .v7c-dogcard-name{display:block;font:600 18px/1.15 var(--ix-font-display,'NC Oswald',Arial,sans-serif);
  text-transform:uppercase;color:var(--v7c-cream-hi)}
#program .v7c-dogcard-role{display:block;color:#dcae90;font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin-top:2px}
#program .v7c-dogcard-panel{position:absolute;inset:0;z-index:3;background:rgba(33,30,28,.94);
  padding:20px;display:flex;align-items:center;opacity:0;transform:translateY(8px);
  transition:opacity var(--v7c-dur) ease,transform var(--v7c-dur) ease;pointer-events:none}
#program .v7c-dogcard-panel dl{width:100%;margin:0;display:grid;gap:10px}
#program .v7c-dogcard-panel dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(220,174,144,.25);padding-bottom:6px}
#program .v7c-dogcard-panel dt{color:#a8988b;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
#program .v7c-dogcard-panel dd{margin:0;color:var(--v7c-cream-hi);font-weight:600;text-align:right}
#program .v7c-pending{color:var(--v7c-copper-ondark)!important;font-weight:600}
#program .v7c-pending-tag{display:inline-block;background:var(--v7c-copper-ondark);color:var(--v7c-charcoal);
  font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:2px;margin-right:6px}
@media (hover:hover){
  #program .v7c-dogcard:hover .v7c-dogcard-panel{opacity:1;transform:translateY(0);pointer-events:auto}
  #program .v7c-dogcard:hover .v7c-dogcard-face{opacity:0}
}
#program .v7c-dogcard.is-open .v7c-dogcard-panel{opacity:1;transform:translateY(0);pointer-events:auto}
#program .v7c-dogcard.is-open .v7c-dogcard-face{opacity:0}
#program .v7c-dogcard:focus-visible{box-shadow:0 0 0 3px var(--v7c-copper-ondark)}
#program .v7c-prog-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;padding:clamp(28px,4vw,40px) clamp(20px,4vw,64px) 0;color:#a8988b;
  border-top:1px solid rgba(220,174,144,.2);margin-top:clamp(28px,4vw,48px)}
#program .v7c-prog-foot p{margin:0}
#program .v7c-prog-foot .ix-bullymax{display:flex;align-items:center;gap:8px}
@media (max-width:860px){
  #program .v7c-prog-wall{grid-template-columns:1fr;gap:18px;padding:0 20px}
  #program .v7c-dogcard-mid,#program .v7c-dogcard-thing{transform:translateY(0)}
  #program .v7c-dogcard-mid.is-seen,#program .v7c-dogcard-thing.is-seen{transform:translateY(0)}
  #program .v7c-dogcard-panel{padding:16px}
}

/* ================= mission: Max + Stray to Play lockup + rescue cards ================= */
#mission.v7c-mission{position:relative;padding-top:48px;padding-bottom:0;background:linear-gradient(180deg,#211e1c 0,#eae2d7 70px)}
#mission .v7c-rescue-band{position:relative;margin-top:0;background:var(--v7c-charcoal);color:var(--v7c-cream-hi)}
@media (min-width:700px) and (max-width:1100px) and (orientation:portrait){
  #mission .ix-mission-below{grid-template-columns:1fr;gap:clamp(28px,4vw,44px)}
  #mission .ix-mission-below .ix-lead{grid-column:1;max-width:34ch}
}
@media (max-width:699px){
  #mission .ix-mission-below{grid-template-columns:1fr;gap:clamp(24px,6vw,36px)}
  #mission .ix-mission-below .ix-lead{grid-column:1;max-width:34ch}
}

/* Max: pinned, photo left, lines arrive scroll-linked (JS writes opacity/transform) */
#mission .v8-max{position:relative;height:220vh;background:#211e1c}
#mission .v8-max-stage{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;
  align-items:center;gap:clamp(24px,4vw,64px);padding:0 clamp(16px,5vw,80px);background:#211e1c}
#mission .v8-max-photo{height:calc(100vh - 32px);display:flex;justify-content:center;align-items:center}
#mission .v8-max-photo img{height:100%;width:auto;max-width:100%;object-fit:contain;border-radius:0;box-shadow:none;border:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0,#000 4%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0,#000 4%,#000 94%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect;
  transform:scale(calc(.96 + .06 * var(--v8-mp,0)));transform-origin:50% 60%;will-change:transform,opacity}
#mission .v8-max-copy{color:#f4eee6;max-width:520px}
#mission .v8-max-copy .ix-kicker{color:#dcae90;letter-spacing:.08em;margin:0 0 12px}
#mission .v8-max-head{font:600 clamp(40px,5vw,80px)/.95 var(--ix-font-display,'NC Oswald',Arial,sans-serif);color:#f4eee6;margin:0 0 18px;text-transform:none}
#mission .v8-max-copy p{font-size:clamp(17px,1.5vw,22px);line-height:1.45;margin:0 0 10px;color:#e6ddd2}
#mission .v8-max-btn{display:inline-block;margin-top:14px;padding:12px 22px;border-radius:6px;background:#dcae90;color:#211e1c;font-weight:700;text-decoration:none}
#mission .v8-max-line{opacity:0;transform:translateY(14px);transition:none;will-change:transform,opacity}
@media (min-width:861px){
  #mission .v8-max-stage{align-items:start;padding-top:16px}
  #mission .v8-max-copy{align-self:center}
  #mission .v8-max-copy p:not(.ix-kicker){font-size:clamp(20px,1.6vw,24px)}
}
@media (max-width:860px){
  #mission .v8-max{height:200vh}
  #mission .v8-max-stage{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;gap:4px;padding:12px 16px 0}
  #mission .v8-max-photo{height:52vh}
  #mission .v8-max-copy{align-self:start;margin-top:8px}
  #mission .v8-max-copy p{font-size:16px;margin-bottom:6px}
  #mission .v8-max-head{font-size:36px;margin-bottom:10px}
}

/* Stray to Play lockup: logo lands, letters sweep in on one line */
#mission .v7c-rescue-wordband{position:relative;background:var(--v7c-surface);padding:clamp(28px,4vw,48px) clamp(16px,4vw,64px) clamp(20px,3vw,32px);
  overflow:hidden;border-top:1px solid rgba(220,174,144,.18);border-bottom:1px solid rgba(220,174,144,.18)}
#mission .v8-lockup{display:flex;align-items:center;flex-wrap:nowrap;justify-content:center;gap:clamp(12px,2vw,28px)}
#mission .v8-lockup-logo{width:clamp(72px,12.5vw,180px);height:auto;flex:0 0 auto;background:none;padding:0;border-radius:0;transition:opacity .7s ease-out,transform .7s ease-out;
  opacity:var(--v8-logo,0);transform:translateX(calc(-24px * (1 - var(--v8-logo,0))))}
#mission .v8-sweep .v7c-rescue-word{margin:0;text-align:center;text-transform:uppercase;white-space:nowrap;
  font:600 clamp(34px,9vw,128px)/.86 var(--ix-font-display,'NC Oswald',Arial,sans-serif);letter-spacing:.04em;color:var(--v7c-copper-ondark);
  opacity:1;transform:none;transition:none}
#mission .v8-l{display:inline-block;transition:opacity .6s ease-out,transform .6s ease-out;will-change:transform,opacity}

/* rescue cards */
#mission .v7c-rescue-cards{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(220,174,144,.18)}
#mission .v7c-rescue-card{display:flex;flex-direction:column;gap:8px;background:var(--v7c-charcoal);
  color:var(--v7c-cream-hi);text-decoration:none;padding:clamp(24px,3vw,36px) clamp(20px,2.6vw,28px);
  transition:background var(--v7c-dur) ease,transform var(--v7c-dur-fast) ease}
#mission .v7c-rescue-card-title{font:600 22px/1.1 var(--ix-font-display,'NC Oswald',Arial,sans-serif);
  text-transform:uppercase;color:var(--v7c-copper-ondark)}
#mission .v7c-rescue-card-copy{color:#c5bbb2;font-size:15px;line-height:1.45}
#mission .v7c-rescue-card:hover,#mission .v7c-rescue-card:focus-visible{background:var(--v7c-surface);transform:translateY(-2px)}
#mission .v7c-rescue-card:focus-visible{outline:2px solid var(--v7c-copper-ondark);outline-offset:-2px}
@media (max-width:860px){#mission .v7c-rescue-cards{grid-template-columns:1fr}}

/* ================= nutcase: 9:16 film card, copy beside (wide) or under (narrow) ================= */
.ix-nutcase-wrap{height:auto;min-height:0}
#nutcase{height:auto;min-height:0}
#nutcase.nc-section{padding-top:112px;padding-bottom:48px}
#nutcase .nc-layout{min-height:0;height:auto}
#nutcase .nc-film-column{position:relative;height:auto;min-height:0;display:block;align-self:center}
#nutcase.nc-section .nc-film-stage{position:relative;top:auto;display:block;width:100%;height:auto;min-height:0;
  max-width:none;aspect-ratio:9/16;margin:0 auto;border-radius:0;background:transparent;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0,#000 3%,#000 98.5%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0,#000 3%,#000 98.5%,transparent 100%);mask-composite:intersect}
#nutcase.nc-section .nc-film-stage video{display:block;width:100%;height:100%;aspect-ratio:9/16;object-fit:contain;border-radius:0;background:transparent}
#nutcase .nc-film-caption{max-width:100%;padding:12px 0 0;min-height:0;background:transparent;margin:0 auto}
@media (min-width:861px){
  #nutcase .nc-layout{grid-template-columns:minmax(0,1fr) 58vw;justify-items:stretch;max-width:none;padding:0 32px}
  #nutcase .nc-copy>*{margin-top:0}
  #nutcase .nc-copy p{margin:0 0 10px}
  #nutcase .nc-lockup{width:180px;height:auto;margin:4px 0 8px}
  #nutcase .nc-copy h1{font-size:clamp(34px,3.2vw,52px)!important;margin:0 0 10px!important}
}
@media (max-width:860px){
  #nutcase.nc-section{padding-top:96px;padding-bottom:32px}
  #nutcase .nc-copy p{margin:0 0 8px}
  #nutcase .nc-lockup{width:150px;margin:4px 0}
}
@media (max-width:860px),(orientation:portrait){
  #nutcase .nc-layout{display:flex;flex-direction:column;align-items:center;gap:24px}
  #nutcase .nc-film-column{order:-1;width:min(78vw,calc(80vh * 9 / 16));max-width:none;margin:0 auto}
  #nutcase .nc-copy{width:100%;max-width:640px;display:block}
  #nutcase.nc-section .nc-film-stage{width:100%;height:auto;max-height:80vh}
}
@media (min-width:861px) and (orientation:landscape){
  #nutcase.nc-section{padding-top:56px;padding-bottom:40px}
  #nutcase .nc-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:56px;max-width:1280px;margin:0 auto;padding:0 40px}
  #nutcase .nc-copy{grid-column:1;grid-row:1;order:0;width:auto;max-width:560px;display:block}
  #nutcase .nc-film-column{grid-column:2;grid-row:1;order:0;width:auto;max-width:none}
  #nutcase.nc-section .nc-film-stage{height:min(80vh,calc(100vh - 150px));width:auto;max-height:none}
  #nutcase .nc-film-caption{width:calc(min(80vh,calc(100vh - 150px)) * 9 / 16)}
}
@media (min-width:861px) and (orientation:landscape) and (max-height:800px){
  #nutcase.nc-section{padding-top:40px;padding-bottom:24px}
  #nutcase.nc-section .nc-film-stage{height:calc(100vh - 150px)}
  #nutcase .nc-film-caption{width:calc((100vh - 150px) * 9 / 16)}
  #nutcase .nc-copy h1{font-size:clamp(30px,6vh,44px)!important;margin:0 0 6px!important}
  #nutcase .nc-lockup{width:150px;margin:2px 0 4px}
  #nutcase .nc-intro{font-size:20px;margin:0 0 6px}
  #nutcase .nc-copy p{margin:0 0 6px}
}

/* order block under the cans */
/* static can cards: black ground matched to the product shots, feathered into the charcoal */
#nutcase .nc-can-row{margin:4px 0 18px;gap:clamp(8px,1.4vw,16px)}
#nutcase .nc-can-product{aspect-ratio:400/475;background:#030303;border-radius:8px;
  -webkit-mask-image:radial-gradient(ellipse 58% 56% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 58% 56% at 50% 50%,#000 58%,transparent 100%)}
#nutcase .nc-can-product img{object-fit:cover;object-position:50% 50%}
#nutcase .nc-can-figure figcaption{text-align:center;padding-top:6px;font-size:13px;font-weight:600;color:#f4eee6;overflow-wrap:break-word}
@media (max-width:420px){#nutcase .nc-can-figure figcaption{font-size:11.5px}}
#nutcase .v12-order{order:8;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
#nutcase .v12-order-note{margin:0;color:#c5bbb2;font-size:14px;line-height:1.45;max-width:46ch}
@media (min-width:861px) and (orientation:landscape){
  /* balance: film no taller than the copy column needs, copy fills its half */
  #nutcase .nc-layout{grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:clamp(32px,4vw,64px);max-width:1280px}
  #nutcase .nc-copy{max-width:620px;padding:24px 0}
  #nutcase.nc-section .nc-film-stage{height:min(76vh,calc(100vh - 170px),760px)}
  #nutcase .nc-film-caption{width:calc(min(76vh,calc(100vh - 170px),760px) * 9 / 16)}
}
@media (min-width:861px) and (orientation:landscape) and (max-height:800px){
  #nutcase .nc-can-row{max-width:420px}
}

/* shared order button (Nutcase + Big Dog Chains) */
.v12-order-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border:1px solid #dcae90;border-radius:8px;
  background:#dcae90;color:#211e1c;font:700 17px/1.2 Arial,sans-serif;letter-spacing:.01em;cursor:pointer;max-width:100%;text-align:center;
  transition:background var(--v7c-dur-fast) ease,transform var(--v7c-dur-fast) ease}
.v12-order-btn:hover{background:#e8c2a8}
.v12-order-btn:active{transform:translateY(1px)}
.v12-order-btn:focus-visible{outline:2px solid #f4eee6;outline-offset:4px}
.v12-order-btn-light{background:#211e1c;border-color:#211e1c;color:#f4eee6;margin-top:18px;align-self:flex-start;width:auto}
.v12-order-btn-light:hover{background:#3a332f}
.v12-order-btn-light:focus-visible{outline-color:#805434}
@media (max-width:599px){.v12-order-btn{width:100%;padding:0 18px}}

/* ================= chains: poster (feathered, drifting) + tower copy ================= */
#chains.v8-chains{background:linear-gradient(180deg,#211e1c 0,#eae2d7 120px,#eae2d7 calc(100% - 120px),#211e1c 100%);padding-top:120px;padding-bottom:120px}
#chains .ix-chains-row{padding-bottom:24px}
#chains .v8-poster{transform:translateY(calc(var(--v8-drift,0) * 1px));margin-bottom:0;will-change:transform,opacity}
#chains .v8-poster img{width:100%;height:auto;object-fit:contain;box-shadow:none;border:0;border-radius:0;transform:translateY(calc(var(--v8-drift,0) * 1px));
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0,#000 3%,#000 97%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0,#000 3%,#000 97%,transparent 100%);
  mask-composite:intersect}
#chains .v8-poster figcaption{margin-bottom:0;padding-bottom:0}
#chains .ix-campaign-caption{color:#5a5048}
#chains .ix-chains-tower{margin-left:0}
@media (min-width:761px){
  #chains .ix-chains-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;align-items:center;padding:48px var(--ix-gutter,64px) 24px}
  #chains .v8-poster{width:100%;max-width:520px;justify-self:end}
  #chains .v8-poster figcaption{padding-left:0}
  #chains .ix-chain-copy{padding-left:0;padding-right:0;min-width:0}
}
@media (max-width:760px){
  #chains .ix-chains-row{gap:48px}
  #chains .v8-poster img{transform:none}
}
@media (max-width:860px){
  #chains .ix-chains-row{display:flex;flex-direction:column;align-items:stretch}
  #chains .v8-poster{justify-self:auto;margin-inline:auto}
  #chains .ix-chain-copy{width:100%;min-width:0;flex:none}
}

/* ================= contact: photo, headline lines, form ================= */
#contact.v8-contact{position:relative;overflow:hidden;background:#211e1c}
#contact .v8-contact-photo{position:absolute;top:360px;right:auto;bottom:0;left:0;width:48%;height:auto;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,#000 55%,transparent 100%),linear-gradient(180deg,transparent 0,#000 25%,#000 75%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,#000 55%,transparent 100%),linear-gradient(180deg,transparent 0,#000 25%,#000 75%,transparent 100%);
  mask-composite:intersect}
#contact .v8-contact-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:.75;border-radius:0}
@media (max-width:860px){#contact .v8-contact-photo{display:none}}
#contact .ix-contact-grid{position:relative;z-index:1}
#contact .v8-ct-line{display:block;will-change:transform,opacity}
/* sub-line: no box; feathered local shade + soft text shadow */
#contact .ix-contact-intro>p{position:relative;z-index:2;display:block;isolation:isolate;color:#f4eee6;
  background:none;border-radius:0;box-shadow:none;padding:0;margin-left:0}
#contact .ix-contact-intro>p::before{content:"";position:absolute;z-index:-1;left:-56px;right:-150px;top:-52px;bottom:-52px;pointer-events:none;
  background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(24,21,19,.86) 0,rgba(24,21,19,.8) 58%,rgba(24,21,19,.34) 82%,rgba(24,21,19,0) 100%)}
#contact .v8-sub-scrim{position:relative;display:inline;padding:0;margin:0;border-radius:0;background:none;box-shadow:none;
  color:#f4eee6;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.8),0 0 24px rgba(0,0,0,.6)}
#contact .v8-sub-line{display:block;will-change:transform,opacity}
/* QR visitors land on the order popup, contact stays a plain form */
.v10-qr .v8-contact{padding-top:20px}

/* ================= order popup: centered card (wide), bottom sheet (phone) ================= */
.v12-order-dialog{width:min(520px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:10px;
  background:#2b2725;color:#f4eee6;box-shadow:0 24px 80px rgba(0,0,0,.6);overflow:auto;opacity:0;transform:translateY(24px);
  transition:opacity var(--v7c-dur) ease,transform var(--v7c-dur) cubic-bezier(.2,.7,.2,1)}
.v12-order-dialog.is-in{opacity:1;transform:none}
.v12-order-dialog::backdrop{background:rgba(15,13,12,.72)}
.v12-order-form{position:relative;display:flex;flex-direction:column;gap:14px;padding:32px 28px 28px}
.v12-order-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#f4eee6;font:400 30px/1 Arial,sans-serif;cursor:pointer}
.v12-order-close:hover{background:rgba(244,238,230,.08)}
.v12-order-close:focus-visible{outline:2px solid #dcae90;outline-offset:0}
.v12-order-kicker{margin:0;color:#dcae90;font:700 12px/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding-right:48px}
.v12-order-title{margin:0;font:600 clamp(28px,6vw,38px)/1 var(--ix-font-display,'NC Oswald',Arial,sans-serif);text-transform:uppercase;letter-spacing:-.01em;overflow-wrap:break-word}
.v12-order-sub{margin:0;color:#c5bbb2;font-size:15px;line-height:1.45}
.v12-order-field{display:flex;flex-direction:column;gap:6px}
.v12-order-field[hidden],.v12-order-submit[hidden]{display:none}
.v12-order-field label{font:600 13px/1.3 Arial,sans-serif;color:#eae2d7}
.v12-order-field input,.v12-order-field select{width:100%;min-height:50px;padding:10px 14px;border:1px solid #6b5f56;border-radius:8px;background:#211e1c;color:#f4eee6;font:16px/1.3 Arial,sans-serif}
.v12-order-field input:focus-visible,.v12-order-field select:focus-visible{outline:2px solid #dcae90;outline-offset:1px}
.v12-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.v12-order-submit{appearance:none;min-height:56px;margin-top:4px;border:0;border-radius:8px;background:#dcae90;color:#211e1c;font:700 17px/1.2 Arial,sans-serif;cursor:pointer}
.v12-order-submit:hover{background:#e8c2a8}
.v12-order-submit:disabled{opacity:.7;cursor:wait}
.v12-order-submit:focus-visible{outline:2px solid #f4eee6;outline-offset:3px}
.v12-order-status{margin:0;font-size:16px;line-height:1.45;color:#f4eee6}
@media (max-width:599px){
  .v12-order-dialog{width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:10px 10px 0 0;transform:translateY(100%)}
  .v12-order-dialog.is-in{transform:none}
  .v12-order-form{padding:28px 16px calc(20px + env(safe-area-inset-bottom))}
}

/* ================= footer: photo, seam, platform credit ================= */
.v8-footer{position:relative;overflow:hidden;background:#211e1c}
footer.ix-footer{padding-bottom:0;margin-bottom:0}
.ix-footer.v8-footer{border-top:0}
.v8-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;z-index:1;pointer-events:none;background:linear-gradient(180deg,var(--v9-prev,#211e1c),rgba(33,30,28,0))}
.v8-footer .v8-footer-photo{position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 140px);mask-image:linear-gradient(180deg,transparent 0,#000 140px)}
.v8-footer .v8-footer-photo img{width:100%;height:100%;object-fit:contain;object-position:right bottom;opacity:.28;border-radius:0}
.v8-footer .v8-footer-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,30,28,.85) 0,rgba(33,30,28,.35) 70%)}
.v8-footer>*:not(.v8-footer-photo){position:relative;z-index:1}
.ix-footer .v9-powered{display:block!important;width:100%!important;max-width:none!important;text-align:center!important;
  margin:clamp(24px,6vh,64px) auto 0!important;padding:10px 16px 14px!important;font:500 11px/1.4 Arial,sans-serif!important;letter-spacing:.08em;
  color:rgba(234,226,215,.62)!important;position:relative;z-index:2;clear:both}

/* ================= scroll cue: mouse oval, copper dot drifting down ================= */
/* desktop/tablet: bottom center inside the film's soft edge. phone: under the film. */
.v11-scroll-cue{appearance:none;background:none;border:0;padding:6px 10px;margin:0;cursor:pointer;color:rgba(244,238,230,.8);
  display:flex;flex-direction:column;align-items:center;gap:5px;z-index:4;transition:opacity .45s ease,transform .45s ease;-webkit-tap-highlight-color:transparent}
.v11-scroll-cue .v11-mouse{position:relative;display:block;width:26px;height:42px;border:1.5px solid rgba(244,238,230,.85);border-radius:13px;box-sizing:border-box}
.v11-scroll-cue .v11-dot{position:absolute;left:50%;top:8px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#c8834f;
  animation:v11-drift 1.8s cubic-bezier(.45,0,.3,1) infinite}
.v11-scroll-cue .v11-scroll-label{font:600 11px/1 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;padding-left:.22em;color:rgba(244,238,230,.8)}
.v11-scroll-cue:hover .v11-mouse,.v11-scroll-cue:focus-visible .v11-mouse{border-color:#f4eee6}
.v11-scroll-cue:focus-visible{outline:2px solid #c8834f;outline-offset:4px;border-radius:12px}
.v11-scroll-cue.is-away{opacity:0;pointer-events:none;transform:translate(-50%,8px)}
@keyframes v11-drift{0%{transform:translateY(0);opacity:0}15%{opacity:1}70%{transform:translateY(14px);opacity:1}100%{transform:translateY(18px);opacity:0}}
@media (prefers-reduced-motion:reduce){.v11-scroll-cue .v11-dot{animation-duration:1.2s}.v11-scroll-cue{transition-duration:.2s}}
@media (min-width:700px){
  .v11-scroll-cue{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);text-shadow:0 1px 6px rgba(0,0,0,.55)}
  .v11-scroll-cue .v11-mouse{box-shadow:0 0 10px rgba(0,0,0,.35)}
}
@media (max-width:699px){
  .v11-scroll-cue{position:relative;align-self:center;margin:10px auto 0;padding:4px 10px}
  .v11-scroll-cue .v11-mouse{width:22px;height:36px;border-radius:11px}
  .v11-scroll-cue .v11-dot{top:7px;width:4px;height:4px;margin-left:-2px}
  .v11-scroll-cue.is-away{transform:translateY(8px)}
  @keyframes v11-drift{0%{transform:translateY(0);opacity:0}15%{opacity:1}70%{transform:translateY(12px);opacity:1}100%{transform:translateY(15px);opacity:0}}
}

/* Give-back block (Shella mockup): big copper panel is the order button */
.v12-giveback{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;max-width:640px;margin:26px 0 0;padding:34px 24px 28px;border:0;border-radius:10px;background:#dcae90;color:#2a1d17;cursor:pointer;text-align:center;font:inherit;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.v12-giveback:hover{background:#e6bb9e;transform:translateY(-2px)}
.v12-giveback:focus-visible{outline:2px solid #f4eee6;outline-offset:4px}
.v12-gb-top,.v12-gb-bot{font:700 clamp(34px,4.2vw,58px)/1 var(--ix-font-display,'NC Oswald',Arial,sans-serif);text-transform:uppercase;letter-spacing:.01em}
.v12-gb-bot{color:#6a3e22}
.v12-gb-sub{margin-top:12px;max-width:34ch;color:#2a1d17;font-size:15px;line-height:1.4;font-weight:600}
.nc-can-row{max-width:640px}
@media (max-width:599px){.v12-giveback{padding:26px 16px 22px}}

/* BDC: bigger body copy + dark give-back block (Shella edit 9/29) */
#chains .v12-chains-body{font-size:clamp(19px,1.5vw,23px);line-height:1.5;color:#2a2420;max-width:34ch}
.v12-giveback-dark{background:#211e1c;color:#f4eee6;max-width:560px}
.v12-giveback-dark:hover{background:#3a332f}
.v12-giveback-dark .v12-gb-bot{color:#7d9bea}
.v12-giveback-dark .v12-gb-sub{color:#e9dfd3}

/* Button in the poster's blank square (Shella: button spot, not QR) */
#chains .v12-poster-wrap{position:relative;display:block;line-height:0}
#chains .v12-poster-wrap img{display:block;width:100%;height:auto}
.v12-poster-btn{position:absolute;z-index:3;left:38.2%;top:75%;width:23.6%;height:10%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:0;border-radius:10px;background:#1f5fd6;color:#fff;cursor:pointer;font:700 clamp(12px,1.35vw,21px)/1.05 var(--ix-font-display,'NC Oswald',Arial,sans-serif);text-transform:uppercase;letter-spacing:.02em;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.25);transition:background .25s ease,transform .25s ease;animation:v12-poster-pulse 2.4s ease-in-out infinite}
.v12-poster-btn:hover{background:#1747a3;transform:scale(1.04)}
.v12-poster-btn:focus-visible{outline:3px solid #f4eee6;outline-offset:3px}
@keyframes v12-poster-pulse{0%,100%{box-shadow:inset 0 0 0 2px rgba(255,255,255,.25),0 0 0 0 rgba(31,95,214,.55)}50%{box-shadow:inset 0 0 0 2px rgba(255,255,255,.25),0 0 0 10px rgba(31,95,214,0)}}

/* Contact (Shella CONTACT edit 9/29): new head, copper tag line, form fills the right side */
#contact .v12-ct-q{color:#dcae90}
#contact .v12-ct-here{display:block;margin-top:6px;color:#dcae90;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.92em}
@media (min-width:1024px){
  #contact .ix-contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:clamp(32px,4vw,72px);max-width:1360px;margin-inline:auto}
  #contact #ix-contact-form{width:100%;max-width:none;padding:clamp(28px,3vw,48px);background:rgba(20,17,15,.72);border:1px solid rgba(220,174,144,.28);border-radius:10px}
}
#contact #ix-contact-form label{font-size:15px}
#contact #ix-contact-form input,#contact #ix-contact-form select{min-height:56px;font-size:17px;width:100%}
#contact #ix-contact-form .ix-field-grid{gap:22px}
#contact #ix-contact-form .ix-submit{min-height:58px;font-size:17px;width:100%}
@media (min-width:1024px){#contact .v8-ct-head{font-size:clamp(46px,4.9vw,92px);line-height:.95}}

/* Footer partner logos (Shella BOTTOM edit 9/29): white wordmarks, each links out */
.v12-footer-partners{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(22px,3vw,44px);margin-top:clamp(22px,3vw,36px)}
.v12-fp{display:inline-flex;align-items:center;opacity:.92;transition:opacity .25s ease,transform .25s ease}
.v12-fp:hover,.v12-fp:focus-visible{opacity:1;transform:translateY(-2px)}
.v12-fp-bm{flex-direction:column;line-height:.86;color:#fff;font:900 clamp(17px,1.5vw,22px)/.86 'Arial Black',Arial,sans-serif;text-transform:uppercase;letter-spacing:.01em;text-decoration:none}
.v12-fp-nc img{height:clamp(24px,2.2vw,34px);width:auto}
.v12-fp-bdc img{height:clamp(54px,4.8vw,72px);width:auto}
.v12-footer-lead{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.v12-footer-lead .v12-footer-partners{flex-direction:row}
@media (min-width:1024px){#contact #ix-contact-form{align-self:center;grid-row:1 / span 2}}

/* "Bred to be incredible" (Shella edit 9/29) */
#program .v12-bred{position:relative;z-index:2;max-width:1180px;margin:clamp(40px,6vw,88px) 0 clamp(36px,5vw,72px);padding:0 clamp(16px,5vw,72px)}
#program .v12-bred-head{margin:0 0 14px;color:#f4eee6;font:700 clamp(44px,6vw,96px)/.95 var(--ix-font-display,'NC Oswald',Arial,sans-serif);text-transform:uppercase;letter-spacing:-.005em}
#program .v12-bred-dot{color:#dcae90}
#program .v12-bred-kicker{margin:0 0 16px;color:#f4eee6;font-size:clamp(20px,1.8vw,28px);line-height:1.3;font-weight:500}
#program .v12-bred-body{margin:0 0 16px;max-width:62ch;color:#d9d0c5;font-size:clamp(17px,1.35vw,21px);line-height:1.55}
#program .v12-bred-tag{margin:0 0 22px;color:#f4eee6;font-size:clamp(18px,1.5vw,23px);font-weight:600}
#program .v12-bred-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;color:#dcae90;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(16px,1.3vw,20px);text-decoration:none;border-bottom:2px solid rgba(220,174,144,.5);transition:gap .25s ease,border-color .25s ease}
#program .v12-bred-link:hover,#program .v12-bred-link:focus-visible{gap:16px;border-color:#dcae90}

/* 9/29: lockup is the Stray to Play opener; Adopt/Foster/Give arrive after Max */
.v12-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v12-reveal-cards .v7c-rescue-card{opacity:0;transform:translateY(34px);transition:opacity .8s ease-out,transform .8s ease-out}
.v12-reveal-cards.is-in .v7c-rescue-card{opacity:1;transform:none}
.v12-reveal-cards.is-in .v7c-rescue-card:nth-child(2){transition-delay:.25s}
.v12-reveal-cards.is-in .v7c-rescue-card:nth-child(3){transition-delay:.5s}

/* single seam program -> mission, lockup blends into cream */
#mission > .ix-wrap{padding-top:clamp(28px,3vw,44px);padding-bottom:clamp(72px,7vw,104px)}
#mission > .ix-wrap > .v7c-rescue-wordband{margin:0 0 clamp(28px,4vw,56px);background:transparent;border:0;padding:0 0 clamp(8px,1vw,16px)}
#mission > .ix-wrap > .v7c-rescue-wordband .v7c-rescue-word{color:#805434}
#mission .v7c-rescue-band::before{content:"";position:absolute;left:0;right:0;top:0;height:64px;transform:translateY(-100%);pointer-events:none;background:linear-gradient(180deg,rgba(33,30,28,0),#211e1c)}

/* ===== 2026-09-29 NUTCASE: centered logo + faded choc background, 3-part grid (copy | can gap | film) ===== */
#nutcase.nc-section{position:relative;isolation:isolate;overflow:hidden}
/* bg box keeps photo 4:3; can sits at ~46% x / 58% y of the photo, so shift box so the can lands on section center */
#nutcase .nc-bg{position:absolute;top:0;bottom:0;left:50%;height:100%;aspect-ratio:4/3;transform:translateX(-46%);z-index:-1;pointer-events:none;
  background:linear-gradient(rgba(5,4,3,.4),rgba(5,4,3,.4)),url("assets/nutcase-bg-choc.webp") center/cover no-repeat;
  opacity:.38;
  -webkit-mask-image:radial-gradient(ellipse 22% 46% at 46% 56%,#000 35%,transparent 100%);
          mask-image:radial-gradient(ellipse 22% 46% at 46% 56%,#000 35%,transparent 100%)}
#nutcase .nc-head{position:relative;display:flex;justify-content:center;width:100%;margin:0 0 clamp(16px,2.4vw,32px)}
#nutcase .nc-head .nc-lockup{display:block;width:clamp(160px,16vw,260px);height:auto;margin:0}
@media (min-width:1100px) and (orientation:landscape){
  #nutcase .nc-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.5vw,48px);align-items:center;max-width:1760px;margin:0 auto;padding:0 clamp(32px,3vw,64px)}
  #nutcase .nc-copy{grid-column:1;grid-row:1;max-width:none;width:auto;padding:0}
  #nutcase .nc-can-row{max-width:none}
  #nutcase .nc-film-column{grid-column:3;grid-row:1;justify-self:center;width:auto}
  /* wordmark sits clear above the background can (can top visible) */
  #nutcase .nc-bg{top:clamp(120px,11vw,190px);height:auto;bottom:0}
}
@media (max-width:1099px),(orientation:portrait){
  #nutcase .nc-bg{top:50%;bottom:auto;height:auto;width:min(180vw,1400px);transform:translate(-46%,-56%);opacity:.22;
    -webkit-mask-image:radial-gradient(ellipse 34% 40% at 46% 56%,#000 35%,transparent 100%);
            mask-image:radial-gradient(ellipse 34% 40% at 46% 56%,#000 35%,transparent 100%)}
}
/* ===== end NUTCASE bg ===== */

/* 9/29: BDC logo to the far right, larger, unaltered; small "Big Dog Chains" kicker removed */
#chains .ix-chain-copy{position:relative}
#chains .v12-chain-logo-right{display:block;width:clamp(96px,10vw,150px);height:auto;margin:0 0 12px auto}
@media (min-width:900px){#chains .v12-chain-logo-right{position:absolute;top:0;right:0;margin:0}}

/* 9/29: "Meet Stray to Play Rescue" CTA sits top right, right under the lockup line */
#mission .ix-mission-below{position:relative}
#mission .v12-s2p-cta{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;margin:0 0 20px;border-radius:10px;background:#805434;color:#f4eee6;font-weight:700;letter-spacing:.02em;text-decoration:none;transition:background .25s ease,gap .25s ease}
#mission .v12-s2p-cta:hover,#mission .v12-s2p-cta:focus-visible{background:#6a4329;gap:16px}

/* 9/29: "shiny button" (21st.dev ShinyButton, ported to plain CSS) on the Stray to Play CTA.
   Fill = the section's cream gradient, gleam = Stray to Play logo blue. Runs regardless of reduced motion. */
@property --g-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@property --g-offset{syntax:"<angle>";initial-value:0deg;inherits:false}
@property --g-pct{syntax:"<percentage>";initial-value:5%;inherits:false}
@property --g-shine{syntax:"<color>";initial-value:#fbf8f3;inherits:false}
.v12-gleam{--gl-fill-a:#5b7fdc;--gl-fill-b:#3553a8;--gl-accent:#dcae90;--gl-soft:#f4eee6;--gl-text:#f7f3ee;--gl-glow:rgba(53,83,168,.35);
  appearance:none;isolation:isolate;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:0;
  min-height:52px;height:auto;max-width:100%;padding:0 28px;margin:0;box-sizing:border-box;cursor:pointer;
  color:var(--gl-text);font:700 17px/1.2 Inter,Arial,sans-serif;letter-spacing:.02em;text-transform:none;text-decoration:none;white-space:nowrap;
  border:2px solid transparent;border-radius:12px;
  background:linear-gradient(180deg,var(--gl-fill-a),var(--gl-fill-b)) padding-box,
    conic-gradient(from calc(var(--g-angle) - var(--g-offset)),transparent,var(--gl-accent) var(--g-pct),var(--g-shine) calc(var(--g-pct)*2),var(--gl-accent) calc(var(--g-pct)*3),transparent calc(var(--g-pct)*4)) border-box;
  box-shadow:0 12px 30px var(--gl-glow);
  animation:g-spin 3s linear infinite;
  transition:--g-offset .8s cubic-bezier(.25,1,.5,1),--g-pct .8s cubic-bezier(.25,1,.5,1),--g-shine .8s cubic-bezier(.25,1,.5,1),box-shadow .4s ease,gap .3s ease}
.v12-gleam::after{content:"";position:absolute;z-index:-1;inset:auto;left:50%;top:50%;width:100%;aspect-ratio:1;translate:-50% -50%;
  background:linear-gradient(-50deg,transparent,rgba(255,255,255,.26),transparent);mask-image:radial-gradient(circle at bottom,transparent 40%,#000);
  animation:g-rot 3s linear infinite;pointer-events:none}
.v12-gleam span{position:relative;z-index:1}
.v12-gleam:is(:hover,:focus-visible){--g-pct:20%;--g-offset:95deg;--g-shine:var(--gl-soft);box-shadow:0 14px 36px var(--gl-glow);gap:10px;padding:0 32px}
.v12-gleam:focus-visible{outline:2px solid var(--gl-soft);outline-offset:3px}
.v12-gleam:active{translate:0 1px}
.v12-gleam:disabled{opacity:.7;cursor:wait}
.v12-gleam--blue{--gl-fill-a:#5b7fdc;--gl-fill-b:#3553a8;--gl-accent:#dcae90;--gl-soft:#f4eee6;--gl-text:#f7f3ee;--gl-glow:rgba(53,83,168,.35)}
.v12-gleam--bdc{--gl-fill-a:#15171c;--gl-fill-b:#1f3f8f;--gl-accent:#4f86ff;--gl-soft:#a9c4ff;--gl-text:#f7f3ee;--gl-glow:rgba(31,63,143,.4)}
.v12-gleam--copper{--gl-fill-a:#dcae90;--gl-fill-b:#b9825e;--gl-accent:#f4eee6;--gl-soft:#fffaf3;--gl-text:#211e1c;--gl-glow:rgba(185,130,94,.35)}
@media (max-width:420px){.v12-gleam{white-space:normal;text-align:center;padding:0 20px;font-size:16px}}
/* context overrides so older rules don't fight the component */
#mission .v12-gleam.v12-s2p-cta,#mission .v12-gleam.v12-s2p-cta:is(:hover,:focus-visible){min-height:56px;padding:0 30px;background:linear-gradient(180deg,var(--gl-fill-a),var(--gl-fill-b)) padding-box,conic-gradient(from calc(var(--g-angle) - var(--g-offset)),transparent,var(--gl-accent) var(--g-pct),var(--g-shine) calc(var(--g-pct)*2),var(--gl-accent) calc(var(--g-pct)*3),transparent calc(var(--g-pct)*4)) border-box;color:var(--gl-text)}
#mission .v12-gleam.v8-max-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;height:52px;line-height:1;margin-top:14px;padding:0 28px;border-radius:12px;background:linear-gradient(180deg,var(--gl-fill-a),var(--gl-fill-b)) padding-box,conic-gradient(from calc(var(--g-angle) - var(--g-offset)),transparent,var(--gl-accent) var(--g-pct),var(--g-shine) calc(var(--g-pct)*2),var(--gl-accent) calc(var(--g-pct)*3),transparent calc(var(--g-pct)*4)) border-box;color:var(--gl-text)}
#mission .v12-gleam.v8-max-btn span{display:block;line-height:1;margin:0;padding:0}
.v12-order-submit.v12-gleam{min-height:54px;width:100%;margin-top:4px;border-radius:12px}
.v12-order-dialog[data-brand="bigdogchains"] .v12-order-submit.v12-gleam{--gl-fill-a:#15171c;--gl-fill-b:#1f3f8f;--gl-accent:#4f86ff;--gl-soft:#a9c4ff;--gl-text:#f7f3ee;--gl-glow:rgba(31,63,143,.4)}
#contact #ix-contact-form .ix-submit.v12-gleam{background:linear-gradient(180deg,var(--gl-fill-a),var(--gl-fill-b)) padding-box,conic-gradient(from calc(var(--g-angle) - var(--g-offset)),transparent,var(--gl-accent) var(--g-pct),var(--g-shine) calc(var(--g-pct)*2),var(--gl-accent) calc(var(--g-pct)*3),transparent calc(var(--g-pct)*4)) border-box;color:var(--gl-text);min-height:56px;width:100%;font-size:17px}
.v12-order .v12-cta{margin-top:26px}
.v12-cta-note{margin:12px 0 0;max-width:46ch;font-size:15px;line-height:1.45;opacity:.9}
#program .v8-dive-copy .v12-bred{margin:18px 0 0 -12px;padding:22px clamp(18px,2.2vw,30px);max-width:none;
  background:rgba(33,30,28,.78);backdrop-filter:blur(2px);border-left:0;border-radius:10px}
#program .v8-dive-copy .v12-bred-head{margin:0 0 12px;font-size:clamp(34px,3.4vw,60px)}
#program .v8-dive-copy .v12-bred-kicker{font-size:clamp(17px,1.35vw,22px);margin:0 0 12px;color:#f4eee6}
#program .v8-dive-copy .v12-bred-body{font-size:clamp(15px,1.05vw,18px);margin:0 0 12px;color:#e6ddd2}
#program .v8-dive-copy .v12-bred-tag{font-size:clamp(16px,1.2vw,19px);margin:0 0 18px;color:#f4eee6}
@media (max-width:860px){#program .v8-dive-copy .v12-bred{padding:18px 16px;background:rgba(43,39,37,.6)}#program .v8-dive-copy .v12-bred-head{font-size:36px}}
/* Poster Shop Now: same size/spot, bdc border sweep + white text */
.v12-poster-btn.v12-gleam-border{--gl-accent:#4f86ff;--gl-soft:#a9c4ff;isolation:isolate;overflow:hidden;color:#fff;border:2px solid transparent;
  background:linear-gradient(180deg,#15171c,#1f3f8f) padding-box,
    conic-gradient(from calc(var(--g-angle) - var(--g-offset)),transparent,var(--gl-accent) var(--g-pct),var(--g-shine) calc(var(--g-pct)*2),var(--gl-accent) calc(var(--g-pct)*3),transparent calc(var(--g-pct)*4)) border-box;
  --g-pct:12%;animation:g-spin 3s linear infinite,v12-poster-pulse 2.4s ease-in-out infinite}
.v12-poster-btn.v12-gleam-border:hover{background:linear-gradient(180deg,#1b1e25,#2750b3) padding-box,conic-gradient(from calc(var(--g-angle) - var(--g-offset)),transparent,var(--gl-accent) var(--g-pct),var(--gl-soft) calc(var(--g-pct)*2),var(--gl-accent) calc(var(--g-pct)*3),transparent calc(var(--g-pct)*4)) border-box}
@keyframes g-spin{to{--g-angle:360deg}}
@keyframes g-rot{to{rotate:360deg}}

/* 9/29: champion carousel (Option A): same height, each card takes its photo's shape, whole dog, no crop */
#program .v12-champs{position:relative;z-index:2;padding:0 0 clamp(40px,6vw,80px)}
#program .v12-champs-head{margin:0 0 clamp(16px,2vw,24px);padding:0 clamp(16px,5vw,72px);color:#dcae90;font:600 13px/1 Inter,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}
#program .v12-embla{--h:clamp(250px,34vw,440px);overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
#program .v12-embla-track{display:flex;gap:18px;align-items:flex-start;touch-action:pan-y}
#program .v12-champ{flex:0 0 auto;width:calc(var(--h) * var(--ar));margin:0}
#program .v12-champ-img{height:var(--h);border-radius:10px;overflow:hidden;background:#2a2522;box-shadow:0 18px 44px rgba(10,8,7,.55);transition:transform .5s cubic-bezier(.22,1,.36,1)}
#program .v12-champ:hover .v12-champ-img{transform:translateY(-4px)}
#program .v12-champ-img img{width:100%;height:100%;object-fit:contain;display:block}
#program .v12-champ figcaption{margin-top:12px}
#program .v12-champ-name{display:block;color:#f4eee6;font:700 clamp(16px,1.4vw,20px)/1.1 var(--ix-font-display,'NC Oswald',Arial,sans-serif);text-transform:uppercase;letter-spacing:.02em}
#program .v12-champ-title{display:block;margin-top:4px;color:#dcae90;font-size:13px;letter-spacing:.08em;text-transform:uppercase}

/* 9/29 full pass: Stray to Play intro, headline + lead + CTA left, supporting copy right (no divider, no stranded centered block) */
#mission .ix-mission-below.v12-s2p-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,96px);align-items:start;text-align:left}
#mission .v12-s2p-main,#mission .v12-s2p-side{min-width:0}
#mission .v12-s2p-head{font:600 clamp(32px,3.6vw,56px)/1 var(--ix-font-display,'NC Oswald',Arial,sans-serif);text-transform:uppercase;letter-spacing:-.01em;color:#211e1c;margin:0 0 18px;max-width:16ch}
#mission .v12-s2p-main .ix-lead{max-width:36ch;margin:0 0 24px}
#mission .v12-s2p-side{padding-top:clamp(6px,1.2vw,18px)}
#mission .v12-s2p-side p{max-width:48ch;margin:0 0 16px}
#mission .v12-s2p-side p:last-child{margin-bottom:0}
#mission .v12-gleam.v12-s2p-cta{margin:0}
@media (max-width:899px){
  #mission .ix-mission-below.v12-s2p-grid{grid-template-columns:1fr;gap:20px}
  #mission .v12-s2p-side{padding-top:0}
  #mission .v12-s2p-main{display:flex;flex-direction:column;align-items:flex-start}
  #mission .v12-s2p-main .v12-s2p-cta{order:3}
}
@media (min-width:900px){
  /* skillpass 9/29: one composed block. main unwraps into the grid so the side copy starts level with the lead; no side stripe (impeccable ban) */
  #mission .ix-mission-below.v12-s2p-grid{align-items:start;grid-template-areas:"head head" "lead side" "cta side";grid-template-rows:auto auto 1fr;row-gap:0}
  #mission .v12-s2p-main{display:contents}
  #mission .v12-s2p-head{grid-area:head;max-width:none;margin:0 0 22px}
  #mission .v12-s2p-main .ix-lead{grid-area:lead;margin:0 0 28px}
  #mission .v12-s2p-main .v12-s2p-cta{grid-area:cta;justify-self:start;align-self:start}
  #mission .v12-s2p-side{grid-area:side;padding:0}
  #mission .v12-s2p-side p{font-size:clamp(17px,1.25vw,20px);line-height:1.55;color:#4d4238}
}

/* skillpass 2026-09-29: polish (impeccable polish checklist) */
#contact #ix-contact-form .ix-form-note{margin-top:16px}
.v8-footer .ix-footer-right p{font-size:13px!important}
@media (min-width:768px){.v8-footer .v8-footer-photo img{position:absolute;right:0;bottom:0;width:auto;max-width:100%;height:100%;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%);mask-image:linear-gradient(90deg,transparent 0,#000 28%)}}
@media (min-width:900px){#chains .v12-chains-body{max-width:40ch}#chains .ix-chain-copy .ix-lead{max-width:34ch}}
@media (max-width:767px){.v8-footer .v8-footer-photo img{position:absolute;left:0;bottom:0;width:100%;height:auto;max-height:100%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 35%);mask-image:linear-gradient(180deg,transparent 0,#000 35%)}}

/* 9/29 late 3: centered Stray to Play headline that types in word by word; Nutcase wordmark bigger, more room, zoom-in then settle */
#mission .v12-s2p-head{text-align:center;grid-column:1 / -1;justify-self:center;max-width:none}
.v12-typein .v12-tw{display:inline-block;opacity:0;transform:translateY(.45em);filter:blur(4px);
  transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1),filter .55s ease-out;transition-delay:calc(var(--i) * 140ms)}
.v12-typein.is-in .v12-tw{opacity:1;transform:none;filter:none}
#nutcase .nc-head.v12-zoomin{padding-top:clamp(56px,7vw,110px);margin-bottom:clamp(20px,3vw,40px)}
#nutcase .v12-zoomin .nc-lockup-center{width:clamp(220px,26vw,420px);height:auto;opacity:0;transform:scale(1.9);filter:blur(6px)}
#nutcase .v12-zoomin.is-in .nc-lockup-center{animation:v12-zoomdrop 1.1s cubic-bezier(.22,1,.36,1) forwards}
@keyframes v12-zoomdrop{0%{opacity:0;transform:scale(1.9);filter:blur(6px)}55%{opacity:1;transform:scale(.94);filter:blur(0)}78%{transform:scale(1.03)}100%{opacity:1;transform:scale(1);filter:none}}

/* iPhone Safari: pinned stages sized to the visible screen (no-bounce rule sits on html,body at top) */
@supports (height:100svh){
  #program .v8-dive-stage,#mission .v8-max-stage{height:100svh}
  #mission .v8-max-photo{height:calc(100svh - 32px)}
}

/* phone (<=767px): hero restack + section spacing: header is a solid bar above the film, nothing sits on the film,
   tagline + "Let's connect" + scroll cue stack below it. Desktop/tablet untouched (.v13-hero-phone hidden there). */
.v13-hero-phone{display:none}
@media (max-width:767px){
  /* Meet the dogs -> Harry: shorter fade/dark run; image-description caption hidden */
  #family .ix-family-caption{display:none}
  #family.ix-family{padding-bottom:70px;background:linear-gradient(180deg,#eae2d7 0,#eae2d7 calc(100% - 60px),#211e1c 100%)}
  #family::after{height:60px}
  #program.v7c-program{padding-top:44px}
  /* a. champion names -> Stray to Play fade: halve the dark space */
  #program .v12-champs{padding-bottom:20px}
  #program.v7c-program{padding-bottom:24px}
  #program::after{height:70px}
  /* d. Stray to Play lead / button / copy read as one block (~30% tighter) */
  #mission .v12-s2p-main .ix-lead{margin-bottom:17px}
  #mission .ix-mission-below.v12-s2p-grid{gap:14px}
  #mission .v12-s2p-side p{margin-bottom:11px}
  header.ix-nav{position:relative;top:auto;background:#211e1c;padding-top:10px;padding-bottom:10px}
  header.ix-nav::before{display:none}
  header.ix-nav .ix-nav-action{display:none}
  .ix-hero.v9-hero{padding-top:14px;justify-content:flex-start}
  .v9-hero .v9-hero-row{display:none}
  .v13-hero-phone{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;padding:18px 16px 0;box-sizing:border-box;text-align:center}
  /* !important: beats the site-wide .ix-chapter p:not(...) body-text rule */
  .v13-hero-phone .v13-hero-tag{margin:0!important;max-width:none!important;font:600 32px/1.06 var(--ix-font-display,'NC Oswald',Arial,sans-serif)!important;letter-spacing:.01em;text-transform:uppercase;color:#f4eee6!important}
  .v13-hero-phone .v13-hero-tag .v13-acc{color:var(--ix-accent,#dcae90)}
  .v13-hero-tag .v13-w{display:inline-block;opacity:0;transform:translateY(.45em);animation:v13-word .6s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(.35s + var(--i) * .16s)}
  .v13-hero-phone .v13-hero-connect.v12-gleam,.v13-hero-phone .v13-hero-connect.v12-gleam:is(:hover,:focus-visible){
    min-height:44px;height:44px;padding:0 26px;font-size:16px;line-height:1;white-space:nowrap;border-radius:10px;box-shadow:0 8px 20px var(--gl-glow)}
  .v9-hero .v11-scroll-cue{position:relative;right:auto;left:auto;bottom:auto;margin:10px auto 8px;z-index:1;transform:none}
  .v9-hero .v11-scroll-cue .v11-mouse{width:18px;height:30px;border-radius:9px}
  .v9-hero .v11-scroll-cue .v11-scroll-label{font-size:9px}
  .v9-hero .v11-scroll-cue.is-away{transform:translateY(8px)}
}
@keyframes v13-word{to{opacity:1;transform:none}}
/* 9/30: consent checkbox row + readable dropdown */
#contact #ix-contact-form .ix-check label{display:flex;align-items:center;gap:12px;font-size:15px;color:#e6ddd2;cursor:pointer}
#contact #ix-contact-form .ix-check input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:22px;height:22px;min-height:0;flex:0 0 22px;margin:0;accent-color:#dcae90;padding:0}
#contact #ix-contact-form .ix-check span{display:inline}
#contact #ix-contact-form select option{color:#211e1c;background:#f4eee6}
#contact #ix-contact-form select{color:#f4eee6;-webkit-text-fill-color:#f4eee6;-webkit-appearance:none;appearance:none;padding-right:44px;
  background:#2b2724 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23dcae90' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center}
