@font-face{font-family:Coherenti;src:url('/assets/fonts/FbCoherentiSans-Light.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:Coherenti;src:url('/assets/fonts/FbCoherentiSans-Medium.otf') format('opentype');font-weight:600;font-display:swap}
:root{--ink:#10100f;--paper:#f3f1ec;--white:#fff;--signal:#e14b32;--blue:#3158ff;--muted:#696761;--line:#d4d1c9;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:Coherenti,Arial,sans-serif;font-size:18px;line-height:1.65;letter-spacing:0;text-align:start}
body.menu-open,body.dialog-open{overflow:hidden}
.public-site>main{padding-top:88px}
button,a{font:inherit}
a{color:inherit}
img,video{display:block;max-width:100%}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.shell{width:min(1240px,calc(100% - 80px));margin-inline:auto}
.display{margin:0;font-weight:300;line-height:1.02;letter-spacing:0}
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 18px;color:var(--signal);font-size:13px;font-weight:600}
.eyebrow::before{content:"";width:48px;height:2px;background:currentColor}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--ink);padding:10px 24px;background:transparent;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.button:hover{background:var(--ink);color:var(--white)}
.button--signal{border-color:var(--signal);background:var(--signal);color:var(--white)}
.button--signal:hover{border-color:var(--ink);background:var(--ink)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}

/* Header */
.site-header{position:fixed;z-index:40;inset:0 0 auto;color:var(--ink);transition:background .25s,color .25s,border-color .25s}
.site-header.is-solid{border-bottom:1px solid rgba(16,16,15,.1);background:rgba(255,255,255,.92);backdrop-filter:blur(14px)}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;padding-inline:clamp(24px,4vw,70px)}
.main-nav,.system-nav{display:flex;align-items:center;gap:30px;font-size:14px}
.main-nav{justify-self:start}.system-nav{justify-self:end}
.main-nav a,.system-nav a{text-decoration:none;position:relative}
.main-nav a::after,.system-nav a::after{content:"";position:absolute;inset:auto 0 -5px;width:0;height:1px;background:currentColor;transition:width .25s}
.main-nav a:hover::after,.system-nav a:hover::after,.main-nav a[aria-current="page"]::after{width:100%}
.wordmark{display:grid;place-items:center;width:70px;height:70px;text-decoration:none}
.brand-mark{width:62px;height:60px;object-fit:contain}
.menu-button,.mobile-menu{display:none}
.menu-button{border:0;background:transparent;color:inherit;font-size:26px;cursor:pointer}

/* Home hero */
.studio-hero{position:relative;min-height:100dvh;overflow:hidden;border-bottom:1px solid var(--ink);background:var(--paper)}
.hero-art{position:absolute;inset:0;pointer-events:none}
.hero-tile{position:absolute;margin:0;overflow:hidden;background:#fff;box-shadow:0 20px 60px rgba(16,16,15,.12);will-change:transform}
.hero-tile img{width:100%;height:100%;object-fit:cover}
.hero-tile--a{inset:13% auto auto 2.5%;width:20vw;max-width:310px;aspect-ratio:1;transform:rotate(-4deg)}
.hero-tile--b{inset:10% 3% auto auto;width:18vw;max-width:275px;aspect-ratio:1;transform:rotate(3deg)}
.hero-tile--c{inset:auto auto -5% 15%;width:22vw;max-width:340px;aspect-ratio:1;transform:rotate(2deg)}
.hero-tile--d{inset:auto 14% -7% auto;width:20vw;max-width:315px;aspect-ratio:1;transform:rotate(-3deg)}
.hero-tile--e{inset:22% auto auto 39%;width:12vw;max-width:180px;aspect-ratio:1;transform:rotate(5deg);opacity:.9}
.hero-center{position:relative;z-index:2;display:flex;min-height:100dvh;flex-direction:column;align-items:center;justify-content:center;width:min(1040px,calc(100% - 100px));margin-inline:auto;padding:145px 0 190px;text-align:center}
.hero-kicker{margin:0 0 22px;font-size:14px;font-weight:600;unicode-bidi:isolate}
.hero-kicker span{color:var(--signal)}
.studio-hero h1{max-width:1000px;font-size:104px}
.hero-lead{max-width:570px;margin:28px auto 32px;font-size:20px;line-height:1.65}
.hero-actions{display:flex;gap:12px;justify-content:center}
.hero-scroll{position:absolute;z-index:3;inset:auto 50% 102px auto;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;font-size:18px;text-decoration:none;transform:translateX(50%)}
.hero-categories{position:absolute;z-index:2;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,1fr);min-height:74px;border-top:1px solid var(--ink);background:var(--paper)}
.hero-categories span{display:grid;place-items:center;border-inline-start:1px solid var(--line);font-size:14px}.hero-categories span:first-child{border-inline-start:0}

