/* NeoNomad — styles (design tokens in :root) */
:root{
  --paper:#E9EAE6;
  --paper-2:#E2E3DE;
  --ink:#15171B;
  --ink-2:#202329;
  --ink-soft:#565A61;
  --signal:#EC4A1E;
  --line:#C6C8C2;
  --line-soft:#D5D7D1;
  --on-dark:#E9EAE6;
  --on-dark-soft:#9DA1A6;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:64px 64px;opacity:.32;pointer-events:none;z-index:0;
  mask-image:radial-gradient(circle at 50% 22%,#000 0%,transparent 70%);
  -webkit-mask-image:radial-gradient(circle at 50% 22%,#000 0%,transparent 70%);
}
.wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 32px}
.mono{font-family:"IBM Plex Mono",monospace}
.hline{display:block}
.endpoint--end{color:var(--signal)}
/* line-break quality */
h1,h2,h3,.declare,.ndeclare,.name,.subhead,.atitle,.stat .lab{text-wrap:balance}
p,.adesc,.stag,.slead{text-wrap:pretty}

/* ---------- header ---------- */
header{
  border-bottom:1px solid var(--line);position:sticky;top:0;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);z-index:50;
}
.nav{display:flex;align-items:center;justify-content:space-between;height:62px;gap:24px}
.brand{display:flex;align-items:baseline;gap:14px;min-width:0}
.brand .logo{font-weight:900;font-size:19px;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.brand .tagline{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}
.navlinks{display:flex;gap:26px}
.navlinks a{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.04em;color:var(--ink);text-decoration:none;opacity:.7;transition:opacity .2s,color .2s}
.navlinks a:hover{opacity:1;color:var(--signal)}

/* ---------- shared section bits ---------- */
.section{padding:104px 0;position:relative}
.section--flush{padding-top:0}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);display:flex;align-items:center;gap:12px;margin-bottom:26px}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--signal)}
.stitle{font-weight:900;font-size:clamp(34px,5vw,58px);letter-spacing:-.03em;line-height:1;margin-bottom:26px}
.slead{font-size:clamp(16px,1.7vw,19px);line-height:1.5;max-width:54ch;color:var(--ink)}

