/* REALFOLD Blog, October 2026. A warm ivory reading room inside the dark site.
   Approved palette only: ivory #F3F1EB, ink #1A1B1A, cobalt #365BFF, deep blue
   #1732B0, periwinkle #A6B5FF, night #020204. Manrope only. The site header and
   footer are rebuilt here so Blog pages load this one stylesheet. Contrast on
   ivory: ink 15.3:1, muted 6.0:1, deep blue 8.8:1; white on cobalt 5.1:1. */
@font-face{font-family:Manrope;src:url('fonts/Manrope.woff') format('woff');font-style:normal;font-weight:200 800;font-display:swap}
:root{
  --ivory:#F3F1EB;--paper:#FAF8F3;--sand:#E7E3D8;--tint:#E8EBFA;
  --ink:#1A1B1A;--ink-soft:#3D3F3B;--muted:#5A5C57;--line:rgba(26,27,26,.14);--line-strong:rgba(26,27,26,.32);
  --cobalt:#365BFF;--cobalt-hover:#2443D6;--deep:#1732B0;--peri:#A6B5FF;--night:#020204;
  --font:Manrope,Arial,sans-serif;--ease:cubic-bezier(.22,.74,.18,1);--radius:16px;--btn-h:52px;--gutter:48px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{min-width:320px;background:var(--ivory);scroll-padding-top:96px;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
body{margin:0;min-width:320px;background:var(--ivory);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video,svg,picture{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
.wrap{width:min(1280px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.icon{display:block;width:18px;height:18px;flex:none}
:focus-visible{outline:3px solid var(--deep);outline-offset:4px;border-radius:4px}
main:focus{outline:none}
.skip-link{position:fixed;top:12px;left:20px;z-index:60;background:var(--ink);color:var(--ivory);padding:10px 16px;border-radius:8px;font-weight:650;text-decoration:none;transform:translateY(-180%);transition:transform .2s}
.skip-link:focus-visible{transform:none;outline-color:var(--cobalt)}
.preview-bar{background:var(--ink);color:var(--ivory);font-size:13px;line-height:18px;text-align:center;padding:8px 18px}

/* Header: the site header, light version. Like the homepage, it steps away while you
   scroll down a long article and comes back when you scroll up (header.js). */
.blog-header{height:88px;display:grid;grid-template-columns:190px 1fr 190px;align-items:center;position:sticky;top:0;z-index:40;transition:transform .45s var(--ease),height .35s var(--ease)}
.blog-header::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:rgba(243,241,235,.9);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line);opacity:0;transition:opacity .3s}
.blog-header.is-floating{height:72px}
.blog-header.is-floating::before{opacity:1}
.blog-header.is-hidden{transform:translateY(calc(-100% - 2px))}
.brand{display:inline-flex;width:max-content;align-items:center}
.brand img{width:180px;height:auto}
.main-nav{display:flex;align-items:center;justify-content:center;gap:32px}
.main-nav a{position:relative;font-size:14px;line-height:22px;color:var(--ink-soft);text-decoration:none;padding:6px 0;transition:color .2s}
/* Width, not transform, so the line keeps one thickness (see paper-pass.css). */
.main-nav a::after{content:'';position:absolute;left:0;bottom:1px;width:0;height:2px;border-radius:2px;background:var(--cobalt);transition:width .35s var(--ease)}
.main-nav a:hover{color:var(--ink)}
.main-nav a:hover::after,.main-nav a.is-current::after{width:100%}
.main-nav a.is-current{color:var(--ink);font-weight:650}
.menu-toggle{display:none}

/* Buttons: blue fill for the main action, ink outline for the second. */
.pill{min-height:var(--btn-h);width:max-content;padding:0 20px 0 24px;display:inline-flex;align-items:center;gap:12px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:650 15px/1.2 var(--font);text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),background-color .2s,border-color .2s,color .2s}
.pill .round-arrow{display:inline-grid;place-items:center}
.pill .icon{width:17px;height:17px}
.pill:hover{transform:translateY(-2px)}
.pill:active{transform:translateY(0) scale(.98)}
.project-pill{justify-self:end;min-height:46px;font-size:14px;padding:0 16px 0 20px}
.project-pill:hover{background:var(--ink);color:var(--ivory)}
.studio-primary{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.studio-primary:hover{background:var(--cobalt-hover);border-color:var(--cobalt-hover);color:#fff}

/* Blog home: heading, lede and category filter. */
.blog-intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px 64px;align-items:end;padding:clamp(32px,5vw,72px) 0 clamp(36px,4.5vw,64px)}
.blog-kicker,.invite-kicker{display:flex;align-items:center;gap:10px;margin:0 0 22px;font-size:14px;font-weight:650;letter-spacing:.08em;color:var(--deep)}
.blog-kicker img,.invite-kicker img{width:20px;height:auto}
.blog-intro h1{margin:0;font-size:clamp(56px,7.8vw,120px);font-weight:700;line-height:.92;letter-spacing:-.058em}
.blog-intro h1 span{display:block;animation:rise .8s var(--ease) both}
.blog-intro h1 span:nth-child(2){animation-delay:.08s}
.blog-intro h1 span:nth-child(3){animation-delay:.16s;color:var(--deep)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.blog-lede{margin-top:28px;font-size:clamp(17px,1.45vw,20px);line-height:1.6;color:var(--ink-soft);max-width:30em}
.blog-intro:not(:has(.blog-visual)) .blog-heading{grid-column:1/-1}
/* Generated artwork beside the heading: fills the column height, cropped from a square master. */
.blog-visual{margin:0;align-self:stretch;min-height:320px}
.blog-visual .story-single{height:100%;overflow:hidden;border-radius:20px;background:var(--sand)}
.blog-visual img{width:100%;height:100%;object-fit:cover}
.blog-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px}
.blog-filters::before{content:'Browse';margin-right:8px;font-size:14px;font-weight:650;color:var(--muted)}
.blog-filters[hidden]{display:none}
.blog-filters button{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1.5px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font:600 14px/1 var(--font);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.blog-filters button:hover{border-color:var(--ink)}
.blog-filters button[aria-pressed=true]{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.blog-filters button:disabled{opacity:.45;cursor:default}
.blog-filters .count{font-size:12px;font-weight:650;color:inherit;opacity:.7}
.section-label{display:flex;align-items:center;gap:16px;margin:0 0 28px;font-size:14px;font-weight:650;letter-spacing:.08em;color:var(--deep)}
.section-label::after{content:'';flex:1;height:1px;background:var(--line)}
.blog-featured{padding-bottom:clamp(56px,7vw,104px)}
.blog-featured[hidden]{display:none}
.blog-list{padding-bottom:clamp(72px,9vw,128px)}
.blog-list[hidden]{display:none}
.blog-empty{font-size:17px;color:var(--muted)}

/* Story cards. The title link covers the card, so the whole card is one target. */
.story-card{position:relative;display:grid;gap:20px;align-content:start}
.story-card[hidden]{display:none}
.story-media{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--sand);aspect-ratio:16/10}
.story-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.story-stills{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;height:100%}
.story-stills .still{position:relative;overflow:hidden;min-width:0;border-radius:inherit}
.story-stills img{object-position:50% 22%}
.story-single{display:block;height:100%;position:relative}
.story-media picture,.story-stills picture,.story-single picture{width:100%;height:100%}
.story-category{font-size:13px;font-weight:650;letter-spacing:.06em;color:var(--deep)}
.story-title{margin:8px 0 10px;font-size:clamp(22px,1.9vw,27px);font-weight:700;line-height:1.16;letter-spacing:-.03em}
.story-title a{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .25s}
.story-title a::after{content:'';position:absolute;inset:0;z-index:1;border-radius:var(--radius)}
.story-title a:focus-visible{outline:none}
.story-card:focus-within{outline:3px solid var(--deep);outline-offset:8px;border-radius:calc(var(--radius) + 4px)}
.story-card:focus-within:not(:has(:focus-visible)){outline:none}
.story-intro{font-size:16px;line-height:1.6;color:var(--ink-soft);max-width:36em}
.story-byline{margin-top:14px;font-size:14px;color:var(--muted)}
.story-card:hover .story-media img{transform:scale(1.035)}
.story-card:hover .story-title a,.story-card:focus-within .story-title a{text-decoration-color:var(--cobalt)}
.story-more{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-size:15px;font-weight:650;color:var(--ink)}
.story-more .icon{width:17px;height:17px;transition:transform .3s var(--ease)}
.story-card:hover .story-more .icon{transform:translate(3px,-3px)}
.story-card.is-featured{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.story-card.is-featured .story-media{aspect-ratio:auto}
.story-card.is-featured .story-stills{gap:8px}
.story-card.is-featured .story-stills .still{aspect-ratio:9/15;border-radius:12px}
.story-card.is-featured .story-single{aspect-ratio:16/10}
.story-card.is-featured .story-media{background:transparent;border-radius:0;overflow:visible}
.story-card.is-featured .story-single,.story-card.is-featured .still{overflow:hidden;border-radius:12px;background:var(--sand)}
.story-card.is-featured .story-title{font-size:clamp(30px,3.2vw,48px);line-height:1.06;letter-spacing:-.04em;margin:10px 0 16px}
.story-card.is-featured .story-intro{font-size:clamp(17px,1.35vw,19px)}
.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}
@media (max-width:860px){.story-grid{grid-template-columns:1fr}}
.generated-badge{position:absolute;left:12px;top:12px;z-index:2;padding:5px 10px;border-radius:999px;background:rgba(2,2,4,.74);color:#fff;font-size:12px;font-weight:650;letter-spacing:.02em}
.draft-badge{display:inline-block;padding:2px 9px;margin-right:4px;border-radius:999px;background:#F2D27A;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.02em;vertical-align:1px}

/* Article header. */
.article-header{padding:clamp(28px,4vw,56px) 0 clamp(28px,3.5vw,44px)}
.article-header.lanes>h1,.article-header.lanes>.article-standfirst{grid-column:text-start/wide-end}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:4px 0;margin:0 0 clamp(24px,3.5vw,40px);padding:0;list-style:none;font-size:14px;color:var(--muted)}
.breadcrumb li+li::before{content:'/';margin:0 10px;color:var(--line-strong)}
.breadcrumb a{color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.breadcrumb a:hover{color:var(--ink);text-decoration-color:var(--cobalt)}
.article-category{font-size:14px;font-weight:650;letter-spacing:.06em;color:var(--deep)}
.article-category a{text-decoration:none}
.article-category a:hover{text-decoration:underline;text-underline-offset:4px}
.article-header h1{margin:14px 0 22px;font-size:clamp(38px,5.2vw,74px);font-weight:700;line-height:1.02;letter-spacing:-.05em;text-wrap:balance}
.article-standfirst{font-size:clamp(19px,1.65vw,23px);line-height:1.5;color:var(--ink-soft);max-width:36em}
.article-byline{margin-top:24px;font-size:14px;line-height:1.7;color:var(--muted)}
.article-byline>span:first-child{color:var(--ink);font-weight:650}

/* Hero picture. */
.article-hero{margin:0 0 clamp(40px,5vw,72px)}
.article-hero.lanes>*{grid-column:page}
.article-hero .story-single{overflow:hidden;border-radius:20px;aspect-ratio:2/1;background:var(--sand)}
.article-hero .story-single img{width:100%;height:100%;object-fit:cover}
.article-hero .story-stills{gap:10px}
.article-hero .still{aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:var(--sand)}
.article-hero .still img{width:100%;height:100%;object-fit:cover;object-position:50% 16%}
.article-hero figcaption,.article-figure figcaption{margin-top:14px;font-size:14px;line-height:1.55;color:var(--muted)}
.generated-note{color:var(--muted)}

/* Reading column with a wider lane for films, figures and calls to action. */
/* One grid for every article part. Lanes: text (680px reading column), wide (films,
   figures, calls to action), page (the 1280px site width) and full (edge to edge).
   The text lane sits 70px left of centre, leaving a quiet margin on the right. */
.lanes{display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [page-start] minmax(0,160px) [wide-start] minmax(0,70px) [text-start] min(680px,calc(100% - 2 * var(--gutter))) [text-end] minmax(0,210px) [wide-end] minmax(0,160px) [page-end] minmax(var(--gutter),1fr) [full-end]}
.lanes>*{grid-column:text;min-width:0}
.article-content{font-size:18px;line-height:1.72;color:var(--ink)}
.article-content>.article-films,.article-content>.article-figure,.article-content>.article-cta{grid-column:wide}
.article-content p{margin:0 0 1.15em}
.article-content h2{margin:2em 0 .65em;font-size:clamp(26px,2.3vw,32px);line-height:1.15;font-weight:700;letter-spacing:-.03em}
.article-content h3{margin:1.9em 0 .5em;font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.02em}
.article-content>h2:first-child,.article-content>p:first-child{margin-top:0}
.article-content ul,.article-content ol{margin:0 0 1.3em;padding-left:1.35em}
.article-content li{margin:0 0 .6em;padding-left:.25em}
.article-content ul li::marker{color:var(--cobalt)}
.article-content ol li::marker{color:var(--deep);font-weight:700}
.article-content strong{font-weight:700}
.article-content a{color:var(--deep);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.article-content a:hover{color:var(--ink);text-decoration-color:var(--cobalt);text-decoration-thickness:2px}
.article-content blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--cobalt);font-size:20px;color:var(--ink-soft)}

/* Films. Players load nothing until someone presses play. */
/* position:relative keeps the hidden link text inside the swipe row on phones. */
.article-films{position:relative;display:grid;gap:18px;margin:2.2em 0 2.6em}
.article-films.is-vertical{grid-template-columns:repeat(var(--films,3),minmax(0,1fr))}
.article-films.is-vertical[data-count="2"]{--films:2;max-width:640px;justify-self:center;width:100%}
.article-films.is-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}
.article-films.is-horizontal[data-count="1"]{grid-template-columns:1fr}
.film-embed{margin:0;min-width:0}
.film-frame{overflow:hidden;border-radius:14px;background:var(--night)}
/* A clear ring around the player while its own controls have keyboard focus. */
.film-frame:has(video:focus-visible),.film-frame:focus-within{outline:3px solid var(--deep);outline-offset:3px}
.film-frame video{width:100%;height:auto;background:var(--night)}
.film-embed figcaption{display:grid;gap:2px;margin-top:12px;font-size:14px;line-height:1.45;color:var(--muted)}
.film-embed figcaption strong{font-size:15px;color:var(--ink)}
.film-embed figcaption a{color:var(--deep)}

/* Figures inside the text. */
.article-figure{margin:2em 0 2.4em}
.article-figure .story-single,.article-figure picture{overflow:hidden;border-radius:16px}
.article-figure img{width:100%;height:auto}

/* Contextual call to action and checklist box. */
.article-cta{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;margin:2.4em 0;padding:28px 32px;border-radius:20px;background:var(--tint)}
.article-cta p{margin:0;font-size:17px;line-height:1.55;color:var(--ink-soft)}
.article-cta .cta-title{margin-bottom:4px;font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.article-cta .pill{flex:none}
.article-content .article-cta a.pill{color:#fff;text-decoration:none}
/* "In this article": a quiet list of the sections, for longer pieces. */
.article-toc{margin:0 0 2.6em;padding:20px 24px 18px;border-left:3px solid var(--cobalt);border-radius:0 14px 14px 0;background:var(--paper)}
.article-toc .toc-title{margin:0 0 10px;font-size:14px;font-weight:650;letter-spacing:.06em;color:var(--deep)}
.article-toc ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
@media (min-width:901px){.article-toc ul:has(li:nth-child(7)){display:block;columns:2;column-gap:36px}.article-toc ul:has(li:nth-child(7)) li{break-inside:avoid}}
.article-content .article-toc li{margin:0;padding:0;font-size:16px;line-height:1.45}
.article-content .article-toc a{display:inline-block;padding:3px 0;color:var(--ink-soft);text-decoration:none}
.article-content .article-toc a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--cobalt);text-underline-offset:4px}
/* Share row: plain links, no tracking scripts. */
.article-share{padding-top:clamp(28px,3.5vw,44px)}
.share-inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding-top:24px;border-top:1px solid var(--line)}
.share-title{font-size:15px;font-weight:650}
.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-links a,.share-copy{min-height:42px;display:inline-flex;align-items:center;padding:0 16px;border:1.5px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font:600 14px/1 var(--font);text-decoration:none;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.share-links a:hover,.share-copy:hover{border-color:var(--ink)}
.share-copy[hidden]{display:none}
/* The status line stays in the page (empty) so screen readers hear "Link copied". */
.share-status{flex-basis:100%;min-height:0;font-size:14px;color:var(--deep)}
.article-box{margin:1.4em 0 2em;padding:26px 30px 14px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.article-box .box-title{margin:0 0 14px;font-size:14px;font-weight:650;letter-spacing:.06em;color:var(--deep)}
.article-box ul{list-style:none;padding:0;columns:2;column-gap:32px}
.article-box li{position:relative;padding-left:28px;margin:0 0 .7em;break-inside:avoid;font-size:16px;line-height:1.5}
.article-box li::before{content:'';position:absolute;left:3px;top:.42em;width:11px;height:6px;border-left:2px solid var(--cobalt);border-bottom:2px solid var(--cobalt);transform:rotate(-45deg)}

/* Related work and more stories. */
.article-related{padding:clamp(48px,6vw,88px) 0 0}
.article-related.lanes>*{grid-column:page}
.related-note{margin:-12px 0 24px;font-size:16px;color:var(--ink-soft)}
.article-related h2,.blog-more h2{margin:0 0 24px;font-size:clamp(26px,2.3vw,32px);line-height:1.15;font-weight:700;letter-spacing:-.03em}
.related-films{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:28px 20px}
.related-film{display:grid;gap:4px;align-content:start;text-decoration:none;color:var(--muted);font-size:14px}
.related-film strong{margin-top:10px;font-size:16px;line-height:1.35;color:var(--ink)}
.related-media{display:block;overflow:hidden;border-radius:12px;background:var(--sand);aspect-ratio:4/5}
.related-films.is-products .related-media{aspect-ratio:16/9}
.related-films.is-products{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.related-media picture{width:100%;height:100%}
.related-media img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .6s var(--ease)}
.related-film:hover .related-media img{transform:scale(1.04)}
.related-film:hover strong{text-decoration:underline;text-decoration-color:var(--cobalt);text-decoration-thickness:2px;text-underline-offset:4px}
.blog-more{padding:clamp(64px,8vw,112px) 0 clamp(72px,9vw,128px)}
.notes-wrap{padding-top:56px}
.notes-wrap.lanes>*{grid-column:text-start/wide-end}
.editorial-notes{margin:0;padding:16px 22px;border:2px dashed var(--deep);border-radius:16px;background:var(--paper);font-size:15px;line-height:1.6;color:var(--ink-soft)}
.editorial-notes code{font-size:14px;color:var(--ink)}

/* Closing invitation, then the dark site footer. */
.blog-invite{position:relative;overflow:hidden;background:var(--night);color:var(--ivory);padding:clamp(80px,10vw,144px) 0}
.blog-invite::before{content:'';position:absolute;left:-20%;right:-20%;bottom:-75%;height:130%;background:radial-gradient(closest-side,rgba(54,91,255,.38),rgba(23,50,176,.16) 50%,rgba(2,2,4,0));pointer-events:none}
.invite-inner{position:relative}
.invite-kicker{color:var(--peri)}
.blog-invite h2{max-width:13em;margin:0;font-size:clamp(40px,5.4vw,80px);font-weight:700;line-height:1;letter-spacing:-.05em}
.invite-text{margin:22px 0 34px;font-size:clamp(18px,1.6vw,22px);color:#D6D9DD}
.blog-invite :focus-visible{outline-color:var(--ivory)}
.blog-footer{overflow:hidden;background:var(--night);color:#E4E8EB;border-top:1px solid rgba(228,232,235,.12)}
.site-footer{padding-top:57px}
.footer-top{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:30px;padding-bottom:42px}
.footer-brand img{width:166px}
.footer-top>div:first-child>p{color:#A6ABAD;font-size:14px;line-height:1.7;margin:16px 0 24px}
.footer-top small{color:#A8AEB6;font-size:12px}
.footer-links,.footer-social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px 24px;padding-top:10px}
.footer-social{grid-template-columns:1fr;gap:15px 20px}
.footer-links a,.footer-social a{color:#C3C8CB;font-size:14px;text-decoration:none;transition:color .2s,transform .2s}
.footer-links a:hover,.footer-social a:hover{color:#fff}
.footer-links a{position:relative;width:max-content;line-height:22px}
.footer-links a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;border-radius:2px;background:var(--cobalt);transition:width .35s var(--ease)}
.footer-links a:hover::after{width:100%}
.footer-social a{display:flex;align-items:center;gap:9px;min-height:32px;width:max-content}
.footer-social .icon{width:15px;height:15px}
.footer-social a>.icon:last-child{width:12px;height:12px;opacity:.5;margin-left:4px}
.footer-social a:hover{color:var(--peri);transform:translateX(2px)}
.footer-wordmark{display:block;overflow:hidden;white-space:nowrap;text-align:center;color:#E2E6E8;font-size:clamp(110px,22.1vw,304px);font-weight:300;letter-spacing:-.09em;line-height:.77;padding-bottom:.13em;transform:translateY(.07em);text-decoration:none;transition:color .4s}
.footer-wordmark:hover{color:#fff}
.blog-footer :focus-visible{outline-color:var(--ivory)}

/* Laptops and tablets: the homepage header's sizes, so both headers match. */
@media (max-width:1000px){
  .blog-header{height:76px;grid-template-columns:140px 1fr 165px}
  .brand img{width:150px}
  .main-nav{gap:22px}
}
@media (min-width:701px) and (max-width:860px){
  .blog-header{grid-template-columns:auto 1fr auto;column-gap:12px}
  .brand img{width:135px}
  .main-nav{gap:14px}
  .main-nav a{font-size:13px}
  .project-pill{min-height:40px;font-size:13px;padding:0 12px 0 14px}
}
@media (max-width:1000px){
  :root{--gutter:28px}
  .blog-visual{min-height:0;aspect-ratio:16/9}
  .blog-intro{grid-template-columns:1fr;align-items:start}
  .story-card.is-featured{grid-template-columns:1fr}
  .article-box ul{columns:1}
}
/* Phones: the menu. */
@media (max-width:700px){
  .blog-header{grid-template-columns:1fr auto auto;gap:10px}
  .menu-toggle{grid-column:3;grid-row:1;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1.5px solid var(--line-strong);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer}
  .menu-toggle .icon{width:19px;height:19px}
  .menu-toggle[aria-expanded=true]{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
  .main-nav{display:none;position:absolute;top:calc(100% - 6px);left:0;right:0;padding:14px 20px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 50px rgba(26,27,26,.16);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}
  .main-nav.is-open{display:grid}
  .main-nav a{font-size:16px;padding:11px 0;justify-self:start}
  .main-nav a::after{bottom:6px}
  .project-pill{grid-column:2}
}
@media (max-width:700px){
  :root{--btn-h:48px;--gutter:18px}
  html{scroll-padding-top:80px}
  .blog-header{height:67px;gap:9px}
  .blog-header.is-floating{height:60px}
  .brand img{width:135px}
  .project-pill{min-height:40px;font-size:13px;padding:0 12px 0 14px;gap:8px}
  .menu-toggle{width:40px;height:40px}
  .blog-intro{padding-top:36px;gap:28px}
  .blog-visual{display:none}
  .blog-intro h1{font-size:clamp(46px,13.5vw,72px)}
  .blog-filters{padding-top:0}
  .blog-filters::before{width:100%;margin:0 0 2px}
  .section-label{margin-bottom:20px}
  .story-grid{gap:44px}
  .story-card.is-featured .story-stills{gap:6px}
  .article-hero .story-single{aspect-ratio:16/10;border-radius:14px}
  .article-hero .story-stills{gap:6px}
  .article-hero .still{aspect-ratio:9/15;border-radius:10px}
  .article-content{font-size:17px;line-height:1.7}
  .article-content>.article-films.is-vertical{grid-column:full;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:74%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:0 var(--gutter) 6px;scrollbar-width:thin}
  .article-films.is-vertical .film-embed{scroll-snap-align:start}
  .article-films.is-horizontal{grid-template-columns:1fr;gap:28px}
  .article-cta{flex-direction:column;align-items:stretch;padding:24px 22px}
  .article-cta .pill{width:100%;justify-content:space-between}
  .article-box{padding:22px 20px 10px}
  .related-films{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .related-films.is-products{grid-template-columns:1fr}
  .blog-invite .pill{width:100%;justify-content:space-between;max-width:360px}
  .site-footer{padding-top:40px}
  .footer-top{grid-template-columns:1fr;gap:16px;padding-bottom:28px}
  .footer-top>div:first-child>p{margin:15px 0}
  .footer-links{grid-template-columns:repeat(4,1fr);gap:9px;padding-top:0}
  .footer-social{grid-template-columns:repeat(4,1fr);gap:12px 8px;border-top:1px solid rgba(228,232,235,.17);padding-top:15px}
  .footer-social a{font-size:13px;gap:5px}
  .footer-social a>.icon:last-child{display:none}
  .footer-social .icon{width:14px;height:14px}
  .footer-wordmark{font-size:21vw;padding-bottom:.18em}
}
@media (max-width:380px){
  :root{--gutter:15px}
  .brand img{width:116px}
  .footer-links{grid-template-columns:repeat(3,1fr)}
  .footer-social{grid-template-columns:1fr 1fr}
}
@media (max-width:360px){.blog-header .project-pill{display:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .story-card:hover .story-media img,.related-film:hover .related-media img{transform:none}
  .pill:hover,.footer-social a:hover{transform:none}
}
