/* SUPERNOVA — core design system
   Extracted from the approved Direction A build. Layout + motion are
   intentionally NOT client-editable; only content is exposed via Elementor. */

:root{
    --black:#0B0A09;          /* warm black — the "warm grey/black tone" client liked */
    --panel:#100F0D;
    --fg:#FFFFFF;
    --dim:#9C978E;            /* warm grey, legible */
    --faint:#6A655C;
    --hair:rgba(255,255,255,0.09);
    --paper:#EFEDE7;          /* warm light section */
    --ink:#1A1815;
    --paper-dim:#726C62;
    --blue:#00a8e2;           /* reserved for one purposeful accent only */
    --ease:cubic-bezier(0.22,1,0.36,1);
    --edge:clamp(28px,6vw,140px);
    --maxw:1360px;
  }

/* ---------------------------------------------------------------
 * Lenis smooth scroll — REQUIRED runtime styles.
 * Without these the library fights native scrolling and the page
 * feels laggy/broken. Ships with lenis as lenis.css; inlined here so
 * there is one less request and it can never go missing.
 * -------------------------------------------------------------- */
html.lenis,
html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth iframe { pointer-events: none; }


  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:auto;}
  body{background:var(--black); color:var(--fg);
    font-family:"Helvetica Neue","Inter",Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; line-height:1.5;}
  img{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  ::selection{background:rgba(0,168,226,0.22);}
  a:focus-visible{outline:1px solid var(--blue); outline-offset:4px;}

  /* very fine film grain — keeps the warm tone from going flat */
  body::after{content:""; position:fixed; inset:0; z-index:9990; pointer-events:none; opacity:.03;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 var(--edge);}
  /* SMALL uppercase Swiss labels — the only place the condensed face appears */
  .label{font-family:"Oswald",sans-serif; font-weight:400; font-size:11px; letter-spacing:0.32em; text-transform:uppercase; color:var(--faint);}
  .mono{font-family:"Space Mono",monospace;}
  .num-idx{font-family:"Oswald",sans-serif; font-weight:400; font-size:12px; letter-spacing:0.24em; color:var(--faint);}
  .num-idx b{color:var(--fg); font-weight:500;}

  /* restrained reveal: a gentle fade+rise only. No word-by-word, no aggressive parallax. */
  .rise{opacity:0; transform:translateY(20px); transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);}
  .rise.in{opacity:1; transform:none;}
  .rise.d1{transition-delay:.09s;} .rise.d2{transition-delay:.18s;} .rise.d3{transition-delay:.27s;}
  /* hairline that draws in — used on section separators for a crafted, subtle touch */
  .draw{transform:scaleX(0); transform-origin:left; transition:transform 1.3s var(--ease);}
  .draw.in{transform:scaleX(1);}
  /* image reveal: soft scale-settle behind a mask, very slow */
  .imgrise img{transform:scale(1.08); transition:transform 1.8s var(--ease), opacity 1.4s var(--ease); opacity:0;}
  .imgrise.in img{transform:scale(1); opacity:1;}

  /* ============ NAV ============ */
  header{position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:26px var(--edge); transition:padding .5s var(--ease), background .5s var(--ease), border-color .5s; border-bottom:1px solid transparent;}
  header.scrolled{padding:16px var(--edge); background:rgba(11,10,9,0.78); backdrop-filter:blur(16px); border-bottom:1px solid var(--hair);}
  header .logo{height:16px; opacity:.95;}
  header nav{display:flex; gap:36px; align-items:center;}
  header nav a{font-family:"Oswald",sans-serif; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--dim); transition:color .3s;}
  header nav a:hover{color:var(--fg);}
  header .lang{font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:0.12em; color:var(--faint);}

  /* ============ 01 · HERO — full-bleed photograph, watch left, type in the void right ============ */
  .hero{position:relative; height:100vh; min-height:700px; overflow:hidden; display:flex; align-items:center;}
  /* the photograph fills the frame — it is already lit on black, so no mask, no bloom */
  .hero .himg{position:absolute; inset:0; z-index:1;
    background:url('assets/p-angle.jpg') 32% 46%/cover no-repeat;
    will-change:transform;}
  /* scrim: darkens the right side so type reads, keeps the watch untouched on the left */
  .hero .hgrade{position:absolute; inset:0; z-index:2;
    background:linear-gradient(90deg, rgba(11,10,9,0.10) 0%, rgba(11,10,9,0.05) 34%, rgba(11,10,9,0.72) 62%, rgba(11,10,9,0.92) 100%),
               linear-gradient(180deg, rgba(11,10,9,0.55) 0%, transparent 26%, transparent 72%, rgba(11,10,9,0.85) 100%);}
  .hero .h-in{position:relative; z-index:3; margin-left:auto; width:min(46%,620px); padding-right:var(--edge); padding-left:20px;}
  .hero h1{font-weight:300; font-size:clamp(30px,3.6vw,52px); line-height:1.16; letter-spacing:-0.025em; color:#F7F5F0; text-shadow:0 6px 60px rgba(0,0,0,0.85);}
  .hero h1 em{font-style:italic; color:#fff;}
  .hero .cue{position:absolute; right:var(--edge); bottom:38px; z-index:3; display:flex; align-items:center; gap:12px;}
  .hero .cue span{font-family:"Oswald",sans-serif; font-size:9px; letter-spacing:0.32em; text-transform:uppercase; color:var(--faint);}
  .hero .cue .l{width:46px; height:1px; background:var(--faint);}
  @media (max-width:900px){
    .hero{align-items:flex-end;}
    .hero .himg{background-position:50% 38%;}
    .hero .hgrade{background:linear-gradient(180deg, rgba(11,10,9,0.5) 0%, transparent 30%, rgba(11,10,9,0.9) 78%, var(--black) 100%);}
    .hero .h-in{width:100%; margin-left:0; padding:0 var(--edge) 16vh;}
  }
  /* hero entrance states (toggled by .in) */
  .js .hero h1,.js .hero .cue{opacity:0; transform:translateY(16px); transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);}
  .js .hero h1.in,.js .hero .cue.in{opacity:1; transform:none;}

  /* section scaffold — generous silence */
  section.block{padding:clamp(120px,16vh,220px) 0;}
  .sechead{display:flex; align-items:center; gap:24px; margin-bottom:clamp(52px,7vh,96px);}
  .sechead .num-idx{white-space:nowrap;}
  .sechead .rule{flex:1; height:1px; background:var(--hair); transform-origin:left;}
  .sechead .label{white-space:nowrap;}

  /* ============ 02 · THE IDEA (calm statement) ============ */
  .idea .lead{font-weight:300; font-size:clamp(32px,4.4vw,68px); line-height:1.1; letter-spacing:-0.03em; max-width:16ch; color:#F1EFEA;}
  .idea .lead em{font-style:italic;}

  /* ============ 03 · TWO SYSTEMS, ONE OBJECT (the core idea) ============ */
  .duo .top{max-width:20ch; margin-bottom:70px;}
  .duo h2{font-weight:300; font-size:clamp(30px,4vw,60px); line-height:1.08; letter-spacing:-0.02em;}
  .duo .cols{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--hair); border:1px solid var(--hair);}
  .duo .cell{position:relative; background:var(--black); padding:clamp(38px,4vw,68px); transition:background .6s var(--ease);}
  .duo .cell:hover{background:var(--panel);}
  .duo .cell .k{font-family:"Oswald",sans-serif; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--faint); margin-bottom:28px; display:flex; align-items:center; gap:12px;}
  .duo .cell .k::before{content:""; width:20px; height:1px; background:var(--dim);}
  .duo .cell h3{font-weight:400; font-size:clamp(22px,2.2vw,30px); line-height:1.14; letter-spacing:-0.015em; margin-bottom:18px;}
  .duo .cell p{font-size:15.5px; line-height:1.8; color:var(--dim); max-width:34ch;}
  .duo .foot{margin-top:48px; text-align:center;}
  .duo .foot p{font-weight:300; font-size:clamp(18px,2vw,26px); color:#E9E7E1; letter-spacing:-0.01em;}
  .duo .foot em{font-style:italic;}

  /* ============ 04 · PRIVACY — full-bleed, emotional entry ============ */
  .privacy{position:relative; height:100vh; min-height:640px; overflow:hidden; display:flex; align-items:center;}
  .privacy .pimg{position:absolute; inset:0; z-index:0; background:url('assets/privacy-wrist.jpg') center 40%/cover no-repeat;}
  .privacy .shade{position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(11,10,9,0.9) 20%, rgba(11,10,9,0.35) 58%, transparent), linear-gradient(180deg, rgba(11,10,9,0.6), transparent 34%, rgba(11,10,9,0.7));}
  .privacy .p-in{position:relative; z-index:2; max-width:44ch;}
  .privacy .label{color:#B9BEC0; margin-bottom:28px; display:block;}
  .privacy h2{font-weight:300; font-size:clamp(38px,6vw,88px); line-height:1.0; letter-spacing:-0.025em; text-shadow:0 6px 60px rgba(0,0,0,0.7);}
  .privacy p{margin-top:32px; max-width:40ch; font-size:17px; line-height:1.7; color:#DAD8D2;}

  /* ============ 05 · CRAFT — individual image-led rows, alternating ============ */
  .craft .lead{font-weight:300; font-size:clamp(28px,3.6vw,52px); line-height:1.14; letter-spacing:-0.02em; max-width:18ch; margin-bottom:clamp(70px,10vh,140px);}
  .craft-row{display:grid; grid-template-columns:1.05fr 0.95fr; align-items:center; gap:clamp(40px,7vw,120px); margin-bottom:clamp(90px,13vh,180px);}
  .craft-row:last-child{margin-bottom:0;}
  .craft-row.rev .cr-fig{order:2;} .craft-row.rev .cr-txt{order:1;}
  .cr-fig{position:relative; aspect-ratio:4/5; overflow:hidden; background:#000;}
  .cr-fig img{width:100%; height:100%; object-fit:cover;}
  .craft-row.wide .cr-fig{aspect-ratio:5/4;}
  .cr-txt .idx{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:0.1em; color:var(--faint); margin-bottom:24px;}
  .cr-txt h3{font-family:"Oswald",sans-serif; font-weight:300; font-size:clamp(30px,3.4vw,52px); line-height:1.02; letter-spacing:-0.02em; margin-bottom:24px;}
  .cr-txt p{font-size:16.5px; line-height:1.8; color:var(--dim); max-width:34ch;}
  .cr-txt .kbd{margin-top:28px; font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--faint); display:flex; align-items:center; gap:12px;}
  .cr-txt .kbd::before{content:""; width:24px; height:1px; background:var(--dim);}

  /* ============ 06 · THE COLOSSAL MOMENT — text-free, luminous ============ */
  .moment{position:relative; height:118vh; min-height:820px; overflow:hidden; background:#000;}
  .moment .mimg{position:absolute; inset:0; background:url('assets/p-front-ti.jpg') center 46%/cover no-repeat; will-change:transform;}
  .moment::after{content:""; position:absolute; inset:0; background:radial-gradient(ellipse 76% 76% at 50% 48%, transparent 58%, rgba(11,10,9,0.7) 100%), linear-gradient(180deg, var(--black), transparent 14%, transparent 86%, var(--black));}

  /* ============ 07 · SPECIFICATION — Opt 1/4 technical drawing, warm-light section ============ */
  .spec{background:var(--paper); color:var(--ink);}
  .spec .sechead .num-idx{color:var(--paper-dim);} .spec .sechead .num-idx b{color:var(--ink);}
  .spec .sechead .label{color:var(--paper-dim);} .spec .sechead .rule{background:rgba(26,24,21,0.14);}
  /* the plate is inset so the leader-lines land on the paper, never on the photograph */
  .spec .drawing{position:relative; display:flex; justify-content:center; padding:0 clamp(120px,18vw,260px);}
  .spec .plate{position:relative; width:min(640px,100%); aspect-ratio:3/2;}
  .spec .plate img{width:100%; height:100%; object-fit:cover; background:#0B0A09;}
  .spec .anno{position:absolute; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:0.03em; color:var(--ink); white-space:nowrap;}
  .spec .anno::before{content:""; position:absolute; background:rgba(26,24,21,0.45);}
  /* annotations sit OUTSIDE the plate on the paper; leader-lines reach in to the edge */
  .spec .anno{transform:translateY(-50%);}
  .spec .a1{top:20%; right:calc(100% + 68px); text-align:right;} .spec .a1::before{width:56px; height:1px; top:50%; left:calc(100% + 6px);}
  .spec .a2{top:50%; right:calc(100% + 68px); text-align:right;} .spec .a2::before{width:56px; height:1px; top:50%; left:calc(100% + 6px);}
  .spec .a3{top:80%; right:calc(100% + 68px); text-align:right;} .spec .a3::before{width:56px; height:1px; top:50%; left:calc(100% + 6px);}
  .spec .a4{top:20%; left:calc(100% + 68px);} .spec .a4::before{width:56px; height:1px; top:50%; right:calc(100% + 6px);}
  .spec .a5{top:50%; left:calc(100% + 68px);} .spec .a5::before{width:56px; height:1px; top:50%; right:calc(100% + 6px);}
  .spec .a6{top:80%; left:calc(100% + 68px);} .spec .a6::before{width:56px; height:1px; top:50%; right:calc(100% + 6px);}
  @media (max-width:900px){
    .spec .drawing{padding:0;}
    .spec .anno{position:static; transform:none; display:flex; justify-content:space-between; padding:14px 0; border-top:1px solid rgba(26,24,21,0.14);}
    .spec .anno::before{display:none;}
    .spec .plate{aspect-ratio:16/10;}
  }
  .spec .caption{text-align:center; margin-top:64px; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:0.06em; color:var(--paper-dim);}

  /* ============ 08 · THE ANSWER — SN 2140 named ============ */
  .answer{text-align:center;}
  .answer .watch{position:relative; width:min(520px,60vw); margin:0 auto 54px;
    -webkit-mask-image:radial-gradient(ellipse 74% 72% at 50% 50%, #000 56%, transparent 82%);
            mask-image:radial-gradient(ellipse 74% 72% at 50% 50%, #000 56%, transparent 82%);}
  .answer .watch img{width:100%; filter:brightness(1.12) contrast(1.03);}
  .answer .label{display:block; margin-bottom:28px;}
  .answer h2{font-weight:300; font-size:clamp(32px,4.4vw,66px); line-height:1.04; letter-spacing:-0.025em; max-width:18ch; margin:0 auto 30px;}
  .answer .q{font-weight:300; font-size:clamp(18px,1.9vw,25px); color:var(--dim); max-width:32ch; margin:0 auto 46px; line-height:1.5;}
  .answer .link{font-family:"Oswald",sans-serif; font-size:12px; letter-spacing:0.2em; text-transform:uppercase; position:relative; padding-bottom:9px;}
  .answer .link::after{content:""; position:absolute; left:0; bottom:0; width:100%; height:1px; background:var(--fg); transform:scaleX(0); transform-origin:left; transition:transform .55s var(--ease);}
  .answer .link:hover::after{transform:scaleX(1);}
  .answer .link .a{margin-left:8px; display:inline-block; transition:transform .5s var(--ease);}
  .answer .link:hover .a{transform:translateX(7px);}

  /* ============ 09 · THE FOUNDERS — moved LATE, short, 1–2 photos ============ */
  .founders .cols{display:grid; grid-template-columns:0.9fr 1.1fr; gap:80px; align-items:center;}
  .founders figure{position:relative; aspect-ratio:4/5; overflow:hidden; background:#000;}
  .founders figure img{width:100%; height:100%; object-fit:cover; object-position:center 52%;}
  .founders h2{font-weight:300; font-size:clamp(28px,3.4vw,48px); line-height:1.06; letter-spacing:-0.02em; max-width:14ch; margin-bottom:36px;}
  .founders .names{display:flex; flex-direction:column; gap:32px;}
  .founders .names h4{font-family:"Oswald",sans-serif; font-weight:400; font-size:15px; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:12px; color:var(--fg);}
  .founders .names p{font-size:15.5px; line-height:1.75; color:var(--dim); max-width:40ch;}
  .founders .place{margin-top:40px; font-family:"Space Mono",monospace; font-size:12px; color:var(--faint);}

  /* ============ 10 · FINITE / RESERVE ============ */
  .finite{text-align:center;}
  .finite h2{font-weight:300; font-size:clamp(36px,5.5vw,88px); line-height:0.98; letter-spacing:-0.025em; margin-bottom:34px;}
  .finite .sub{max-width:44ch; margin:0 auto; font-size:16px; line-height:1.8; color:var(--dim);}
  .finite .stat{display:flex; justify-content:center; gap:clamp(40px,6vw,80px); flex-wrap:wrap; margin:64px 0 0;}
  .finite .stat .n{font-weight:300; font-size:clamp(26px,3vw,42px); letter-spacing:-0.01em;}
  .finite .stat .k{font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint); margin-top:12px;}
  .finite .cta{display:inline-block; margin-top:66px; font-family:"Oswald",sans-serif; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; border:1px solid rgba(255,255,255,0.42); padding:22px 60px; transition:background .5s var(--ease), color .5s var(--ease);}
  .finite .cta:hover{background:var(--fg); color:var(--black);}
  .finite .note{margin-top:26px; font-size:12.5px; color:var(--faint);}

  /* ============ FOOTER ============ */
  footer{padding:100px 0 56px; border-top:1px solid var(--hair); background:#080706;}
  .fgrid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:52px; align-items:start;}
  .fbrand img{height:15px; opacity:.7; margin-bottom:22px;}
  .fbrand p{font-size:12.5px; color:var(--faint); line-height:1.8; max-width:250px;}
  .fbrand .swiss{margin-top:16px; font-family:"Space Mono",monospace; font-size:11px; color:var(--dim); line-height:1.9;}
  .fcol h6{font-family:"Oswald",sans-serif; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint); margin-bottom:18px; font-weight:400;}
  .fcol ul{list-style:none;} .fcol li{margin-bottom:11px;}
  .fcol a{font-size:12.5px; color:#807a71; transition:color .3s;}
  .fcol a:hover{color:var(--dim);}
  .fnl p{font-size:12px; color:var(--faint); line-height:1.75; margin-bottom:16px; max-width:240px;}
  .fnl .field{display:flex; align-items:center; border-bottom:1px solid rgba(255,255,255,0.14); padding-bottom:10px; max-width:250px;}
  .fnl input{flex:1; background:none; border:none; outline:none; color:var(--dim); font-family:inherit; font-size:12.5px;}
  .fnl input::placeholder{color:var(--faint);}
  .fnl button{background:none; border:none; color:#807a71; cursor:pointer; font-size:15px;}
  .fbot{display:flex; justify-content:space-between; margin-top:64px; padding-top:26px; border-top:1px solid var(--hair);}
  .fbot span{font-family:"Space Mono",monospace; font-size:11px; color:var(--faint);}

  @media (max-width:900px){
    .idea .body,.duo .cols,.founders .cols{grid-template-columns:1fr; gap:32px;}
    .craft-row{grid-template-columns:1fr; gap:32px; margin-bottom:80px;}
    .craft-row.rev .cr-fig{order:1;} .craft-row.rev .cr-txt{order:2;}
    .cr-fig,.craft-row.wide .cr-fig{aspect-ratio:16/10;}
    .fgrid{grid-template-columns:1fr 1fr; gap:40px;}
  }
  @media (max-width:560px){
    .fgrid{grid-template-columns:1fr;}
    .hero h1{font-size:22px;}
  }
  /* ============ JOURNAL — News/Media Hub index ============
     Extracted verbatim from the approved journal.html. These classes were
     missing from this file, which left the Journal Grid widget unstyled. */
  .jhead{padding:clamp(150px,22vh,240px) 0 clamp(60px,8vh,110px);}
  .jhead .label{display:block; margin-bottom:30px;}
  .jhead h1{font-weight:300; font-size:clamp(38px,6vw,92px); line-height:0.98; letter-spacing:-0.03em;}
  .jhead p{margin-top:32px; max-width:44ch; font-size:17px; line-height:1.7; color:var(--dim);}

  /* FEATURED — first card large */
  .feat{border-top:1px solid var(--hair); padding-top:clamp(48px,7vh,90px);}
  .feat a{display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(40px,6vw,90px); align-items:center;}
  .feat .fig{position:relative; aspect-ratio:5/4; overflow:hidden; background:#000;}
  .feat .fig img{width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease);}
  .feat a:hover .fig img{transform:scale(1.04);}
  .feat .meta{display:flex; gap:18px; align-items:center; margin-bottom:26px; font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint);}
  .feat .meta .cat{color:var(--dim);}
  .feat .meta .dot{width:3px; height:3px; border-radius:50%; background:var(--faint);}
  .feat h2{font-weight:300; font-size:clamp(26px,3.2vw,46px); line-height:1.08; letter-spacing:-0.02em; margin-bottom:24px;}
  .feat .ex{font-size:16.5px; line-height:1.8; color:var(--dim); max-width:40ch; margin-bottom:30px;}
  .feat .more{font-family:"Oswald",sans-serif; font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:var(--dim); display:inline-flex; align-items:center; gap:10px;}
  .feat .more .a{transition:transform .5s var(--ease);}
  .feat a:hover .more{color:var(--fg);}
  .feat a:hover .more .a{transform:translateX(7px);}

  /* GRID of the rest */
  .jgrid{margin-top:clamp(90px,13vh,170px); display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hair); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);}
  .jcard{background:var(--black); padding:0;}
  .jcard a{display:block; padding:0;}
  .jcard .fig{position:relative; aspect-ratio:4/3; overflow:hidden; background:#000;}
  .jcard .fig img{width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease);}
  .jcard a:hover .fig img{transform:scale(1.05);}
  .jcard .txt{padding:clamp(28px,2.4vw,40px);}
  .jcard .meta{display:flex; gap:14px; align-items:center; margin-bottom:20px; font-family:"Oswald",sans-serif; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint);}
  .jcard .meta .cat{color:var(--dim);}
  .jcard .meta .dot{width:3px; height:3px; border-radius:50%; background:var(--faint);}
  .jcard h3{font-weight:400; font-size:clamp(19px,1.9vw,24px); line-height:1.16; letter-spacing:-0.015em; margin-bottom:16px;}
  .jcard p{font-size:14.5px; line-height:1.75; color:var(--dim);}

  @media (max-width:900px){
    .feat a{grid-template-columns:1fr; gap:32px;}
    .jgrid{grid-template-columns:1fr;}
  }

  @media (prefers-reduced-motion:reduce){*{animation:none!important; transition:none!important;} .rise{opacity:1; transform:none;}}
