/* Hustlyst - Daylight system, Petrol claim colour, light + dark. Playbook build, 2026-09-19. */

:root{
  --bg:#FCF9F4; --bg2:#F4EEE3; --panel:#FFFDF9;
  --ink:#191512; --ink2:#4B443D; --mute:#6F6456;
  --line:rgba(25,21,18,.12); --line2:rgba(25,21,18,.22);
  --accent:#007F9D; --accent-ink:#00697F; --accent-wash:#D4E9EF; --on-accent:#FFFFFF;
  --peri:#B6C2F7; --indigo:#3F4FA8; --peri-wash:#E6EAFC;
  --band:#191512; --band-ink:#F4EEE3; --band-mute:#B7AFA4; --band-line:rgba(252,249,244,.2);
  --stat:#00697F; --stat-ink:#FFFFFF;
  --mark:#FFE9B8; --mark-ink:#5A3A00;
  --shadow:0 1px 2px rgba(25,21,18,.05),0 14px 34px -18px rgba(25,21,18,.22);

  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono","SF Mono",Menlo,monospace;

  --max:1180px; --gut:32px; --measure:760px;
  --colA:clamp(190px,23%,290px); --colgap:clamp(28px,4.5vw,68px);
  --r:14px;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#12100E; --bg2:#191512; --panel:#1F1B18;
  --ink:#F4EEE3; --ink2:#CFC6B8; --mute:#9A8F80;
  --line:rgba(244,238,227,.12); --line2:rgba(244,238,227,.22);
  --accent:#2AA5C4; --accent-ink:#62C4DC; --accent-wash:rgba(42,165,196,.15); --on-accent:#0B1A1F;
  --peri:#B6C2F7; --indigo:#B6C2F7; --peri-wash:rgba(182,194,247,.12);
  --band:#1F1B18; --band-ink:#F4EEE3; --band-mute:#9A8F80; --band-line:rgba(244,238,227,.14);
  --stat:#123A44; --stat-ink:#E6F4F8;
  --mark:rgba(255,200,90,.22); --mark-ink:#FFD98A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -20px rgba(0,0,0,.65);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root[data-theme="system"]{
    --bg:#12100E; --bg2:#191512; --panel:#1F1B18;
    --ink:#F4EEE3; --ink2:#CFC6B8; --mute:#9A8F80;
    --line:rgba(244,238,227,.12); --line2:rgba(244,238,227,.22);
    --accent:#2AA5C4; --accent-ink:#62C4DC; --accent-wash:rgba(42,165,196,.15); --on-accent:#0B1A1F;
    --peri:#B6C2F7; --indigo:#B6C2F7; --peri-wash:rgba(182,194,247,.12);
    --band:#1F1B18; --band-ink:#F4EEE3; --band-mute:#9A8F80; --band-line:rgba(244,238,227,.14);
    --stat:#123A44; --stat-ink:#E6F4F8;
    --mark:rgba(255,200,90,.22); --mark-ink:#FFD98A;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -20px rgba(0,0,0,.65);
    color-scheme:dark;
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;font-feature-settings:"kern","liga";transition:background .2s,color .2s}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--accent-wash)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.narrow>*{max-width:var(--measure)}
section{padding:clamp(3.2rem,7vw,5.8rem) 0}
.alt{background:var(--bg2);border-block:1px solid var(--line)}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;margin:0}
h1{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.05}
h2{font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.12}
h3{font-size:clamp(1.15rem,1.7vw,1.38rem);line-height:1.26;letter-spacing:-.012em}
h4{font-weight:700;font-size:1rem;line-height:1.35;margin:0}
p{margin:0 0 1.1em}
.lede{font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.52;color:var(--ink2);max-width:48ch}
.lede strong{color:var(--ink);font-weight:600}
em{font-style:italic}
h1,h2,h3,.big{text-wrap:balance}
p,li{text-wrap:pretty}

.tag{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.7rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:0 0 22px}
.tag:before{content:"";width:24px;height:3px;background:var(--accent);flex:none}
.num{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,2.4rem);font-weight:600;line-height:.95;
  color:var(--accent-ink);display:block;margin-bottom:.4rem;letter-spacing:-.03em}
.meta{font-family:var(--mono);font-size:.74rem;color:var(--mute);letter-spacing:.08em;text-transform:uppercase}
.muted{color:var(--mute)}

