/* Product-made proof, within the approved cream/ink identity. */
.kit-copy article{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:20px}
.kit-copy article>.kit-tag,.kit-copy article>h3,.kit-copy article>p{grid-column:2}
.kit-motif{grid-column:1;grid-row:1 / span 3;align-self:start;width:52px;height:52px;margin-top:25px;fill:currentColor;color:var(--ink)}
.steps .step-number{display:block;width:auto;height:auto;border:0;border-radius:0;font-family:var(--display);font-size:76px;font-weight:400;line-height:.9;letter-spacing:-.03em;color:var(--red);margin-bottom:22px}
@media(max-width:760px){
  .kit-copy article{grid-template-columns:38px minmax(0,1fr);column-gap:14px}
  .kit-motif{width:38px;height:38px;margin-top:24px}
  .kit-copy h3{font-size:clamp(28px,7.8vw,34px)}
  .steps .step-number{font-size:60px;margin-bottom:18px}
}
.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px);margin-bottom:68px}
.hero-lead h1{font-size:clamp(54px,6.2vw,90px)}
.hero-lead h1 mark,.newcomer-heading h2 mark,.offer h3 mark{background:var(--pink);color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .035em}
.hero-lead .hero-copy{max-width:460px;margin-top:28px}
.saved-collection{width:100%;max-width:490px;justify-self:end;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 18px 44px #24221f14;overflow:hidden;text-align:left}
.saved-heading{padding:20px 22px 18px}
.saved-location{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:13px;font-weight:750}
.saved-location>span{display:flex;align-items:center;gap:8px}
.saved-location svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.saved-heading h2{font-size:36px;line-height:1.05;letter-spacing:-.025em}
.saved-heading p{font-size:13px;color:var(--muted);margin-top:8px}
.saved-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:0 8px}
.saved-grid a{display:block;position:relative;min-width:0}
.saved-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.saved-grid a:focus-visible{outline:3px solid var(--pink);outline-offset:-3px;z-index:1}
@media(hover:hover){.saved-grid a:hover{opacity:.85}}
.saved-nudge{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 12px;font-size:19px;font-weight:800}
.saved-nudge .icon{width:24px;height:24px;color:var(--red);flex:none}
.saved-collection figcaption{padding:0 22px 18px;font-size:11px;color:var(--muted)}
.saved-phone{max-width:620px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.phone-art{position:relative;width:100%;overflow:hidden;background:var(--cream)}
.phone-frame{display:block;width:100%;height:auto;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.phone-screen{position:absolute;left:0;top:0;width:600px;height:840px;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:2px;background:#f8f8f8;transform-origin:0 0;transform:scale(var(--phone-scale,0)) matrix3d(.9699278668,-.0663013246,0,-.0000081093,.046976078,.9600070529,0,-.0000386301,0,0,1,0,245,404,0,1)}
.phone-screen .saved-tile{display:block;min-height:0;overflow:hidden}
.phone-screen img{height:100%;aspect-ratio:auto;object-fit:cover}
.saved-phone figcaption{text-align:center;font-size:14px;font-weight:700;color:var(--ink);padding:12px 0 0}
.saved-phone figcaption span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}
.offer-contents{list-style:none;padding:0;margin:20px 0 24px;line-height:1.4}
.offer-contents li{padding:16px 0;border-top:1px solid var(--line)}
.offer-contents strong{display:block;font-size:19px}
.offer-contents li>span{display:block;font-size:16px;color:var(--muted);margin-top:6px}
.offer-invitation{font-family:var(--display);font-size:28px;line-height:1.08;letter-spacing:-.025em;margin-top:24px}
.offer-intro{font-size:17px;line-height:1.45;margin-top:14px;max-width:290px;color:var(--muted)}
.offer-coffee{font-size:17px;line-height:1.45;margin-top:16px;max-width:315px}
.tool-banner{--tool-gutter:max(48px,calc((100vw - 1360px)/2));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;margin:0 calc(-1 * var(--tool-gutter)) 72px;border:0;padding:12px var(--tool-gutter);background:var(--red);color:var(--ink)}
.tool-banner + .showcase .proof-heading{border-top:0;padding-top:0}
.tool-banner-label{font-size:14px;font-weight:700;line-height:1.3}
.tool-banner-label>a{display:block;font-size:11px;font-weight:500;margin-top:5px;text-underline-offset:3px}
.tool-banner-label>a:focus-visible{outline-color:var(--ink)}
.tool-banner-window{overflow:hidden;min-width:0}
.tool-banner-track{display:flex;width:max-content;animation:tool-drift 48s linear infinite;animation-play-state:paused}
.tool-banner.is-moving .tool-banner-track{animation-play-state:running}
.tool-banner-group{display:flex;align-items:center;gap:42px;padding-right:42px;flex:none}
.tool-banner-name{display:flex;align-items:center;gap:10px;white-space:nowrap;font-family:var(--display);font-size:30px;line-height:1.2}
.tool-banner-name .platform-logo{width:26px;height:26px;flex:none}
.tool-banner-name .platform-logo,.tool-banner-name .platform-logo path{fill:currentColor}
.tool-banner-controls{display:flex;justify-content:flex-end}
.tool-banner-toggle{min-height:44px;min-width:54px;padding:8px 10px;border:1px solid var(--ink);border-radius:24px;background:transparent;color:var(--ink);font-size:11px;font-weight:700}
.tool-banner-toggle:hover{background:var(--ink);color:var(--cream)}
.tool-banner-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@keyframes tool-drift{to{transform:translateX(-50%)}}
@media(max-width:1100px){.tool-banner{--tool-gutter:32px}}
@media(max-width:760px){
  .hero-grid{grid-template-columns:1fr;gap:32px;margin-bottom:44px}
  .hero-lead h1{font-size:clamp(46px,11.6vw,76px)}
  .hero-lead .hero-copy{margin:22px auto 0}
  .saved-collection{justify-self:center;max-width:440px}
  .saved-heading{padding:18px 18px 16px}
  .saved-heading h2{font-size:31px}
  .saved-location{margin-bottom:16px}
  .saved-nudge{font-size:17px;padding:16px 18px 10px}
  .saved-collection figcaption{padding:0 18px 16px}
  .saved-phone figcaption{padding:8px 0 0}
  .tool-banner{--tool-gutter:20px;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;margin-bottom:48px;padding-block:10px}
  .tool-banner-label{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
  .tool-banner-label>a{font-size:10px;margin-top:0}
  .tool-banner-group{gap:32px;padding-right:32px}
  .tool-banner-name{font-size:26px;gap:9px}
  .tool-banner-name .platform-logo{width:24px;height:24px}
}
@media(max-width:360px){.tool-banner{--tool-gutter:16px}}
@media(prefers-reduced-motion:reduce){
  .tool-banner{grid-template-columns:auto minmax(0,1fr)}
  .tool-banner-track{animation:none;transform:none;width:100%}
  .tool-banner-group{flex-wrap:wrap;gap:14px 24px;padding:0;width:100%}
  .tool-banner-group+.tool-banner-group,.tool-banner-name:nth-child(n+5),.tool-banner-controls{display:none}
  .tool-banner-name{font-size:26px}
  .tool-banner-name .platform-logo{width:24px;height:24px}
}
@media(prefers-reduced-motion:reduce) and (max-width:760px){
  .tool-banner{grid-template-columns:1fr;gap:14px;padding-block:14px}
  .tool-banner-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .tool-banner-name{font-size:24px}
}
.mini-guide img{object-position:center top}
.skip{top:8px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{width:auto;height:auto;padding:12px;overflow:visible;clip-path:none}
.proof-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;border-top:1px solid var(--line);padding-top:32px;margin-bottom:40px}
.proof-heading h2{font-size:clamp(30px,2.8vw,40px);line-height:1.05}
.proof-heading>p{font-size:14px;color:var(--muted);max-width:260px}
.case-selector{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:56px;overflow:visible}
.case-button{text-align:left;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-height:72px;padding:14px 18px;border:1px solid var(--muted);border-radius:12px;background:var(--cream);color:var(--ink);white-space:normal;font-size:16px;line-height:1.2;font-weight:700}
.case-button:not(.active){color:var(--ink)}
.case-button.active{background:var(--ink);color:var(--cream);border-color:var(--ink);font-weight:700}
.case-button span{flex:none;font-size:11px;margin:0;border:0;border-radius:0;padding:0;font-weight:500;color:var(--muted)}
.case-button.active span{color:var(--cream)}
.case-button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media(hover:hover){.case-button:not(.active):hover{background:var(--paper);border-color:var(--ink)}}
.series-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(48px,6vw,88px);align-items:start;max-width:1280px;margin-inline:auto}
.showcase-stage{aspect-ratio:3/4;background:var(--paper)}
.showcase-stage.animal-finale::before,.shot-thumb.animal-finale::before{content:"";position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;background:url('assets/animals-stamp-traced.svg') center/100% 100% no-repeat;pointer-events:none;transform:scale(.85);transform-origin:left top}
.shot-thumb.animal-finale{position:relative}
.shot-thumb.animal-finale::before{height:auto;aspect-ratio:3/4}
.showcase-stage,#newcomer-image{touch-action:pan-y pinch-zoom}
.showcase-stage img,#newcomer-image{-webkit-user-drag:none;user-select:none}
.showcase-stage:focus-visible,#newcomer-image:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.newcomer-image-stage{position:relative}
.image-navigation-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:44px;height:44px;padding:0;place-items:center;border:1px solid var(--ink);border-radius:50%;background:var(--pink);color:var(--ink);box-shadow:0 2px 8px #24221f26;touch-action:manipulation}
.image-navigation-arrow.previous{left:12px}
.image-navigation-arrow.following{right:12px}
.image-navigation-arrow .icon{width:22px;height:22px}
.image-navigation-arrow.previous .icon{transform:rotate(180deg)}
.image-navigation-arrow:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.image-navigation-arrow:active{background:var(--cream)}
@media(max-width:760px),(pointer:coarse){.image-navigation-arrow{display:grid}.series-navigation .next-shot{display:none}}
.series-details{min-width:0;padding-top:24px}
.showcase-meta{display:flex;flex-direction:column;align-items:start;gap:20px;padding:0}
.showcase-meta>span{font-size:12px;color:var(--muted)}
.showcase-meta h3{font-size:clamp(28px,2.8vw,42px);max-width:450px;line-height:1.06}
.brief-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-top:32px;color:var(--muted)}
.case-brief{font-size:17px;line-height:1.55;margin-top:8px;max-width:440px}
.series-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:40px;margin-bottom:16px;padding:16px 0}
.series-navigation>p{display:flex;align-items:center;gap:13px;font-size:13px}
.series-navigation .stage-counter{position:static;padding:0;border-radius:0;background:none;font-size:12px;white-space:nowrap}
.series-navigation .next-shot{position:static;border:1px solid var(--line);width:44px;height:44px;flex:none}
.shot-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;align-items:start}
.shot-thumb img{width:100%;height:auto;aspect-ratio:3/4;background:var(--paper)}
.shot-thumb span{font-size:11px;gap:6px;margin-top:8px}
.series-details .provenance{font-size:11px;margin-top:28px;max-width:440px}
.gallery-note{font-size:12px;color:var(--muted);margin-top:28px}
.platform-progress{border-top:1px solid var(--line);margin-top:40px;padding-top:28px}
.platform-progress>h3{font-size:34px}
.platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:24px}
.platform-grid article{border-top:1px solid var(--line);padding-top:17px}
.platform-grid h4{display:flex;align-items:center;gap:11px;min-height:36px;font-size:19px;margin:0 0 12px}
.platform-grid .platform-logo{display:block;width:30px;height:30px;flex:none}
.platform-grid p{font-size:15px}
.platform-grid span{display:block;font-size:13px;color:var(--muted);margin-top:10px;max-width:225px}
.platform-footnote{font-size:12px;color:var(--muted);margin-top:20px}
@media(max-width:1100px){.case-selector{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:48px}.series-layout{gap:40px}.case-button{font-size:15px}.showcase-meta h3{font-size:30px}.platform-grid{gap:20px}}
@media(max-width:960px){.series-layout{grid-template-columns:1fr;max-width:620px;gap:36px}.series-details{padding-top:0}}
@media(max-width:760px){
  .proof-heading{display:block;padding-top:24px;margin-top:0;margin-bottom:32px}
  .proof-heading h2{font-size:30px;max-width:290px}
  .proof-heading>p{font-size:14px;margin-top:20px}
  .case-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:36px}
  .case-button{font-size:14px;min-height:68px;padding:12px 16px;align-items:flex-start}
  .case-button span{font-size:11px;padding:0}
  .series-layout{grid-template-columns:1fr;gap:32px}
  .showcase-meta h3{font-size:32px}
  .showcase-meta>span{font-size:11px;margin:0}
  .showcase-meta{gap:16px}
  .brief-label{margin-top:28px}
  .case-brief{font-size:16px}
  .series-navigation{margin-top:32px;margin-bottom:16px}
  .shot-strip{grid-auto-columns:clamp(80px,22vw,100px);gap:12px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}
  .shot-thumb{scroll-snap-align:start}
  .shot-thumb span{font-size:11px;min-height:3.5em}
  .gallery-note{font-size:11px;margin-top:24px}
  .platform-progress{margin-top:30px;padding-top:24px}
  .platform-progress>h3{font-size:30px}
  .platform-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
  .platform-grid h4{font-size:18px}.platform-grid p{font-size:14px}.platform-grid span{font-size:12px}
}
