/* The same editorial identity, with motion tied to the work. */
:root { --motion-ease:cubic-bezier(.16,1,.3,1); }
html { scroll-padding-top:80px; }
body { overflow-x:clip; }
button, a { touch-action:manipulation; }
.reading-progress { position:fixed; inset:0 0 auto; height:3px; background:var(--ink); transform:scaleX(0); transform-origin:left; z-index:100; pointer-events:none; }
.topbar { min-height:86px; }
.brand-mark { transition:transform .7s var(--motion-ease); }
.brand:hover .brand-mark { transform:rotate(85deg); }
.nav a:not(.contact-link) { position:relative; }
.nav a:not(.contact-link)::after { content:""; position:absolute; bottom:3px; left:0; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .45s var(--motion-ease); }
.nav a:hover::after { transform:scaleX(1); transform-origin:left; }
.hero { overflow:clip; padding-top:64px; padding-bottom:58px; }
.hero h1 { font-size:clamp(76px,10.3vw,198px); line-height:.98; letter-spacing:-.07em; }
.hero-line { display:block; transform:translateX(calc(-1 * var(--hero-shift,0px))); opacity:var(--hero-fade,1); filter:blur(var(--hero-blur,0px)); }
.hero h1 .second { transform:translateX(var(--hero-shift,0px)); }
.hero-line > span { display:inline-block; }
.hero-line.second > span { transition-delay:.1s; }
.hero .second { color:#71736b; }
.hero-meta { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid var(--line); padding-top:20px; margin-top:42px; grid-column:1/-1; }
.hero-meta p { font-size:13px; margin:0; }
.hero-meta a { display:flex; align-items:center; gap:24px; font-size:14px; }
.scroll-cue { display:inline-grid; place-items:center; width:32px; height:32px; border:1px solid var(--line); border-radius:50%; }
.eyebrow, .project-meta { font-size:14px; }
.work-heading { padding-top:20px; margin-bottom:25px; }
.reveal-word { display:inline-block; transform-origin:left bottom; }
.motion .enter-item { opacity:0; transform:translateY(28px); filter:blur(5px); transition:opacity .85s var(--motion-ease),transform 1.1s var(--motion-ease),filter .85s var(--motion-ease); }
.motion .enter-item.in-view { opacity:1; transform:none; filter:none; }
[data-media-reveal] { clip-path:inset(0 var(--reveal-inset,0%) round var(--reveal-round,0px)); }
[data-parallax] { transform:translate3d(0,var(--parallax-y,0px),0) scale(1.1); }

/* First project: four independent designs settle into one family. */
.can-feature { background:#e7dfd3; }
.can-feature-simple .feature-bottom { justify-content:flex-end; }
.can-stage { background:#e7dfd3 url('/assets/tenaya-limestone.webp') center / cover no-repeat; }
.can-stage .stage-copy { color:#173637; }
.can-stage .stage-small { opacity:.85; }
.can-feature[data-view=whole] .feature-view-label { color:#173637; opacity:.8; }
.can-feature[data-view=whole] .view-switch { background:#f6f2eac9; border-color:#17363733; color:#173637; }
.can-feature[data-view=whole] .view-switch button[aria-pressed=true] { background:#173637; color:#faf8f3; }
.can-feature[data-view=whole] .feature-link { background:#173637; color:#faf8f3; }
.can-feature[data-view=whole] .feature-link:hover { background:#315655; }
.can-chapter { position:relative; }
.can-chapter .can-feature { height:72svh; min-height:510px; max-height:940px; aspect-ratio:auto; }
.pin-motion .can-chapter { height:150svh; }
.pin-motion .can-chapter .can-pin { position:sticky; top:64px; }
.can-chapter .can-collection img { transform:translate3d(var(--can-x,0px),var(--can-y,0px),0) rotate(var(--can-rotation,0deg)); filter:drop-shadow(8px 22px 14px #493f3433) drop-shadow(0 3px 2px #3a302026); transition:filter .4s; }
.can-chapter .can-collection img:hover { filter:drop-shadow(10px 28px 16px #493f3440) drop-shadow(0 4px 3px #3a302026); }
.can-chapter .stage-copy strong { font-size:clamp(44px,5.4vw,110px); }
.can-chapter .stage-copy > .eyebrow { font-size:13px; }
.can-chapter .stage-small { font-size:15px; }
.chapter-progress { height:2px; background:#fff2; position:absolute; inset:0 0 auto; z-index:6; }
.chapter-progress i { display:block; height:100%; background:var(--accent); transform:scaleX(0); transform-origin:left; }
.can-feature[data-view=whole] .chapter-progress { background:#1736371f; }
.can-feature[data-view=whole] .chapter-progress i { background:#173637; }
.chapter-steps { display:flex; align-items:center; gap:32px; padding:17px 0 0; }
.chapter-step { font-size:13px; color:var(--muted); display:flex; align-items:center; gap:9px; transition:color .3s; }
.chapter-step b { font-size:12px; font-weight:400; }
.chapter-step.is-active { color:var(--ink); }
.chapter-step.is-active b { background:var(--ink); color:var(--paper); }
.chapter-step b { display:grid; place-items:center; border:1px solid var(--line); width:25px; height:25px; border-radius:50%; }
.feature-caption { grid-template-columns:1fr 1fr; padding-top:32px; padding-bottom:85px; }
.feature-caption .project-title { font-size:clamp(30px,3vw,48px); }
.feature-link, [data-magnetic] { transition:translate .5s var(--motion-ease),background .3s; }

/* A measured pause between the identity work and the digital work. */
.manifesto { background:#000; color:var(--paper); padding-block:100px; }
.manifesto-inner { display:grid; grid-template-columns:1fr 2.8fr; gap:5vw; }
.manifesto-label { color:#bdc1b5; padding-top:12px; }
.manifesto-copy { font-size:clamp(43px,6.5vw,112px); font-weight:400; line-height:1.09; letter-spacing:-.055em; margin:0; max-width:17ch; }
.manifesto-copy em { color:var(--accent); font-style:normal; }
.manifesto-bottom { margin-top:45px; font-size:16px; line-height:1.6; max-width:47ch; color:#bdc1b5; }
.pin-motion .manifesto { min-height:164svh; padding-block:0; }
.pin-motion .manifesto-inner { position:sticky; top:0; min-height:100svh; align-content:center; padding-block:70px; }
.work-section-title { padding-block:90px 38px; display:flex; justify-content:space-between; align-items:end; gap:30px; }
.work-section-title h2 { max-width:15ch; }
.work-section-title p { max-width:30ch; font-size:16px; line-height:1.55; color:var(--muted); }
.brand-work-heading #digital-title { max-width:none; }
@media(min-width:1100px) {
  .brand-work-heading { flex-wrap:wrap; }
  .brand-work-heading #digital-title { font-size:clamp(42px,4.7vw,90px); }
  .brand-heading-line { white-space:nowrap; }
  .brand-work-heading p { flex:0 0 235px; margin-left:auto; }
}

/* Two editorial covers stack as their stories arrive. */
.project-stack { padding-bottom:35px; }
.stack-card { position:relative; margin-bottom:30px; }
.pin-motion .stack-card { position:sticky; top:35px; }
.pin-motion .stack-card:focus-within { z-index:8; }
.stack-surface { min-height:650px; height:83svh; max-height:1000px; overflow:hidden; position:relative; color:white; background:#151816; transform:scale(var(--stack-scale,1)); transform-origin:center top; }
.stack-surface::after { content:""; position:absolute; inset:0; background:#050805; opacity:var(--stack-shade,0); pointer-events:none; z-index:5; }
.stack-media { position:absolute; inset:0; display:block; overflow:hidden; }
.stack-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#0004 0%,transparent 40%,#000c 100%); pointer-events:none; }
.stack-media img, .stack-media video { width:100%; height:100%; object-fit:cover; }
.stack-card.evs .stack-media img { object-position:center 59%; filter:brightness(.78); }
.stack-top, .stack-bottom { position:absolute; left:38px; right:38px; pointer-events:none; }
.stack-top { top:30px; display:flex; justify-content:space-between; gap:20px; font-size:14px; }
.stack-bottom { bottom:35px; display:grid; grid-template-columns:1.2fr 1fr 66px; gap:35px; align-items:end; }
.stack-bottom a { pointer-events:auto; }
.stack-bottom h3 { font-size:clamp(42px,6vw,98px); letter-spacing:-.055em; font-weight:500; line-height:1; margin:0 0 12px; }
.stack-bottom p { font-size:17px; line-height:1.6; max-width:34ch; margin:0; color:#e5e6df; }
.stack-bottom .project-meta { color:#e5e6df; }
.round-link { display:grid; place-items:center; width:62px; height:62px; border:1px solid #fff8; border-radius:50%; font-size:26px; transition:background .3s,color .3s; }
.round-link:hover { background:var(--paper); color:var(--ink); }
.project-cursor { position:fixed; top:0; left:0; padding:18px 24px; border-radius:50px; background:var(--accent); color:var(--ink); font-size:14px; z-index:60; opacity:0; pointer-events:none; transition:opacity .2s; }
.project-cursor.is-visible { opacity:1; }
.expanded-grid { gap:70px 28px; padding-top:35px; }
.expanded-grid .image-link { aspect-ratio:1.32; position:relative; }
.expanded-grid .image-link:focus-visible { clip-path:none; }
.expanded-grid .project-card img { object-position:top; transition:none; }
.expanded-grid .project-card .image-link:hover img { transform:translate3d(0,var(--parallax-y,0px),0) scale(1.1); }
.grid-video-cover { position:relative; }
.grid-video-cover:focus-within { clip-path:none!important; }
.expanded-grid .grid-video-cover .image-link { background:#111; }
.grid-video-cover video { display:block; width:100%; height:100%; object-fit:cover; }
.expanded-grid .project-title { font-size:clamp(29px,3vw,44px); }
.card-description { color:var(--muted); line-height:1.6; font-size:16px; max-width:49ch; margin:16px 0 0; }
.project-card.wide-card { grid-column:1/-1; display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:6vw; }
.project-card.wide-card .image-link { aspect-ratio:1.45; }
.expanded-grid .magic-image img { object-position:50% 14%; }
.project-card.wide-card .card-caption { display:block; }
.wide-card .project-title { font-size:clamp(35px,4.5vw,70px); }
.wide-card .text-link { margin-top:25px; }
.card-kicker { display:block; margin-bottom:24px; }
.scroll-type { overflow:hidden; margin-top:100px; padding-block:45px 60px; border-block:1px solid var(--line); }
.scroll-type p { font-size:clamp(48px,8.5vw,150px); font-weight:400; line-height:1.05; letter-spacing:-.06em; white-space:nowrap; margin:0; width:max-content; transform:translateX(var(--type-shift,0px)); }
.scroll-type p + p { transform:translateX(calc(-100px - var(--type-shift,0px))); color:#86897d; }
.about-section { padding-block:115px; }
.about-feature { grid-template-columns:minmax(0,min(38%,500px)) minmax(0,1fr); align-items:center; gap:clamp(40px,6vw,110px); padding-block:clamp(70px,8vw,150px); }
.about-profile { margin:0; max-width:500px; width:100%; }
.about-portrait-frame { aspect-ratio:1; overflow:hidden; background:var(--ink); }
.about-portrait-frame img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.about-profile figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; padding-top:20px; font-size:14px; line-height:1.5; }
.about-profile figcaption strong { font-weight:500; }
.about-profile figcaption span { color:var(--muted); }
.about-feature .about-kicker { display:block; margin-bottom:30px; color:var(--muted); font-size:13px; }
.about-feature .section-title { font-size:clamp(42px,4.6vw,82px); max-width:18ch; line-height:1.06; }
.about-heading-close { color:#74776d; }
.about-feature .about-body { grid-template-columns:1fr; gap:18px; max-width:48ch; margin-block:32px; }
.about-feature .about-body p { font-size:clamp(16px,1.15vw,19px); }
.about-feature .about-more { justify-content:space-between; width:min(100%,290px); font-size:16px; padding-bottom:14px; }
@media(max-width:900px) {
  .about-feature { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:35px; }
  .about-feature .section-title { font-size:clamp(36px,4.8vw,48px); }
  .about-feature .about-kicker { margin-bottom:22px; }
}
@media(max-width:700px) {
  .about-section.about-feature { grid-template-columns:1fr; gap:40px; padding-block:65px; }
  .about-profile { max-width:440px; }
  .about-feature .section-title { font-size:clamp(36px,8.5vw,54px); max-width:20ch; }
  .about-feature .about-body { margin-block:26px; }
}

/* Case-study chapters keep the overview, evidence and decisions close together. */
.chapter-nav { position:sticky; top:0; z-index:20; display:flex; gap:30px; align-items:center; min-height:64px; background:#f7f7f3ee; backdrop-filter:blur(14px); border-bottom:1px solid var(--line); padding-inline:var(--gutter); overflow-x:auto; }
.chapter-nav > span { margin-right:auto; font-size:13px; color:var(--muted); white-space:nowrap; }
.chapter-nav a { font-size:14px; white-space:nowrap; padding-block:21px 18px; border-bottom:2px solid transparent; }
.chapter-nav a[aria-current] { border-color:var(--ink); }
[data-chapter] { scroll-margin-top:0; }
.case-cover-frame { overflow:hidden; }
.case-cover-frame .case-hero { transform:translateY(var(--parallax-y,0px)) scale(1.1); }
.story-pair { display:grid; grid-template-columns:1fr 1fr; gap:4vw; margin-top:42px; }
.story-pair h3 { font-size:24px; font-weight:500; letter-spacing:-.035em; margin:0 0 15px; }
.story-pair p { font-size:17px; line-height:1.6; margin:0; max-width:36ch; }
.decision-notes { margin-top:0; padding-block:60px 75px; background:#e9ebe3; }
.decision-note-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:45px; }
.decision-note { border-top:1px solid #bdc1b2; padding-top:24px; }
.decision-note > span { font-size:13px; color:var(--muted); }
.decision-note h3 { font-size:27px; font-weight:500; letter-spacing:-.04em; margin:28px 0 18px; }
.decision-note p { font-size:17px; line-height:1.6; margin:0; }
.media-figure { margin:0; }
.media-figure img { width:100%; }
.media-figure figcaption { display:flex; justify-content:space-between; gap:20px; font-size:13px; color:var(--muted); padding-block:18px 26px; }
.screen-presentation { background:#e1e4d9; padding:5vw; overflow:hidden; }
.screen-presentation img { width:100%; height:auto; }
.split-evidence { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; padding-block:25px 45px; }
.split-evidence img { width:100%; height:auto; }
.technical-list { border-top:1px solid var(--line); margin-top:40px; }
.technical-row { display:grid; grid-template-columns:1fr 1.6fr; gap:35px; border-bottom:1px solid var(--line); padding-block:25px; }
.technical-row h3 { font-size:21px; letter-spacing:-.03em; font-weight:500; margin:0; }
.technical-row p { font-size:17px; line-height:1.6; margin:0; }
.project-film { padding:30px; background:#161916; }
.project-film video { width:100%; max-height:74svh; display:block; }
.project-film figcaption { color:#c9ccbf; padding-bottom:0; }
.case-film-frame { position:relative; overflow:hidden; background:#080b09; }
.case-film video { display:block; width:100%; height:auto; max-height:85svh; object-fit:contain; }
.case-film figcaption a { white-space:nowrap; text-decoration:underline; text-underline-offset:4px; }
.evs-project-meta, .case-project-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin:0; padding-bottom:65px; }
.evs-project-meta dt, .case-project-meta dt { padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; margin-bottom:15px; }
.evs-project-meta dd, .case-project-meta dd { margin:0; font-size:17px; line-height:1.6; }
.evs-approach .decision-note-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.evs-highlight-evidence { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:6vw; padding-bottom:55px; }
.evs-highlight-list h3 { font-size:clamp(28px,3vw,44px); font-weight:500; letter-spacing:-.04em; margin:0 0 28px; }
.evs-highlight-list ul { margin:0; padding:0; list-style:none; }
.evs-highlight-list li { padding:18px 0; border-top:1px solid var(--line); font-size:17px; line-height:1.55; }
.evs-screenshot-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; align-items:start; padding-block:10px 65px; }
.evs-screenshot-gallery .evs-screenshot:last-child { grid-column:1/-1; width:100%; max-width:1250px; justify-self:center; }
.evs-screenshot img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.evs-client-quote, .project-client-quote { background:var(--ink); color:var(--paper); padding-block:70px; }
.evs-client-quote blockquote, .project-client-quote blockquote { max-width:22ch; margin:30px 0; font-size:clamp(34px,5vw,80px); line-height:1.1; letter-spacing:-.045em; }
.evs-client-quote p, .project-client-quote p { margin:0; color:#cbd0c0; font-size:15px; line-height:1.6; }
.project-client-quote .eyebrow { font-weight:400; }
.tin-evidence { padding-block:60px 35px; }
.tin-evidence .tin-screenshot { max-width:1100px; margin-inline:auto; }
.tin-report { padding-top:0; }
.tin-full-site { padding-bottom:80px; }
.tin-full-site .tin-screenshot { max-width:1000px; margin-inline:auto; }
.tin-full-site .artwork-expand { position:sticky; display:table; margin:0 15px 15px auto; bottom:20px; }
@media(max-width:700px) {
  .case-film figcaption { flex-direction:column; gap:8px; }
  .evs-project-meta, .case-project-meta { grid-template-columns:1fr; gap:18px; padding-bottom:40px; }
  .evs-approach .decision-note-grid, .evs-highlight-evidence, .evs-screenshot-gallery { grid-template-columns:1fr; }
  .evs-highlight-evidence { gap:35px; }
  .evs-highlight-list li { font-size:16px; }
}
.editorial-number { font-size:clamp(60px,9vw,150px); letter-spacing:-.06em; line-height:1; margin:25px 0 12px; }
.project-facts { display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; border-top:1px solid var(--line); padding-block:40px 60px; }
.project-facts h3 { font-size:15px; font-weight:400; margin:0; }
.project-facts p { font-size:16px; color:var(--muted); line-height:1.6; max-width:28ch; }
.case-credits { font-size:14px; line-height:1.6; }

/* On large screens, normal vertical scrolling walks across the design collection.
   Small screens and reduced-motion readers get a native horizontal gallery. */
.horizontal-story { position:relative; padding-block:70px; background:#172d2e; color:#f4f2df; }
.horizontal-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:35px; }
.horizontal-heading h2 { font-size:clamp(40px,4.2vw,76px); }
.horizontal-heading p { font-size:15px; line-height:1.5; max-width:26ch; color:#c0cac1; }
.horizontal-viewport { overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-color:#879483 #233e3e; padding-bottom:16px; }
.horizontal-track { display:flex; gap:24px; width:max-content; padding-inline:var(--gutter); }
.design-panel { flex:0 0 auto; width:76vw; max-width:1450px; min-height:500px; display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:4vw; padding:38px 4vw; background:#284f51; scroll-snap-align:center; }
.design-panel:nth-child(2) { background:#244856; }
.design-panel:nth-child(3) { background:#6d412c; }
.design-panel:nth-child(4) { background:#4c503a; }
.design-art { height:45svh; min-height:320px; max-height:620px; display:flex; justify-content:center; align-items:center; }
.design-art img { height:100%; width:auto; max-width:85%; object-fit:contain; filter:drop-shadow(12px 23px 14px #0005); transform:rotate(-8deg); }
.design-panel:nth-child(even) .design-art img { transform:rotate(7deg); }
.design-copy .eyebrow { color:#d6ddce; font-size:13px; }
.design-copy h3 { font-size:clamp(34px,4vw,70px); font-weight:500; line-height:1; letter-spacing:-.05em; margin:30px 0 25px; }
.design-copy p { font-size:18px; line-height:1.6; max-width:32ch; margin:0; color:#f3f1e2; }
.gallery-controls { display:flex; gap:13px; align-items:center; margin-top:25px; }
.gallery-controls [data-gallery-count] { margin-right:20px; min-width:65px; font-variant-numeric:tabular-nums; font-size:14px; }
.gallery-controls button { width:42px; height:42px; border:1px solid #b2c4b87a; background:transparent; color:inherit; border-radius:50%; font-size:20px; }
.gallery-controls button:hover:not(:disabled) { background:#f7f7f3; color:#172d2e; }
.gallery-controls button:disabled { opacity:.3; cursor:default; }
.gallery-progress { height:1px; background:#ffffff30; flex:1; margin-left:15px; }
.gallery-progress i { display:block; width:100%; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; }
.pin-motion .horizontal-story { padding:0; height:calc(100svh + var(--travel,2000px)); }
.pin-motion .horizontal-pin { position:sticky; top:64px; height:calc(100svh - 64px); display:flex; flex-direction:column; justify-content:center; padding-block:26px; overflow:hidden; }
.pin-motion .horizontal-heading { margin-bottom:22px; }
.pin-motion .horizontal-viewport { overflow:hidden; flex-shrink:0; padding-bottom:0; }
.pin-motion .design-panel { min-height:0; height:53svh; padding-block:25px; }
.pin-motion .design-art { height:43svh; min-height:0; }
.pin-motion .gallery-controls { margin-top:20px; }

.contact-display { overflow:clip; }
.contact-display .contact-words { display:inline-block; }
.motion .contact-display:hover .contact-words { animation:contact-nudge .65s var(--motion-ease); }
@keyframes contact-nudge { 0%{transform:translateY(0)} 42%{transform:translateY(-12%);filter:blur(2px)} 100%{transform:translateY(0);filter:blur(0)} }
::view-transition-old(root) { animation:page-out .25s ease both; }
::view-transition-new(root) { animation:page-in .5s var(--motion-ease) both; }
@keyframes page-out { to{opacity:0;transform:translateY(-12px)} }
@keyframes page-in { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }

@media(min-width:1800px) {
  .hero { padding-bottom:70px; }
  .stack-surface { max-height:1050px; }
}
@media(max-width:1050px) {
  .hero h1 { font-size:10.5vw; }
  .stack-bottom { grid-template-columns:1fr 1fr 54px; gap:20px; }
  .stack-bottom p { font-size:16px; }
  .round-link { width:50px; height:50px; }
  .design-panel { width:85vw; }
  .design-copy p { font-size:16px; }
}
@media(max-width:900px), (max-height:649px) {
  .can-chapter .can-feature { min-height:420px; height:auto; aspect-ratio:1.5; }
  .stack-surface { height:75svh; min-height:530px; }
  .manifesto-inner { grid-template-columns:1fr; gap:40px; }
  .manifesto-copy { max-width:19ch; }
  .design-panel { min-height:460px; }
}
@media(max-width:700px) {
  .topbar { min-height:76px; }
  .hero { padding-block:32px; gap:26px; }
  .hero h1 { font-size:16.8vw; line-height:1; letter-spacing:-.07em; }
  .hero h1 .second { padding-left:4vw; }
  .hero-note { align-items:start; }
  .hero-note p { max-width:23ch; }
  .hero-note .tiny-line { display:none; }
  .hero-meta { margin-top:0; padding-top:18px; align-items:start; }
  .hero-meta p { font-size:12px; max-width:18ch; line-height:1.6; }
  .hero-meta a { font-size:13px; gap:10px; }
  .work-heading { padding-top:14px; }
  .work-heading .eyebrow { font-size:12px; }
  .can-chapter .can-feature { aspect-ratio:.96; min-height:355px; height:auto; }
  .can-chapter .stage-copy strong { font-size:38px; }
  .can-chapter .stage-small { font-size:12px; max-width:12ch; }
  .can-chapter .can-collection { bottom:46px; height:69%; width:88%; left:6%; }
  .chapter-steps { gap:14px; padding-top:15px; flex-wrap:wrap; }
  .chapter-step { font-size:12px; gap:6px; }
  .chapter-step b { width:22px; height:22px; font-size:12px; }
  .feature-caption { grid-template-columns:1fr; padding-top:25px; padding-bottom:55px; }
  .feature-caption .project-title { font-size:34px; }
  .project-meta { font-size:13px; }
  .manifesto { padding-block:65px; }
  .manifesto-inner { gap:35px; }
  .manifesto-copy { font-size:clamp(38px,9vw,63px); letter-spacing:-.055em; line-height:1.12; }
  .manifesto-bottom { margin-top:28px; }
  .work-section-title { display:block; padding-block:60px 30px; }
  .work-section-title h2 { font-size:40px; }
  .work-section-title p { max-width:33ch; margin-top:20px; }
  .stack-surface { height:77svh; min-height:555px; }
  .stack-top { top:23px; left:20px; right:20px; font-size:12px; }
  .stack-bottom { left:22px; right:22px; bottom:25px; grid-template-columns:1fr 48px; gap:23px 12px; }
  .stack-bottom h3 { font-size:45px; }
  .stack-bottom p { grid-row:2; grid-column:1/-1; max-width:32ch; font-size:16px; }
  .stack-bottom .round-link { grid-row:1; grid-column:2; }
  .stack-card.evs .stack-media img { object-position:center; }
  .project-stack { padding-bottom:5px; }
  .expanded-grid { padding-top:12px; gap:44px; }
  .expanded-grid .image-link { aspect-ratio:1.2; }
  .project-card.wide-card { display:block; }
  .project-card.wide-card .image-link { aspect-ratio:1.2; }
  .wide-card .card-kicker { margin:10px 0 18px; }
  .wide-card .project-title { font-size:34px; }
  .scroll-type { margin-top:60px; padding-block:30px; }
  .scroll-type p { font-size:16vw; }
  .about-section { padding-block:70px; }
  .chapter-nav { min-height:54px; gap:22px; }
  .chapter-nav > span { display:none; }
  .chapter-nav a { font-size:13px; padding-block:18px 15px; }
  .story-pair, .decision-note-grid { grid-template-columns:1fr; gap:32px; }
  .decision-notes { padding-block:45px; }
  .decision-note h3 { margin-top:20px; }
  .split-evidence { grid-template-columns:1fr; gap:22px; }
  .technical-row { grid-template-columns:1fr; gap:16px; }
  .project-facts { gap:22px; padding-block:25px; }
  .editorial-number { font-size:49px; margin-block:12px; }
  .project-facts h3 { font-size:13px; }
  .project-facts p { font-size:14px; }
  .project-film { padding:12px; }
  .media-figure figcaption { font-size:12px; line-height:1.5; flex-wrap:wrap; }
  .horizontal-story { padding-block:48px; }
  .horizontal-heading { display:block; margin-bottom:28px; }
  .horizontal-heading h2 { font-size:40px; }
  .horizontal-heading p { margin-top:20px; }
  .design-panel { grid-template-columns:1fr; gap:28px; width:83vw; min-height:0; padding:32px 26px; }
  .design-art { height:260px; min-height:0; }
  .design-copy h3 { font-size:35px; margin:18px 0; }
  .design-copy p { font-size:16px; line-height:1.55; }
  .gallery-controls { margin-top:18px; }
  .gallery-controls [data-gallery-count] { margin-right:8px; }
  .case-credits { font-size:13px; }
}
@media(hover:none) { .project-cursor { display:none; } }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .enter-item, .reveal-word { opacity:1!important; filter:none!important; transform:none!important; }
  [data-parallax], .stack-surface, .hero-line, .horizontal-track, .scroll-type p { transform:none!important; filter:none!important; opacity:1!important; }
  [data-media-reveal] { clip-path:none; }
  .project-cursor { display:none!important; }
  .can-collection img { transform:none!important; }
  .pin-motion .can-chapter, .pin-motion .manifesto, .pin-motion .horizontal-story { height:auto; min-height:0; }
  .pin-motion .can-pin, .pin-motion .manifesto-inner, .pin-motion .horizontal-pin, .pin-motion .stack-card { position:relative; top:auto; height:auto; min-height:0; }
  .horizontal-viewport { overflow-x:auto!important; }
  ::view-transition-old(root), ::view-transition-new(root) { animation:none; }
}
@media print {
  .topbar,.chapter-nav,.reading-progress,.project-cursor,.horizontal-heading p,.gallery-controls,.chapter-steps { display:none; }
  .pin-motion .can-chapter,.pin-motion .manifesto,.pin-motion .horizontal-story { height:auto; min-height:0; }
  .pin-motion .can-pin,.pin-motion .manifesto-inner,.pin-motion .horizontal-pin,.pin-motion .stack-card { position:relative; height:auto; top:auto; }
  .horizontal-track { display:block; width:auto; transform:none!important; }
  .design-panel { width:100%; break-inside:avoid; margin-block:20px; }
  .enter-item,.reveal-word { opacity:1!important; filter:none!important; transform:none!important; }
}
/* Give the testimonial's author and executive role a clear visual hierarchy. */
.quote-attribution { justify-content:space-between; align-items:flex-end; gap:30px; padding-top:28px; border-top:1px solid #ffffff25; }
.quote-person { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.quote-person strong { font-size:22px; margin-bottom:6px; }
.quote-role { font-size:17px; color:#cbd0c0; }
.quote-company { font-size:22px; line-height:1.4; letter-spacing:-.025em; }
.quote-carousel .quote-top { align-items:center; gap:24px; min-height:48px; }
.testimonial-controls { display:flex; gap:12px; }
.testimonial-controls button { display:grid; place-items:center; width:48px; height:48px; border:1px solid #ffffff55; border-radius:50%; background:transparent; color:var(--paper); font-size:24px; transition:background .25s,color .25s,border-color .25s; }
.testimonial-controls button:hover { background:var(--accent); border-color:var(--accent); color:var(--ink); }
.testimonial-stage { touch-action:pan-y pinch-zoom; }
.testimonial-slide { display:flex; flex-direction:column; min-width:0; }
.testimonial-slide + .testimonial-slide { margin-top:65px; }
.quote-carousel.is-ready .testimonial-stage { display:grid; }
.quote-carousel.is-ready .testimonial-slide { grid-area:1/1; margin-top:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(22px); filter:blur(4px); transition:opacity .5s var(--motion-ease),transform .65s var(--motion-ease),filter .5s var(--motion-ease),visibility .65s; }
.quote-carousel.is-ready .testimonial-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:none; filter:none; }
.quote-carousel .testimonial-quote { flex:1; }
.quote-carousel .quote-attribution { min-height:135px; align-items:flex-start; }
.testimonial-selectors { display:flex; justify-content:flex-end; gap:5px; margin-top:25px; }
.testimonial-selectors button { width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; background:transparent; }
.testimonial-selectors button span { width:24px; height:3px; background:#72766a; transition:background .25s; }
.testimonial-selectors button[aria-pressed=true] span { background:var(--accent); }
.testimonial-controls[hidden], .testimonial-selectors[hidden] { display:none; }
.quote-carousel .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(prefers-reduced-motion:reduce) {
  .quote-carousel.is-ready .testimonial-slide { transition:none; transform:none; filter:none; }
}
@media print {
  .quote-carousel.is-ready .testimonial-stage { display:block; }
  .quote-carousel.is-ready .testimonial-slide { opacity:1; visibility:visible; filter:none; transform:none; margin-bottom:40px; }
  .testimonial-controls, .testimonial-selectors { display:none; }
}
@media(max-width:700px) {
  .quote-attribution { align-items:flex-start; gap:25px; padding-top:24px; }
  .quote-person strong, .quote-company { font-size:20px; }
  .quote-role { font-size:16px; }
}

/* One scroll interpolator; native touch and reduced-motion input stay direct. */
html.lenis { scroll-behavior:auto!important; }
html.artwork-open { overflow:hidden; }

/* The full collection uses complete compositions, with originals one click away. */
.tenaya-preview { padding-bottom:70px; }
.preview-heading { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:24px; }
.tenaya-preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tenaya-preview-grid > a > div { background:#e6e8df; overflow:hidden; aspect-ratio:1.4; }
.tenaya-preview-grid img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .7s var(--motion-ease); }
.tenaya-preview-grid a:hover img { transform:scale(1.035); }
.tenaya-preview-grid a > span { display:flex; justify-content:space-between; padding-top:15px; font-size:15px; }
.collection-intro { display:flex; align-items:end; justify-content:space-between; gap:35px; padding-bottom:32px; }
.collection-intro p { font-size:24px; line-height:1.35; max-width:29ch; margin:0; letter-spacing:-.025em; }
.collection-intro .eyebrow { font-size:12px; text-align:right; }
.collection-lineup { padding-bottom:65px; }
.collection-lineup .archive-art { max-width:850px; margin:auto; }
.archive-art { margin:0; min-width:0; }
.archive-art > a { position:relative; display:block; overflow:hidden; background:#e7e9e0; }
.archive-art img { display:block; width:100%; height:auto; }
.archive-art figcaption { display:flex; flex-direction:column; gap:6px; padding-top:16px; font-size:14px; line-height:1.45; }
.archive-art figcaption > span + span { color:var(--muted); font-size:12px; }
.artwork-expand { position:absolute; bottom:14px; right:14px; padding:9px 13px; border-radius:25px; background:#f7f7f3e8; color:var(--ink); font-size:12px; backdrop-filter:blur(10px); transition:background .25s; }
.archive-art a:hover .artwork-expand, .archive-art a:focus-visible .artwork-expand { background:var(--accent); }
.beer-family { padding-block:60px; border-top:1px solid var(--line); }
.beer-family-heading { display:grid; grid-template-columns:.65fr 1.2fr 1fr; gap:25px; align-items:start; margin-bottom:32px; }
.beer-family-heading h3 { font-size:clamp(30px,3vw,50px); font-weight:500; line-height:1.06; letter-spacing:-.045em; margin:0; }
.beer-family-heading p { font-size:16px; line-height:1.6; margin:0; max-width:40ch; color:var(--muted); }
.beer-family-heading .eyebrow { padding-top:7px; font-size:12px; }
.archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:32px 24px; }
.three-art { grid-template-columns:repeat(3,minmax(0,1fr)); }
.three-art .archive-art a { aspect-ratio:4/5; display:flex; align-items:center; }
.three-art .archive-art img { height:100%; object-fit:contain; }
.four-art .archive-art a { aspect-ratio:1; display:flex; align-items:center; }
.four-art .archive-art img { height:100%; object-fit:contain; }
.single-art { max-width:650px; grid-template-columns:1fr; margin-left:auto; }
.campaign-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:35px 18px; }
.campaign-grid .artwork-expand { font-size:11px; right:9px; bottom:9px; padding:7px 10px; }
.apparel-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.website-archive { max-width:1360px; margin:auto; }
.website-archive .archive-art { background:#e5e7df; padding:clamp(14px,3vw,45px); }
.website-archive .archive-art > a { max-height:none; }
.website-archive .artwork-expand { position:sticky; display:table; margin:0 15px 15px auto; bottom:20px; }
.artwork-dialog { width:min(1440px,calc(100vw - 48px)); height:calc(100dvh - 48px); max-width:none; max-height:none; padding:0; border:1px solid #484b43; background:#171a16; color:#f7f7f3; border-radius:10px; }
.artwork-dialog[open] { display:flex; flex-direction:column; }
.artwork-dialog::backdrop { background:#0a100ee6; backdrop-filter:blur(12px); }
.artwork-toolbar, .artwork-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 24px; flex-shrink:0; }
.artwork-toolbar { border-bottom:1px solid #ffffff25; }
.artwork-toolbar .eyebrow { font-size:12px; color:#c4c8be; }
.artwork-dialog button { flex-shrink:0; min-width:44px; min-height:44px; background:transparent; color:inherit; border:1px solid #ffffff50; border-radius:24px; padding:8px 16px; font:inherit; font-size:14px; }
.artwork-dialog button:hover:not(:disabled) { background:var(--accent); color:var(--ink); }
.artwork-dialog button:disabled { opacity:.3; cursor:default; }
.artwork-dialog :focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.artwork-view { min-height:0; flex:1; overflow:auto; overscroll-behavior:contain; padding:20px; text-align:center; scrollbar-color:#737c6d #171a16; }
.artwork-view img { display:block; margin:0 auto; width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 250px); }
.artwork-view.is-tall img { width:min(1200px,100%); max-height:none; }
.artwork-footer { border-top:1px solid #ffffff25; }
.artwork-footer p { margin:0; font-size:14px; line-height:1.5; }
.artwork-navigation { display:flex; gap:10px; align-items:center; }
.artwork-navigation > span { font-size:12px; white-space:nowrap; font-variant-numeric:tabular-nums; margin-right:10px; color:#c4c8be; }
.recognition-head h2 { font-size:clamp(35px,4vw,64px); }
.recognition-row { align-items:center; }
.recognition-row .org { display:flex; align-items:center; gap:12px; min-width:0; font-size:14px; line-height:1.4; }
.organization-icon { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; flex:0 0 32px; }
.organization-icon img { display:block; width:28px; height:28px; object-fit:contain; }
.org .organization-arrow { font-size:12px; color:var(--muted); }
.credential-brand { display:flex; align-items:center; gap:10px; }
.credential-brand .organization-icon { width:28px; height:28px; flex-basis:28px; }
.credential-brand .organization-icon img { width:24px; height:24px; }
.recognition-archive-link { display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid var(--line); padding-block:30px; }
.recognition-archive-link > div { display:flex; gap:25px; align-items:center; }
.recognition-archive-link strong { font-size:clamp(70px,9vw,120px); letter-spacing:-.075em; font-weight:400; line-height:1; }
.recognition-archive-link p { font-size:17px; line-height:1.5; margin:0; }
.recognition-archive-link p > span { font-size:13px; color:var(--muted); }
.credential-strip { display:flex; flex-wrap:wrap; gap:12px 25px; margin-top:28px; font-size:13px; color:var(--muted); }
.credentials-section { padding-bottom:80px; }
.credentials-section .work-section-title { padding-top:0; }
.credential-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 35px; }
.credential-card { border-top:1px solid var(--line); padding-top:25px; }
.credential-card h3 { margin:26px 0 15px; font-size:29px; font-weight:500; letter-spacing:-.035em; }
.credential-card p { font-size:16px; line-height:1.6; max-width:33ch; color:var(--muted); margin:0; }
.nomination-archive { padding-block:80px; background:#e8ebe1; scroll-margin-top:35px; }
.nomination-list { columns:2; column-gap:70px; padding:0; margin:0 0 32px; list-style:none; }
.nomination-list li { break-inside:avoid; padding-block:13px; border-bottom:1px solid #b7bdad6b; font-size:16px; line-height:1.5; }
@media(max-width:1050px) {
  .beer-family-heading { grid-template-columns:1fr 1fr; }
  .beer-family-heading > .eyebrow { grid-column:1/-1; }
  .campaign-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .tenaya-preview { padding-bottom:45px; }
  .preview-heading { align-items:start; flex-direction:column; gap:16px; }
  .tenaya-preview-grid { gap:12px; }
  .tenaya-preview-grid > a > div { aspect-ratio:.8; }
  .tenaya-preview-grid a > span { font-size:12px; gap:6px; line-height:1.5; }
  .collection-intro { align-items:start; flex-direction:column; gap:20px; }
  .collection-intro p { font-size:21px; }
  .collection-intro .eyebrow { text-align:left; }
  .collection-lineup { padding-bottom:40px; }
  .beer-family { padding-block:38px; }
  .beer-family-heading { grid-template-columns:1fr; gap:18px; }
  .beer-family-heading h3 { font-size:35px; }
  .archive-grid { gap:25px 14px; }
  .three-art { grid-template-columns:1fr 1fr; }
  .three-art .archive-art:first-child { grid-column:1/-1; }
  .three-art .archive-art:first-child a { max-height:650px; }
  .three-art .archive-art:not(:first-child) a { aspect-ratio:1; }
  .archive-art figcaption { font-size:13px; padding-top:12px; }
  .archive-art figcaption > span + span { font-size:11px; }
  .artwork-expand { right:8px; bottom:8px; font-size:10px; padding:7px 9px; }
  .campaign-grid, .apparel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .artwork-dialog { width:calc(100vw - 16px); height:calc(100dvh - 16px); border-radius:6px; }
  .artwork-toolbar, .artwork-footer { gap:14px; padding:12px; }
  .artwork-toolbar .eyebrow { font-size:10px; max-width:22ch; line-height:1.5; }
  .artwork-view { padding:12px; }
  .artwork-view img { max-height:calc(100dvh - 210px); }
  .artwork-footer { align-items:start; flex-direction:column; gap:12px; }
  .artwork-footer p { font-size:12px; }
  .artwork-navigation { width:100%; justify-content:end; }
  .artwork-navigation > span { margin-right:auto; }
  .recognition-archive-link { align-items:start; flex-direction:column; gap:24px; }
  .recognition-archive-link > div { gap:24px; }
  .recognition-archive-link p { font-size:15px; }
  .credential-grid { grid-template-columns:1fr 1fr; gap:35px 23px; }
  .credential-card h3 { font-size:24px; }
  .credential-card p { font-size:14px; }
  .credentials-section { padding-bottom:50px; }
  .nomination-archive { padding-block:50px; }
  .nomination-list { columns:1; }
}
@media(prefers-reduced-motion:reduce) {
  .tenaya-preview-grid img { transition:none; transform:none!important; }
}
