/* ============================================================
   Anjali: Portfolio
   Shell: centered 1440px cap · sticky sidebar drawer · fluid main
   ============================================================ */

:root{
  --bg:#080303;
  --bg2:#130705;
  --orange:#ff5a2a;
  --text:#eee5e2;
  --muted:#9b8985;        /* secondary text */
  --muted-strong:#b3a29d; /* lead / intro text */
  --ls-label:.1em;        /* uppercase label tracking */
  --card-pad:16px;
  --card-gap:12px;
  --line:rgba(255,255,255,.11);
  --card:#2b100a;

  --maxw:1440px;      /* hard page cap */
  --drawer:380px;     /* sidebar width (desktop) */
  --gutter:56px;      /* main content side padding (desktop) */
  --content:1000px;   /* max case-study column; fills the space beside the sidebar */
}

*{box-sizing:border-box}
/* Lenis smooth scroll */
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}
html{
  scroll-behavior:smooth;scroll-padding-top:24px;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;
  background:#070302;
}
body{
  margin:0;
  background:transparent;
  color:var(--text);
  font-family:"Work Sans",sans-serif;
  font-size:14px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
/* Site background: soft warm gradient, fixed to the viewport (no image) */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(115% 95% at 63% 6%, rgba(168,58,26,.32) 0%, rgba(100,36,18,.12) 42%, transparent 72%),
    radial-gradient(85% 80% at 6% 104%, rgba(38,14,9,.55) 0%, transparent 55%),
    radial-gradient(85% 80% at 102% 100%, rgba(32,12,8,.5) 0%, transparent 52%),
    radial-gradient(125% 125% at 50% 55%, transparent 38%, rgba(3,1,1,.5) 100%),
    linear-gradient(158deg, #060302 0%, #140806 52%, #0a0504 100%);
}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%}

/* ---------- Shell ---------- */
.site{
  max-width:var(--maxw);
  margin:0 auto;
  display:flex;
  align-items:stretch;
  min-height:100vh;
  overflow-x:clip;                 /* clips the drawer as it slides out; keeps sticky working */
}
.sidebar-slot{
  flex:0 0 var(--drawer);
  transition:flex-basis .42s cubic-bezier(.22,.8,.2,1);
}
body.drawer-closed .sidebar-slot{flex-basis:0}

.drawer{
  position:sticky;
  top:0;
  align-self:flex-start;
  width:var(--drawer);
  height:100vh;
  overflow-y:auto;
  background:transparent;
  border-right:1px solid rgba(255,255,255,.04);
  transition:transform .42s cubic-bezier(.22,.8,.2,1);
  z-index:100;
}
body.drawer-closed .drawer{transform:translateX(-100%)}

.drawer-inner{
  padding:24px 24px 32px;
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.profile{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1);
  display:block;
}
.bio{margin-top:24px}
.bio h2{font-family:Sora,sans-serif;font-size:17px;font-weight:500;margin:0 0 10px}
.bio p{font-size:14px;line-height:1.55;color:#d9cfcb;margin:0}

.drawer-nav{margin-top:46px;display:flex;flex-direction:column;gap:14px}
.drawer-nav a{color:var(--orange);font-size:15px;transition:opacity .25s,transform .25s}
.drawer-nav a:hover{opacity:.72;transform:translateX(4px)}

.social{margin-top:44px;display:flex;gap:12px}
.social a{
  width:30px;height:30px;border-radius:7px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--orange);color:#1b0a05;
  font-weight:700;font-size:12px;line-height:1;
  transition:transform .25s,opacity .25s;
}
.social a:hover{transform:translateY(-2px);opacity:.85}

/* ---------- Main column ---------- */
.main{
  flex:1;
  min-width:0;
  padding:52px var(--gutter) 64px;
}
.topbar{
  width:100%;
  margin:0 0 44px;
  min-height:42px;
  display:flex;
  align-items:center;
  gap:10px;
  border-bottom:1px solid var(--line);
  padding-bottom:0;
}
body.case-page .topbar{max-width:var(--content);margin-left:auto;margin-right:auto}

.drawer-btn{
  width:22px;height:20px;padding:0;border:0;background:none;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;color:var(--orange);
  flex:0 0 auto;transition:opacity .25s;
}
.drawer-btn svg{width:19px;height:19px;display:block}
.drawer-btn:hover{opacity:.7}