.trust-strip{overflow:hidden;border-block:1px solid var(--ink);background:var(--ink);color:var(--white)}
.trust-track{display:flex;width:max-content;direction:ltr;will-change:transform;animation:marquee-rtl 28s linear infinite}
.trust-set{display:flex;flex:none;min-width:100vw;align-items:center;justify-content:space-around;gap:32px;padding:14px 16px;direction:rtl;font-size:15px;white-space:nowrap}
.trust-set span::after{content:"✦";margin-inline-start:32px;color:var(--signal)}
@keyframes marquee-rtl{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}

/* Positioning */
.positioning{padding:130px 0;background:var(--white)}
.positioning-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:110px;align-items:start}
.experience-mark{display:flex;align-items:flex-start;gap:16px;color:var(--signal)}
.experience-mark strong{font-family:var(--serif);font-size:132px;font-weight:400;line-height:.85}
.experience-mark span{max-width:110px;padding-top:10px;font-size:15px;line-height:1.35}
.positioning h2{font-size:74px}
.positioning-copy{max-width:650px;margin:30px 0 0;font-size:20px}
.problem-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:90px;border-block:1px solid var(--line)}
.problem-grid article{padding:28px 24px 34px;border-inline-start:1px solid var(--line)}
.problem-grid article:first-child{border-inline-start:0}.problem-grid b{color:var(--signal);font-family:var(--serif);font-size:13px;font-weight:400}
.problem-grid h3{margin:34px 0 12px;font-size:24px;line-height:1.2}.problem-grid p{margin:0;color:var(--muted);font-size:15px}

/* Compact work index */
.work-index{padding:120px 0 140px;background:var(--paper)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:70px}
.section-head h2{max-width:680px;font-size:68px}
.section-head p{max-width:380px;margin:0;color:var(--muted)}
.work-showcase{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);gap:70px;align-items:start}
.work-preview{position:sticky;top:120px;aspect-ratio:4/3;margin:0;background:var(--white);overflow:hidden}
.work-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity .35s ease,transform .55s ease}
.work-preview img.is-active{opacity:1;transform:scale(1)}
.work-list{border-top:1px solid var(--ink)}
.work-row{display:grid;grid-template-columns:48px 1fr auto;gap:18px;align-items:center;min-height:104px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .25s,color .25s}
.work-row:hover,.work-row.is-active{padding-inline:14px;color:var(--signal)}
.work-number{font-family:var(--serif);font-size:13px}
.work-name{font-size:36px;line-height:1.1}
.work-meta{color:var(--muted);font-size:13px;text-align:end}
.work-row:hover .work-meta,.work-row.is-active .work-meta{color:inherit}
.work-mobile-thumb{display:none}

/* Graphic gallery */
.graphic-gallery{overflow:hidden;padding:120px 0 135px;background:var(--white)}
.graphic-gallery__intro{display:grid;grid-template-columns:1fr .65fr;gap:100px;align-items:end;margin-bottom:58px}
.graphic-gallery__intro h2{font-size:68px}
.graphic-gallery__intro>p{max-width:440px;margin:0 0 5px;color:var(--muted);font-size:18px}
.graphic-gallery__stage{position:relative}
.gallery-viewport{overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none}
.gallery-viewport:active{cursor:grabbing}
.gallery-track{display:flex;gap:14px;width:max-content;will-change:transform}
.gallery-set{display:flex;gap:14px}
.gallery-card{flex:0 0 clamp(230px,22vw,330px);width:clamp(230px,22vw,330px);margin:0;background:var(--paper);overflow:hidden}
.gallery-card img{width:100%;aspect-ratio:1;object-fit:cover;pointer-events:none}
.gallery-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--ink);border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-size:20px;cursor:pointer;transform:translateY(-50%);transition:.2s}
.gallery-arrow:hover{background:var(--ink);color:var(--white)}
.gallery-arrow--left{inset-inline-start:24px}.gallery-arrow--right{inset-inline-end:24px}

