/* visuy.info — "Cuci Cetak": contemporary analog photo lab. Light table, negative carrier, grease pencil,
   kraft lab envelope, contact sheet, film leader. Funnel Display + Gantari + Doto (edge print). */
:root{
 --paper:#eeebe3;--paper-2:#e5e1d6;--sheet:#fbfaf6;--lite:#fdfdfa;
 --ink:#181614;--ink-2:#37322d;--muted:#5a544c;--line:#d6d0c4;--line-2:#bfb7a7;
 --red:#af2a1f;--red-d:#8a1f16;--amber:#e0913a;--edge:#c7662b;--cyan:#16646e;
 --kraft:#d9c39b;--kraft-2:#cbb183;--kraft-ink:#2b2217;
 --dark:#171311;--dark-2:#221c18;--dark-3:#2f2722;--on-dark:#f3efe6;--on-dark-2:#c9bfb0;
 --f-d:"Funnel Display","Gantari",system-ui,sans-serif;--f-b:"Gantari",system-ui,-apple-system,"Segoe UI",sans-serif;--f-n:"Doto","Gantari",monospace;
 --font-head:var(--f-d);--font-body:var(--f-b);
 --gut:clamp(16px,4vw,40px);--max:1240px;
 --holes:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='20'%3E%3Crect x='7' y='5' width='10' height='10' rx='2.2' fill='%23f6f3ea'/%3E%3C/svg%3E");
 color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--f-b);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--red);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--red-d)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--f-d);color:var(--ink);margin:0;text-wrap:balance}
p{margin:0 0 1em}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:4px;font-weight:700;text-decoration:none}
.skip:focus{top:12px;color:var(--paper)}
.ar{width:20px;height:20px;flex:none}

