/* DevHouz: generous white, purposeful red, clear hierarchy. */
:root{--red:#e5252a;--red-dark:#bb151c;--ink:#202020;--muted:#656565;--line:#dedede;--paper:#fff;--soft:#f5f5f5;--shell:1440px;--gutter:5%;--ease:cubic-bezier(.2,.65,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:var(--red);color:#fff}
button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}a,button,input,textarea,select{outline-offset:5px}:focus-visible{outline:2px solid var(--red)}.button-red:focus-visible,.cta-band :focus-visible{outline-color:var(--ink)}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;text-wrap:balance}h1{font-size:clamp(3.5rem,7.6vw,7.2rem);line-height:1.02;letter-spacing:-.062em}h2{font-size:clamp(2.5rem,4.1vw,4rem);line-height:1.1;letter-spacing:-.05em}h3{font-size:1.55rem;line-height:1.25;letter-spacing:-.032em}h1 span,.red-text{color:var(--red)}p{overflow-wrap:break-word}ul,ol{margin:0;padding:0;list-style:none}fieldset{border:0;margin:0;padding:0;min-width:0}legend{padding:0}hr{border:0;border-top:1px solid var(--line)}section[id]{scroll-margin-top:110px}
.section-shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}.section-space{padding-top:112px;padding-bottom:112px}.eyebrow{font-size:.75rem;line-height:1.55;letter-spacing:.085em;font-weight:600;text-transform:uppercase}.section-space>.eyebrow{margin-bottom:35px}.large-body{font-size:clamp(1.4rem,2.1vw,2rem);line-height:1.5;letter-spacing:-.025em}.section-description{margin-top:26px;color:var(--muted);max-width:490px;font-size:1rem;line-height:1.75}
.text-link{display:inline-flex;align-items:center;gap:24px;line-height:1.5;font-size:.875rem;font-weight:600;padding-block:8px;position:relative}.text-link:after{content:"";position:absolute;inset:auto 0 2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.text-link:hover:after{transform:scaleX(1)}.text-link>span,.button>span{font-size:1.25rem;line-height:1;transition:transform .25s var(--ease)}.text-link:hover>span,.button:hover>span{transform:translate(2px,-2px)}
.button{min-height:54px;padding:16px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid transparent;font-size:.875rem;font-weight:600;border-radius:3px;line-height:1.4;transition:background .25s,color .25s,border-color .25s}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--red)}.button-red{background:var(--red);color:#fff}.button-red:hover{background:var(--red-dark)}.button-white{background:#fff;color:var(--ink)}.button-white:hover{background:var(--ink);color:#fff}.button-outline{background:transparent;border-color:#c8c8c8;color:var(--ink)}.button-outline:hover{border-color:var(--ink);background:var(--ink);color:#fff}.text-button{background:none;border:0;padding:12px 0;color:var(--ink);font-size:.875rem;font-weight:600;text-align:left}.text-button:hover{color:var(--red)}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:#fff;padding:12px 20px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}
/* Header */
.site-header{position:sticky;top:0;z-index:30;margin:auto;padding:24px max(var(--gutter),calc((100vw - var(--shell))/2 + var(--shell)*.05));display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #e9e9e9;background:#fff}.brand{display:inline-flex;align-items:center;font-size:2.125rem;font-weight:800;letter-spacing:-.085em;line-height:1;white-space:nowrap}.brand-dot{color:var(--red);letter-spacing:0}.brand img{max-width:170px;max-height:44px;object-fit:contain}.desktop-nav{display:flex;gap:32px;align-items:center;font-size:.875rem}.desktop-nav a{position:relative;padding-block:12px;white-space:nowrap}.desktop-nav a:after{content:"";position:absolute;bottom:4px;left:0;width:0;height:2px;background:var(--red);transition:width .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{width:100%}.desktop-nav a[aria-current=page]{color:var(--red)}
.menu-toggle{display:none;align-items:center;gap:16px;background:none;border:1px solid var(--line);border-radius:3px;padding:12px 16px;font-size:.875rem}.menu-lines{width:18px;height:12px;position:relative;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(90deg)}.mobile-nav{position:fixed;inset:89px 0 0;background:#fff;z-index:29;overflow-y:auto;padding:28px 6% 64px}.mobile-nav a{display:flex;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line);font-size:clamp(1.4rem,5vw,2.5rem);letter-spacing:-.035em}.mobile-nav a[aria-current=page],.mobile-nav a:last-child{color:var(--red)}
/* Home */
.home-hero{padding-top:42px}.home-hero>.eyebrow{font-weight:400;letter-spacing:.09em}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:590px;gap:0;padding-block:8px 20px}.hero-copy{position:relative;z-index:1;padding-top:15px}.hero-copy h1{font-size:clamp(4rem,7.9vw,7.5rem)}.hero-description{font-size:1.125rem;max-width:360px;line-height:1.7;margin:30px 0 32px;color:var(--muted)}.hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.hero-art{aspect-ratio:1;position:relative;min-width:0}.hero-art img{width:100%;height:100%;object-fit:contain}.art-caption{position:absolute;bottom:0;right:0;font-size:.75rem;letter-spacing:.055em;color:var(--muted)}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0 28px;font-size:.75rem;letter-spacing:.055em;gap:20px}.hero-foot a{letter-spacing:0;font-size:.875rem}.hero-foot a span{margin-left:28px}
.intro-band{background:var(--soft)}.intro-inner{padding-top:48px;padding-bottom:48px;display:grid;grid-template-columns:1.1fr 1.7fr .8fr;gap:50px;align-items:center}.intro-inner>p:first-child{font-size:1.55rem;line-height:1.4;letter-spacing:-.035em}.intro-inner>p:nth-child(2){color:var(--muted)}.intro-inner>.text-link{justify-self:end;white-space:nowrap}
.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:56px;align-items:start}.section-heading>.eyebrow{padding-top:7px}.service-rows{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1fr 150px 54px;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding:36px 0;transition:padding .3s,color .3s}.service-row:hover{color:var(--red);padding-left:12px}.service-number{font-size:.875rem;align-self:start;padding-top:6px;color:var(--muted)}.service-row h3{font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:10px}.service-row p{color:var(--muted);max-width:570px;font-size:.9375rem;line-height:1.7}.service-row-tags{font-size:.8125rem;line-height:1.9;color:var(--muted)}
.circle-arrow{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid #cdcdcd;border-radius:50%;font-size:1.5rem;transition:background .25s,color .25s,border-color .25s;flex-shrink:0}.service-row:hover .circle-arrow,.project-card:hover .circle-arrow{background:var(--red);color:#fff;border-color:var(--red)}.section-end{display:flex;justify-content:space-between;align-items:center;padding-top:25px;gap:20px}.section-end>span{font-size:.875rem;color:var(--muted)}
.work-section{background:var(--soft)}.compact-heading{grid-template-columns:1fr 1.5fr .5fr;align-items:end}.compact-heading>.eyebrow{align-self:start}.compact-heading>.text-link{justify-self:end;white-space:nowrap}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.project-card{display:block;min-width:0}.project-art{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1.15;padding:30px;overflow:hidden;border-radius:3px}.project-biz{background:#e5252a;color:#fff}.project-form{background:#efeeee;color:#222}.project-view{background:#292929;color:#fff}.project-art-top{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;letter-spacing:.035em}.project-art-statement{font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.08;letter-spacing:-.045em;transition:transform .4s var(--ease)}.project-card:hover .project-art-statement{transform:translateX(7px)}.project-art-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.project-typeword{font-size:clamp(2.5rem,4.5vw,4.8rem);font-weight:700;letter-spacing:-.06em;line-height:1}.project-index{font-size:.75rem;line-height:1.4;letter-spacing:.07em;text-align:right}.project-caption{padding-top:24px;display:flex;align-items:start;justify-content:space-between;gap:25px}.project-caption h3{font-size:1.375rem;font-weight:600;margin-bottom:7px}.project-caption p{font-size:.9375rem;color:var(--muted);max-width:400px}.project-caption .circle-arrow{width:42px;height:42px;font-size:1.25rem}
.approach-preview{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach-preview .eyebrow{margin-bottom:28px}.approach-preview .section-description{max-width:340px;margin-bottom:24px}.mini-steps>div{display:flex;gap:40px;padding:35px 0;border-top:1px solid var(--line)}.mini-steps>div:last-child{border-bottom:1px solid var(--line)}.mini-steps>div>span{font-size:.875rem;color:var(--red);padding-top:5px}.mini-steps h3{margin-bottom:13px;font-size:1.5rem}.mini-steps p{color:var(--muted);font-size:.9375rem;max-width:380px}
/* Inner pages */
.page-hero{padding-top:75px;padding-bottom:74px}.page-hero>.eyebrow{margin-bottom:35px}.page-hero h1{max-width:1120px}.page-hero-bottom{margin-top:50px;display:flex;justify-content:space-between;align-items:end;gap:60px}.page-hero-bottom>p{max-width:585px;font-size:1.125rem;line-height:1.7;color:var(--muted)}.page-hero-bottom>.text-link{white-space:nowrap}.quiet-note{font-size:.75rem;color:var(--muted);line-height:1.7;letter-spacing:.015em}.subtle-section{background:var(--soft)}.split-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:100px}.split-intro>div>.eyebrow{margin-bottom:28px}.split-intro>div>.text-link{margin-top:25px}.principle-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 40px}.principle-grid h3{font-size:1.25rem;margin-bottom:14px}.principle-grid p{font-size:.9375rem;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips>span{font-size:.8125rem;padding:7px 13px;border:1px solid #d5d5d5;border-radius:3px;line-height:1.4}.clean-list{margin:24px 0 30px}.clean-list li{border-bottom:1px solid var(--line);padding:11px 0;font-size:.9375rem}.clean-list li:before{content:"+";color:var(--red);margin-right:14px}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--muted);margin-bottom:35px}.back-link:hover{color:var(--red)}
/* Expertise */
.services-overview{padding-bottom:90px}.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:70px 0;border-top:1px solid var(--line)}.large-number{font-size:5rem;line-height:1;color:var(--red);font-weight:400;letter-spacing:-.055em}.service-feature h2{font-size:clamp(2rem,3.2vw,3.2rem);margin-top:28px}.service-feature>div>p{font-size:1.125rem;color:var(--muted);margin-bottom:24px}
.detail-hero{padding-top:45px;padding-bottom:66px}.detail-hero-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:end;margin-bottom:40px}.detail-hero-grid .eyebrow{margin-bottom:32px}.detail-hero h1{font-size:clamp(3rem,5.8vw,5.8rem)}.detail-intro{padding-bottom:5px}.detail-intro>p{font-size:1.125rem;color:var(--muted);margin-bottom:30px}.detail-hero>.chips{margin-top:45px}.deliverable-list article{display:grid;grid-template-columns:28px 1fr;gap:22px;padding:30px 0;border-bottom:1px solid #d7d7d7}.deliverable-list article:first-child{padding-top:0}.deliverable-list article>span{color:var(--red);font-size:.8125rem;padding-top:4px}.deliverable-list h3{font-size:1.35rem;margin-bottom:14px}.deliverable-list p{color:var(--muted);font-size:1rem}
.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faq-section .eyebrow{margin-bottom:28px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:30px;cursor:pointer;padding:25px 0;list-style:none;font-size:1rem;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:1.5rem;color:var(--red);transition:transform .2s;font-weight:400}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>div{padding:0 40px 25px 0;color:var(--muted);font-size:.9375rem}.related-section{padding-bottom:100px}.related-section>.eyebrow{margin-bottom:22px}.related-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.related-links a{display:flex;justify-content:space-between;gap:24px;padding:28px 24px;border-right:1px solid var(--line);font-size:1rem}.related-links a:first-child{padding-left:0}.related-links a:last-child{border:0}.related-links a:hover{color:var(--red)}
/* Projects */
.work-directory{padding-top:14px}.work-feature{margin-bottom:65px}.project-card-large .project-art{aspect-ratio:2.4;padding:40px}.project-card-large .project-art-statement{font-size:clamp(2.5rem,5.7vw,5.5rem)}.project-card-large .project-typeword{font-size:clamp(3rem,5vw,5rem)}.project-card-large .project-caption p{max-width:670px}.project-detail-hero{padding-top:45px}.project-detail-hero>.eyebrow{margin-bottom:20px}.project-detail-hero h1{font-size:clamp(4.5rem,11vw,10rem);margin-bottom:40px}.project-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-bottom:65px}.project-intro-grid>p{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.5;letter-spacing:-.02em}.project-intro-grid dl{margin:0;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:20px}.project-intro-grid dt{font-size:.75rem;letter-spacing:.055em;color:var(--muted);margin-bottom:9px}.project-intro-grid dd{margin:0;font-size:.875rem}.project-banner{padding:65px 50px;min-height:460px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;border-radius:3px}.project-banner>span{font-size:clamp(4rem,8vw,8rem);font-weight:600;line-height:1;letter-spacing:-.05em}.project-banner>p{font-size:clamp(1.5rem,3.5vw,3rem);line-height:1.15;letter-spacing:-.04em}.project-banner>small{font-size:.75rem;letter-spacing:.1em}
.project-story{display:grid;grid-template-columns:1fr 1fr;gap:100px}.project-story .eyebrow{margin-bottom:30px}.project-story h3{font-size:1.35rem;margin-bottom:18px}.project-story p:not(.eyebrow){color:var(--muted)}.project-story p+h3{margin-top:40px}.three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.three-up h3{margin-bottom:18px;font-size:1.55rem}.three-up p{color:var(--muted)}.item-number{display:inline-block;color:var(--red);font-size:.875rem;margin-bottom:30px}.project-disclaimer{font-size:.8125rem;color:var(--muted);max-width:780px;border-top:1px solid var(--line);padding-top:24px;margin-top:55px}.next-project{padding-block:65px;display:flex;justify-content:space-between;gap:30px;align-items:end}.next-project .eyebrow{margin-bottom:18px}.next-project>div>a{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1;letter-spacing:-.045em}.next-project>div>a:hover{color:var(--red)}
/* Studio and approach */
.about-hero h1{font-size:clamp(3.5rem,8vw,7.5rem)}.about-statement{padding-top:10px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-art{min-width:0}.about-art img{width:100%;aspect-ratio:1;object-fit:contain}.about-statement .eyebrow{margin-bottom:28px}.about-statement h2{margin-bottom:30px}.about-statement p:not(.eyebrow){margin-top:20px;color:var(--muted)}.ecosystem{display:grid;grid-template-columns:1.6fr 1fr;gap:110px;align-items:center}.ecosystem .eyebrow{margin-bottom:28px}.ecosystem h2{margin-bottom:30px}.ecosystem .section-description{margin-bottom:22px}.ecosystem-note{padding:55px;border:1px solid var(--line);border-radius:3px}.ecosystem-note .brand{font-size:3rem}.ecosystem-note p{font-size:.75rem;letter-spacing:.07em;margin-top:20px;color:var(--muted)}.ecosystem-note hr{margin:35px 0}.ecosystem-name{font-size:2.2rem;font-weight:600;letter-spacing:-.025em}
.process-list{padding-bottom:80px}.process-step{display:grid;grid-template-columns:.35fr 1fr 1.25fr;gap:55px;padding:68px 0;border-top:1px solid var(--line)}.process-index{font-size:4.5rem;line-height:1;letter-spacing:-.05em;color:var(--red)}.process-name .eyebrow{margin-bottom:24px}.process-name h2{font-size:2.3rem}.process-content>p:first-child{color:var(--muted);margin-bottom:25px}.process-outcome{border-top:1px solid var(--line);padding-top:22px;margin-top:30px;font-size:.9375rem}.process-outcome>span{display:block;font-size:.75rem;letter-spacing:.055em;color:var(--muted);margin-bottom:9px}
/* Project brief */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:85px;padding-bottom:120px;align-items:start}.contact-intro>.eyebrow{margin-bottom:35px}.contact-intro h1{font-size:clamp(3rem,5.1vw,5rem)}.contact-intro .hero-description{max-width:390px}.contact-note{border-top:1px solid var(--line);padding-top:25px;margin-top:45px;max-width:370px}.contact-note h3{font-size:1.1rem;margin-bottom:12px}.contact-note p{font-size:.9375rem;color:var(--muted)}.contact-brand{font-size:.75rem;letter-spacing:.06em;line-height:1.85;color:var(--muted);margin-top:38px}.brief-panel{border:1px solid var(--line);border-radius:4px;padding:38px;min-width:0}.form-progress{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:32px}.form-progress>span{font-size:.8125rem;color:var(--muted);display:flex;gap:8px}.form-progress b{font-weight:400}.form-progress .active{color:var(--red)}.form-progress .active b{font-weight:600}fieldset legend{font-size:1.75rem;line-height:1.2;letter-spacing:-.035em;margin-bottom:12px;font-weight:500}.form-intro{font-size:.9375rem;line-height:1.6;color:var(--muted);margin-bottom:28px}
.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.field label{font-size:.875rem;line-height:1.5;font-weight:600}.field label>span:not(.optional){color:var(--red)}.optional{color:var(--muted);font-weight:400;font-size:.8125rem}input,select,textarea{border:1px solid #ccc;border-radius:3px;padding:13px 14px;width:100%;min-height:50px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.5;transition:border-color .2s}input:hover,select:hover,textarea:hover{border-color:#888}input:focus,select:focus,textarea:focus{border-color:var(--red);outline:1px solid var(--red);outline-offset:0}input::placeholder,textarea::placeholder{color:#777;opacity:1}textarea{resize:vertical;min-height:140px}select{padding-right:30px}.field-help{font-size:.8125rem;line-height:1.55;color:var(--muted)}.form-actions{margin-top:30px;padding-top:25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.form-actions .button{gap:20px}.form-helper{font-size:.75rem;color:var(--muted)}.privacy-note{font-size:.8125rem;line-height:1.65;color:var(--muted);margin-top:25px}.privacy-note a{text-decoration:underline;text-underline-offset:3px}.form-message{font-size:.875rem;color:var(--red-dark);margin-top:20px}.form-message:empty{display:none}
.result-mark{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:1px solid var(--red);color:var(--red);border-radius:50%;font-size:1.5rem;margin-bottom:28px}#brief-result>.eyebrow{margin-bottom:24px}#brief-result h2{font-size:2.8rem;margin-bottom:25px}#brief-result>p:not(.eyebrow){font-size:.9375rem;color:var(--muted)}.brief-preview{margin:25px 0;padding:22px;background:var(--soft);white-space:pre-wrap;font-size:.875rem;line-height:1.65;overflow-wrap:anywhere;max-height:350px;overflow:auto}.result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}#edit-brief{margin-top:18px}#result-message{margin-top:12px;font-size:.875rem}.copy-fallback{display:block;width:100%;min-height:240px;margin-top:20px;font-size:.875rem}
/* Footer and utility */
.cta-band{background:var(--red);color:#fff}.cta-inner{display:grid;grid-template-columns:1.45fr 1fr;gap:100px;padding-top:85px;padding-bottom:85px;align-items:end}.cta-inner .eyebrow{margin-bottom:26px}.cta-inner h2{font-size:clamp(2.8rem,5.3vw,5rem);letter-spacing:-.05em;line-height:1.07}.cta-inner>div>p:not(.eyebrow){max-width:335px;line-height:1.7;margin-bottom:30px}.site-footer{padding-top:65px}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1.1fr 1fr;gap:40px}.footer-top>p{font-size:1.65rem;line-height:1.4;letter-spacing:-.035em}.footer-top .eyebrow{margin-bottom:18px;color:var(--muted)}.footer-top>div>a{display:block;width:fit-content;padding-block:4px;font-size:.875rem}.footer-top a:hover{color:var(--red)}.footer-location p:last-child{font-size:.875rem;margin-top:22px;color:var(--muted)}.footer-wordmark{display:block;font-size:clamp(5rem,21vw,19rem);font-weight:700;line-height:1.02;letter-spacing:-.08em;color:var(--red);padding-top:45px;padding-bottom:20px;white-space:nowrap}.footer-wordmark span{letter-spacing:-.1em}.footer-bottom{padding:24px 0 28px;border-top:1px solid var(--line);display:flex;gap:35px;align-items:center;font-size:.75rem;color:var(--muted)}.footer-bottom>span{margin-right:auto}.footer-bottom a:hover{color:var(--red)}.legal-page{max-width:1000px;padding-top:55px;padding-bottom:110px}.legal-page>.eyebrow{margin-bottom:25px}.legal-page h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:40px}.legal-page h2{font-size:1.75rem;margin-top:42px;margin-bottom:18px}.legal-page p:not(.eyebrow){color:var(--muted)}.error-page{padding-top:100px;padding-bottom:120px}.error-page .eyebrow{margin-bottom:30px}.error-page>p:not(.eyebrow){margin:30px 0;color:var(--muted);font-size:1.125rem}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .65s var(--ease) both}.hero-art{animation:arrive .9s .1s var(--ease) both}.page-hero>h1,.detail-hero h1{animation:arrive .65s var(--ease) both}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
/* Tablet */
@media(max-width:1100px){
.site-header{gap:22px}.desktop-nav{gap:22px}.site-header>.button{gap:20px;padding-inline:18px}.hero-grid{min-height:510px}.hero-copy h1{font-size:7.6vw}.hero-actions{gap:16px}.hero-actions .text-link{gap:12px}.hero-actions .button{gap:18px}
.intro-inner{gap:30px;grid-template-columns:1fr 1.6fr}.intro-inner>.text-link{grid-column:2;justify-self:start;margin-top:-18px}.section-heading{grid-template-columns:.7fr 1.5fr}.compact-heading{grid-template-columns:.8fr 1.4fr}.compact-heading>.text-link{grid-column:2;justify-self:start;margin-top:-20px}.service-row{grid-template-columns:40px 1fr 50px;gap:25px}.service-row-tags{display:none}
.approach-preview,.split-intro,.service-feature,.faq-section,.project-story,.project-intro-grid,.about-statement,.ecosystem,.contact-layout,.cta-inner{gap:55px}.detail-hero-grid{gap:45px;grid-template-columns:1.4fr 1fr}.detail-hero h1{font-size:5.7vw}.project-intro-grid{grid-template-columns:1fr 1.2fr}.process-step{gap:30px;grid-template-columns:.3fr 1fr 1.3fr}.contact-layout{gap:45px}.brief-panel{padding:28px}.contact-intro h1{font-size:5.1vw}.footer-top{gap:30px;grid-template-columns:1.25fr 1fr 1.1fr}.footer-location{display:none}
}
@media(max-width:900px){
.site-header{padding:22px 6%;min-height:89px}.site-header>.button,.desktop-nav{display:none}.menu-toggle{display:inline-flex}.section-space{padding-top:85px;padding-bottom:85px}.hero-grid{min-height:460px}.hero-description{font-size:1rem;margin:25px 0}.hero-actions .text-link{display:none}.art-caption{font-size:.75rem;letter-spacing:0}
.page-hero h1{font-size:7vw}.page-hero-bottom{gap:45px}.page-hero-bottom>p{font-size:1rem}.section-heading{grid-template-columns:1fr;gap:24px}.compact-heading>.text-link{grid-column:auto;justify-self:start;margin:0}.compact-heading{grid-template-columns:1fr 1fr}.compact-heading>div{grid-row:2;grid-column:1/-1}.compact-heading>.text-link{grid-row:1;grid-column:2;justify-self:end}
.service-feature{gap:45px}.project-grid{gap:25px}.project-art{padding:24px;aspect-ratio:1}.project-art-top>span:last-child{display:none}.project-art-statement{font-size:3.7vw}.project-index{font-size:.75rem}.project-typeword{font-size:4.8vw}.approach-preview{gap:40px}.mini-steps>div{gap:24px}.mini-steps h3{font-size:1.25rem}
.split-intro{grid-template-columns:1fr;gap:45px}.split-intro>div>h2{max-width:550px}.detail-hero-grid{grid-template-columns:1fr;gap:35px}.detail-hero h1{font-size:8vw}.detail-intro{max-width:520px}.detail-hero>.chips{margin-top:0}.faq-section{grid-template-columns:1fr;gap:40px}.related-links a{padding:24px 16px}.three-up{gap:30px}.three-up h3{font-size:1.3rem}
.project-intro-grid{grid-template-columns:1fr;gap:30px}.project-intro-grid>p{max-width:560px}.project-intro-grid dl{max-width:600px}.project-story{gap:50px}.about-statement{gap:45px}.ecosystem{gap:50px;grid-template-columns:1.4fr 1fr}.ecosystem-note{padding:35px}.ecosystem-name{font-size:1.75rem}
.process-step{grid-template-columns:60px 1fr;gap:30px}.process-content{grid-column:2}.process-index{font-size:3.5rem}.process-name h2{font-size:2.4rem;max-width:420px}.process-name .eyebrow{margin-bottom:12px}.contact-layout{grid-template-columns:1fr;gap:50px;padding-top:60px}.contact-intro h1{font-size:clamp(3.5rem,8vw,5rem)}.contact-intro .hero-description{max-width:470px}.contact-note,.contact-brand{display:none}.brief-panel{max-width:650px;width:100%;padding:38px}.cta-inner{gap:50px}.footer-top{grid-template-columns:1.25fr 1fr 1fr}
}
/* Mobile */
@media(max-width:600px){
:root{--gutter:6%}html{scroll-padding-top:95px}h2{font-size:2.5rem}.section-space{padding-block:68px}.eyebrow{font-size:.75rem;letter-spacing:.055em}.site-header{padding:20px 6%;min-height:85px}.brand{font-size:1.9rem}.menu-toggle{padding:10px 12px}.mobile-nav{top:85px}
.home-hero{padding-top:32px}.home-hero>.eyebrow{max-width:290px;line-height:1.7}.hero-grid{grid-template-columns:1fr;padding-top:28px;gap:15px;min-height:auto}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(3.7rem,12.5vw,5.5rem);letter-spacing:-.055em}.hero-description{max-width:330px;margin:24px 0 26px;font-size:1rem}.hero-actions{gap:24px}.hero-actions .text-link{display:inline-flex;font-size:.875rem}.hero-actions .button{padding-inline:18px;gap:18px}.hero-art{width:100%;max-width:400px;justify-self:center;aspect-ratio:1.08;margin-top:8px}.hero-art img{object-fit:contain}.art-caption{font-size:.75rem;right:0;bottom:0}.hero-foot{padding-top:23px;padding-bottom:24px;flex-wrap:wrap;gap:12px;font-size:.75rem}.hero-foot a{font-size:.8125rem}.hero-foot a span{margin-left:15px}
.intro-inner{padding-block:35px;grid-template-columns:1fr;gap:22px}.intro-inner>p:first-child{font-size:1.5rem}.intro-inner>p:nth-child(2){font-size:.9375rem}.intro-inner>.text-link{grid-column:auto;margin:0}.section-heading{gap:24px;margin-bottom:35px}.section-description{margin-top:22px}.service-row{grid-template-columns:25px 1fr 40px;gap:13px;padding:28px 0}.service-row h3{font-size:1.35rem;letter-spacing:-.035em}.service-row p{font-size:.9375rem;line-height:1.6}.service-number{font-size:.75rem;padding-top:3px}.circle-arrow{width:38px;height:38px;font-size:1.25rem}.service-row:hover{padding-left:0}.section-end{align-items:start;flex-direction:column;gap:12px}.section-end>span{font-size:.8125rem}
.compact-heading{grid-template-columns:1fr;gap:20px}.compact-heading>div{grid-row:auto;grid-column:auto}.compact-heading>.text-link{grid-row:auto;grid-column:auto;justify-self:start}.project-grid{grid-template-columns:1fr;gap:40px}.project-art{padding:25px;aspect-ratio:1.08}.project-art-statement{font-size:2.8rem}.project-typeword{font-size:3.7rem}.project-caption{gap:20px;padding-top:20px}.project-caption p{font-size:.9375rem}.project-card-large .project-art{padding:25px;aspect-ratio:1.08}.project-card-large .project-art-statement{font-size:2.8rem}.project-card-large .project-typeword{font-size:3.7rem}.approach-preview{grid-template-columns:1fr;gap:40px}.mini-steps>div{padding:27px 0}.mini-steps h3{font-size:1.3rem}.mini-steps p{font-size:.9375rem}
.page-hero{padding-top:48px;padding-bottom:48px}.page-hero>.eyebrow{margin-bottom:28px}.page-hero h1{font-size:clamp(2.9rem,10vw,4rem);letter-spacing:-.05em;line-height:1.08}.page-hero-bottom{margin-top:30px;display:flex;flex-direction:column;align-items:start;gap:22px}.page-hero-bottom>p{font-size:1rem}.page-hero-bottom>.text-link{white-space:normal}.quiet-note{font-size:.75rem}.large-body{font-size:1.5rem}
.services-overview{padding-bottom:35px}.service-feature{grid-template-columns:1fr;gap:25px;padding:40px 0}.service-feature-title{display:grid;grid-template-columns:60px 1fr;gap:20px;align-items:center}.large-number{font-size:3.2rem}.service-feature h2{margin:0;font-size:1.8rem}.service-feature>div>p{font-size:1rem}.chips{gap:8px}.chips>span{font-size:.8125rem;padding:6px 10px}.principle-grid{grid-template-columns:1fr;gap:30px}.principle-grid h3{font-size:1.35rem}
.detail-hero{padding-top:30px;padding-bottom:50px}.back-link{margin-bottom:25px}.detail-hero-grid{gap:28px;margin-bottom:30px}.detail-hero h1{font-size:clamp(2.75rem,9.5vw,3.8rem);line-height:1.07}.detail-hero-grid .eyebrow{margin-bottom:25px}.detail-intro>p{font-size:1rem}.deliverable-list article{gap:15px;grid-template-columns:22px 1fr;padding-block:25px}.deliverable-list h3{font-size:1.3rem}.deliverable-list p{font-size:.9375rem}.faq-list summary{font-size:1rem;padding:23px 0}.faq-list details>div{padding-right:20px}.related-section{padding-bottom:65px}.related-links{grid-template-columns:1fr}.related-links a{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.related-links a:last-child{border-bottom:0}
.work-directory{padding-top:0}.work-feature{margin-bottom:40px}.project-detail-hero{padding-top:28px}.project-detail-hero h1{font-size:clamp(4rem,16vw,6.5rem);margin-bottom:30px}.project-intro-grid{gap:28px;margin-bottom:35px}.project-intro-grid>p{font-size:1.3rem}.project-intro-grid dl{grid-template-columns:1fr 1fr;gap:25px}.project-intro-grid dd{font-size:.875rem}.project-banner{min-height:340px;padding:35px 25px;gap:35px}.project-banner>span{font-size:3.7rem}.project-banner>p{font-size:2rem}.project-banner>small{font-size:.75rem;letter-spacing:.04em}.project-story{grid-template-columns:1fr;gap:40px}.project-story h3{font-size:1.3rem}.three-up{grid-template-columns:1fr;gap:35px}.three-up article+article{border-top:1px solid var(--line);padding-top:30px}.three-up h3{font-size:1.5rem}.item-number{margin-bottom:16px}.project-disclaimer{margin-top:35px}.next-project{padding-block:45px;align-items:start;flex-direction:column;gap:25px}
.about-hero h1{font-size:clamp(3rem,11vw,4.3rem)}.about-statement{grid-template-columns:1fr;gap:35px;padding-top:0;padding-bottom:70px}.about-art{max-width:380px;justify-self:center}.about-statement h2{font-size:2.6rem}.ecosystem{grid-template-columns:1fr;gap:40px}.ecosystem-note{padding:35px}.ecosystem-note .brand{font-size:2.6rem}.ecosystem-name{font-size:2rem}.process-list{padding-bottom:30px}.process-step{grid-template-columns:42px 1fr;gap:20px;padding:40px 0}.process-index{font-size:2.8rem}.process-name h2{font-size:2rem}.process-content{grid-column:1/-1}.process-content>p:first-child{font-size:1rem}.process-outcome{margin-top:24px}
.contact-layout{padding-top:45px;padding-bottom:70px;gap:35px}.contact-intro>.eyebrow{margin-bottom:25px}.contact-intro h1{font-size:clamp(3rem,11vw,4.2rem)}.brief-panel{padding:25px 20px}.form-progress{gap:12px;padding-bottom:20px}.form-progress>span{font-size:.8125rem;gap:6px}fieldset legend{font-size:1.6rem}.form-actions{gap:15px;align-items:center}.form-actions .button{padding-inline:16px;gap:14px;font-size:.875rem}.form-helper{max-width:65px}.field label{font-size:.875rem}#brief-result h2{font-size:2.5rem}.result-actions .button{gap:15px}.brief-preview{padding:18px}
.cta-inner{grid-template-columns:1fr;gap:32px;padding-block:60px}.cta-inner h2{font-size:clamp(2.6rem,10vw,3.5rem)}.cta-inner>div>p:not(.eyebrow){margin-bottom:25px;font-size:1rem}.site-footer{padding-top:42px}.footer-top{grid-template-columns:1fr 1fr;gap:32px 25px}.footer-top>p{grid-column:1/-1;font-size:1.7rem}.footer-top .eyebrow{font-size:.75rem}.footer-wordmark{padding-top:32px;padding-bottom:18px;font-size:21vw;letter-spacing:-.075em}.footer-bottom{flex-wrap:wrap;gap:15px 25px;padding-block:22px;font-size:.75rem}.footer-bottom>span{flex-basis:100%}.footer-bottom>a:last-child{margin-left:auto}.legal-page{padding-top:30px;padding-bottom:70px}.legal-page h1{font-size:3.2rem}.legal-page h2{font-size:1.55rem}.error-page{padding-block:65px}.error-page h1{font-size:3.5rem}
}
@media(max-width:360px){.hero-actions{gap:12px}.hero-actions .text-link{font-size:.8125rem}.hero-actions .button{gap:12px;padding-inline:14px}.hero-copy h1{font-size:3.6rem}.project-art-statement{font-size:2.4rem}.project-typeword,.project-card-large .project-typeword{font-size:3rem}.project-card-large .project-art-statement{font-size:2.4rem}.form-progress>span{flex-direction:column;gap:2px}.form-actions{flex-wrap:wrap}.service-row{grid-template-columns:22px 1fr;gap:10px}.service-row>.circle-arrow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.mobile-nav,.cta-band,.site-footer,.form-actions,.result-actions,.skip-link,.back-link{display:none!important}body{color:#000;background:#fff;font-size:11pt}.section-shell{padding:0;max-width:none}.section-space,.page-hero,.detail-hero{padding-block:25px}h1{font-size:34pt}h2{font-size:24pt}a{color:#000}.hero-grid{min-height:auto}.hero-art{max-width:320px}.contact-layout{display:block;padding:0}.contact-intro{display:none}.brief-panel{border:0;padding:0}.brief-preview{max-height:none;overflow:visible;background:none;padding:0}.project-art,.project-banner{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Reading text keeps a 16px baseline across viewports. */
.service-row p,.project-caption p,.mini-steps p,.principle-grid p,.faq-list details>div,.deliverable-list p,.form-intro,.intro-inner>p:nth-child(2),.contact-note p{font-size:1rem}