/* ---------- header ---------- */
header.site{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:saturate(140%) blur(10px);position:sticky;top:0;z-index:30}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:var(--max);
  margin:0 auto;padding:12px var(--gut)}
.brand{font-family:var(--serif);font-weight:600;font-size:1.32rem;letter-spacing:-.03em;text-decoration:none;
  display:flex;align-items:center;gap:9px}
.brand img{width:30px;height:30px;flex:none}
nav.main ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;align-items:center}
nav.main a{color:var(--ink2);text-decoration:none;font-size:.92rem;font-weight:500;padding:6px 0;
  border-bottom:2px solid transparent}
nav.main a:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.navr{display:flex;align-items:center;gap:12px}
.menu{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line2);background:transparent;
  color:var(--ink);cursor:pointer;place-items:center;padding:0}
.menu svg{width:20px;height:20px}

/* three-way theme switch, same control as cspulse.com and anirudhkumar.com */
.seg{display:inline-flex;align-items:center;gap:2px;background:var(--bg2);border:1px solid var(--line2);border-radius:100px;padding:3px}
.seg button{width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--mute);cursor:pointer;
  display:grid;place-items:center;padding:0;transition:background .15s,color .15s}
.seg button svg{width:16px;height:16px}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px rgba(25,21,18,.18)}
:root[data-theme="dark"] .seg button[aria-pressed="true"]{box-shadow:0 1px 3px rgba(0,0,0,.5)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--ink);color:var(--bg);
  text-decoration:none;font-weight:600;font-size:.95rem;padding:13px 24px;border:2px solid var(--ink);
  border-radius:999px;transition:.15s;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--on-accent)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.accent:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn.ghost:hover{border-color:var(--ink)}
.btn.sm{padding:9px 16px;font-size:.88rem}
.btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
.tlink{font-weight:600;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:1px;color:var(--ink)}
.tlink:hover{color:var(--accent-ink)}

/* ---------- hero ---------- */
.hero{padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.4rem,5vw,3.6rem)}
.hero h1{max-width:16ch}
.hero h1 em{color:var(--accent-ink);font-style:italic}
.hero .lede{margin-top:1.3rem;max-width:52ch}

/* ---------- role tiles ---------- */
.roles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:clamp(1.8rem,4vw,2.6rem)}
.role{display:flex;flex-direction:column;gap:10px;text-decoration:none;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);padding:20px 18px 18px;transition:border-color .15s,transform .15s,box-shadow .15s;min-height:148px}
.role:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.role .ico{width:34px;height:34px;border-radius:10px;background:var(--accent-wash);color:var(--accent-ink);display:grid;place-items:center}
.role .ico svg{width:18px;height:18px}
.role h3{font-size:1.1rem}
.role p{font-size:.86rem;color:var(--mute);margin:0;line-height:1.45}
.role .go{margin-top:auto;font-size:.82rem;font-weight:600;color:var(--accent-ink)}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;
  flex-direction:column;gap:10px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
a.card:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.card h3{font-size:1.14rem}
.card p{color:var(--ink2);font-size:.95rem;margin:0}
.card .foot{margin-top:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:6px}
.pill{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--accent-wash);color:var(--accent-ink);white-space:nowrap}
.pill.peri{background:var(--peri-wash);color:var(--indigo)}
.pill.plain{background:transparent;border:1px solid var(--line2);color:var(--mute)}

/* ---------- split / rows (shared two-edge grid) ---------- */
.split{display:grid;grid-template-columns:var(--colA) minmax(0,1fr);gap:var(--colgap);align-items:start}
.rows{margin-top:clamp(1.8rem,4vw,2.6rem);border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:var(--colA) minmax(0,1fr);gap:var(--colgap);padding:24px 0;
  border-bottom:1px solid var(--line);align-items:start}
.row .idx{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent-ink);margin-bottom:.45rem}
.row p{margin:0;color:var(--ink2)}
.rowhead h3{margin:0}

/* ---------- dark band ---------- */
.band{background:var(--band);color:var(--band-ink)}
.band h2,.band h3{color:var(--band-ink)}
.band p,.band .row p{color:var(--band-mute)}
.band .num{color:var(--peri)}
.band .tag{color:var(--band-mute)}
.band .tag:before{background:var(--peri)}
.band .rows,.band .row{border-color:var(--band-line)}
.band .row .idx{color:var(--peri)}
.band .btn{background:var(--band-ink);color:var(--band);border-color:var(--band-ink)}
.band .btn:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