/* ---------- hero ---------- */
.hero{padding:78px 0 0}
.frame{position:relative;padding:46px 44px 54px}
.frame::before,.frame::after,.crop-bl,.crop-br{content:"";position:absolute;width:13px;height:13px;pointer-events:none}
.frame::before{top:0;left:0;border-top:1.5px solid var(--ink);border-left:1.5px solid var(--ink)}
.frame::after{top:0;right:0;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink)}
.crop-bl{bottom:0;left:0;border-bottom:1.5px solid var(--ink);border-left:1.5px solid var(--ink)}
.crop-br{bottom:0;right:0;border-bottom:1.5px solid var(--ink);border-right:1.5px solid var(--ink)}
.readout{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.05em;color:var(--ink-soft);display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.readout .dot{width:8px;height:8px;border-radius:50%;background:var(--signal);position:relative;flex:0 0 auto}
.readout .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--signal);opacity:.55;animation:ping 2.6s ease-out infinite}
.readout .sep{color:var(--line)}
.readout .here{color:var(--ink);font-weight:600}
h1{font-weight:900;line-height:.95;letter-spacing:-.035em;font-size:clamp(46px,8.4vw,104px);margin-bottom:16px}
.zo,.arr{color:var(--signal)}
.subhead{display:block;font-weight:500;letter-spacing:-.01em;font-size:clamp(19px,2.5vw,30px);color:var(--ink-soft);line-height:1.15;margin-top:8px}
.lede{font-size:clamp(16px,1.7vw,19px);line-height:1.5;color:var(--ink);max-width:40ch;margin:30px 0 38px}
.lede .q{color:var(--ink-soft)}
.cta-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.btn{font-family:"Archivo",sans-serif;font-weight:600;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:9px;padding:14px 22px;border-radius:2px;transition:transform .18s,background .2s,gap .2s,color .2s;cursor:pointer}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--signal);gap:13px}
.btn-ghost{color:var(--ink);padding:14px 4px;border-bottom:1.5px solid transparent;border-radius:0}
.btn-ghost:hover{border-bottom-color:var(--signal);gap:13px;color:var(--signal)}
.btn .a{transition:transform .18s}
.btn:hover .a{transform:translateX(3px)}
.proof{border-top:1px solid var(--line);margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr)}
.stat{padding:30px 28px 26px;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat .num{font-weight:800;font-size:40px;letter-spacing:-.03em;line-height:1}
.stat .num span{color:var(--signal)}
.stat .lab{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;margin-top:12px;line-height:1.5}
.proof-note{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;text-align:right;padding:14px 0 4px;border-top:1px dashed var(--line)}

/* ---------- what i do ---------- */
.path{display:flex;align-items:center;gap:14px;margin:54px 0 6px;font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--ink-soft)}
.path .rail{flex:1;height:1.5px;background:linear-gradient(90deg,var(--line),var(--signal));position:relative}
.path .endpoint{font-weight:600;color:var(--ink)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:18px}
.step{padding:34px 30px 34px 0;border-right:1px solid var(--line);position:relative}
.step:last-child{border-right:none;padding-right:0}
.step:not(:first-child){padding-left:30px}
.step::before{content:"";position:absolute;top:-1px;left:0;width:46px;height:3px;background:var(--signal)}
.step:not(:first-child)::before{left:30px}
.step .skicker{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:22px 0 14px}
.step .skicker b{color:var(--ink);font-weight:600}
.step h3{font-weight:800;font-size:23px;letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
.step .stag{font-size:14.5px;line-height:1.55;color:var(--ink-soft);margin-bottom:22px}
.ilist{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.ilist li{font-size:14.5px;line-height:1.45}
.ilist .iname{font-weight:600}
.ilist .idesc{color:var(--ink-soft)}
.forline{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.03em;color:var(--ink-soft);line-height:1.5;padding-top:16px;border-top:1px dashed var(--line)}
.forline b{color:var(--signal);font-weight:600}

/* ---------- build log ---------- */
.log-group{margin-top:54px}
.log-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.log-head h3{font-weight:800;font-size:22px;letter-spacing:-.02em}
.log-head .glabel{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);border:1px solid var(--signal);border-radius:2px;padding:3px 8px}
.log-grouplead{font-size:15px;color:var(--ink-soft);line-height:1.5;max-width:60ch;margin-bottom:8px}
.log{position:relative;padding-left:34px;margin-top:14px}
.log::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:1.5px;background:var(--line)}
.entry{position:relative;padding:24px 0;border-bottom:1px solid var(--line-soft)}
.entry:last-child{border-bottom:none}
.entry::before{content:"";position:absolute;left:-31px;top:30px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);transition:border-color .2s,background .2s}
.entry:hover::before{border-color:var(--signal);background:var(--signal)}
.entry .etop{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:9px}
.entry .etitle{font-weight:700;font-size:19px;letter-spacing:-.01em}
.entry .emeta{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.05em;color:var(--ink-soft);text-transform:uppercase}
.entry .ebody{font-size:15px;line-height:1.55;color:var(--ink);max-width:64ch}
.entry .ebody .lead{font-weight:700}
.tags{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.tag{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);border-radius:2px;padding:3px 8px}

/* ---------- who i am ---------- */
.core{display:grid;grid-template-columns:340px 1fr;gap:54px;margin-top:54px;align-items:start}
.portrait{position:relative;aspect-ratio:1/1;border:1.5px solid var(--ink);background:var(--paper-2);overflow:hidden}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.portrait .pcorner{position:absolute;width:10px;height:10px}
.portrait .tl{top:7px;left:7px;border-top:1.5px solid var(--signal);border-left:1.5px solid var(--signal)}
.portrait .br{bottom:7px;right:7px;border-bottom:1.5px solid var(--signal);border-right:1.5px solid var(--signal)}
.pcaption{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.03em;color:var(--ink-soft);line-height:1.5;margin-top:14px}
.core .name{font-weight:800;font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;line-height:1.1;margin-bottom:12px}
.core .roles{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;color:var(--signal);text-transform:uppercase;margin-bottom:30px}
.core h4{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}
.core p{font-size:15.5px;line-height:1.6;color:var(--ink);max-width:60ch;margin-bottom:18px}
.inlink{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.03em;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--signal);padding-bottom:2px;transition:color .2s}
.inlink:hover{color:var(--signal)}
.core-statement{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:54px;align-items:start;margin-top:64px;border-top:1px solid var(--line);padding-top:42px}
.declare{font-weight:800;font-size:clamp(24px,3.2vw,38px);letter-spacing:-.025em;line-height:1.1;margin:0;max-width:13ch}
.declare .u{color:var(--signal)}
.corebody{display:flex;flex-direction:column;gap:18px;max-width:56ch}
.corebody p{font-size:16px;line-height:1.62;color:var(--ink-soft);margin:0}
.corebody p.key{color:var(--ink)}
.corebody p b{color:var(--ink);font-weight:600}