.selected-label{
  font-family:Sora,sans-serif;font-size:13px;color:var(--orange);font-weight:600;
  display:flex;align-items:center;gap:9px;
}
.back{
  margin-left:auto;font-family:Sora,sans-serif;font-size:13px;color:var(--orange);
  transition:transform .25s,opacity .25s;
}
.back:hover{transform:translateX(-4px);opacity:.75}

/* ---------- Home · work cards ---------- */
.works{
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
}
.work-card{
  display:flex;flex-direction:column;
  background:linear-gradient(135deg,#35150e,#25100b);
  padding:20px 20px 22px;
  border:1px solid transparent;
  transition:transform .38s cubic-bezier(.2,.8,.2,1),background .38s,box-shadow .38s,border-color .38s;
}
.work-card:hover{
  transform:translateY(-6px);
  background:linear-gradient(135deg,#421a11,#2b100a);
  border-color:rgba(255,90,42,.14);
  box-shadow:0 22px 50px rgba(0,0,0,.24);
}
.work-card:nth-child(3){grid-column:1}
.work-thumb{overflow:hidden}
.work-thumb img{
  display:block;width:100%;aspect-ratio:3/2;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.work-card:hover .work-thumb img{transform:scale(1.035)}
.work-info h2{font-family:Sora,sans-serif;font-size:15px;font-weight:600;margin:16px 0 8px}
.work-info p{
  color:var(--muted);font-size:14px;line-height:1.55;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.work-info span{
  display:block;text-align:right;color:var(--orange);font-size:12px;margin-top:14px;
  transition:letter-spacing .25s;
}
.work-card:hover .work-info span{letter-spacing:.04em}

/* ---------- Home · expertise ---------- */
.expertise{width:100%;margin:60px 0 0}
.section-label,.orange-head{
  font-family:Sora,sans-serif;color:var(--orange);font-size:12px;font-weight:600;margin:0;
  letter-spacing:var(--ls-label);
}
.section-label{border-bottom:1px solid var(--line);padding-bottom:10px}
.expertise-list{display:flex;flex-direction:column;gap:26px;margin-top:22px}
.expertise-list>div{display:block}
.expertise-list h3{font-family:Sora,sans-serif;font-size:15px;margin:0 0 6px;font-weight:600}
.expertise-list p{font-size:15px;color:var(--muted);line-height:1.65;margin:0;max-width:900px}

/* ---------- Footer / contact ---------- */
.footer{width:100%;margin:64px 0 0}
.footer-title{
  font-family:Sora,sans-serif;color:var(--orange);font-size:22px;font-weight:500;
  border-bottom:1px solid var(--line);padding:0 0 12px;
}
.footer-art{
  min-height:150px;
  background-size:cover;background-position:center right;
  display:flex;align-items:center;
  padding:22px 0;
}
.contact{display:flex;flex-direction:column;gap:12px}
.contact a{
  color:var(--orange);font-size:14px;display:flex;align-items:center;gap:12px;
  transition:transform .25s,opacity .25s;
}
.contact a:hover{transform:translateX(4px);opacity:.8}
.contact-icon{
  width:28px;height:28px;flex:0 0 28px;box-sizing:border-box;
  padding:6px;border-radius:50%;background:var(--orange);
  fill:none;stroke:#1b0a05;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}

/* ============================================================
   Case-study pages
   ============================================================ */
.case-wrap{width:100%;max-width:var(--content);margin:0 auto}
.case-hero{padding:2px 0 0;margin-bottom:54px}
.eyebrow{font-family:Sora,sans-serif;color:var(--orange);font-size:12px;font-weight:600;letter-spacing:var(--ls-label);margin-bottom:9px}
.case-hero h1{font-family:Sora,sans-serif;font-size:42px;line-height:1.05;font-weight:400;letter-spacing:-.035em;margin:0 0 8px}
.case-hero h2{font-family:Sora,sans-serif;font-size:15px;line-height:1.4;font-weight:400;margin:0 0 16px}
.hero-intro{color:var(--muted-strong);font-size:15px;line-height:1.6;margin:0;max-width:680px}
.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:27px;padding-top:14px;border-top:1px solid var(--line)}
.meta div{display:flex;flex-direction:column;gap:4px}
.meta span{font-family:Sora,sans-serif;color:var(--orange);font-size:12px;letter-spacing:var(--ls-label)}
.meta strong{font-size:14px;font-weight:500}
.case-section{margin:0 0 52px}
.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:45px}
.case-section>p,.split-copy p{color:var(--muted);font-size:15px;line-height:1.65;margin:9px 0 0}
.big-sub{font-family:Sora,sans-serif;font-size:16px;font-weight:500;line-height:1.35;margin:9px 0 8px}
.roles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--card-gap);margin-top:20px}
.roles-grid article{padding:var(--card-pad);min-height:157px}
.roles-grid h3,.decision-list h3,.number-card h3,.process-grid h3,.persona-grid h3{font-family:Sora,sans-serif;font-size:15px;font-weight:600;margin:0 0 7px}
.roles-grid p,.decision-list p,.number-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.decision-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 36px;margin-top:22px}
.decision-list>div{position:relative;padding-left:31px}
.decision-list b{position:absolute;left:0;top:0;color:var(--orange);font-family:Sora,sans-serif;font-size:12px}
.decision-list h3{margin-bottom:3px}
.flow-label{color:var(--muted);font-size:14px;margin:25px 0 8px}
.h-scroll{display:flex;gap:14px;overflow-x:auto;padding:4px 0 14px;scroll-snap-type:x proximity;scrollbar-color:#4a1a10 transparent}
.h-scroll::-webkit-scrollbar{height:4px}
.h-scroll::-webkit-scrollbar-thumb{background:#4a1a10}
.h-item{min-width:72%;scroll-snap-align:start}
.h-item img{width:100%;display:block;height:auto}

/* Flow-diagram scroller: every card the same height, natural width, no crop */
.h-scroll.flows{align-items:stretch}
.h-scroll.flows .h-item{
  flex:0 0 auto;min-width:0;
  height:var(--flow-h,400px);
  background:#0a0807;border-radius:10px;overflow:hidden;
}
.h-scroll.flows .h-item img{height:100%;width:auto;max-width:none;margin:0;object-fit:contain}
.accordion{border-top:1px solid var(--line)}
.accordion:last-child{border-bottom:1px solid var(--line)}
.accordion summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:17px 3px;color:var(--orange);font-family:Sora,sans-serif;font-size:12px;font-weight:600;letter-spacing:var(--ls-label)}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary b{font-size:17px;font-family:"Work Sans";font-weight:400}
.accordion-body{padding:0 3px 25px}
.accordion-body>p{font-size:15px;color:var(--muted);line-height:1.65;margin:0 0 17px}
.accordion-body .case-img{margin-top:14px}
.ia-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.ia-grid .case-img{height:280px;object-fit:contain;background:#0a0807}
.case-img{width:100%;height:auto;display:block;margin:18px 0;background:#0a0807}
.accordion-body>.h-scroll{margin-top:10px}
.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--card-gap);margin-top:20px}
.number-card{padding:var(--card-pad);min-height:130px}
.number-card .num{font-family:Sora,sans-serif;color:var(--orange);font-size:12px;margin-bottom:17px}
.overview-grid .number-card h3{font-size:15px}
.overview-grid .number-card p{font-size:14px}
.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap);margin-top:20px}
.info-card{border:1px solid var(--line);padding:var(--card-pad)}
.info-card h3{font-family:Sora,sans-serif;color:var(--orange);font-size:15px;margin:0 0 8px}
.info-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}
.case-section blockquote{margin:24px 0 0;padding:17px 18px;border-left:2px solid var(--orange);background:rgba(40,13,8,.28);color:var(--muted-strong);font-family:Sora,sans-serif;font-size:15px;line-height:1.6}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 34px;margin-top:20px}
.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap);margin-top:20px}
.learning-grid.four{grid-template-columns:repeat(4,1fr)}
.learning-grid .number-card{min-height:235px}
.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap);margin-top:20px}
.future-grid.four{grid-template-columns:repeat(4,1fr)}
.future-grid .number-card{min-height:145px}
.future-grid .number-card .num{display:none}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--card-gap);margin-top:20px}
.process-grid article{padding:var(--card-pad);background:linear-gradient(135deg,rgba(61,20,12,.62),rgba(42,12,8,.48));border:1px solid rgba(255,90,42,.08);min-height:175px}
.process-grid b{font-family:Sora,sans-serif;color:var(--orange);font-size:12px}
.process-grid h3{font-size:15px;margin:14px 0 11px}
.process-grid ul{padding:0 0 0 14px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--card-gap);margin-top:20px}
.audience-grid div{border:1px solid var(--line);padding:var(--card-pad);min-height:82px;font-size:14px;color:var(--muted)}
.interview-points{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--card-gap);margin-top:20px}
.interview-points p{border:1px solid var(--line);padding:var(--card-pad);margin:0;color:var(--muted);font-size:14px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--card-gap);margin-top:20px}
.stats-grid div{border-top:1px solid var(--orange);padding-top:10px}
.stats-grid strong{display:block;font-family:Sora,sans-serif;font-size:25px;font-weight:400;color:var(--orange)}
.stats-grid span{display:block;color:var(--muted);font-size:14px;line-height:1.45;margin-top:5px}
.competitor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--card-gap);margin-top:20px}
.competitor-grid article{border:1px solid var(--line);padding:var(--card-pad);min-height:125px}
.competitor-grid h3{font-family:Sora,sans-serif;font-size:15px;margin:0 0 10px;color:var(--text)}
.competitor-grid p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.opportunity{margin-top:14px;padding:var(--card-pad);background:linear-gradient(135deg,rgba(60,18,10,.62),rgba(43,12,8,.44));border:1px solid rgba(255,90,42,.09)}
.opportunity span{font-family:Sora,sans-serif;color:var(--orange);font-size:12px}
.opportunity p{font-size:14px;color:var(--muted);margin:7px 0 0}
.persona-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap);margin-top:20px}
.persona-grid article{border:1px solid var(--line);padding:var(--card-pad)}
.persona-grid h3{font-size:15px;margin-bottom:16px}
.persona-grid div{margin-top:13px}
.persona-grid b{font-family:Sora,sans-serif;font-size:12px;color:var(--orange)}
.persona-grid ul{margin:4px 0 0;padding-left:16px;color:var(--muted);font-size:14px;line-height:1.6}
.live-link{margin-top:22px!important}
.live-link a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}