/* ---------- how it works ---------- */
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,36px);margin-top:2rem}
.how .step{border-top:2px solid var(--ink);padding-top:18px}
.how .step .num{font-size:1.6rem}
.how .step p{color:var(--ink2);margin:0;font-size:.98rem}

/* ---------- prompt block ---------- */
.prompt{border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);overflow:hidden;margin:1.2rem 0 1.6rem}
.prompt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;
  border-bottom:1px solid var(--line);background:var(--bg2)}
.prompt-head .label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.copy{display:inline-flex;align-items:center;gap:7px;font:600 .82rem var(--sans);padding:7px 13px;border-radius:999px;
  border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer}
.copy svg{width:14px;height:14px}
.copy:hover{border-color:var(--accent);color:var(--accent-ink)}
.copy.done{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.prompt pre{margin:0;padding:18px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;
  font-family:var(--mono);font-size:.86rem;line-height:1.65;color:var(--ink)}
.prompt pre mark,.fill{background:var(--mark);color:var(--mark-ink);border-radius:4px;padding:0 3px}
.hint{font-size:.9rem;color:var(--mute);margin:-.6rem 0 1.6rem}

/* ---------- playbook page ---------- */
.pb-head{padding:clamp(2.4rem,6vw,4rem) 0 0}
.pb-head h1{font-size:clamp(2rem,4vw,3.1rem);max-width:20ch}
.crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 1.4rem}
.crumb a{text-decoration:none;border-bottom:1px solid var(--line2)}
.facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:1.6rem;padding:16px 0;border-block:1px solid var(--line);max-width:var(--measure)}
.facts div{display:flex;flex-direction:column;gap:2px}
.facts .k{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.facts .v{font-weight:600;font-size:.96rem}
.pb h2{font-size:clamp(1.35rem,2.3vw,1.7rem);margin:2.6rem 0 .9rem}
.pb h2:first-child{margin-top:0}
.steps{counter-reset:step;list-style:none;padding-left:0;margin:0}
.steps li{counter-increment:step;position:relative;padding-left:2.8rem;margin-bottom:1rem}
.steps li:before{content:counter(step);position:absolute;left:0;top:-.05rem;width:1.9rem;height:1.9rem;border-radius:50%;
  display:grid;place-items:center;font:700 .85rem var(--mono);background:var(--accent-wash);color:var(--accent-ink)}
.example{border-left:3px solid var(--peri);background:var(--peri-wash);border-radius:0 var(--r) var(--r) 0;padding:18px 22px;
  white-space:pre-wrap;font-size:.98rem;line-height:1.6;color:var(--ink)}
.better li{margin-bottom:.6rem}
.faster{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;background:var(--panel)}
.faster .ico{flex:none;width:36px;height:36px;border-radius:10px;background:var(--accent-wash);color:var(--accent-ink);display:grid;place-items:center}
.faster p{margin:0;color:var(--ink2)}
.note{font-size:.92rem;color:var(--mute);border-top:1px solid var(--line);padding-top:14px;margin-top:2rem}

/* ---------- tools ---------- */
.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:2rem}
.tool{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px}
.tool .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.tool h3{font-size:1.3rem}
.tool dl{margin:0;display:grid;gap:10px}
.tool dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.tool dd{margin:2px 0 0;color:var(--ink2);font-size:.96rem}
.tool dd.best{font-family:var(--serif);font-size:1.12rem;color:var(--ink);font-weight:600;line-height:1.35}
.tool .links{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:6px;font-size:.92rem}

/* ---------- prose (guides, about) ---------- */
.prose{font-size:1.1rem;line-height:1.72;max-width:var(--measure)}
.prose h2{font-size:clamp(1.55rem,2.8vw,2.1rem);margin:2.4rem 0 .8rem}
.prose h3{margin:1.9rem 0 .6rem}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li{margin-bottom:.5rem}
.prose blockquote{margin:2rem 0;padding-left:22px;border-left:4px solid var(--peri);font-family:var(--serif);font-size:1.22rem;line-height:1.38}
.prose code{font-family:var(--mono);font-size:.88em;background:var(--bg2);padding:.12em .38em;border-radius:4px}
.prose table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.98rem}
.prose th,.prose td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-weight:700;background:var(--bg2);font-size:.88rem}
.prose .steps li:before{background:var(--accent-wash)}
.article-head{padding:clamp(2.4rem,6vw,4rem) 0 0}
.article-head h1{font-size:clamp(2.05rem,4vw,3.2rem);max-width:18ch}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem;border-top:1px solid var(--line);padding-top:1.5rem;max-width:var(--measure)}
.pager a{text-decoration:none;display:block}
.pager .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pager .t{font-family:var(--serif);font-size:1.12rem;font-weight:600;margin-top:.3rem}
.pager .r{text-align:right}