/* sprocket strips */
.sprk{height:20px;background:var(--holes) 0 50%/24px 20px repeat-x,var(--dark)}
.sprk-lt{background-color:#120e0c}
.carrier.fly .sprk-lt{animation:adv .5s linear infinite}
@keyframes adv{to{background-position:-24px 50%,0 0}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:10px 22px;border-radius:4px;font:700 17px/1.2 var(--f-b);text-decoration:none;border:2px solid transparent;transition:background .15s,color .15s,border-color .15s,transform .12s;touch-action:manipulation}
.btn:active{transform:translateY(1px)}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-d);color:#fff}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-amber{background:var(--amber);color:var(--dark)}
.btn-amber:hover{background:#eca453;color:var(--dark)}

/* ---------- header ---------- */
.hd{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hd-in{display:flex;align-items:center;gap:14px;min-height:72px;position:relative}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);min-height:48px;margin-right:auto}
.brand:hover{color:var(--ink)}
.iris{width:40px;height:40px;flex:none;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.brand:hover .iris{transform:rotate(60deg)}
.brand-t{display:flex;flex-direction:column;line-height:1}
.bn{font:800 27px/1 var(--f-d);letter-spacing:-.03em}
.bt{font:600 12.5px/1.2 var(--f-b);color:var(--muted);margin-top:4px;letter-spacing:.01em}
.nav ol{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.nav a{display:flex;flex-direction:column;justify-content:center;min-height:52px;padding:6px 11px;border-radius:3px;text-decoration:none;color:var(--ink);font:600 15.5px/1.15 var(--f-b);position:relative}
.nav .fno{font:800 11px/1 var(--f-n);color:var(--edge);letter-spacing:.08em;margin-bottom:4px}
.nav a:hover{background:var(--sheet);color:var(--ink)}
.nav a[aria-current=page]{background:var(--sheet);box-shadow:inset 0 -3px 0 var(--red)}
.nav .nav-play{display:none}
.lsw{display:flex;border:1.5px solid var(--ink);border-radius:4px;overflow:hidden;flex:none}
.lsw a{display:grid;place-items:center;min-width:44px;min-height:42px;padding:0 8px;font:700 14px/1 var(--f-b);letter-spacing:.06em;color:var(--ink);text-decoration:none}
.lsw a+a{border-left:1.5px solid var(--ink)}
.lsw a[aria-current]{background:var(--ink);color:var(--paper)}
.lsw a:not([aria-current]):hover{background:var(--sheet)}
.hd-play{display:none;align-items:center;min-height:46px;padding:8px 16px;border-radius:4px;background:var(--red);color:#fff;font:700 15px/1.1 var(--f-b);text-decoration:none;white-space:nowrap}
.hd-play:hover{background:var(--red-d);color:#fff}
.tg{display:none}
@media (min-width:1260px){.hd-play{display:inline-flex}}
@media (max-width:979.98px){
 .hd-in{min-height:66px;gap:10px}
 .tg{display:inline-flex;align-items:center;gap:9px;min-height:44px;min-width:44px;padding:0 13px;border:1.5px solid var(--ink);border-radius:4px;background:var(--sheet);color:var(--ink);font:700 15px/1 var(--f-b);cursor:pointer;order:3}
 .tg-i{display:grid;gap:4px;width:18px}
 .tg-i i{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
 .hd.is-open .tg{background:var(--ink);color:var(--paper)}
 .hd.is-open .tg-i i:nth-child(1){transform:translateY(6px) rotate(45deg)}
 .hd.is-open .tg-i i:nth-child(2){opacity:0}
 .hd.is-open .tg-i i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .lsw{order:2}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;margin-top:20px;background:var(--dark);color:var(--on-dark);padding:8px var(--gut) 20px;max-height:calc(100dvh - 90px);overflow-y:auto;box-shadow:0 30px 50px -20px rgba(0,0,0,.5)}
 .hd.is-open .nav{display:block}
 .nav ol{flex-direction:column;gap:0}
 .nav li{border-bottom:1px solid rgba(243,239,230,.12)}
 .nav a{flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;min-height:56px;padding:8px 4px;color:var(--on-dark);font-size:18px;border-radius:0}
 .nav .fno{margin:0;font-size:15px;color:var(--amber);min-width:36px}
 .nav a:hover,.nav a[aria-current=page]{background:transparent;color:#fff;box-shadow:inset 3px 0 0 var(--amber);padding-left:14px}
 .nav .nav-play{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;min-height:54px;padding:0 18px;border-radius:4px;background:var(--amber);color:var(--dark);font:700 17px/1.2 var(--f-b);text-decoration:none}
 .nav .nav-play:hover{color:var(--dark);background:#eca453}
}
@media (max-width:420px){.bt{display:none}.bn{font-size:25px}.iris{width:36px;height:36px}.tg-t{display:none}.tg{padding:0 12px}}

/* ---------- home: light table ---------- */
.table{position:relative;background:
 linear-gradient(rgba(24,22,20,.045) 1px,transparent 1px) 0 0/100% 48px,
 linear-gradient(90deg,rgba(24,22,20,.045) 1px,transparent 1px) 0 0/48px 100%,
 radial-gradient(90% 80% at 62% 38%,#fff 0,var(--lite) 40%,#ecebe4 100%);
 border-bottom:1px solid var(--line-2)}
.table::before{content:"";position:absolute;inset:0 0 auto;height:14px;background:
 repeating-linear-gradient(90deg,rgba(24,22,20,.5) 0 1px,transparent 1px 48px) 0 0/100% 14px no-repeat,
 repeating-linear-gradient(90deg,rgba(24,22,20,.3) 0 1px,transparent 1px 12px) 0 0/100% 7px no-repeat}
.table-in{display:grid;gap:28px;padding-block:34px 44px}
.edge{display:flex;gap:18px;flex-wrap:wrap;margin:0;font:800 13px/1 var(--f-n);letter-spacing:.14em;color:var(--edge);opacity:.9;overflow:hidden;max-height:14px}
.hero-copy{min-width:0}
.badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:7px 12px;border:1.5px solid var(--red);border-radius:3px;color:var(--red);font:700 14px/1.2 var(--f-b);letter-spacing:.02em;background:rgba(255,255,255,.6)}
.badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);flex:none}
.hero-copy h1{font-weight:800;font-size:clamp(34px,5vw,60px);line-height:1.02;letter-spacing:-.03em;margin-bottom:20px}
.lead p{font-size:clamp(17.5px,1.6vw,20px);line-height:1.6;color:var(--ink-2);max-width:62ch}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 24px}
.chips{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.chips li{display:flex;align-items:flex-start;gap:12px;font:600 16px/1.35 var(--f-b);color:var(--ink-2)}
.chips li::before{content:"";flex:none;width:20px;height:20px;border:1.5px solid var(--ink);border-radius:2px;background:var(--sheet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4 9-10' fill='none' stroke='%23af2a1f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 55% 40%/19px 19px no-repeat}
@media (max-width:1023.98px){
 .table-in{gap:0}
 .hero-copy{display:contents}
 .edge{order:0;margin-bottom:24px}.badge{order:1;justify-self:start}.hero-copy h1{order:2}.acts{order:3;margin-top:4px}
 .carrier{order:4;margin-bottom:28px}.lead{order:5}.chips{order:6}
}
@media (min-width:1024px){
 .table-in{grid-template-columns:minmax(0,5fr) minmax(0,6.2fr);column-gap:56px;align-items:center;padding-block:44px 72px}
 .edge{grid-column:1/-1}
}

/* negative carrier (game) */
.carrier{background:#120e0c;border-radius:10px;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.5),0 40px 70px -36px rgba(24,22,20,.65),0 0 0 1px #000;margin-inline:calc(var(--gut) * -1)}
.car-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 4px;color:var(--on-dark)}
.car-t{font:700 17px/1.2 var(--f-d);letter-spacing:-.01em}
.rec{display:inline-flex;align-items:center;gap:8px;font:800 13px/1 var(--f-n);letter-spacing:.14em;color:var(--amber);text-transform:uppercase}
.rec::before{content:"";width:9px;height:9px;border-radius:50%;background:#e2483a;box-shadow:0 0 0 3px rgba(226,72,58,.25)}
.car-win{container:car/inline-size;padding:0 4px 6px}
@media (max-width:599.98px){.carrier{border-radius:0}}
@media (min-width:600px){.carrier{margin-inline:0}.car-win{padding:0 10px 10px}}

/* ---------- inner: print head ---------- */
.phead{background:radial-gradient(80% 120% at 70% 0,#fff 0,var(--lite) 35%,var(--paper) 100%);border-bottom:1px solid var(--line)}
.phead-in{padding-block:10px 40px}
.crumbs ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;align-items:center;font:600 15px/1.2 var(--f-b);color:var(--muted)}
.crumbs li{display:flex;align-items:center}
.crumbs li+li::before{content:"▸";margin:0 8px;color:var(--edge);font-size:12px}
.crumbs a,.crumbs span{display:inline-flex;align-items:center;min-height:44px}
.crumbs a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2)}
.crumbs span{color:var(--muted)}
.print{position:relative;max-width:1000px;background:var(--sheet);padding:22px 20px 26px;border-radius:2px;box-shadow:0 0 0 1px rgba(24,22,20,.08),0 26px 44px -30px rgba(24,22,20,.5)}
.print::before,.print::after{content:"";position:absolute;width:30px;height:30px;background:var(--ink)}
.print::before{left:-7px;top:-7px;clip-path:polygon(0 0,100% 0,0 100%)}
.print::after{right:-7px;bottom:-7px;clip-path:polygon(100% 0,100% 100%,0 100%)}
.print .edge{margin-bottom:18px}
.print h1{font-weight:800;font-size:clamp(30px,4.6vw,56px);line-height:1.05;letter-spacing:-.028em;margin-bottom:16px}
.print .lead p{margin:0;max-width:70ch}
@media (min-width:700px){.print{padding:34px 40px 38px}}

/* ---------- desk: article + aside ---------- */
.desk{padding-block:40px 80px}
.desk-grid{display:flex;flex-direction:column;gap:28px}
.prose{min-width:0;max-width:760px}
.prose>.intro p:first-child{font-size:18.5px}
.prose ul,.prose ol{padding-left:0;list-style:none;margin:0 0 1.2em}
.prose li{position:relative;padding-left:26px;margin-bottom:.6em}
.prose ul>li::before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;background:var(--red);border-radius:1px;transform:rotate(45deg)}
.prose ol{counter-reset:li}
.prose ol>li{counter-increment:li}
.prose ol>li::before{content:counter(li);position:absolute;left:0;top:.18em;font:800 14px/1 var(--f-n);color:var(--red)}
.prose strong{color:var(--ink);font-weight:700}
.prose h3{font-size:21px;font-weight:700;line-height:1.25;margin:1.5em 0 .5em;letter-spacing:-.01em}
.prose table{display:block;overflow-x:auto;border-collapse:collapse;margin:0 0 1.4em;font-size:16px;max-width:100%}
.prose th,.prose td{border:1px solid var(--line-2);padding:9px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--paper-2);font-weight:700}
.prose blockquote{margin:0 0 1.2em;padding:4px 0 4px 18px;border-left:3px solid var(--edge);color:var(--ink-2)}
.frame{position:relative;margin-top:52px;padding-top:26px;border-top:1.5px solid var(--ink)}
.frame::before{content:"";position:absolute;right:0;top:-1.5px;width:88px;height:4px;background:repeating-linear-gradient(90deg,var(--ink) 0 8px,transparent 8px 14px)}
.frame-plain{margin-top:28px}
.fr-no{position:relative;display:inline-flex;align-items:baseline;gap:2px;margin:0 0 12px;padding:4px 12px;font:800 32px/1 var(--f-n);color:var(--red);letter-spacing:.04em}
.fr-no b{font-weight:800}
.fr-no::after{content:"";position:absolute;inset:-4px -6px -3px -8px;border:2.5px solid var(--red);border-radius:52% 46% 50% 44%/58% 50% 52% 44%;transform:rotate(-5deg);opacity:.85}
.frame h2{font-size:clamp(25px,3.1vw,35px);line-height:1.12;letter-spacing:-.022em;font-weight:700;margin-bottom:16px}
.fr-body>:last-child{margin-bottom:0}

/* FAQ */
.faq{margin-top:64px;padding-top:26px;border-top:1.5px solid var(--ink)}
.faq h2{font-size:clamp(25px,3.1vw,35px);line-height:1.12;letter-spacing:-.022em;font-weight:700;margin-bottom:14px}
.faq-list{border-bottom:1px solid var(--line-2)}
.faq details{border-top:1px solid var(--line-2)}
.faq summary{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:60px;padding:12px 0;cursor:pointer;list-style:none;font:700 17.5px/1.35 var(--f-b);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.q-no{font:800 17px/1 var(--f-n);color:var(--edge)}
.q-x{position:relative;width:24px;height:24px;border:1.5px solid var(--ink);border-radius:50%}
.q-x::before,.q-x::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.q-x::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq details[open] .q-x{background:var(--red);border-color:var(--red)}
.faq details[open] .q-x::before,.faq details[open] .q-x::after{background:#fff}
.faq details[open] .q-x::after{transform:translate(-50%,-50%) rotate(0)}
.faq summary:hover .q-t{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}
.faq .a{padding:0 36px 18px 52px;color:var(--ink-2)}
.faq .a p:last-child{margin-bottom:0}

/* kraft lab envelope TOC */
.env{position:relative;background:
 radial-gradient(rgba(43,34,23,.08) 1px,transparent 1.2px) 0 0/7px 7px,
 radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.2px) 3px 4px/9px 9px,var(--kraft);
 color:var(--kraft-ink);border-radius:3px;padding:44px 16px 14px;box-shadow:0 1px 0 rgba(0,0,0,.08),0 18px 30px -24px rgba(43,34,23,.6)}
.env::before{content:"";position:absolute;left:0;right:0;top:0;height:30px;background:var(--kraft-2);clip-path:polygon(0 0,100% 0,100% 30%,50% 100%,0 30%);border-radius:3px 3px 0 0}
.env-h{position:relative;margin:0 0 8px;padding:6px 8px;border:1.5px solid var(--kraft-ink);font:800 13px/1.2 var(--f-b);letter-spacing:.12em;text-transform:uppercase;display:inline-block}
.env ol{list-style:none;margin:0;padding:0}
.env a{display:grid;grid-template-columns:20px 26px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:8px 2px;border-bottom:1px dashed rgba(43,34,23,.45);color:var(--kraft-ink);text-decoration:none;font:600 15.5px/1.3 var(--f-b)}
.env a:hover .tl{text-decoration:underline;text-underline-offset:3px}
.env .bx{position:relative;width:18px;height:18px;border:1.5px solid var(--kraft-ink);border-radius:2px;background:rgba(255,255,255,.35)}
.env .tn{font:800 14px/1 var(--f-n);color:#6a340c}
.env a[aria-current] .bx::after{content:"";position:absolute;left:4px;top:-3px;width:6px;height:13px;border:solid var(--red);border-width:0 3px 3px 0;transform:rotate(40deg)}
.env a[aria-current] .tl{font-weight:700}

/* demo card = darkroom test strip */
.demo{background:var(--sheet);border-radius:3px;padding:0 20px 20px;box-shadow:0 0 0 1px rgba(24,22,20,.1);overflow:hidden}
.steps{display:grid;grid-template-columns:repeat(7,1fr);height:34px;margin:0 -20px 18px}
.steps i:nth-child(1){background:#efe9dc}.steps i:nth-child(2){background:#d5cbb8}.steps i:nth-child(3){background:#b0a38c}.steps i:nth-child(4){background:#857861}
.steps i:nth-child(5){background:#5b4f40}.steps i:nth-child(6){background:#352c24}.steps i:nth-child(7){background:#171311}
.demo-t{font:700 21px/1.2 var(--f-d);letter-spacing:-.01em;margin-bottom:8px}
.demo p{font-size:16px;color:var(--ink-2)}
.demo .btn{width:100%;margin-top:4px}

/* safelight CTA */
.safe{position:relative;overflow:hidden;margin-top:64px;padding:30px 24px 26px;border-radius:4px;background:#1a1210;color:var(--on-dark)}
.safe-glow{position:absolute;inset:-40% 30% 30% -30%;background:radial-gradient(closest-side,rgba(214,52,36,.55),transparent);pointer-events:none}
.safe p{position:relative;font:600 clamp(19px,2.2vw,23px)/1.35 var(--f-d);letter-spacing:-.01em;margin-bottom:20px;max-width:40ch}
.safe .btn{position:relative}

/* layout: home (envelope left) / inner (envelope right) */
@media (max-width:1099.98px){
 .side,.side-in{display:contents}
 .desk-grid .env,.strip-toc .env{order:-1}
 .demo{order:2}
 .env{padding:40px 0 12px;border-radius:3px}
 .env::before{height:24px}
 .env-h{margin-left:14px}
 .env ol{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 14px 8px;scrollbar-width:thin;scrollbar-color:var(--kraft-ink) transparent}
 .env li{flex:0 0 auto;scroll-snap-align:start}
 .env a{grid-template-columns:auto;grid-auto-flow:row;align-content:start;width:200px;min-height:88px;padding:26px 12px 12px;background:var(--dark) var(--holes) 0 0/18px 15px repeat-x;color:var(--on-dark);border:0;border-radius:3px;gap:6px}
 .env .bx{display:none}
 .env .tn{color:var(--amber);font-size:14px}
 .env .tl{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15.5px}
 .env a[aria-current]{box-shadow:inset 0 0 0 2px var(--amber)}
 .prose{max-width:none}
}
@media (min-width:1100px){
 .desk-grid{display:grid;justify-content:center;column-gap:64px;align-items:start}
 .desk-grid:not(.desk-inner){grid-template-columns:290px minmax(0,780px)}
 .desk-inner{grid-template-columns:minmax(0,780px) 310px}
 .strip-toc,.side-in{position:sticky;top:112px}
 .side-in{display:grid;gap:22px}
 .strip-toc .env{max-height:calc(100vh - 140px);overflow-y:auto}
 .prose>.intro,.prose>.frame:first-child{margin-top:0}
}

/* ---------- contact sheet (related) ---------- */
.sheet{background:var(--dark);color:var(--on-dark)}
.sheet .wrap{padding-block:48px 64px}
.eyebrow{font:800 14px/1 var(--f-n);letter-spacing:.16em;color:var(--amber);text-transform:uppercase;margin:0 0 12px}
.sheet h2{color:var(--on-dark);font-size:clamp(28px,3.6vw,42px);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin-bottom:28px}
.ct-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.ct{display:flex;flex-direction:column;height:100%;gap:8px;padding:10px 10px 12px;background:var(--dark-2);border-radius:3px;color:var(--ink);text-decoration:none;box-shadow:inset 0 0 0 1px rgba(243,239,230,.08);transition:box-shadow .15s,transform .15s}
.ct-no{font:800 14px/1 var(--f-n);letter-spacing:.12em;color:var(--amber);padding:2px 2px 0}
.ct-print{flex:1;display:flex;flex-direction:column;gap:8px;background:var(--sheet);padding:16px 16px 18px;border-radius:1px}
.ct-print strong{font:700 20px/1.2 var(--f-d);letter-spacing:-.015em;color:var(--ink)}
.ct-print span{font-size:16px;line-height:1.5;color:var(--muted)}
.ct-go{align-self:flex-end;color:var(--amber);padding:0 4px}
.ct:hover{box-shadow:inset 0 0 0 1px rgba(243,239,230,.08),0 0 0 3px var(--red);color:var(--ink)}
.ct:hover .ct-go{transform:translateX(3px)}
.ct:focus-visible{outline-color:var(--amber)}
.notice{margin:34px 0 0;max-width:80ch;font-size:16px;color:var(--on-dark-2)}

/* ---------- footer: film leader ---------- */
.ft{background:#110d0b;color:var(--on-dark-2)}
.sprk-ft{background-color:#110d0b}
.ft-grid{display:grid;gap:30px;padding-block:44px 30px}
.ft .brand{color:var(--on-dark)}
.ft .bt{color:var(--on-dark-2)}
.ft .iris circle:first-child{fill:#2f2722}
.ft-id p{margin:16px 0 0;font-size:16px;max-width:60ch}
.ft-col h2{font:800 14px/1 var(--f-n);letter-spacing:.14em;color:var(--amber);text-transform:uppercase;margin-bottom:8px}
.ft-col ul{list-style:none;margin:0;padding:0}
.ft-col a{display:flex;align-items:center;min-height:44px;color:var(--on-dark);text-decoration:none;font-size:16.5px}
.ft-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--amber)}
.ft a:focus-visible,.sheet a:focus-visible,.nav a:focus-visible,.carrier :focus-visible{outline-color:var(--amber)}
.ft-base{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding-top:22px;border-top:1px solid rgba(243,239,230,.14);font-size:16px}
.age{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--red);color:#fff;font:800 17px/1 var(--f-d);flex:none}
.cop{margin-left:auto}
@media (min-width:760px){.ft-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);column-gap:48px}.ft-base{grid-column:1/-1}}
@media (max-width:520px){.cop{margin-left:0;width:100%}}

/* 404 */
.nf{padding-block:56px 90px}
.nf .print{max-width:720px}
.nf .print p{font-size:18px}

@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
