:root{
  --sky-1:#2f7fd8;--sky-2:#5aa6ec;--sky-3:#a9d2f7;--sky-4:#eaf5ff;
  --ink:#11131a;--ink-2:#3b4152;--muted:#6b7286;--line:#d8e3f0;
  --pink:#e8559a;--pink-soft:#fbd3e4;--cream:#f1ead9;--cream-2:#e2d8c1;
  --card:#ffffffd9;--radius:20px;
  --sans:Inter,system-ui,-apple-system,Segoe UI,sans-serif;--mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.narrow{max-width:780px}

/* nav */
.nav{position:fixed;inset:14px 14px auto;z-index:20;display:flex;align-items:center;gap:28px;padding:10px 12px 10px 18px;border-radius:999px;background:#ffffffc4;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 30px #1d4f8a1f;max-width:1160px;margin:0 auto}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;font-size:22px;letter-spacing:-.04em}
.brand.light{color:#fff}
.nav nav{display:flex;gap:22px;margin-left:auto;font-size:14.5px;font-weight:500}
.nav nav a{text-decoration:none;color:var(--ink-2)}.nav nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.small{padding:10px 16px;font-size:14px}
.btn.dark{background:var(--ink);color:#fff;box-shadow:0 8px 22px #11131a33}
.btn.glass{background:#fff;color:var(--ink);box-shadow:0 8px 22px #0b3a7a26}

/* hero */
.hero{position:relative;padding:118px 24px 0;overflow:hidden;color:#fff;
  background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 38%,var(--sky-3) 74%,#cfe6fb 100%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:start;max-width:none}
.hero-copy{position:relative;z-index:3;max-width:620px;justify-self:end;padding-bottom:240px}
.hero-mark{filter:drop-shadow(0 8px 24px #0b3a7a40);margin-bottom:22px;animation:float 7s ease-in-out infinite}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);margin:0 0 14px;font-weight:600}
.eyebrow.light{color:#ffffffd9}
h1{font-size:clamp(44px,6.2vw,82px);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px;font-weight:800;text-shadow:0 2px 30px #0b3a7a30}
h1 span{color:var(--pink-soft)}
.lede{font-size:18.5px;max-width:540px;color:#f3f8ff;margin:0 0 30px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* clouds */
.clouds{position:absolute;inset:0;z-index:1;pointer-events:none}
.clouds i{position:absolute;display:block;background:#fff;border-radius:999px;filter:blur(18px);opacity:.85;animation:drift linear infinite}
.clouds i:nth-child(1){width:360px;height:110px;top:16%;left:-8%;animation-duration:90s}
.clouds i:nth-child(2){width:260px;height:80px;top:8%;left:55%;animation-duration:120s;opacity:.7}
.clouds i:nth-child(3){width:420px;height:130px;top:38%;left:70%;animation-duration:140s;opacity:.75}
.clouds i:nth-child(4){width:220px;height:70px;top:28%;left:25%;animation-duration:100s;opacity:.55}
.clouds i:nth-child(5){width:300px;height:90px;top:52%;left:-12%;animation-duration:160s;opacity:.65}
.clouds i:nth-child(6){width:180px;height:60px;top:4%;left:84%;animation-duration:110s;opacity:.6}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(42vw)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* CRT monitor in the field */
.crt-stage{position:relative;z-index:3;justify-self:start;align-self:end;padding-bottom:120px;width:min(460px,100%)}
.crt{background:linear-gradient(160deg,#f6f0e2,var(--cream) 55%,var(--cream-2));border-radius:28px 28px 22px 22px;padding:22px 22px 14px;box-shadow:inset 0 -6px 0 #d3c7ad,0 30px 60px #0b3a7a40;transform:perspective(900px) rotateY(-6deg)}
.crt-screen{position:relative;height:260px;border-radius:18px;background:radial-gradient(120% 90% at 50% 40%,#173a2c,#081610);overflow:hidden;box-shadow:inset 0 0 0 6px #2b2a26,inset 0 0 40px #000}
.crt-screen pre{margin:0;padding:22px 24px;font:500 14px/1.65 var(--mono);color:#9ff3c4;text-shadow:0 0 8px #48f0a088;white-space:pre-wrap}
.crt-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff08 0 2px,transparent 2px 4px);pointer-events:none}
.crt-chin{display:flex;align-items:center;gap:10px;padding:12px 6px 0;color:#8a7f69;font:500 11.5px var(--mono);letter-spacing:.08em}
.crt-led{width:9px;height:9px;border-radius:50%;background:#54e08f;box-shadow:0 0 10px #54e08f}
.crt-base{width:62%;height:44px;margin:-4px auto 0;background:linear-gradient(180deg,var(--cream-2),#cfc3a7);border-radius:0 0 16px 16px;box-shadow:0 18px 30px #0b3a7a33}
.field{position:absolute;left:0;right:0;bottom:0;height:230px;z-index:2;background:url(/assets/fulc-flowers.jpg) center bottom/cover;mask-image:linear-gradient(180deg,transparent,#000 38%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 38%)}

/* sections */
.section{padding:110px 0}
.sky-soft{background:linear-gradient(180deg,#f3f9ff,#e6f2fe)}
h2{font-size:clamp(32px,4vw,50px);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px;font-weight:800}
.section-lede{font-size:18px;color:var(--ink-2);max-width:680px;margin:0 0 44px}
.cards{display:grid;gap:18px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px #1d4f8a0d}
.card h3{margin:0 0 10px;font-size:20px;letter-spacing:-.02em}.card p{margin:0;color:var(--ink-2)}
.card-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--pink-soft);color:var(--pink);font-weight:800;font-size:20px;margin-bottom:16px}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:s}
.step{background:var(--card);border:1px solid #ffffff;border-radius:var(--radius);padding:26px;position:relative;box-shadow:0 10px 30px #1d4f8a14}
.step-no{font:600 13px var(--mono);color:var(--pink);letter-spacing:.1em}
.step h3{font-size:22px;margin:12px 0 8px;letter-spacing:-.02em}.step p{margin:0;color:var(--ink-2)}
.step:not(:last-child)::after{content:"→";position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--sky-2);font-weight:700;z-index:1}

/* version chain demo */
.chain-demo{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}
.chain-rail{display:flex;flex-direction:column;gap:10px;position:relative}
.chain-rail::before{content:"";position:absolute;left:26px;top:24px;bottom:24px;width:2px;background:linear-gradient(var(--sky-2),var(--pink))}
.ver{position:relative;display:flex;gap:14px;align-items:center;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:inherit}
.ver[aria-selected="true"]{border-color:var(--ink);box-shadow:0 8px 24px #11131a1a}
.ver b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font:600 12px var(--mono);z-index:1;flex:none}
.ver[aria-selected="false"] b{background:#fff;color:var(--ink);border:2px solid var(--sky-2)}
.ver small{display:block;color:var(--muted);font-size:12.5px}
.chain-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px #1d4f8a0d;min-height:340px}
.chain-panel h3{margin:0 0 4px;font-size:22px;letter-spacing:-.02em}
.chain-panel .when{color:var(--muted);font-size:14px;margin:0 0 18px}
.diff{display:grid;gap:8px;margin:0 0 20px;padding:0;list-style:none}
.diff li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;font:14px var(--mono);padding:10px 12px;border-radius:10px;background:#f5f8fc}
.diff li.changed{background:#fff0f6;outline:1px solid var(--pink-soft)}
.diff li span:first-child{color:var(--muted)}
.diff li .was{color:var(--muted);text-decoration:line-through;margin-right:8px}
.link-line{font:13px var(--mono);color:var(--ink-2);background:#eef5fd;border-radius:10px;padding:10px 12px;word-break:break-all}
.note{margin-top:16px;color:var(--muted);font-size:13.5px}

/* anatomy */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.fields{margin:28px 0 0;display:grid;gap:14px}
.fields div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.fields dt{font-weight:700}.fields dd{margin:0;color:var(--ink-2)}
.record-card,.code-card{background:#0f1420;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px #0b2a5a33}
.record-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#171e2e;color:#8b95ad;font:12.5px var(--mono)}
.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:#2a3346;display:block}
.record,.code{margin:0;padding:24px 26px;font:14.5px/1.75 var(--mono);color:#dfe6f5;overflow-x:auto}
.record .k{color:#8b95ad}.record .s{color:#f6c1da}.record .n{color:#9fd3ff}.record .h{color:#a6e9c8}.record .ok{color:#7ef0a8}
.code .c{color:#6f7b95}.code .kw{color:#f6a8cc}.code .fn{color:#9fd3ff}.code .s{color:#a6e9c8}
.code-tabs{display:flex;gap:6px;padding:12px 14px;background:#171e2e}
.code-tabs button{font:600 13px var(--sans);padding:8px 14px;border-radius:999px;border:0;background:transparent;color:#8b95ad;cursor:pointer}
.code-tabs button[aria-selected="true"]{background:#273049;color:#fff}
.code-note{margin:0;padding:0 26px 18px;color:#6f7b95;font-size:12.5px}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticks li::before{content:"✓";color:var(--pink);font-weight:800;margin-right:10px}

/* faq */
details{border-bottom:1px solid var(--line);padding:18px 0}
summary{cursor:pointer;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--pink);font-size:24px;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--ink-2);margin:12px 0 0}

/* footer */
.footer{position:relative;color:#fff;background:url(/assets/fulc-flowers.jpg) center bottom/cover,linear-gradient(180deg,var(--sky-2),var(--sky-3));padding:110px 24px 0;overflow:hidden}
.footer::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 35%,transparent 75%)}
.footer-cta{position:relative;text-align:center;max-width:720px;margin:0 auto 160px;display:grid;justify-items:center;gap:18px}
.footer-cta h2{text-shadow:0 2px 24px #0b3a7a40}
.footer-bar{position:relative;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;max-width:1160px;margin:0 auto;padding:18px 22px;border-radius:18px 18px 0 0;background:#11131ad9;backdrop-filter:blur(8px);font-size:14px;color:#d6dbe8}
.footer-bar a{text-decoration:none}

/* responsive */
@media(max-width:980px){
  .nav nav{display:none}
  .hero{grid-template-columns:1fr;padding-top:104px}
  .hero-copy{justify-self:start;padding-bottom:20px}
  .crt-stage{justify-self:center;padding-bottom:150px}
  .cards.three{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}.step::after{display:none}
  .split{grid-template-columns:1fr;gap:36px}
  .chain-demo{grid-template-columns:1fr}
  .chain-rail{flex-direction:row;overflow-x:auto;padding-bottom:6px}.chain-rail::before{display:none}
  .ver{flex:none}
}
@media(max-width:620px){
  .nav{inset:10px 10px auto;gap:12px}
  .cards.three,.steps{grid-template-columns:1fr}
  .section{padding:80px 0}
  .fields div{grid-template-columns:1fr;gap:4px}
  .diff li{grid-template-columns:1fr;gap:2px}
  .crt{transform:none}.crt-screen{height:230px}.crt-screen pre{font-size:12.5px;padding:18px}
  .footer-cta{margin-bottom:120px}
}
/* reduce-motion: keep the gentle ambient animations, drop bobbing, glitch shake and smooth scroll */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-mark,.mark-assemble{animation:none}.crt-screen.glitch pre{animation:none}.btn:hover{transform:none}}

/* ===== Upgrade: serif headlines, assembling mark, glass, night sky, retro CRT ===== */
:root{--serif:'Instrument Serif',Georgia,serif;--pixel:'VT323',var(--mono)}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
h1{font-size:clamp(52px,7.4vw,104px);line-height:.98}
h2{font-size:clamp(38px,4.8vw,64px);line-height:1.02}
h1 em,h2 em{font-style:italic}
h1 em{color:#fff}h1 span em{color:var(--pink-soft)}
h2 em{color:var(--pink)}
.footer-cta h2 em,.night h2 em{color:var(--pink-soft)}

/* the F mark assembles from hash blocks, then the crisp image takes over */
.mark-assemble{position:relative;width:92px;height:81px;margin-bottom:22px;animation:float 7s ease-in-out infinite}
.mark-assemble canvas{position:absolute;left:-92px;top:-81px;width:276px;height:243px}
.mark-assemble img{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;filter:drop-shadow(0 8px 24px #0b3a7a40)}
.mark-assemble.done img{opacity:1}.mark-assemble.done canvas{opacity:0;transition:opacity .6s ease}

/* frosted glass over the soft sky sections */
.sky-soft{position:relative;background:radial-gradient(60% 50% at 15% 10%,#ffffff 0,transparent 60%),radial-gradient(50% 40% at 85% 30%,#ffffffcc 0,transparent 60%),linear-gradient(180deg,#d9ecfd,#eef7ff 60%,#f7fbff)}
.step,.chain-panel,.ver,.card{background:#ffffffa6;border:1px solid #ffffffd9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 40px #1d4f8a14,inset 0 1px 0 #ffffff}
#chain{background:linear-gradient(180deg,#f7fbff,#e4f1fe)}
#problem,#uses{background:linear-gradient(180deg,#fff,#f3f9ff)}
.record-card,.code-card{border:1px solid #ffffff1f;box-shadow:0 30px 70px #0b2a5a40,inset 0 1px 0 #ffffff14}

/* night sky section: stars are versions, linked into a chain */
.night{position:relative;overflow:hidden;color:#fff;padding:140px 0 130px;background:radial-gradient(90% 70% at 70% 20%,#203a7a 0,#0b1636 55%,#060b1d 100%)}
.night #stars{position:absolute;inset:0;width:100%;height:100%}
.night-copy{position:relative;z-index:1}
.section-lede.light{color:#c9d6f2}
.night-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:10px;max-width:880px}
.night-stats div{padding:22px;border-radius:18px;background:#ffffff0f;border:1px solid #ffffff22;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.night-stats b{display:block;font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.1;margin-bottom:6px}
.night-stats span{color:#b9c6e4;font-size:14.5px}

/* retro CRT: pixel font, dither, glitch on verify */
.crt-screen pre{font-family:var(--pixel);font-size:21px;line-height:1.18;letter-spacing:.02em}
.crt-screen::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:overlay;
  background-image:radial-gradient(#fff 0.6px,transparent 0.7px);background-size:3px 3px}
.crt-screen.glitch pre{animation:glitch .42s steps(2) 1}
@keyframes glitch{0%{transform:translate(0);text-shadow:0 0 8px #48f0a088}20%{transform:translate(-3px,1px);text-shadow:3px 0 #f6a8cc,-3px 0 #7fd3ff}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,0);text-shadow:-2px 0 #f6a8cc,2px 0 #7fd3ff}100%{transform:translate(0);text-shadow:0 0 8px #48f0a088}}

@media(max-width:1179px){.night{padding-bottom:190px}}
@media(max-width:980px){.night-stats{grid-template-columns:1fr}}
@media(max-width:620px){.crt-screen pre{font-size:17px}.night{padding:100px 0}}

/* ===== Banner-accurate hero: the real banner photo + a 3D beige computer ===== */
.hero{background:url(/assets/fulc-hero-bg.jpg) center bottom/cover no-repeat,#4f9be6}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0d3f8a59 0,#0d3f8a26 38%,transparent 62%)}
.hero .clouds{display:none}              /* the photo has real clouds */
/* identical copy of the photo, masked to the bottom, so real flowers pass in front of the computer */
.hero-front{position:absolute;inset:0;z-index:4;pointer-events:none;background:inherit;background:url(/assets/fulc-hero-bg.jpg) center bottom/cover no-repeat;
  -webkit-mask-image:linear-gradient(to top,#000 0,#000 60px,transparent 150px);mask-image:linear-gradient(to top,#000 0,#000 60px,transparent 150px)}

.tv-stage{position:relative;z-index:3;justify-self:start;align-self:end;margin-bottom:46px;perspective:1500px;perspective-origin:42% -60%;width:420px;height:470px}
.tv-stage::after{content:"";position:absolute;left:8%;right:2%;bottom:-6px;height:60px;border-radius:50%;background:radial-gradient(closest-side,#3a2c1866,transparent);filter:blur(6px);z-index:-1}
.tv3d{position:absolute;left:30px;top:20px;width:360px;height:404px;transform-style:preserve-3d;transform:rotateX(-3deg) rotateY(17deg)}
.box{position:absolute;transform-style:preserve-3d}
.face{position:absolute;border-radius:10px}
/* monitor: 360 x 300 x 290 */
.monitor{left:0;top:0;width:360px;height:300px}
.monitor .front{inset:0;transform:translateZ(145px);background:linear-gradient(165deg,#f6efde 0,#ece2cc 46%,#ddcfb2 100%);box-shadow:inset 0 2px 0 #fffaf0,inset 0 -6px 12px #c7b79566}
.monitor .back{inset:0;transform:rotateY(180deg) translateZ(145px);background:#cdbd9c}
.monitor .left{left:35px;top:0;width:290px;height:300px;transform:rotateY(-90deg) translateZ(180px);background:linear-gradient(90deg,#d2c3a3,#e2d5b9 70%,#ece2cc);box-shadow:inset 0 2px 0 #fff6e6}
.monitor .right{left:35px;top:0;width:290px;height:300px;transform:rotateY(90deg) translateZ(180px);background:#c4b391}
.monitor .top{left:0;top:5px;width:360px;height:290px;transform:rotateX(90deg) translateZ(145px);background:linear-gradient(0deg,#f8f2e4,#e9dec6)}
.bezel{position:absolute;left:24px;right:24px;top:22px;bottom:50px;border-radius:18px;background:linear-gradient(160deg,#d7cab0,#e8ddc5);box-shadow:inset 0 3px 8px #9d8b6a88,inset 0 -2px 0 #fff8ea}
.screen{position:absolute;inset:13px;border-radius:22px/28px;overflow:hidden;background:#0b1a14;box-shadow:inset 0 0 0 3px #3a372f,inset 0 0 30px #000c}
.screen-scene{position:absolute;inset:-6px;background:url(/assets/fulc-hero-bg.jpg) 42% 78%/420% auto;filter:saturate(1.05) brightness(.98);transition:opacity .8s ease}
.screen pre{position:absolute;inset:0;margin:0;padding:11px 16px;font:15.5px/1.08 var(--pixel);color:#9ff3c4;text-shadow:0 0 8px #48f0a088;white-space:pre-wrap;background:linear-gradient(180deg,#07150fe6,#0a1d15ee);opacity:0;transition:opacity .8s ease}
.screen.typing pre{opacity:1}.screen.typing .screen-scene{opacity:.25}
.screen-glass{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(120% 70% at 30% 10%,#ffffff40,transparent 45%),repeating-linear-gradient(0deg,#ffffff08 0 2px,transparent 2px 4px);box-shadow:inset 0 0 40px #0008}
.screen.glitch pre{animation:glitch .42s steps(2) 1}
.badge{position:absolute;left:30px;bottom:16px;display:flex;align-items:center;gap:8px;font:600 12px var(--mono);letter-spacing:.12em;color:#9a8b6d;text-transform:lowercase}
/* base unit: 340 x 104 x 290 */
.base{left:10px;top:300px;width:340px;height:104px}
.base .front{inset:0;transform:translateZ(145px);background:linear-gradient(175deg,#efe6d2,#dccfb2);box-shadow:inset 0 2px 0 #fff8ea}
.base .left{left:25px;top:0;width:290px;height:104px;transform:rotateY(-90deg) translateZ(170px);background:linear-gradient(90deg,#cbbb99,#ddd0b4)}
.base .right{left:25px;top:0;width:290px;height:104px;transform:rotateY(90deg) translateZ(170px);background:#bfae8b}
.base .top{left:0;top:-93px;width:340px;height:290px;transform:rotateX(90deg) translateZ(52px);background:#e4d8bf}
.slot{position:absolute;right:34px;top:34px;width:120px;height:9px;border-radius:5px;background:#b7a684;box-shadow:inset 0 2px 3px #7d6c4d}
.slot.short{top:56px;width:70px}

/* old flat CRT and field layers are no longer used */
.crt-stage,.field{display:none}

@media(max-width:980px){.tv-stage{justify-self:center;margin-bottom:60px}}
@media(max-width:620px){.tv-stage{justify-self:center;transform:scale(.7);transform-origin:50% 100%;margin:-70px -60px 40px}.tv3d{left:10px}}

/* ===== Header with centered CA ===== */
.nav{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}
.nav .brand{justify-self:start}
.nav-end{justify-self:end;display:flex;align-items:center;gap:22px}
.nav nav{margin-left:0}
.ca-pill{position:relative;display:inline-flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-radius:999px;border:1px solid #11131a1f;background:#ffffffd9;color:var(--ink);cursor:pointer;font:inherit;transition:background .15s ease,border-color .15s ease}
.ca-pill:hover{background:#fff;border-color:#11131a40}
.ca-label{font:700 11px var(--mono);letter-spacing:.12em;color:var(--pink)}
.ca-pill code{font:500 13px var(--mono)}
.ca-short{display:none}
.ca-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff}
.ca-copied{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);font:600 12px var(--sans);color:#fff;background:var(--ink);padding:5px 10px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .2s ease;white-space:nowrap}
.ca-pill.copied .ca-copied{opacity:1}
@media(max-width:1599px){.ca-full{display:none}.ca-short{display:inline}}
.nav-end a,.nav .btn{white-space:nowrap}
@media(max-width:980px){.nav{grid-template-columns:auto 1fr auto}.ca-pill{justify-self:center}}
@media(max-width:620px){
  .nav{grid-template-columns:1fr auto;grid-template-areas:"brand end" "ca ca";border-radius:26px;row-gap:10px}
  .nav .brand{grid-area:brand}.nav-end{grid-area:end}.ca-pill{grid-area:ca;justify-self:stretch;justify-content:center}
  .hero{padding-top:150px}
}