/* ---------- filter chips (prompt library) ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:1.6rem 0 0}
.filters button{font:600 .86rem var(--sans);padding:8px 15px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);
  color:var(--ink2);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.plist{margin-top:2rem;display:grid;gap:4px}
.pitem h3{font-size:1.1rem;margin:0 0 .3rem}
.pitem .from{font-size:.9rem;color:var(--mute);margin:0 0 .2rem}
.pitem .from a{color:var(--accent-ink)}
.pitem[hidden]{display:none}

/* ---------- subscribe ---------- */
.sub{background:var(--band);color:var(--band-ink);border-radius:calc(var(--r) + 6px);padding:clamp(2rem,5vw,3.6rem);
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}
.sub h2{color:var(--band-ink);max-width:18ch}
.sub p{color:var(--band-mute);margin:.8rem 0 0;max-width:44ch}
.sub .tag{color:var(--band-mute)}
.sub .tag:before{background:var(--peri)}
.sub iframe{width:100%;border:0;border-radius:12px;background:#FFFDF9;min-height:150px}
.sub .fine{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--band-mute);margin-top:.8rem}

/* ---------- footer ---------- */
footer.site{background:var(--bg2);border-top:1px solid var(--line);padding:clamp(2.4rem,5vw,3.6rem) 0 2.2rem;font-size:.94rem}
footer .cols{display:grid;grid-template-columns:1.5fr .8fr .8fr .8fr;gap:2rem}
footer h4{margin-bottom:.8rem;font-size:.7rem;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:500}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:.45rem}
footer a{text-decoration:none;color:var(--ink2)}
footer a:hover{color:var(--accent-ink)}
footer .bigbrand{font-family:var(--serif);font-size:1.5rem;font-weight:600;letter-spacing:-.03em;margin-bottom:.5rem;display:flex;align-items:center;gap:10px}
footer .bigbrand img{width:34px;height:34px}
footer .fine{margin-top:2.4rem;font-size:.82rem;color:var(--mute);max-width:72ch}

.skip-link{position:absolute;left:-9999px;background:var(--ink);color:var(--bg);padding:.6rem 1rem}
.skip-link:focus{left:0;top:0;z-index:40}
:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}

/* ---------- responsive ---------- */
@media (max-width:1060px){
  .roles{grid-template-columns:repeat(3,minmax(0,1fr))}
  nav.main ul{gap:18px}
}
@media (max-width:900px){
  .menu{display:grid}
  nav.main{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);display:none}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 16px}
  nav.main a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
  .split,.row{grid-template-columns:1fr;gap:.8rem}
  .cards,.how{grid-template-columns:1fr 1fr}
  .tools{grid-template-columns:1fr}
  .sub{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  :root{--gut:20px}
  .roles{grid-template-columns:1fr 1fr}
  .cards,.how{grid-template-columns:1fr}
  .navr .btn{display:none}
  .seg button{width:28px;height:28px}
  .seg button svg{width:14px;height:14px}
  .pager{grid-template-columns:1fr}
  .pager .r{text-align:left}
  footer .cols{grid-template-columns:1fr}
}

/* ---------- four-part identity band ---------- */
.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.6vw,32px);margin-top:2.2rem}
.four .part{border-top:1px solid var(--band-line);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.four .part .num{font-size:1.5rem;margin:0}
.four .part p{margin:0;color:var(--band-mute);font-size:.96rem}
.four .part .tlink{color:var(--band-ink);margin-top:auto;align-self:flex-start;border-bottom-color:var(--peri)}
.aff{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-left:6px}
.skill{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:clamp(22px,3vw,34px);display:grid;
  grid-template-columns:var(--colA) minmax(0,1fr);gap:var(--colgap);margin-top:1.4rem}
.skill h2{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.skill ul{margin:.4rem 0 1.2rem;padding-left:1.15rem;color:var(--ink2)}
.skill li{margin-bottom:.35rem}
@media (max-width:900px){.four{grid-template-columns:1fr 1fr}.skill{grid-template-columns:1fr;gap:.8rem}}
@media (max-width:640px){.four{grid-template-columns:1fr}}
