/* assets/style.css */
@font-face{font-family:Manrope;src:url('/uploads/95VwE-fLxr7eRt-JOaODb-manrope-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Plex Mono';src:url('/uploads/Q5GwgotSIPZ5Y-HEaFK0U-ibm-plex-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Sharp editorial surfaces; round controls. Layers: art 1, header 5, menu 8. */
:root{--paper:#f4f3ef;--ink:#242522;--muted:#666762;--line:#d6d6ce;--soft:#eaeae3;--accent:var(--ink);--on-accent:var(--paper);--stage:#ebece5;--ease:cubic-bezier(.22,.8,.24,1);color-scheme:light}
:root[data-theme=dark]{--paper:#21221f;--ink:#f0f0e7;--muted:#b2b3a8;--line:#494b43;--soft:#2b2d27;--stage:#2c2e27;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
::selection{background:var(--ink);color:var(--paper)}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button{border:0}
button:disabled{cursor:wait}
button:active,.button:active{transform:scale(.97)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
button:focus-visible{border-radius:30px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:500}
h1,h2{letter-spacing:-.067em;line-height:1.06}
p{line-height:1.65}
canvas{display:block;max-width:100%}
[hidden]{display:none!important}
.wrap{width:calc(100% - 112px);max-width:1536px;margin-inline:auto}
.eyebrow{font-family:'Plex Mono',monospace;font-size:10px;line-height:1.5;letter-spacing:.045em;text-transform:uppercase}
.skip-link{position:fixed;top:12px;left:12px;z-index:10;padding:12px 20px;background:var(--ink);color:var(--paper);transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:80px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;z-index:5;border-bottom:1px solid var(--line)}
.wordmark{font-size:44px;font-weight:800;letter-spacing:-4px;line-height:1;justify-self:start;padding-bottom:7px}
.wordmark span{display:inline}
.desktop-nav{display:flex;gap:36px;align-items:center;font-size:13px;font-weight:500}
.desktop-nav a{position:relative;padding-block:9px}
.desktop-nav a::after,.text-link::after{content:'';position:absolute;inset:auto 0 3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.desktop-nav a:hover::after,.text-link:hover::after{transform:scaleX(1)}
.header-actions{justify-self:end;display:flex;align-items:center;gap:17px}
.theme-toggle{background:none;width:34px;height:36px;font-size:23px;line-height:1;border-radius:50%}
.theme-toggle:hover{background:var(--soft)}
.small-cta{display:flex;align-items:center;gap:22px;border:1px solid var(--line);border-radius:100px;padding:12px 19px;font-size:12px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.small-cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.small-cta span{font-size:18px;line-height:1}
.menu-toggle{display:none}
.mobile-nav{display:none}
.hero{min-height:calc(100svh - 80px);max-height:920px;display:grid;grid-template-columns:1.45fr 1fr;gap:10px;align-items:center;padding-block:62px 85px;position:relative}
.hero-copy{position:relative;z-index:1;padding-bottom:5px;min-width:0}
.hero .eyebrow{margin-bottom:36px;color:var(--muted)}
.hero h1{font-size:clamp(68px,7.15vw,116px);line-height:1.06;letter-spacing:-.073em;white-space:nowrap}
.hero-description{font-size:16px;line-height:1.65;max-width:370px;margin-top:30px;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:17px 25px;border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap;transition:transform .3s var(--ease),background .3s;min-height:53px}
.button span{font-size:21px;line-height:1}
.button-dark{background:var(--ink);color:var(--paper)}
.button-dark:hover{transform:translateY(-3px)}
.hero .button{margin-top:32px}
.hero-art{min-width:0;position:relative;align-self:center;margin-top:30px}
.salt-stage{width:100%;height:clamp(330px,35vw,510px);position:relative;isolation:isolate}
#salt-canvas{width:100%;height:100%;outline:0}
.salt-caption{display:flex;align-items:center;flex-direction:column;gap:14px;margin-top:-24px;position:relative;z-index:1}
.pinch-button{display:flex;align-items:center;gap:24px;padding:11px 16px;border-radius:40px;border:1px solid var(--line);background:transparent;font-size:11px;transition:background .2s}
.pinch-button:hover{background:var(--soft)}
.pinch-button span{font-size:20px;line-height:1}
#salt-status{font-family:'Plex Mono',monospace;font-size:9px;color:var(--muted);text-align:center;min-height:15px}
.work-section{padding-top:50px;border-top:1px solid var(--line);padding-bottom:135px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:55px}
.section-heading h2{font-size:clamp(42px,4.3vw,66px)}
.section-heading>p{font-size:13px;line-height:1.7;color:var(--muted);padding-bottom:7px}
.projects-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:52px;align-items:start}
.jane-card{padding-top:115px}
.project-art{display:block;position:relative;overflow:hidden;background:var(--soft);aspect-ratio:1.27;isolation:isolate}
.project-art img{height:100%;width:100%;object-fit:cover;filter:grayscale(1);transition:transform .75s var(--ease)}
.architecture-art::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(15,16,14,.42));pointer-events:none}
.project-art-title{position:absolute;z-index:1;bottom:26px;left:30px;color:#f5f4ed;font-size:clamp(48px,5.8vw,92px);letter-spacing:-.065em;font-weight:500;line-height:1}
.project-open{position:absolute;top:20px;right:20px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #f4f3ef77;border-radius:100%;background:#f4f3efee;color:#252620;font-size:26px;z-index:1;transition:transform .4s var(--ease)}
.project-art:hover img{transform:scale(1.045)}
.project-art:hover .project-open{transform:rotate(45deg)}
.project-caption{display:flex;justify-content:space-between;gap:15px;padding-top:21px}
.project-caption h3{font-size:21px;letter-spacing:-.04em;font-weight:600;margin-bottom:8px}
.project-caption h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.project-caption p{font-size:11px;color:var(--muted);line-height:1.5}
.project-category{font-family:'Plex Mono',monospace;font-size:9px;text-align:right;color:var(--muted);white-space:nowrap;padding-top:7px}
.voice-art{background:#282925;aspect-ratio:1.075;color:#efeee8}
.voice-art .voice-canvas{position:absolute;inset:0;width:100%;height:100%}
.voice-wordmark{position:absolute;bottom:28px;left:30px;font-size:clamp(54px,6.1vw,90px);letter-spacing:-.065em;line-height:1;font-weight:500}
.philosophy{display:grid;grid-template-columns:1fr 2fr;gap:50px;border-top:1px solid var(--line);padding-block:110px 125px;align-items:center}
.philosophy-symbol{display:grid;grid-template-columns:repeat(2,48px);grid-template-rows:repeat(2,48px);gap:12px;transform:rotate(-15deg);margin-left:70px;width:fit-content}
.philosophy-symbol span{border:1px solid var(--ink);background:var(--paper)}
.philosophy-symbol span:nth-child(1){transform:translate(-8px,-12px) rotate(-14deg)}
.philosophy-symbol span:nth-child(2){transform:translate(12px,-18px) rotate(8deg)}
.philosophy-symbol span:nth-child(4){transform:translate(10px,10px) rotate(12deg)}
.philosophy .eyebrow{color:var(--muted);margin-bottom:30px}
.philosophy h2{font-size:clamp(36px,4vw,61px);margin-bottom:30px}
.philosophy-copy>p:not(.eyebrow){max-width:540px;font-size:16px;color:var(--muted);margin-top:20px;line-height:1.75}
.expertise{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;padding-block:90px 110px;border-top:1px solid var(--line)}
.expertise h2{font-size:clamp(48px,4.5vw,70px)}
.expertise-intro>p{font-size:14px;max-width:260px;color:var(--muted);margin-top:28px}
.expertise-list{padding-top:3px;min-width:0}
.expertise details{border-bottom:1px solid var(--line)}
.expertise details:first-child{border-top:1px solid var(--line)}
.expertise summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:22px;letter-spacing:-.04em;padding-block:23px;cursor:pointer;transition:opacity .2s}
.expertise summary:hover{opacity:.65}
.expertise summary::-webkit-details-marker{display:none}
.expertise summary>span{font-size:26px;font-weight:300;transition:transform .25s}
.expertise details[open] summary>span{transform:rotate(45deg)}
.detail-copy{padding:0 48px 27px 0}
.detail-copy p{font-size:13px;color:var(--muted);max-width:480px}
.text-link{font-size:11px;display:inline-flex;position:relative;align-items:center;gap:35px;padding-bottom:6px;font-weight:600}
.detail-copy .text-link{margin-top:22px}
.text-link>span{font-size:17px}
.founder{padding-block:80px 120px;display:grid;grid-template-columns:1fr 1fr;gap:115px;align-items:center}
.founder-image{margin:0}
.founder-image img{width:100%;height:500px;object-fit:cover;filter:grayscale(1);object-position:48% center}
.founder-image figcaption{font-size:10px;color:var(--muted);margin-top:16px;font-family:'Plex Mono',monospace;line-height:1.6}
.founder h2{font-size:clamp(36px,3.7vw,56px);margin-bottom:35px}
.founder-copy>p{font-size:14px;line-height:1.85;max-width:450px;color:var(--muted);margin-top:18px}
.founder-signoff{display:block;font-size:12px;margin-top:34px}
.playground-section{padding-block:55px 125px;border-top:1px solid var(--line)}
.playground-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}
.playground-heading .eyebrow{margin-bottom:21px;color:var(--muted)}
.playground-heading h2{font-size:clamp(40px,4.1vw,63px)}
.playground-heading>p{font-size:12px;color:var(--muted);margin-bottom:6px}
.playground-frame{position:relative;background:var(--stage);height:390px;overflow:hidden;border:1px solid var(--line)}
#playground-canvas{width:100%;height:100%;touch-action:pan-y}
.playground-controls{position:absolute;left:24px;bottom:22px;display:flex;padding:5px;gap:3px;background:var(--paper);border:1px solid var(--line);border-radius:40px}
.pattern-button{padding:10px 19px;background:transparent;border-radius:40px;font-size:11px;transition:background .2s,color .2s}
.pattern-button[aria-pressed=true]{color:var(--paper);background:var(--ink)}
.pattern-button:not([aria-pressed=true]):hover{background:var(--soft)}
.playground-note{position:absolute;right:27px;bottom:37px;font-size:9px;color:var(--muted);font-family:'Plex Mono',monospace;pointer-events:none}
.site-footer{padding-top:74px;border-top:1px solid var(--line)}
.site-footer>.eyebrow{color:var(--muted);margin-bottom:30px}
.footer-callout{display:flex;justify-content:space-between;align-items:center;gap:60px}
.footer-callout h2{font-size:clamp(72px,8.5vw,138px);letter-spacing:-.072em;line-height:.99}
.contact-circle{width:132px;height:132px;flex-shrink:0;border:1px solid var(--ink);border-radius:100%;display:grid;place-items:center;font-size:72px;font-weight:300;margin-right:28px;transition:background .35s,color .35s,transform .35s var(--ease)}
.contact-circle:hover{background:var(--ink);color:var(--paper);transform:rotate(45deg)}
.contact-email{font-size:20px;letter-spacing:-.03em;display:inline-block;margin-top:38px;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;border-top:1px solid var(--line);margin-top:90px;min-height:116px}
.footer-logo{font-size:40px}
.footer-bottom>p{font-size:11px;color:var(--muted);text-align:center}
.footer-bottom>div{display:flex;gap:28px;justify-content:flex-end;font-size:9px;color:var(--muted)}
.footer-bottom>div a:hover{text-decoration:underline}
/* Each case study changes the whole palette. Home keeps a monochrome base. */
.project-bloooom{--paper:#f4e4dd;--ink:#492a21;--muted:#79574c;--line:#d7bcb0;--soft:#ebd0c3;--accent:#af4d2a;--on-accent:#fff4e9;--stage:#c26443}
.project-jane{--paper:#e7eddc;--ink:#283222;--muted:#57624e;--line:#bac7ab;--soft:#d4dfc5;--accent:#425432;--on-accent:#eff4e5;--stage:#c4d8a9}
:root[data-theme=dark] .project-bloooom{--paper:#30221e;--ink:#f3e6da;--muted:#cbb4a6;--line:#62483d;--soft:#422b22;--accent:#e6a180;--on-accent:#30221e;--stage:#673c29}
:root[data-theme=dark] .project-jane{--paper:#242c20;--ink:#ecf0df;--muted:#b8c1ac;--line:#4f5b42;--soft:#323f28;--accent:#c4d8a9;--on-accent:#242c20;--stage:#465634}
.project-page .site-header{grid-template-columns:1fr auto 1fr}
.back-link{display:inline-flex;gap:12px;align-items:center;font-size:12px;font-weight:500}
.back-link:hover{text-decoration:underline;text-underline-offset:5px}
.project-hero{padding-block:74px 72px;display:grid;grid-template-columns:1.45fr 1fr;gap:80px;align-items:end}
.project-hero .eyebrow{margin-bottom:28px;color:var(--muted)}
.project-hero h1{font-size:clamp(80px,11vw,168px);font-weight:500;letter-spacing:-.075em}
.project-hero h2{font-size:27px;letter-spacing:-.04em;line-height:1.3;max-width:340px}
.project-hero p:not(.eyebrow){font-size:13px;margin-top:22px;max-width:400px;color:var(--muted)}
.project-hero .project-status{font-family:'Plex Mono',monospace;text-transform:uppercase;font-size:9px;letter-spacing:.03em;margin-top:36px}
.case-visual{position:relative;overflow:hidden;height:620px;background:var(--soft)}
.case-visual img{width:100%;height:100%;object-fit:cover}
.project-bloooom .case-visual img{filter:saturate(.65)}
.image-caption{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-family:'Plex Mono',monospace;font-size:9px;margin-top:15px;line-height:1.6}
.case-overview{padding-block:115px;display:grid;grid-template-columns:1fr 1.5fr;gap:100px;border-bottom:1px solid var(--line)}
.case-overview h2{font-size:clamp(38px,4.2vw,63px)}
.case-overview p{font-size:16px;line-height:1.8;color:var(--muted);max-width:600px}
.case-overview p+p{margin-top:20px}
.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}
.case-meta dt{font-size:9px;font-family:'Plex Mono',monospace;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.case-meta dd{margin:0;font-size:12px;line-height:1.6}
.case-content{padding-block:95px 115px}
.case-content>h2{font-size:clamp(43px,4.3vw,65px);margin-bottom:48px}
.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.case-columns h3{font-size:25px;letter-spacing:-.04em;margin-bottom:22px}
.case-columns p{font-size:14px;line-height:1.8;color:var(--muted);max-width:450px}
.case-columns .text-link{margin-top:25px}
.case-quote{padding:75px 10%;background:var(--soft);text-align:center;margin-bottom:100px}
.case-quote h2{font-size:clamp(35px,4.5vw,68px);max-width:850px;margin:auto;line-height:1.17}
.case-quote>p{color:var(--muted);font-size:12px;margin-top:26px}
.case-secondary{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;margin-bottom:110px}
.case-secondary img{width:100%;height:420px;object-fit:cover;filter:saturate(.6)}
.case-secondary h2{font-size:45px;margin-bottom:25px}
.case-secondary p{font-size:14px;color:var(--muted);line-height:1.8}
.next-project{display:flex;justify-content:space-between;align-items:center;padding-block:45px;border-top:1px solid var(--line);margin-bottom:70px;gap:30px}
.next-project p{font-size:10px;color:var(--muted);font-family:'Plex Mono',monospace;text-transform:uppercase;margin-bottom:12px}
.next-project h2{font-size:52px}
.next-project>a{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;border:1px solid var(--ink);font-size:34px;transition:background .25s,color .25s}
.next-project>a:hover{background:var(--ink);color:var(--paper)}
.jane-hero-art{background:var(--stage);height:560px}
.jane-hero-art .voice-canvas{position:absolute;inset:0;width:100%;height:100%}
.jane-art-label{position:absolute;left:42px;bottom:36px;font-family:'Plex Mono',monospace;font-size:10px;text-transform:uppercase;color:var(--ink)}
.sound-toggle{position:absolute;right:32px;bottom:30px;background:var(--paper);border:1px solid var(--line);padding:12px 19px;font-size:11px;border-radius:40px}
.sound-toggle:hover{background:var(--ink);color:var(--paper)}
.project-page .site-footer{padding-top:45px}
.project-page .footer-callout h2{font-size:clamp(62px,7vw,100px)}
.project-page .contact-circle{width:100px;height:100px;font-size:55px}
.privacy-note{border-left:2px solid var(--accent);padding:8px 0 8px 23px;margin-top:35px}
.privacy-note strong{font-weight:600;font-size:13px;display:block;margin-bottom:7px}
.privacy-note p{font-size:12px}
@media(prefers-reduced-motion:no-preference){
  .hero-copy{animation:settle .7s var(--ease) both}
  .hero-art{animation:arrive 1.2s .12s var(--ease) both}
  [data-reveal].reveal-ready{opacity:0;transform:translateY(27px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  [data-reveal].revealed{opacity:1;transform:translateY(0)}
  @keyframes arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
  @keyframes settle{from{transform:translateY(16px)}to{transform:translateY(0)}}
@media(min-width:1680px){.hero{min-height:800px}.hero h1{font-size:118px}}
@media(max-width:1200px){
  .wrap{width:calc(100% - 72px)}
  .site-header{height:80px}
  .hero{min-height:calc(100svh - 80px);padding-block:55px 75px;grid-template-columns:1.45fr 1fr}
  .hero h1{font-size:7.2vw}
  .hero .eyebrow{font-size:9px;letter-spacing:0;margin-bottom:26px}
  .hero-description{font-size:14px;max-width:320px}
  .projects-grid{gap:34px}
  .project-category{display:none}
  .philosophy{grid-template-columns:1fr 2fr;gap:30px}
  .expertise{gap:65px}
  .founder{gap:65px}
  .founder-image img{height:450px}
  .project-hero{gap:40px}
  .case-visual{height:520px}
  .case-overview{gap:60px}
}
@media(max-width:900px){
  .wrap{width:calc(100% - 48px)}
  .desktop-nav{gap:22px;font-size:12px}
  .header-actions{gap:8px}
  .small-cta{padding:11px 14px;gap:13px;font-size:11px}
  .hero{min-height:640px;padding-block:48px 65px;gap:0}
  .hero h1{font-size:7.1vw}
  .hero-art{margin-top:25px}
  .salt-stage{height:330px}
  .hero-description{max-width:290px;font-size:13px}
  .hero .eyebrow{font-size:8px}
  .button{font-size:11px;padding:15px 20px;gap:30px}
  .projects-grid{gap:26px}
  .jane-card{padding-top:80px}
  .project-art-title,.voice-wordmark{left:21px;bottom:22px}
  .project-caption{padding-top:18px}
  .project-caption h3{font-size:19px}
  .project-caption p{font-size:10px}
  .philosophy{grid-template-columns:1fr 3fr;gap:50px;padding-block:85px}
  .philosophy-symbol{margin-left:10px;grid-template-columns:repeat(2,28px);grid-template-rows:repeat(2,28px);gap:9px}
  .philosophy-copy>p:not(.eyebrow){font-size:14px}
  .expertise{gap:45px;grid-template-columns:1fr 1.3fr;padding-block:75px}
  .expertise summary{font-size:18px;padding-block:20px}
  .expertise-intro>p{font-size:12px}
  .founder{gap:45px;padding-block:60px 85px}
  .founder-image img{height:430px}
  .founder-copy>p{font-size:12px}
  .founder h2{font-size:35px;margin-bottom:26px}
  .founder-signoff{font-size:11px;margin-top:25px}
  .contact-circle{width:100px;height:100px;font-size:58px;margin-right:0}
  .footer-bottom{grid-template-columns:1fr 1fr 1.4fr}
  .footer-bottom>div{gap:16px;font-size:8px}
  .project-hero{padding-block:58px;grid-template-columns:1fr 1fr;gap:35px}
  .project-hero h1{font-size:11vw}
  .project-hero h2{font-size:23px}
  .case-visual{height:440px}
  .case-columns{gap:60px}
  .case-secondary{gap:40px}
  .case-secondary h2{font-size:35px}
}
@media(max-width:767px){
  .wrap{width:calc(100% - 40px)}
  .site-header{height:80px;grid-template-columns:1fr 1fr}
  .wordmark{font-size:41px;letter-spacing:-3.5px}
  .desktop-nav,.header-actions>.small-cta{display:none}
  .header-actions{gap:12px}
  .theme-toggle{font-size:22px}
  .menu-toggle{display:flex;gap:16px;font-size:12px;align-items:center;background:transparent;padding:12px 0 12px 12px}
  .menu-toggle span{font-size:20px}
  .mobile-nav:not([hidden]){position:fixed;inset:80px 0 0;display:flex;flex-direction:column;background:var(--paper);padding:45px 24px;gap:27px;z-index:8;font-size:39px;letter-spacing:-.055em}
  .mobile-nav a:last-child{font-size:20px;letter-spacing:-.035em;margin-top:18px}
  .hero{min-height:0;max-height:none;grid-template-columns:1fr;padding-block:42px 34px;gap:0}
  .hero-copy{padding-bottom:0}
  .hero .eyebrow{font-size:8px;margin-bottom:24px}
  .hero h1{font-size:clamp(49px,9.65vw,75px);letter-spacing:-.066em;line-height:1.08}
  .hero-description{font-size:13px;max-width:315px;margin-top:23px}
  .hero .button{margin-top:24px}
  .hero-art{margin-top:4px;max-width:440px;justify-self:center;width:100%}
  .salt-stage{height:290px}
  .salt-caption{margin-top:-31px;gap:9px}
  .pinch-button{font-size:10px;padding:9px 13px;gap:20px}
  #salt-status{font-size:8px}
  .work-section{padding-top:38px;padding-bottom:70px}
  .section-heading{margin-bottom:34px;display:block}
  .section-heading h2{font-size:41px}
  .section-heading>p{font-size:11px;margin-top:19px}
  .projects-grid{grid-template-columns:1fr;gap:43px}
  .jane-card{padding-top:0}
  .project-art{aspect-ratio:1.18}
  .voice-art{aspect-ratio:1.25}
  .project-art-title{font-size:64px}
  .voice-wordmark{font-size:74px}
  .project-caption h3{font-size:21px}
  .project-caption p{font-size:11px}
  .project-category{display:block;font-size:8px;padding-top:8px}
  .project-open{width:40px;height:40px;right:16px;top:16px;font-size:23px}
  .philosophy{grid-template-columns:1fr;padding-block:65px 70px;gap:45px}
  .philosophy-symbol{margin-left:15px;grid-template-columns:repeat(2,28px);grid-template-rows:repeat(2,28px);gap:9px}
  .philosophy .eyebrow{font-size:9px;margin-bottom:23px}
  .philosophy h2{font-size:36px;margin-bottom:24px;line-height:1.13}
  .philosophy-copy>p:not(.eyebrow){font-size:13px;margin-top:17px}
  .expertise{grid-template-columns:1fr;padding-block:56px 68px;gap:35px}
  .expertise h2{font-size:45px}
  .expertise-intro>p{font-size:13px;max-width:320px;margin-top:19px}
  .expertise summary{font-size:19px;padding-block:20px}
  .detail-copy{padding-right:15px}
  .detail-copy p{font-size:12px}
  .founder{grid-template-columns:1fr;gap:39px;padding-block:20px 70px}
  .founder-image img{height:370px}
  .founder-image figcaption{font-size:8px;max-width:320px}
  .founder h2{font-size:36px}
  .founder-copy>p{font-size:13px;line-height:1.8}
  .playground-section{padding-block:43px 70px}
  .playground-heading{display:block;margin-bottom:27px}
  .playground-heading .eyebrow{font-size:8px}
  .playground-heading h2{font-size:39px}
  .playground-heading>p{font-size:11px;margin-top:20px}
  .playground-frame{height:350px}
  .playground-controls{left:50%;transform:translateX(-50%);bottom:47px;white-space:nowrap}
  .pattern-button{padding:10px 19px;font-size:10px}
  .playground-note{right:0;left:0;text-align:center;bottom:17px;font-size:8px}
  .site-footer{padding-top:45px}
  .site-footer>.eyebrow{font-size:8px;margin-bottom:25px}
  .footer-callout{gap:15px}
  .footer-callout h2{font-size:clamp(45px,11.5vw,77px);line-height:1.05}
  .contact-circle{width:65px;height:65px;font-size:40px}
  .contact-email{font-size:17px;margin-top:26px}
  .footer-bottom{grid-template-columns:1fr 1fr;gap:10px;margin-top:55px;padding-block:28px;min-height:125px}
  .footer-logo{font-size:36px}
  .footer-bottom>p{font-size:9px;text-align:right}
  .footer-bottom>div{grid-column:1/-1;justify-content:space-between;font-size:8px;margin-top:20px}
  .project-page .site-header{grid-template-columns:1fr auto 32px;gap:15px}
  .project-page .site-header>.back-link{font-size:10px;justify-self:end}
  .project-page .site-header>.header-actions{display:flex}
  .project-page .site-header>.header-actions>a{display:none}
  .project-hero{grid-template-columns:1fr;padding-block:47px 40px;gap:27px}
  .project-hero .eyebrow{font-size:8px;margin-bottom:20px}
  .project-hero h1{font-size:clamp(75px,17vw,128px)}
  .project-hero h2{font-size:27px;max-width:310px}
  .project-hero p:not(.eyebrow){font-size:13px;margin-top:15px}
  .project-hero .project-status{font-size:8px;margin-top:22px}
  .case-visual{height:370px}
  .image-caption{font-size:8px;display:block}
  .image-caption span+span{display:none}
  .case-overview{grid-template-columns:1fr;gap:29px;padding-block:60px}
  .case-overview h2{font-size:40px}
  .case-overview p{font-size:13px}
  .case-meta{gap:24px}
  .case-content{padding-block:55px 60px}
  .case-content>h2{font-size:39px;margin-bottom:34px}
  .case-columns{grid-template-columns:1fr;gap:35px}
  .case-columns h3{font-size:23px;margin-bottom:14px}
  .case-columns p{font-size:13px}
  .case-quote{padding:45px 20px;margin-bottom:60px}
  .case-quote h2{font-size:34px}
  .case-quote>p{font-size:11px;line-height:1.7}
  .case-secondary{grid-template-columns:1fr;gap:30px;margin-bottom:65px}
  .case-secondary img{height:320px}
  .case-secondary h2{font-size:37px}
  .case-secondary p{font-size:13px}
  .next-project{padding-block:32px;margin-bottom:45px}
  .next-project h2{font-size:45px}
  .next-project>a{width:58px;height:58px;font-size:29px}
  .jane-art-label{left:19px;bottom:68px;font-size:8px}
  .sound-toggle{right:20px;left:20px;bottom:17px;font-size:10px;padding:11px}
  .project-page .footer-callout h2{font-size:45px}
  .project-page .contact-circle{width:60px;height:60px;font-size:34px}
}
@media(max-width:374px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:42px}.expertise summary{font-size:17px;gap:12px}.project-category{display:none}.footer-callout h2{font-size:43px}.contact-circle{width:54px;height:54px;font-size:33px}.philosophy h2{font-size:32px}.founder h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-copy,.hero-art,[data-reveal]{opacity:1!important;transform:none!important}}
@media print{.header-actions,.desktop-nav,.hero-art,.playground-section,.contact-circle{display:none}.wrap{width:100%}.hero{min-height:auto;display:block}.hero h1{font-size:65px}.site-header{height:70px}.work-section,.philosophy,.expertise,.founder{padding-block:30px}a{color:inherit}.project-art{break-inside:avoid}}


/* assets/legal.css */
/* Shared company disclosure and readable privacy notice. */
.zaltt-legal {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding-block: 20px 28px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}
.zaltt-legal p { max-width: 880px; font-size: 12px; line-height: 1.75; text-align: left; }
.zaltt-legal a { flex: none; display: inline-flex; align-items: center; min-height: 32px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.bb-footer .zaltt-legal { padding-bottom: 0; }
.zh-enquiry-privacy a, .interest-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.privacy-page .privacy-main { max-width: 1040px; padding-block: 76px 100px; }
.privacy-page .privacy-heading { max-width: 760px; margin-bottom: 64px; }
.privacy-page .privacy-heading h1 { margin-top: 20px; font-size: clamp(56px, 7vw, 100px); }
.privacy-page .privacy-intro { margin-top: 24px; max-width: 640px; font-size: clamp(18px, 2vw, 23px); color: var(--muted); }
.privacy-page .privacy-updated { margin-top: 24px; font-size: 12px; color: var(--muted); }
.privacy-page .privacy-section { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 56px; padding-block: 34px; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.privacy-page .privacy-section h2 { font-size: 25px; line-height: 1.25; letter-spacing: -.035em; }
.privacy-page .privacy-section p, .privacy-page .privacy-section li { font-size: 15px; line-height: 1.8; }
.privacy-page .privacy-section p + p, .privacy-page .privacy-section ol + p { margin-top: 18px; }
.privacy-page .privacy-section ol { margin: 0 0 18px; padding-left: 21px; }
.privacy-page .privacy-section li + li { margin-top: 12px; }
.privacy-page .privacy-section a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.privacy-page .privacy-status { padding: 20px 22px; margin-top: 24px; background: var(--soft); border-radius: 14px; }
.privacy-page .privacy-footer { padding-bottom: 20px; }
.privacy-page .privacy-footer-top { display: flex; justify-content: space-between; align-items: center; padding-block: 20px 28px; }
.privacy-page .privacy-footer-top > a:last-child { font-size: 13px; }
@media (max-width: 700px) {
  .zaltt-legal { flex-direction: column; gap: 10px; padding-block: 20px; }
  .zaltt-legal p { font-size: 11px; }
  .privacy-page .privacy-main { padding-block: 42px 60px; }
  .privacy-page .privacy-heading { margin-bottom: 42px; }
  .privacy-page .privacy-section { grid-template-columns: 1fr; gap: 20px; padding-block: 28px; }
  .privacy-page .privacy-section h2 { font-size: 23px; }
  .privacy-page .privacy-section p, .privacy-page .privacy-section li { font-size: 14px; }
}