/* Services and process */
.services-v3{padding:125px 0;background:var(--ink);color:var(--white)}
.services-v3 .eyebrow{color:#ff765f}
.services-v3 h2{max-width:700px;margin-bottom:70px;font-size:76px}
.service-row{display:grid;grid-template-columns:60px .75fr 1fr auto;gap:28px;align-items:center;min-height:120px;border-top:1px solid #454543;text-decoration:none}
.service-row:last-child{border-bottom:1px solid #454543}
.service-row h3{margin:0;font-size:40px;font-weight:300}
.service-row p{max-width:470px;margin:0;color:#c5c3bd;font-size:17px}
.service-row span:first-child{font-family:var(--serif);color:#8c8983;font-size:13px}
.service-arrow{font-size:24px;color:#ff765f}
.services-more{display:inline-block;margin-top:34px;color:#ff765f;font-size:15px;text-decoration:none}
.process{padding:125px 0;background:var(--white)}
.process-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}
.process h2{font-size:66px}
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.process-step{border-top:2px solid var(--ink);padding-top:22px}
.process-step b{display:block;margin-bottom:35px;color:var(--signal);font-family:var(--serif);font-size:15px;font-weight:400}
.process-step h3{margin:0 0 12px;font-size:24px;font-weight:600}
.process-step p{margin:0;color:var(--muted);font-size:16px}
.process-steps--four{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}

/* Content-rich inner pages */
.studio-inner{background:var(--white)}
.inner-hero{padding:100px 0 92px;background:var(--paper)}
.inner-hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:end}
.inner-hero h1{max-width:850px;font-size:84px}.inner-hero__grid>p{max-width:500px;margin:0;color:var(--muted);font-size:20px}
.service-detail{padding:110px 0;border-top:1px solid var(--line);scroll-margin-top:88px}
.service-detail--paper{background:var(--paper)}.service-detail--blue{background:var(--blue);color:var(--white)}
.service-detail__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:120px;align-items:start}
.service-detail__title>span{display:block;margin-bottom:24px;color:var(--signal);font-family:var(--serif);font-size:14px}
.service-detail--blue .service-detail__title>span{color:#fff}.service-detail h2{font-size:68px}.service-detail__title p{max-width:620px;margin:26px 0 0;font-size:19px}
.service-detail h3{margin:0 0 20px;font-size:16px}.clean-list{margin:0;padding:0;list-style:none;border-top:1px solid currentColor}
.clean-list li{padding:13px 0;border-bottom:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.service-result{margin:28px 0 0;padding-inline-start:18px;border-inline-start:3px solid var(--signal);font-weight:600}
.service-detail--blue .service-result{border-color:#fff}.process--inner{background:var(--paper)}
.faq-section{padding:115px 0;background:var(--white)}.faq-section--paper{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:110px}.faq-grid h2{font-size:64px}
.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line);padding:0}
.faq-list summary{position:relative;padding:23px 42px 23px 0;font-size:22px;font-weight:600;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::before{content:"+";position:absolute;inset:22px 0 auto auto;font-family:Arial,sans-serif;font-weight:400}
.faq-list details[open] summary::before{content:"−"}.faq-list details p{max-width:720px;margin:0;padding:0 42px 24px 0;color:var(--muted)}
.about-narrative{padding:120px 0}.about-narrative__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px}.about-narrative h2{font-size:62px}
.long-copy{font-size:20px}.long-copy p{margin:0 0 24px}.experience-path{padding:115px 0;background:var(--paper)}
.path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--ink)}
.path-grid article{padding:30px 24px 38px;border-inline-start:1px solid var(--line)}.path-grid article:first-child{border-inline-start:0}
.path-grid span{color:var(--signal);font-family:var(--serif);font-size:13px}.path-grid h3{margin:55px 0 12px;font-size:25px}.path-grid p{margin:0;color:var(--muted);font-size:15px}
.why-me{padding:120px 0;background:var(--ink);color:var(--white)}.why-me__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.why-me h2{font-size:76px}
.why-list{border-top:1px solid #454543}.why-list article{display:grid;grid-template-columns:50px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid #454543}
.why-list b{color:#ff765f;font-family:var(--serif);font-size:13px;font-weight:400}.why-list h3{margin:0 0 8px;font-size:24px}.why-list p{margin:0;color:#c5c3bd}
.contact-studio{padding:110px 0}.contact-studio__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:start}
.contact-panel{position:sticky;top:120px}.contact-panel h2{font-size:58px}.contact-panel>p{color:var(--muted)}
.direct-links{margin-top:38px;border-top:1px solid var(--ink)}.direct-links a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
.direct-links span{color:var(--muted);font-size:14px}.direct-links strong{font-size:16px;unicode-bidi:isolate}.contact-location{margin-top:28px;font-size:14px}
.project-form{padding:46px;background:var(--paper)}.form-heading span{color:var(--signal);font-size:13px;font-weight:600}.form-heading h2{margin:8px 0 34px;font-size:34px;line-height:1.2}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.form-grid label{display:grid;gap:8px}.form-grid label>span{font-size:14px;font-weight:600}.form-wide{grid-column:1/-1}
.project-form input,.project-form select,.project-form textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:13px 2px;background:transparent;color:var(--ink);font:inherit;outline:none}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--blue);box-shadow:0 1px 0 var(--blue)}.project-form textarea{resize:vertical}
.consent{display:flex;align-items:flex-start;gap:10px;margin:26px 0;font-size:13px}.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--signal)}
.form-note{margin:12px 0 0;color:var(--muted);font-size:12px}.business-strip{border-top:1px solid var(--line);padding:22px 0;background:var(--white)}
.business-strip .shell{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}