/* Shared card surface: one look across every case-study card group */
.process-grid article,
.roles-grid article,
.number-card,
.info-card,
.audience-grid div,
.interview-points p,
.competitor-grid article,
.persona-grid article{
  background:linear-gradient(135deg,rgba(61,20,12,.62),rgba(42,12,8,.48));
  border:1px solid rgba(255,90,42,.08);
  border-radius:12px;
}

/* OBSERVATIONS · FUTURES · DESIGN DECISIONS: plain numbered list, no cards */
.learning-grid,.learning-grid.four,
.future-grid,.future-grid.four{grid-template-columns:1fr 1fr;gap:28px 48px}
.decision-grid{grid-template-columns:1fr;gap:26px}
.learning-grid .number-card,
.future-grid .number-card,
.decision-grid .number-card{
  background:none;border:0;border-radius:0;
  padding:0 0 0 32px;min-height:0;position:relative;
}
.future-grid .number-card{padding-left:0}
.learning-grid .number-card .num,
.decision-grid .number-card .num{
  position:absolute;left:0;top:2px;margin:0;
  font-family:Sora,sans-serif;color:var(--orange);font-size:12px;
}
.learning-grid .number-card h3,
.future-grid .number-card h3,
.decision-grid .number-card h3{margin:0 0 6px;font-size:15px}
.learning-grid .number-card p,
.future-grid .number-card p,
.decision-grid .number-card p{font-size:14px;line-height:1.6}