/* nomad log */
.nlog{margin-top:96px;border-top:1px solid var(--line);padding-top:54px}
.nlog .ndeclare{font-weight:800;font-size:clamp(22px,2.8vw,32px);letter-spacing:-.02em;line-height:1.15;max-width:30ch;margin:0 auto 22px;text-align:center}
.nlog .nbody{font-size:15.5px;line-height:1.6;color:var(--ink-soft);max-width:62ch;margin:0 auto 44px;text-align:center}
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.art{padding:28px 26px 28px 0;border-right:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .2s}
.art:last-child{border-right:none;padding-right:0}
.art:not(:first-child){padding-left:26px}
.art .akick{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);margin-bottom:14px}
.art .atitle{font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.25;margin-bottom:10px}
.art .adesc{font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.art .aarrow{margin-top:16px;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-soft);transition:color .2s,transform .2s;display:inline-block}
.art:hover .atitle{color:var(--signal)}
.art:hover .aarrow{color:var(--signal);transform:translateX(3px)}
.acover{position:relative;aspect-ratio:3/2;margin-bottom:18px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line)}
.acover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.art:hover .acover img{transform:scale(1.05)}
.acover .cscrim{position:absolute;left:0;right:0;bottom:0;height:48%;background:linear-gradient(to top,rgba(12,13,15,.6),transparent);pointer-events:none}
.acover .ccorner{position:absolute;top:7px;right:7px;width:9px;height:9px;border-top:1.5px solid var(--signal);border-right:1.5px solid var(--signal);z-index:1}
.acover .ccoord{position:absolute;left:8px;bottom:7px;font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.07em;color:#E9EAE6;text-transform:uppercase;z-index:1}
.nlinks{margin-top:30px;text-align:center;font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;color:var(--ink-soft)}
.nlinks a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}
.nlinks a:hover{color:var(--signal);border-color:var(--signal)}

