
  /* ---- feature: magazine + device ---- */
  .feature{display:grid;grid-template-columns:1fr 1.25fr;gap:32px;margin-top:64px;align-items:stretch;}
  .feature .mag{height:clamp(300px,34vw,440px);}
  .feature .device{height:clamp(300px,34vw,440px);}

  /* ---- media trio (logo / video / spread) ---- */
  .mtrio{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:24px;margin-top:24px;}
  .mtrio .ph-box{height:clamp(150px,15vw,210px);}
  .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;border:1.5px solid #fff;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.12);backdrop-filter:blur(2px);}
  .play::after{content:"";border-left:14px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px;}

  /* ---- closing band (full-bleed photo background) ---- */
  .closing{position:relative;overflow:hidden;background:var(--paper-2);min-height:clamp(440px,56vh,660px);display:flex;align-items:center;}
  .closing .bg-photo{position:absolute;inset:0;width:100%;height:100%;}
  .closing .bg-photo .ph-label{top:auto;left:auto;right:20px;bottom:16px;transform:none;}
  .closing::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(95deg, rgba(244,240,232,.94) 0%, rgba(244,240,232,.82) 28%, rgba(244,240,232,.42) 52%, rgba(244,240,232,.08) 74%, rgba(244,240,232,0) 100%);}
  .closing .inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(70px,12vh,140px) var(--pad);}
  .closing .inner > .reveal{max-width:540px;}
  .closing h2{font-size:clamp(1.8rem,3.3vw,2.9rem);font-weight:600;line-height:1.6;letter-spacing:.04em;margin:0 0 28px;}
  .closing h2 .em{color:var(--accent);}
  .closing p{font-size:.98rem;line-height:2.2;color:var(--ink-2);margin:0;max-width:40ch;}

  /* ---- legal / privacy document ---- */
  .legal{padding:calc(var(--header-h) + clamp(64px,10vh,120px)) 0 clamp(80px,12vh,150px);}
  .legal .wrap{max-width:880px;margin:0 auto;padding:0 var(--pad);}
  .legal .eyebrow{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;}
  .legal h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700;letter-spacing:.06em;line-height:1.3;margin:0 0 30px;}
  .legal .meta{text-align:right;font-family:var(--sans);font-size:12px;line-height:2.1;color:var(--ink-2);letter-spacing:.04em;margin:0 0 44px;}
  .legal .lead{font-size:1rem;line-height:2.2;color:var(--ink-2);margin:0;letter-spacing:.02em;}
  .legal .rule{height:1px;background:var(--line);margin:44px 0;}
  .legal .clause{margin:0 0 38px;}
  .legal .clause a{font-weight: bold; color: black;}
  .legal h2{font-size:clamp(1.12rem,2vw,1.4rem);font-weight:600;letter-spacing:.03em;line-height:1.6;margin:0 0 16px;display:flex;gap:14px;align-items:baseline;}
  .legal h2 .n{font-family:var(--latin);color:var(--accent);font-size:1.15em;font-weight:600;flex-shrink:0;}
  .legal p{font-size:.98rem;line-height:2.15;color:var(--ink-2);margin:0 0 1.1em;letter-spacing:.02em;}
  .legal .clause p:last-child{margin-bottom:0;}
  .legal .contact-box{margin-top:44px;border:1px solid var(--line);padding:30px 32px;background:var(--paper-2);}
  .legal .contact-box h3{font-size:1.02rem;font-weight:600;letter-spacing:.04em;margin:0 0 14px;}
  .legal .contact-box p{margin:0 0 .4em;font-size:.94rem;line-height:1.9;}
  .legal .contact-box p:last-child{margin-bottom:0;}
  .legal .draft-note{margin-top:40px;font-family:var(--sans);font-size:11px;letter-spacing:.04em;line-height:1.9;color:var(--ink-3);}
  @media (max-width:600px){ .legal .meta{text-align:left;} }

  /* ---- prev / next ---- */
  .pager{border-top:1px solid var(--line);}
  .pager .inner{max-width:var(--maxw);margin:0 auto;padding:40px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .pager a{display:flex;flex-direction:column;gap:6px;}
  .pager a .k{font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:10px;}
  .pager a .ttl{font-size:1.05rem;font-weight:600;letter-spacing:.04em;color:var(--ink);transition:color .3s;}
  .pager a.next{align-items:flex-end;text-align:right;}
  .pager a:hover .ttl{color:var(--accent);}
  .pager a .arr{transition:transform .4s cubic-bezier(.2,.7,.2,1);display:inline-block;}
  .pager a.prev:hover .arr{transform:translateX(-7px);}
  .pager a.next:hover .arr{transform:translateX(7px);}

  /* =========================================================
     FOOTER
  ========================================================= */
  footer{border-top:1px solid var(--line);padding:80px 0 40px;}
  .foot-top{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;margin-bottom:56px;}
  .foot-logo{height:96px;width:auto;display:block;margin-bottom:18px;}
  .foot-logo .st2{fill:var(--accent);}
  .foot-logo .st0{fill:var(--paper);}
  .foot-logo .st1{fill:var(--ink);}
  .foot-brand .tag{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);line-height:2;}
  .foot-col h5{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin:0 0 22px;}
  .foot-col a,.foot-col p{display:block;font-size:.92rem;color:var(--ink-2);margin:0 0 13px;}
  .foot-col a{transition:color .3s;width:fit-content;}
  .foot-col a:hover{color:var(--accent);}
  .foot-bottom{max-width:var(--maxw);margin:0 auto;padding:28px var(--pad) 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line-soft);flex-wrap:wrap;}
  .foot-bottom .cp{font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);}
  .foot-bottom .links{display:flex;gap:26px;}
  .foot-bottom .links a{font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);transition:color .3s;}
  .foot-bottom .links a:hover{color:var(--accent);}

  /* ---- back to top ---- */
  #toTop{position:fixed;right:var(--pad);bottom:36px;z-index:130;width:60px;height:60px;display:block;cursor:pointer;border:none;background:none;padding:0;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1), visibility .5s;}
  body.scrolled #toTop{opacity:1;visibility:visible;transform:none;}
  #toTop svg{width:100%;height:100%;display:block;transition:transform .45s cubic-bezier(.2,.7,.2,1);}
  #toTop:hover svg{transform:translateY(-5px);}
  #toTop .st0{fill:var(--ink);transition:fill .4s;}
  #toTop .st1{fill:none;stroke:var(--paper);stroke-width:6;stroke-linecap:square;stroke-linejoin:miter;}
  #toTop:hover .st0{fill:var(--accent);}

  /* =========================================================
     REVEAL
  ========================================================= */
  .reveal{opacity:1;transform:none;}
  html.anim .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);}
  html.anim .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){
    html.anim .reveal{opacity:1;transform:none;transition:none;}
    .p-scroll .ln::after{animation:none;}
    html{scroll-behavior:auto;}
  }

  /* =========================================================
     RESPONSIVE
  ========================================================= */
  @media (max-width:900px){
    :root{--pad:24px;--header-h:64px;}
    .navlinks,.nav-dot{display:none;}
    .burger{display:block;}
    .site-logo .brand-logo{height:46px;}
    .intro,.split,.split.flip,.feature{grid-template-columns:1fr;gap:40px;}
    .closing::after{background:linear-gradient(105deg, rgba(244,240,232,.95) 0%, rgba(244,240,232,.86) 42%, rgba(244,240,232,.5) 72%, rgba(244,240,232,.2) 100%);}
    .split.flip .txt{order:0;}
    .trio,.mtrio{grid-template-columns:1fr;gap:18px;}
    .pager .inner{flex-direction:column;align-items:stretch;gap:24px;}
    .pager a.next{align-items:flex-start;text-align:left;}
    .foot-top{grid-template-columns:1fr 1fr;gap:36px;}
    .foot-brand{grid-column:1 / -1;}
    #toTop{width:50px;height:50px;bottom:24px;right:24px;}
  }