.systems-v3{position:relative;overflow:hidden;padding:120px 0;background:var(--blue);color:var(--white)}
.systems-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}
.systems-v3 h2{font-size:80px}
.systems-copy{max-width:520px;margin:28px 0 34px;font-size:19px}
.system-frame{margin:0;border:8px solid var(--white);background:var(--white);box-shadow:20px 22px 0 var(--ink);transform:rotate(1.2deg)}
.system-frame img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}

.conversion{padding:130px 30px;background:var(--signal);color:var(--white);text-align:center}
.conversion-inner{max-width:960px;margin:auto}
.conversion h2{font-size:94px}
.conversion p{max-width:580px;margin:28px auto 36px;font-size:20px}
.conversion .button{border-color:var(--white);color:var(--white)}
.conversion .button:hover{border-color:var(--ink);background:var(--ink)}

/* Footer */
.footer{background:var(--ink);color:var(--white);padding:72px 0 36px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}
.footer-logo{width:170px;height:auto;filter:brightness(0) invert(1)}
.footer h3{margin:0 0 16px;color:#918e88;font-size:13px;font-weight:400}
.footer a{display:block;margin:5px 0;text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:58px;border-top:1px solid #3c3c39;padding-top:24px;color:#918e88;font-size:13px}

/* Portfolio index */
.portfolio-page{padding-top:88px}
.portfolio-hero{padding:95px 0 76px;background:var(--paper)}
.portfolio-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:end}
.portfolio-hero h1{font-size:88px}
.portfolio-hero p{max-width:490px;margin:0;color:var(--muted);font-size:19px}
.portfolio-toolbar{position:sticky;z-index:20;top:88px;border-block:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.portfolio-filters{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.portfolio-filter{min-height:58px;flex:0 0 auto;border:0;border-inline-end:1px solid var(--line);padding:8px 22px;background:transparent;color:var(--ink);font-size:14px;cursor:pointer}
.portfolio-filter[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.portfolio-index{padding:70px 0 120px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 24px}
.portfolio-card{min-width:0;border:0;padding:0;background:transparent;color:inherit;text-align:start;cursor:pointer}
.portfolio-card__media{position:relative;display:grid;place-items:center;aspect-ratio:1;overflow:hidden;background:var(--paper)}
.portfolio-card__media img{width:100%;height:100%;object-fit:contain;transition:transform .55s ease}
.portfolio-card:hover .portfolio-card__media img{transform:scale(1.035)}
.portfolio-card__open{position:absolute;inset:auto auto 16px 16px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--white);font-size:22px;transform:translateY(12px);opacity:0;transition:.25s}
.portfolio-card:hover .portfolio-card__open{opacity:1;transform:none}
.portfolio-card__text{display:flex;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid var(--ink)}
.portfolio-card h2{margin:0;font-size:25px;font-weight:300;line-height:1.2}
.portfolio-card p{margin:2px 0 0;color:var(--muted);font-size:13px;text-align:end}
.portfolio-card[hidden]{display:none}

.project-dialog{width:min(1120px,calc(100% - 40px));max-height:calc(100dvh - 40px);border:0;padding:0;background:var(--white);color:var(--ink)}
.project-dialog::backdrop{background:rgba(16,16,15,.78);backdrop-filter:blur(7px)}
.dialog-close{position:sticky;z-index:4;top:18px;float:left;display:grid;place-items:center;width:48px;height:48px;margin:18px 18px -66px;border:1px solid var(--ink);border-radius:50%;background:var(--white);font-family:Arial,sans-serif;font-size:26px;cursor:pointer}
.dialog-content{padding:70px 60px 60px}
.dialog-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:48px}
.dialog-head h2{margin:0;font-size:68px;font-weight:300;line-height:1}
.dialog-head p{margin:0;color:var(--muted)}
.dialog-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.dialog-tags span{border:1px solid var(--line);padding:5px 10px;font-size:12px}
.dialog-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dialog-media>*{width:100%;background:var(--paper)}
.dialog-media img{width:100%;height:auto;object-fit:contain}
.dialog-media video{aspect-ratio:1;object-fit:cover}
.dialog-media .wide{grid-column:1/-1}
.dialog-actions{display:flex;gap:12px;margin-top:32px}

@media(max-width:1000px){
  .main-nav,.system-nav{gap:18px}
  .hero-tile--e{display:none}
  .studio-hero h1{font-size:88px}
  .positioning h2,.section-head h2,.graphic-gallery__intro h2,.process h2{font-size:60px}
  .services-v3 h2,.systems-v3 h2{font-size:68px}
  .conversion h2{font-size:78px}
  .portfolio-hero h1{font-size:76px}
  .positioning-grid,.process-grid,.systems-grid{grid-template-columns:1fr;gap:50px}
  .work-showcase{grid-template-columns:.85fr 1.15fr;gap:36px}
  .service-row{grid-template-columns:45px .8fr 1.2fr auto}
  .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .problem-grid,.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .problem-grid article:nth-child(3),.path-grid article:nth-child(3){border-inline-start:0}
  .inner-hero h1{font-size:68px}.service-detail__grid{gap:70px}.service-detail h2{font-size:58px}
  .faq-grid,.about-narrative__grid,.why-me__grid,.contact-studio__grid{gap:60px}
}
@media(max-width:780px){
  .public-site>main{padding-top:76px}
  .shell{width:min(100% - 40px,1240px)}
  .header-inner{grid-template-columns:1fr auto 1fr;min-height:76px;padding-inline:20px}
  .main-nav,.system-nav{display:none}
  .wordmark{grid-column:2;grid-row:1;width:62px;height:62px}.brand-mark{width:54px;height:52px}
  .menu-button{display:block;grid-column:1;grid-row:1;justify-self:start;font-family:Arial,sans-serif}
  .mobile-menu{position:fixed;inset:76px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--ink);color:var(--white);font-size:25px;opacity:0;visibility:hidden;transition:.25s}
  .mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu a{text-decoration:none}
  .studio-hero{min-height:820px}
  .hero-center{width:min(100% - 44px,540px);min-height:820px;padding:115px 0 190px}
  .studio-hero h1{font-size:54px}
  .hero-tile--a{inset:92px auto auto -3%;width:27vw}.hero-tile--b{inset:90px -3% auto auto;width:27vw}
  .hero-tile--c{inset:auto auto -2% -6%;width:42vw}.hero-tile--d{inset:auto -5% -2% auto;width:40vw}
  .hero-lead{font-size:18px}
  .hero-categories{grid-template-columns:repeat(2,1fr);min-height:104px}.hero-categories span{min-height:52px;border-top:1px solid var(--line)}.hero-categories span:nth-child(-n+2){border-top:0}.hero-categories span:nth-child(odd){border-inline-start:0}
  .hero-scroll{bottom:125px}
  .positioning{padding:90px 0}.positioning-grid{grid-template-columns:1fr;gap:42px}
  .section-head{display:block;margin-bottom:48px}.section-head p{margin-top:22px}
  .work-index{padding:90px 0}.work-showcase{display:block}.work-preview{display:none}
  .work-row{grid-template-columns:38px 1fr auto;min-height:auto;padding:16px 0}
  .work-row:hover,.work-row.is-active{padding-inline:0;color:var(--ink)}
  .work-mobile-thumb{display:block;grid-column:2/-1;width:100%;aspect-ratio:16/10;margin-top:12px;object-fit:cover;background:var(--white)}
  .work-meta{font-size:12px}.work-name{font-size:28px}
  .graphic-gallery{padding:90px 0}.graphic-gallery__intro{grid-template-columns:1fr;gap:24px;margin-bottom:42px}
  .gallery-card{flex-basis:72vw;width:72vw}.gallery-arrow{width:44px;height:44px}.gallery-arrow--left{inset-inline-start:10px}.gallery-arrow--right{inset-inline-end:10px}
  .services-v3{padding:90px 0}.services-v3 h2{margin-bottom:45px}
  .service-row{grid-template-columns:38px 1fr auto;gap:14px;padding:22px 0}.service-row p{grid-column:2/-1}.service-row h3{font-size:30px}
  .process{padding:90px 0}.process-steps{grid-template-columns:1fr;gap:42px}
  .systems-v3{padding:90px 0}.system-frame{box-shadow:10px 12px 0 var(--ink)}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
  .portfolio-page{padding-top:76px}.portfolio-hero{padding:68px 0 54px}.portfolio-hero__grid{grid-template-columns:1fr;gap:32px}
  .portfolio-hero h1{font-size:50px}.dialog-head h2{font-size:56px}
  .portfolio-toolbar{top:76px}.portfolio-grid{gap:42px 16px}
  .dialog-content{padding:70px 24px 32px}.dialog-head{grid-template-columns:1fr;gap:24px}.dialog-media{grid-template-columns:1fr}.dialog-media .wide{grid-column:auto}
  .problem-grid{margin-top:60px}.problem-grid h3{margin-top:24px}
  .inner-hero{padding:72px 0 64px}.inner-hero__grid,.service-detail__grid,.faq-grid,.about-narrative__grid,.why-me__grid,.contact-studio__grid{grid-template-columns:1fr;gap:42px}
  .inner-hero h1{font-size:54px}.inner-hero__grid>p{font-size:18px}.service-detail{padding:82px 0;scroll-margin-top:76px}.service-detail h2{font-size:48px}
  .faq-section,.about-narrative,.experience-path,.why-me,.contact-studio{padding:86px 0}.faq-grid h2,.about-narrative h2,.why-me h2,.contact-panel h2{font-size:48px}
  .path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-panel{position:static}.project-form{padding:32px}
}
@media(max-width:520px){
  body{font-size:16px}
  .hero-actions{width:100%;flex-direction:column}.hero-actions .button{width:100%}
  .positioning h2,.section-head h2,.graphic-gallery__intro h2,.process h2{font-size:42px}
  .experience-mark strong{font-size:96px}
  .positioning-copy{font-size:18px}
  .work-row{grid-template-columns:30px 1fr}.work-meta{grid-column:2;text-align:start}.work-mobile-thumb{grid-column:1/-1}
  .portfolio-grid{grid-template-columns:1fr;gap:44px}.portfolio-card__text{padding-top:12px}.portfolio-card h2{font-size:28px}
  .portfolio-card__open{opacity:1;transform:none}
  .conversion{padding:90px 20px}.conversion h2{font-size:52px}
  .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}
  .project-dialog{width:100%;max-height:100dvh}.dialog-close{top:10px;margin:10px 10px -58px}.dialog-actions{flex-direction:column}.dialog-actions .button{width:100%}
  .studio-hero h1{font-size:46px}.problem-grid,.path-grid{grid-template-columns:1fr}.problem-grid article,.path-grid article{border-inline-start:0}.problem-grid article+article,.path-grid article+article{border-top:1px solid var(--line)}
  .inner-hero h1{font-size:44px}.service-detail h2,.faq-grid h2,.about-narrative h2,.why-me h2,.contact-panel h2{font-size:40px}
  .service-detail__title p,.long-copy{font-size:18px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.project-form{padding:26px 20px}.form-heading h2{font-size:28px}
  .faq-list summary{font-size:19px}.direct-links a{display:block}.direct-links strong{display:block;margin-top:3px;overflow-wrap:anywhere}.business-strip .shell{display:grid}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.trust-track{animation:none}.hero-tile{will-change:auto}.gallery-track{will-change:auto}
}