/* ---------- talk (inverted) ---------- */
.talk{background:var(--ink);color:var(--on-dark);position:relative;overflow:hidden}
.talk::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 70% 30%,#000,transparent 72%);-webkit-mask-image:radial-gradient(circle at 70% 30%,#000,transparent 72%)}
.talk .wrap{position:relative}
.talk .eyebrow{color:var(--signal)}
.talk .treadout{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.05em;color:var(--on-dark-soft);margin-bottom:26px;display:flex;align-items:center;gap:10px}
.talk .treadout .dot{width:7px;height:7px;border-radius:50%;background:var(--signal)}
.talk h2{font-weight:900;font-size:clamp(34px,5.4vw,66px);letter-spacing:-.035em;line-height:1.0;margin-bottom:26px}
.talk h2 .l2{color:var(--on-dark-soft)}
.talk .tsub{font-size:clamp(16px,1.8vw,19px);line-height:1.55;color:var(--on-dark-soft);max-width:52ch;margin-bottom:38px}
.talk .btn-primary{background:var(--signal);color:#fff}
.talk .btn-primary:hover{background:#fff;color:var(--ink)}
.talk .signal-line{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;color:var(--on-dark-soft);margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.talk .tcontact{margin-top:14px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;overflow-wrap:break-word}
.talk .tcontact a{color:var(--on-dark);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);transition:color .2s,border-color .2s}
.talk .tcontact a:hover{color:var(--signal);border-color:var(--signal)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:50px 0 60px}
.fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}
.fcol .flabel{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.fcol .fval{font-size:14px;line-height:1.55;color:var(--ink);overflow-wrap:break-word}
.fcol .fval a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.fcol .fval a:hover{color:var(--signal);border-color:var(--signal)}
.fbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:22px;border-top:1px dashed var(--line);font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.05em;color:var(--ink-soft);text-transform:uppercase}
.fbar .flogo{font-family:"Archivo";font-weight:900;font-size:15px;letter-spacing:-.02em;color:var(--ink);text-transform:none}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.stagger{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.d1{animation-delay:.05s}.d2{animation-delay:.16s}.d3{animation-delay:.27s}.d4{animation-delay:.38s}.d5{animation-delay:.49s}.d6{animation-delay:.6s}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes ping{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(2.4);opacity:0}}
@keyframes zopulse{0%{text-shadow:0 0 0 rgba(236,74,30,0)}28%{text-shadow:0 0 16px rgba(236,74,30,.85)}100%{text-shadow:0 0 0 rgba(236,74,30,0)}}
@keyframes lockflash{0%{transform:scale(1)}45%{transform:scale(1.9)}100%{transform:scale(1)}}
#zoline.lock .zo,#zoline.lock .arr{animation:zopulse .9s ease-out}
.readout .dot.lock{animation:lockflash .55s ease-out}
.hero::before{content:"";position:absolute;top:24px;left:0;width:560px;max-width:80%;height:460px;background:radial-gradient(circle at 26% 36%,rgba(236,74,30,.09),transparent 60%);pointer-events:none;z-index:0}
body::before{transform:translate3d(var(--gx,0px),var(--gy,0px),0);transition:transform .3s ease-out}

a:focus-visible,.btn:focus-visible{outline:2px solid var(--signal);outline-offset:3px}

@media (max-width:900px){
  .section{padding:80px 0}
  .core{grid-template-columns:220px 1fr;gap:34px}
  .core-statement{grid-template-columns:1fr;gap:26px}
}
@media (max-width:680px){
  .wrap{padding:0 18px}
  .navlinks{display:none}
  .frame{padding:32px 20px 38px}
  .frame::before,.frame::after,.crop-bl,.crop-br{width:10px;height:10px}
  .readout{font-size:11px;gap:8px}
  .proof,.steps,.articles{grid-template-columns:1fr}
  .stat{border-right:none;border-bottom:1px solid var(--line);padding:22px 18px}
  .stat:last-child{border-bottom:none}
  .proof-note{text-align:left}
  .step{border-right:none;border-bottom:1px solid var(--line);padding:30px 0!important}
  .step:last-child{border-bottom:none}
  .step::before,.step:not(:first-child)::before{left:0}
  .art{border-right:none;border-bottom:1px solid var(--line);padding:24px 0!important}
  .art:last-child{border-bottom:none}
  .core{grid-template-columns:1fr}
  .portrait{max-width:240px}
  .fgrid{grid-template-columns:1fr;gap:24px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .stagger,.reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .readout .dot::after{animation:none;opacity:0}
  .readout .dot.lock,#zoline.lock .zo,#zoline.lock .arr{animation:none}
  body::before{transform:none}
}


/* — JP company / 会社概要 page — */
body.jp{font-family:"Archivo","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",system-ui,sans-serif}
body.jp footer{margin-top:90px}
.jp-nav{display:flex;gap:24px}
.jp-nav a{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.04em;color:var(--ink);text-decoration:none;opacity:.72;transition:opacity .2s,color .2s}
.jp-nav a:hover{opacity:1;color:var(--signal)}
.jp-hero{padding:78px 0 0}
.jp-title{font-weight:900;font-size:clamp(38px,7vw,72px);letter-spacing:.01em;line-height:1.02;margin:18px 0 8px}
.jp-sub{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.05em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:26px}
.jp-lead{font-size:clamp(16px,1.9vw,19px);line-height:1.85;max-width:58ch;color:var(--ink)}
.jp-lead b{font-weight:600}
.sheet{margin-top:54px;border-top:1px solid var(--line)}
.sheet .row{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.sheet .rk{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:10px}
.sheet .rk::before{content:"";width:6px;height:6px;background:var(--signal);flex:0 0 auto}
.sheet .rv{font-size:16px;line-height:1.75;color:var(--ink)}
.sheet .rv a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--signal);transition:color .2s}
.sheet .rv a:hover{color:var(--signal)}
.jp-links{margin-top:46px;display:flex;gap:26px;flex-wrap:wrap;font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.03em}
.jp-links a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .2s,border-color .2s}
.jp-links a:hover{color:var(--signal);border-color:var(--signal)}
@media (max-width:680px){
  .sheet .row{grid-template-columns:1fr;gap:6px;padding:16px 0}
}
