/* ─── Self-hosted fonts (woff2 in ../fonts/) ─── */
@font-face{font-family:"Mona Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/mona-sans-400.woff2") format("woff2");}
@font-face{font-family:"Mona Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/mona-sans-500.woff2") format("woff2");}
@font-face{font-family:"Mona Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/mona-sans-600.woff2") format("woff2");}
@font-face{font-family:"Mona Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/mona-sans-700.woff2") format("woff2");}
@font-face{font-family:"Mona Sans";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/mona-sans-800.woff2") format("woff2");}
@font-face{font-family:"Geist";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/geist-400.woff2") format("woff2");}
@font-face{font-family:"Geist";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/geist-500.woff2") format("woff2");}
@font-face{font-family:"Geist";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/geist-600.woff2") format("woff2");}
@font-face{font-family:"Geist";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/geist-700.woff2") format("woff2");}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jetbrains-mono-400.woff2") format("woff2");}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jetbrains-mono-500.woff2") format("woff2");}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/jetbrains-mono-600.woff2") format("woff2");}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrains-mono-700.woff2") format("woff2");}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/space-grotesk-400.woff2") format("woff2");}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/space-grotesk-500.woff2") format("woff2");}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/space-grotesk-700.woff2") format("woff2");}

  :root{
    --bg:#0b0a08;
    --bg-2:#100e0b;
    --fg:#f5f1e8;
    --fg-dim:#a8a194;
    --muted:#615c52;
    --line:#1c1a16;
    --line-2:#2a2620;
    --amber:#f56524;
    --amber-deep:#b8431a;
    --amber-glow:#ff7a3a;
    --ink:#1a0c05;
    --font-display:"Mona Sans","Helvetica Neue","Helvetica",ui-sans-serif,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html,body{background:var(--bg);color:var(--fg);font-family:"Geist",ui-sans-serif,sans-serif;font-feature-settings:"ss01","ss03","cv11";-webkit-font-smoothing:antialiased;}
  body{width:1440px;overflow-x:hidden;margin:0 auto;}
  @media (max-width: 1440px){ body{width:100%;max-width:100%;} }
  .mono{font-family:"JetBrains Mono",ui-monospace,monospace;}
  a{color:inherit;text-decoration:none;}

  /* ─── NAV ─── */
  .nav{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;border-bottom:2px solid var(--fg);position:sticky;top:0;background:var(--bg);z-index:50;}
  .nav .brand{display:flex;align-items:center;gap:14px;}
  .nav .brand img{height:30px;width:auto;display:block;}
  .nav .brand-name{font-size:24px;font-weight:700;letter-spacing:-0.03em;}
  .nav ul{display:flex;gap:0;list-style:none;}
  .nav ul li{border-left:1px solid var(--line-2);}
  .nav ul li:last-child{border-right:1px solid var(--line-2);}
  .nav ul a{padding:14px 24px;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;display:block;color:var(--fg-dim);}
  .nav ul a:hover{color:var(--amber);background:var(--bg-2);}
  .nav .cta{background:var(--amber);color:var(--ink);padding:14px 22px;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;}
  .nav .cta:hover{background:var(--amber-glow);}

  /* ─── HERO ─── */
  .hero{padding:60px 40px 24px;}
  .hero .tag{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:48px;}
  .hero .tag b{color:var(--amber);}
  .hero h1{font-family:var(--font-display);font-size:200px;line-height:0.92;letter-spacing:-0.035em;font-weight:800;text-transform:uppercase;}
  .hero h1 .slash{color:var(--amber);font-weight:500;font-size:0.95em;margin:0 0.1em;}
  .hero h1 .ww{font-size:0.78em;white-space:nowrap;}
  .hero h1 .out{font-family:"Hubot Sans","Space Grotesk",sans-serif;-webkit-text-stroke:2px var(--fg);color:transparent;font-weight:700;letter-spacing:-0.045em;}
  .hero h1 .acc{color:var(--amber);font-weight:700;}
  .hero h1 .out-svg{height:1em;width:auto;display:inline-block;vertical-align:baseline;color:var(--fg);overflow:visible;}
  .hero h1 .out-svg text{font-family:"Space Grotesk",sans-serif;font-weight:500;}
  /* generic outline SVG — used in approach band, marquee, footer wordmark */
  .out-svg{height:1em;width:auto;display:inline-block;vertical-align:baseline;color:currentColor;overflow:visible;}
  .out-svg text{font-family:"Space Grotesk",sans-serif;font-weight:500;}
  .approach .out-svg{color:var(--ink);}
  .marquee .out-svg, .foot-mark .out-svg{color:var(--fg);}
  .ts-mobile{display:none;}
  @media (max-width: 900px){
    .ts-desktop{display:none;}
    .ts-mobile{display:inline;}
  }
  .hero .sub-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;padding-top:32px;margin-top:32px;border-top:2px solid var(--fg);}
  .hero .sub-row .h{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
  .hero .sub-row p{font-size:18px;line-height:1.45;color:var(--fg);font-weight:400;letter-spacing:-0.005em;}
  .hero .sub-row p b{color:var(--amber);font-weight:500;}

  /* ─── HERO MOSAIC ─── */
  .mosaic{padding:48px 40px 80px;}
  .mosaic .hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;}
  .mosaic .hd h2{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);font-weight:400;}
  .mosaic .hd .ct{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.16em;color:var(--fg-dim);}
  .mos-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:140px;gap:8px;}
  .mos-grid .t{position:relative;overflow:hidden;background:var(--bg-2);}
  .mos-grid .t .ph{position:absolute;inset:0;}
  .mos-grid .t .ph svg{width:100%;height:100%;}
  .mos-grid a.t{cursor:pointer;}
  .mos-grid .t .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
  .mos-grid a.t:hover .ph img{transform:scale(1.05);}
  .mos-grid .t .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0) 36%,rgba(0,0,0,0) 60%,rgba(0,0,0,.72));}
  .mos-grid .t .pad{position:absolute;inset:0;padding:14px;display:flex;flex-direction:column;justify-content:space-between;}
  .mos-grid .t .top{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-dim);}
  .mos-grid .t .top .n{color:var(--amber);font-weight:500;}
  .mos-grid .t .bot{font-size:16px;font-weight:600;letter-spacing:-0.01em;color:var(--fg);}
  .mos-grid .t.lg{font-size:22px;}
  .mos-grid .t.lg .bot{font-size:24px;}
  .mos-grid .t-amber{background:var(--amber);color:var(--ink);display:flex;align-items:center;justify-content:center;padding:18px;}
  .mos-grid .t-amber .big{font-size:48px;font-weight:700;line-height:0.95;letter-spacing:-0.035em;}
  .mos-grid .t-amber .sm{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;margin-top:8px;}

  /* film tile play button */
  .mos-grid a.t::before{content:"\25B6";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;padding-left:3px;font-size:15px;color:var(--fg);background:rgba(11,10,8,.45);border:1.5px solid rgba(245,241,232,.85);opacity:.9;transition:transform .3s ease,opacity .3s ease,background .3s ease,color .3s ease,border-color .3s ease;}
  .mos-grid a.t:hover::before{opacity:1;transform:translate(-50%,-50%) scale(1.12);background:var(--amber);color:var(--ink);border-color:var(--amber);}

  /* keep mosaic tile proportions fluid below the fixed 1440 canvas (fixes resize squashing to square) */
  @media (max-width:1440px){
    .mos-grid{grid-auto-rows:calc((100vw - 168px) / 12 * 1.32);}
  }

  /* video lightbox */
  .lb{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(5,4,3,.93);padding:40px;}
  .lb.open{display:flex;}
  .lb-frame{width:min(1100px,92vw);}
  .lb-embed{position:relative;width:100%;aspect-ratio:16/9;background:#000;}
  .lb-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
  .lb-close{position:absolute;top:22px;right:28px;background:none;border:0;color:var(--fg);font-size:30px;line-height:1;cursor:pointer;font-family:inherit;z-index:2;}
  .lb-close:hover{color:var(--amber);}

  /* ─── APPROACH (amber band) ─── */
  .approach{background:var(--amber);color:var(--ink);padding:120px 40px;}
  .approach .lab{font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;font-weight:500;margin-bottom:48px;}
  .approach h3{font-family:var(--font-display);font-size:120px;line-height:0.88;letter-spacing:-0.04em;font-weight:600;margin-bottom:48px;text-transform:uppercase;}
  .approach h3 .out{-webkit-text-stroke:2px var(--ink);color:transparent;font-weight:400;}
  .approach .grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:32px;border-top:2px solid var(--ink);padding-top:48px;}
  .approach .col .n{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.18em;margin-bottom:14px;}
  .approach .col .t{font-size:22px;font-weight:600;letter-spacing:-0.015em;margin-bottom:14px;line-height:1.1;}
  .approach .col .b{font-size:14px;line-height:1.55;color:var(--ink);}

  /* ─── WORK ─── */
  .work{padding:120px 40px 60px;border-top:2px solid var(--fg);}
  .work-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:72px;align-items:end;}
  .work-head .l .lab{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}
  .work-head .l h2{font-family:var(--font-display);font-size:96px;font-weight:700;letter-spacing:-0.04em;line-height:0.9;text-transform:uppercase;}
  .work-head .l h2 .acc{color:var(--amber);}
  .work-head .r{text-align:right;}
  .work-head .r .desc{font-size:18px;line-height:1.5;color:var(--fg-dim);max-width:420px;margin-left:auto;}
  .work-head .r .ct{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-top:24px;}

  .film{margin-bottom:96px;}
  .film .top{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:end;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line-2);}
  .film .top .num{font-family:var(--font-display);font-size:96px;font-weight:700;line-height:0.85;letter-spacing:-0.045em;color:var(--amber);}
  .film .top .ttl-wrap .lab{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
  .film .top .ttl-wrap .ttl{font-size:56px;font-weight:600;letter-spacing:-0.03em;line-height:0.96;}
  .film .top .meta{text-align:right;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--fg-dim);line-height:1.9;}

  .film .frame{position:relative;aspect-ratio:21/9;background:var(--bg-2);overflow:hidden;}
  .film .frame .ph{position:absolute;inset:0;}
  .film .frame .ph svg{width:100%;height:100%;}
  .film .frame .bar{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:18px 22px;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--fg);background:linear-gradient(to top, rgba(0,0,0,.7), transparent);}
  .film .frame .watch{position:absolute;top:22px;right:22px;background:var(--amber);color:var(--ink);padding:10px 16px;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:8px;}

  .film .below{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;margin-top:22px;padding-top:18px;}
  .film .below p{font-size:16px;line-height:1.55;color:var(--fg-dim);grid-column:span 2;}
  .film .below dl{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;line-height:1.9;}
  .film .below dl div{display:flex;justify-content:space-between;}
  .film .below dl dt{color:var(--muted);}
  .film .below dl dd{color:var(--fg);}

  /* ─── BIG MARQUEE ─── */
  .marquee{padding:64px 0;border-top:2px solid var(--fg);border-bottom:2px solid var(--fg);overflow:hidden;}
  .marquee .row{display:flex;gap:48px;font-family:var(--font-display);font-size:96px;font-weight:700;letter-spacing:-0.04em;line-height:0.9;white-space:nowrap;text-transform:uppercase;color:var(--fg);}
  .marquee .row span{display:inline-flex;align-items:center;gap:48px;}
  .marquee .row .dot{width:24px;height:24px;background:var(--amber);border-radius:50%;display:inline-block;flex:0 0 auto;}
  .marquee .row .out{-webkit-text-stroke:2px var(--fg);color:transparent;font-weight:500;}

  /* ─── CONTACT ─── */
  .contact{padding:120px 40px;}
  .contact .lab{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber);margin-bottom:32px;}
  .contact h3{font-family:var(--font-display);font-size:140px;line-height:0.86;letter-spacing:-0.045em;font-weight:700;text-transform:uppercase;margin-bottom:48px;}
  .contact h3 .out{-webkit-text-stroke:2px var(--fg);color:transparent;font-weight:500;}
  .contact h3 .acc{color:var(--amber);}
  .contact .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;border-top:2px solid var(--fg);padding-top:64px;}
  .contact .left p{font-size:20px;line-height:1.5;color:var(--fg-dim);max-width:460px;margin-bottom:32px;}
  .contact .left .mail{font-size:36px;font-weight:600;letter-spacing:-0.025em;color:var(--amber);}
  .contact .left .ph{margin-top:32px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--fg-dim);line-height:2;}
  .contact .left .ph b{color:var(--fg);font-weight:500;}

  form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  form .field{margin-bottom:18px;}
  form label{display:block;font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
  form input,form textarea{width:100%;background:transparent;border:0;border-bottom:2px solid var(--line-2);padding:12px 0 14px;color:var(--fg);font-family:"Geist",sans-serif;font-size:18px;outline:none;font-weight:500;}
  form input::placeholder, form textarea::placeholder{color:var(--muted);font-weight:400;}
  form input:focus, form textarea:focus{border-color:var(--amber);}
  form textarea{resize:none;min-height:110px;}
  form .submit{margin-top:18px;background:var(--amber);color:var(--ink);padding:20px 28px;border:0;font-family:"JetBrains Mono",monospace;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:12px;}
  form .submit:hover{background:#f4a755;}
  form .hp{position:absolute;left:-9999px;}
  .form-msg{margin-top:18px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);}

  /* ─── FOOTER ─── */
  footer{padding:80px 40px 28px;border-top:2px solid var(--fg);}
  .foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-bottom:56px;}
  .foot .col h5{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
  .foot .col ul{list-style:none;font-size:16px;line-height:2;}
  .foot .col ul a{color:var(--fg-dim);}
  .foot .col ul a:hover{color:var(--amber);}
  .foot-mark{font-family:var(--font-display);font-size:200px;font-weight:700;letter-spacing:-0.05em;line-height:0.84;text-transform:uppercase;border-top:2px solid var(--fg);padding-top:32px;}
  .foot-mark .out{-webkit-text-stroke:2px var(--fg);color:transparent;font-weight:500;}
  .foot-mark .acc{color:var(--amber);}
  .foot-bottom{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-top:32px;padding-top:24px;border-top:1px solid var(--line);}

  /* ─── MOBILE ─── */
  @media (max-width: 900px){
    body{width:100% !important;max-width:100% !important;}

    .nav{display:grid;grid-template-columns:auto auto;grid-template-areas:"brand cta" "menu menu";gap:10px;padding:14px 18px 12px;}
    .nav .brand{grid-area:brand;}
    .nav .cta{grid-area:cta;justify-self:end;align-self:center;}
    .nav ul{grid-area:menu;display:flex;gap:0;border-top:1px solid var(--line-2);padding-top:12px;margin-top:2px;}
    .nav ul li{border:none;}
    .nav ul li:last-child{border:none;}
    .nav ul a{padding:0 14px 0 0;font-size:10px;letter-spacing:0.16em;}
    .nav .brand img{height:22px;}
    .nav .brand-name{font-size:17px;}
    .nav .cta{padding:9px 13px;font-size:10px;letter-spacing:0.14em;}

    .hero{padding:32px 18px 16px;}
    .hero .tag{flex-direction:column;gap:8px;font-size:10px;letter-spacing:0.14em;margin-bottom:28px;}
    .hero h1{font-size:54px;line-height:0.95;letter-spacing:-0.03em;}
    .hero h1 .slash{margin:0 0.06em;font-size:0.95em;}
    .hero .sub-row{grid-template-columns:1fr;gap:24px;padding-top:24px;margin-top:24px;}
    .hero .sub-row p{font-size:15px;line-height:1.5;}
    .hero .sub-row .h{font-size:10px;letter-spacing:0.14em;margin-bottom:6px;}

    .mosaic{padding:32px 18px 48px;}
    .mosaic .hd{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:18px;}
    .mosaic .hd h2{font-size:10px;letter-spacing:0.16em;}
    .mos-grid{grid-template-columns:1fr !important;grid-auto-rows:auto !important;gap:10px;}
    .mos-grid .t, .mos-grid .t-amber{grid-column:1 / -1 !important;grid-row:auto !important;}
    .mos-grid .t{aspect-ratio:16/10;}
    .mos-grid .t-amber{aspect-ratio:auto;min-height:140px;padding:24px;}
    .mos-grid .t-amber .big{font-size:34px;}
    .mos-grid .t .bot{font-size:18px !important;}

    .approach{padding:64px 20px;}
    .approach .lab{font-size:10px;letter-spacing:0.16em;margin-bottom:24px;}
    .approach h3{font-size:46px;line-height:0.96;letter-spacing:-0.03em;margin-bottom:32px;}
    .approach .grid{grid-template-columns:1fr;gap:28px;padding-top:32px;}
    .approach .col .t{font-size:20px;}
    .approach .col .b{font-size:14px;}
    .approach .col .n{font-size:10px;letter-spacing:0.16em;}

    .work{padding:64px 18px 32px;}
    .work-head{grid-template-columns:1fr;gap:24px;margin-bottom:40px;}
    .work-head .l .lab{font-size:10px;letter-spacing:0.18em;margin-bottom:10px;}
    .work-head .l h2{font-size:48px;line-height:0.95;letter-spacing:-0.03em;}
    .work-head .r{text-align:left;}
    .work-head .r .desc{font-size:15px;margin-left:0;max-width:none;}
    .work-head .r .ct{font-size:10px;margin-top:14px;}

    .film{margin-bottom:56px;}
    .film .top{grid-template-columns:auto 1fr;gap:14px 18px;align-items:start;margin-bottom:14px;padding-bottom:12px;}
    .film .top .num{font-size:44px;line-height:1;letter-spacing:-0.04em;align-self:start;}
    .film .top .ttl-wrap{align-self:center;}
    .film .top .ttl-wrap .lab{font-size:10px;letter-spacing:0.14em;margin-bottom:4px;}
    .film .top .ttl-wrap .ttl{font-size:22px;line-height:1;letter-spacing:-0.02em;}
    .film .top .meta{grid-column:1 / -1;text-align:left;font-size:10px;letter-spacing:0.12em;line-height:1.7;padding-top:6px;}
    .film .frame .bar{padding:10px 12px;font-size:10px;letter-spacing:0.12em;}
    .film .frame .watch{top:12px;right:12px;padding:7px 10px;font-size:10px;letter-spacing:0.12em;}
    .film .below{grid-template-columns:1fr;gap:14px;margin-top:14px;padding-top:14px;}
    .film .below p{font-size:14px;grid-column:auto;}
    .film .below dl{font-size:10px;letter-spacing:0.1em;line-height:1.8;}

    .marquee{padding:32px 0;}
    .marquee .row{font-size:44px;letter-spacing:-0.025em;gap:24px;}
    .marquee .row span{gap:24px;}
    .marquee .row .dot{width:12px;height:12px;}

    .contact{padding:64px 18px;}
    .contact .lab{font-size:10px;letter-spacing:0.16em;margin-bottom:20px;}
    .contact h3{font-size:52px;letter-spacing:-0.03em;line-height:0.95;margin-bottom:32px;}
    .contact .grid{grid-template-columns:1fr;gap:36px;padding-top:36px;}
    .contact .left p{font-size:16px;margin-bottom:24px;}
    .contact .left .mail{font-size:22px;letter-spacing:-0.015em;}
    .contact .left .ph{margin-top:24px;font-size:10px;letter-spacing:0.14em;line-height:1.9;}

    form .row{grid-template-columns:1fr;gap:0;}
    form .field{margin-bottom:14px;}
    form input, form textarea{font-size:16px;padding:10px 0 12px;}
    form label{font-size:10px;letter-spacing:0.14em;margin-bottom:8px;}
    form .submit{padding:16px 20px;font-size:11px;letter-spacing:0.16em;}

    footer{padding:40px 18px 18px;}
    .foot{grid-template-columns:1fr;gap:24px;margin-bottom:32px;}
    .foot .col h5{font-size:10px;letter-spacing:0.14em;margin-bottom:10px;}
    .foot .col ul{font-size:14px;line-height:1.9;}
    .foot-mark{font-size:54px;letter-spacing:-0.025em;line-height:1;padding-top:20px;}
    .foot-bottom{flex-direction:column;align-items:flex-start;gap:6px;font-size:10px;letter-spacing:0.12em;margin-top:24px;padding-top:18px;}
  }