/* A whole case-study section supplied as a flat image (Novel Office) */
.section-img{display:block;margin:4px 0}
.section-img img{display:block;width:100%;height:auto;border-radius:10px}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1200px){
  :root{--drawer:320px;--gutter:40px}
}
@media(max-width:960px){
  :root{--drawer:280px;--gutter:30px}
  .works{gap:20px}
  .case-hero h1{font-size:38px}
}
@media(max-width:760px){
  :root{--gutter:16px}
  .site{display:block;overflow-x:visible}
  .sidebar-slot{display:contents}          /* slot box disappears; drawer stays in DOM */

  .drawer{
    position:fixed;top:0;left:0;
    width:86vw;max-width:340px;height:100vh;height:100dvh;
    transform:translateX(-100%);
    border-right:1px solid var(--line);
    box-shadow:18px 0 60px rgba(0,0,0,.55);
    background:linear-gradient(165deg,#0c0605,#160b07 70%,#0b0504);
  }
  .drawer.open{transform:none}
  body.drawer-closed .drawer{transform:translateX(-100%)}

  body::after{
    content:"";position:fixed;inset:0;z-index:90;
    background:rgba(4,2,2,.55);
    opacity:0;pointer-events:none;transition:opacity .3s;
  }
  body.drawer-open::after{opacity:1;pointer-events:auto}

  .main{padding:20px 16px 44px}
  .topbar,body.case-page .topbar{max-width:none;margin:0 0 30px}

  .works{grid-template-columns:1fr;gap:16px}
  .work-card:nth-child(3){grid-column:auto}
  .work-thumb img{aspect-ratio:1.6}

  .expertise{margin-top:48px}

  /* case-study grids collapse */
  .split-copy{grid-template-columns:1fr;gap:28px}
  .roles-grid{grid-template-columns:1fr 1fr}
  .decision-list{grid-template-columns:1fr;gap:16px}
  .overview-grid{grid-template-columns:1fr 1fr}
  .two-cards{grid-template-columns:1fr}
  .decision-grid{grid-template-columns:1fr}
  .learning-grid,.learning-grid.four,.future-grid,.future-grid.four{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr 1fr}
  .audience-grid,.interview-points,.stats-grid,.competitor-grid{grid-template-columns:1fr 1fr}
  .persona-grid{grid-template-columns:1fr}
  .ia-grid{grid-template-columns:1fr}
  .ia-grid .case-img{height:auto}
  .h-item{min-width:90%}
  .h-scroll.flows{--flow-h:320px}
  .meta{grid-template-columns:repeat(3,1fr);gap:12px}
  .case-hero h1{font-size:34px}
  .case-section{margin-bottom:44px}
}
@media(max-width:430px){
  .main{padding:18px 13px 40px}
  .topbar{margin-bottom:24px}
  .meta{grid-template-columns:1fr}
  .roles-grid,.overview-grid,.process-grid,.audience-grid,.interview-points,.stats-grid,.competitor-grid{grid-template-columns:1fr}
  .case-hero h1{font-size:29px}
  .big-sub{font-size:15px}
  .footer-title{font-size:19px}
  .drawer{width:92vw;max-width:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.work-card,.work-thumb img,.drawer,.main,.sidebar-slot{transition:none!important}
}

/* ============================================================
   About Me: whimsical page (scoped; does not alter case studies)
   ============================================================ */
body.about-page{
  background:
    radial-gradient(72% 55% at 78% 12%, rgba(168,58,26,.20) 0%, rgba(100,36,18,.08) 42%, transparent 72%),
    radial-gradient(60% 70% at 10% 92%, rgba(65,20,12,.18) 0%, transparent 68%),
    linear-gradient(155deg,#060302 0%,#0d0504 48%,#070302 100%);
  cursor:none
}
body.about-page a,body.about-page button{cursor:none}
.about-page .main{padding-top:34px}
.about-page .topbar{margin-bottom:32px}
.about-wrap{width:100%;max-width:1120px;margin:0 auto}
.about-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
.about-reveal.visible{opacity:1;transform:none}
.about-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);gap:48px;padding:8px 0 58px;border-bottom:1px solid var(--line);min-height:530px}
.about-eyebrow,.about-section-head h2{font-family:Sora,sans-serif;font-size:12px;letter-spacing:var(--ls-label);color:var(--orange);font-weight:600}
.tools-art .scribble{font-size:12px;color:var(--orange);font-weight:700}
.hero-copy{position:relative;padding:12px 40px 0 0}
.hero-copy h1{font-family:"Fraunces",serif;font-size:52px;font-weight:400;line-height:1;margin:10px 0 4px;letter-spacing:-.035em}
.hero-copy h2{font-family:Sora,sans-serif;font-size:24px;line-height:1.15;font-weight:600;margin:0 0 26px;letter-spacing:-.035em}
.hero-copy p,.about-section p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 15px;max-width:650px}
.hero-illustration{position:absolute;right:-330px;top:54px;width:190px;transform:rotate(2deg)}
.doodle{color:var(--orange);font-family:"Caveat",cursive;font-size:28px;transform:rotate(-7deg)}
.doodle span{display:inline-block;font-size:20px;transform:translateY(-2px)}
.about-illustration{color:var(--orange);transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.about-illustration svg{width:100%;height:auto;display:block;overflow:visible}
.about-illustration .draw{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.about-illustration .accent-stroke{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.about-illustration .accent-box{fill:rgba(255,90,42,.06);stroke:currentColor;stroke-width:1.8}
.about-illustration .accent-fill{fill:currentColor}
.about-illustration span{font-family:"Caveat",cursive;font-size:16px;display:block;text-align:center;transform:rotate(-4deg);margin-top:-8px}
.about-illustration:hover{transform:scale(1.12) rotate(-2deg)}
.about-illustration:hover .draw{animation:doodleWiggle .55s ease-in-out}
@keyframes doodleWiggle{0%,100%{transform:translate(0,0)}35%{transform:translate(1px,-2px) rotate(.5deg)}70%{transform:translate(-1px,1px) rotate(-.5deg)}}

.about-section{padding:44px 0 52px;border-bottom:1px solid var(--line)}
.about-section-head{display:grid;grid-template-columns:80px 1fr;align-items:center;margin-bottom:28px}
.about-section-head>span{font-family:"Caveat",cursive;color:var(--orange);font-size:17px}
.about-section-head h2{margin:0;text-align:center;font-size:12px}
.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.care-grid article{position:relative;min-height:255px;padding:24px 22px 48px;border:1px solid rgba(255,90,42,.12);background:linear-gradient(145deg,rgba(28,12,9,.78),rgba(12,8,7,.66));overflow:hidden}
.care-grid .about-num,.outside-grid .about-num{font-family:"Caveat",cursive;color:#8d2d17;font-size:18px}
.care-grid h3,.outside-grid h3,.work-steps h3{font-family:Sora,sans-serif;font-size:15px;font-weight:600;margin:14px 0 12px}
.care-grid p,.outside-grid p{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}
.card-illustration{position:absolute;bottom:10px;left:20px;width:105px;opacity:.72}
.care-grid article:hover .card-illustration{transform:scale(1.18) rotate(-3deg);opacity:1}
.care-grid article:nth-child(3) .card-illustration{left:auto;right:18px;width:125px}

.about-quote{font-family:"Caveat",cursive;color:var(--orange);font-size:17px;text-align:right;margin-top:28px;transform:rotate(-2deg)}
.about-quote.centered{text-align:center}
.quote-row{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:24px}
.quote-row.centered{justify-content:center}
.quote-row .mini-cat{width:58px;opacity:.72}
.quote-row .about-quote{margin-top:0}
.work-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.work-steps article{position:relative;padding-top:8px}
.work-steps article:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:2px;color:var(--orange);font-family:"Caveat",cursive;font-size:22px}
.work-steps article>span{display:block;color:var(--orange);font-family:"Caveat",cursive;font-size:17px;border-top:1px solid rgba(255,90,42,.25);padding-top:5px}
.work-steps h3{margin-top:18px}
.work-steps p{font-size:14px;line-height:1.6}
.work-steps em{font-family:"Caveat",cursive;color:var(--orange);font-size:15px;font-style:normal;display:block;transform:rotate(-2deg)}
.ai-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;min-height:430px;align-items:center}
.big-about-heading{font-family:"Fraunces",serif;font-size:34px;font-weight:400;line-height:1.05;letter-spacing:-.025em;margin:0 0 22px}
.ai-layout p{max-width:600px}
.ai-layout ul{list-style:none;padding:0;margin:18px 0;color:var(--text);font-size:15px;font-weight:500;line-height:2}
.ai-layout li::before{content:"›";color:var(--orange);margin-right:9px}
.ai-last{margin-top:24px!important}
.ai-art{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:var(--orange)}
.large-illustration{width:min(330px,100%)}
.ai-art:hover .large-illustration{transform:scale(1.08) rotate(1deg)}
.doodle-caption{font-family:"Caveat",cursive;font-size:17px;transform:rotate(-4deg)}
.tools-section{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start}
.tools-art{min-height:165px;display:flex;align-items:flex-start;padding-top:4px}
.tools-art .scribble{font-family:"Caveat",cursive;letter-spacing:.08em;font-size:14px;transform:rotate(-2deg)}
.tool-groups{display:flex;flex-direction:column;gap:23px}
.tool-groups>div>span{display:block;font-family:Sora,sans-serif;color:var(--orange);font-size:12px;letter-spacing:var(--ls-label);margin-bottom:9px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chips b{font-size:13px;font-weight:500;color:var(--text);border:1px solid rgba(255,90,42,.2);padding:7px 10px}
.outside-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.outside-grid article{position:relative;min-height:235px}
.outside-grid h3{margin-top:18px}
.outside-illustration{position:absolute;bottom:4px;left:0;width:115px;opacity:.7}
.outside-grid article:hover .outside-illustration{transform:scale(1.15) rotate(-2deg);opacity:1}
.about-footer{border-bottom:0;padding-bottom:0}
.about-cursor{position:fixed;left:0;top:0;width:24px;height:24px;border:1px solid var(--orange);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .18s ease,height .18s ease,opacity .18s ease;mix-blend-mode:screen}
.about-cursor::after{content:"";position:absolute;width:5px;height:5px;background:var(--orange);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.about-cursor.is-hover{width:34px;height:34px}
.about-page ::selection{background:var(--orange);color:#160804}

@media(max-width:960px){
  .about-wrap{max-width:100%}
  .about-hero{grid-template-columns:1fr minmax(150px,.4fr);gap:28px}
  .hero-copy h1{font-size:44px}
  .hero-copy h2{font-size:21px}
  .care-grid{gap:10px}
  .work-steps{grid-template-columns:repeat(3,1fr);row-gap:30px}
  .work-steps article:nth-child(3)::after{display:none}
  .tools-section{grid-template-columns:190px 1fr}
}
@media(max-width:760px){
  body.about-page{cursor:auto}
  body.about-page a,body.about-page button{cursor:pointer}
  .about-page .main{padding-top:20px}
  .about-hero{grid-template-columns:1fr;gap:24px;padding-bottom:42px}
  .hero-copy{padding-right:10px}
  .hero-copy h1{font-size:42px}
  .hero-copy h2{font-size:22px}
  .hero-illustration{position:relative;right:auto;top:auto;width:150px;margin:8px auto 0}
  .about-section{padding:38px 0 42px}
  .about-section-head{grid-template-columns:42px 1fr}
  .care-grid,.outside-grid{grid-template-columns:1fr;gap:12px}
  .care-grid article{min-height:205px}
  .work-steps{grid-template-columns:1fr;gap:28px}
  .work-steps article:not(:last-child)::after{content:"↓";right:10px;top:auto;bottom:-23px}
  .work-steps article:nth-child(3)::after{display:block}
  .ai-layout{grid-template-columns:1fr;gap:25px;min-height:0}
  .big-about-heading{font-size:30px}
  .ai-art{min-height:210px}
  .tools-section{grid-template-columns:1fr;gap:24px}
  .tools-art{min-height:0}
  .about-quote{text-align:center}
}
@media(max-width:430px){
  .hero-copy h1{font-size:37px}
  .hero-copy h2{font-size:20px}
  .big-about-heading{font-size:28px}
  .about-section-head h2{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .about-reveal{transition:none!important}
}

/* Keep illustrations below the copy so longer text never overlaps them */
.care-grid article,.outside-grid article{display:flex;flex-direction:column}
.care-grid .card-illustration,.outside-grid .outside-illustration{position:static;margin-top:auto;padding-top:18px;align-self:flex-start}
.care-grid article:nth-child(3) .card-illustration{align-self:flex-end}
.care-grid article{padding-bottom:20px}

/* Breathing room between a section's copy and the diagram strip that follows */
.h-scroll.flows{margin-top:32px}
.case-section .case-img:first-child,.case-section>.h-scroll{margin-top:28px}

/* Mobile drawer: back / close button */
.drawer-close{display:none}
@media(max-width:760px){
  .drawer-inner{position:relative}
  .drawer-close{
    display:inline-flex;align-items:center;justify-content:center;
    position:absolute;top:34px;left:34px;z-index:2;
    width:36px;height:36px;padding:0;border:0;border-radius:50%;
    background:rgba(8,3,3,.72);color:var(--orange);cursor:pointer;
    backdrop-filter:blur(4px);transition:transform .25s,opacity .25s;
  }
  .drawer-close:hover{transform:translateX(-2px);opacity:.85}
  .drawer-close svg{width:20px;height:20px}
}

/* Accordions can be very tall; never hide them behind the reveal fade */
.accordion.reveal{opacity:1;transform:none}
