:root{color-scheme:dark;--bg:#0D0C13;--surface:#171522;--surface-2:#1D1A2B;--accent:#8B5CF6;--text:#F5F3FA;--muted:#A19CAF;--line:#302C3D;--mono:"Geist Mono",monospace;--sans:"Geist",Inter,Arial,sans-serif;--serif:"Instrument Serif",Georgia,serif}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}.frame{width:min(100% - 64px,1440px);margin:0 auto;padding:27px 0 24px}.concept-switch{height:46px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:var(--muted);font:10px var(--mono);letter-spacing:.09em}.switch-options{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#111019}.switch-button{border:0;border-radius:5px;padding:8px 12px;background:transparent;color:#9691A2;font:11px var(--sans);cursor:pointer;transition:background .15s,color .15s}.switch-button span{margin-left:5px}.switch-button[aria-pressed=true]{background:#262233;color:var(--text)}.switch-button:focus-visible,.button:focus-visible,.header-link:focus-visible,.site-footer a:focus-visible{outline:2px solid #B69AFB;outline-offset:4px}.site-shell{position:relative;min-height:min(740px,calc(100svh - 142px));overflow:hidden;border:1px solid #272433;border-radius:12px;background:radial-gradient(ellipse at 81% 43%,rgba(139,92,246,.09),transparent 37%),var(--bg);padding:0 5.3%;display:flex;flex-direction:column}.site-header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;align-items:baseline;color:var(--text);text-decoration:none;letter-spacing:-.065em}.wordmark-name{font-size:25px;font-weight:650}.wordmark-dot{font-size:30px;color:var(--accent);margin-left:1px}.wordmark-studio{margin-left:10px;color:#A49FB0;font:9px var(--mono);letter-spacing:.12em}.header-center{display:flex;align-items:center;gap:9px;color:#ACA7B7;font:9px var(--mono);letter-spacing:.09em}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.header-link{color:#D5D1DE;text-decoration:none;font-size:12px}.header-link span,.site-footer a span{color:var(--accent);margin-left:6px}.hero{position:relative;flex:1;min-height:530px;display:grid;grid-template-columns:minmax(0,1fr) 245px;align-items:center;gap:60px;padding:76px 0 95px}.hero-copy{max-width:820px}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 28px;color:#B7B2C2;font:10px var(--mono);letter-spacing:.12em}.eyebrow-rule{display:inline-block;width:28px;height:1px;background:var(--accent)}h1{max-width:900px;margin:0;font-size:clamp(51px,6.25vw,88px);line-height:.99;letter-spacing:-.066em;font-weight:500}.title-accent{color:#A88AF8}.description{max-width:430px;margin:28px 0 0;color:#B2ADBC;font-size:16px;line-height:1.7;letter-spacing:-.015em}.hero-actions{display:flex;align-items:center;gap:12px;margin-top:34px}.button{min-height:46px;display:inline-flex;align-items:center;gap:22px;border-radius:6px;padding:0 17px;text-decoration:none;font-size:12px;font-weight:550;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.button-primary{background:var(--accent);color:white}.button-primary span{font-size:14px}.button-primary:hover{background:#7C4CE5;transform:translateY(-1px)}.button-primary:active{background:#7042D3;transform:translateY(0)}.button-secondary{border:1px solid #3A3547;color:#E7E4ED}.button-secondary span{color:#BCA8F7}.button-secondary:hover{border-color:#76699A;background:#1C1928}.button:focus-visible{outline:2px solid #B69AFB;outline-offset:4px}.hero-aside{align-self:center;padding:20px 0 16px;border-top:1px solid #514A60;border-bottom:1px solid #514A60}.aside-index{display:flex;align-items:center;gap:10px;color:#AAA4B6;font:9px var(--mono);letter-spacing:.1em}.aside-index span:first-child{color:#C8B8FF}.aside-line{width:28px;height:1px;background:#60586D}.hero-aside p{margin:22px 0;color:#C0BBC9;font-size:14px;line-height:1.75;letter-spacing:-.02em}.hero-aside>a{color:#D8D3E1;text-decoration:none;font-size:11px}.hero-aside>a span{color:#B99DF8;margin-left:5px}.hero-meta{position:absolute;bottom:27px;left:0;right:0;display:flex;gap:30px;color:#787383;font:9px var(--mono);letter-spacing:.07em}.site-footer{min-height:62px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;color:#9691A1;font:9px var(--mono);letter-spacing:.06em}.site-footer a{color:#C8C3D0;text-decoration:none}.footer-location{text-align:right}.edge-index{position:absolute;right:16px;top:50%;writing-mode:vertical-rl;color:#6D6878;font:8px var(--mono);letter-spacing:.1em}.viewport-note{margin:12px 2px 0;color:#7E7988;font:10px var(--mono);letter-spacing:.04em}

/* Direction A — measured, compact and typographically neutral. */
html[data-direction=a] .hero-copy{max-width:850px}html[data-direction=a] h1{font-weight:500}html[data-direction=a] .title-accent{color:#B19AF6}
/* Direction B — editorial contrast with Instrument Serif kept inside the digital brand system. */
html[data-direction=b] .site-shell{background:radial-gradient(ellipse at 83% 40%,rgba(139,92,246,.13),transparent 39%),var(--bg)}html[data-direction=b] .wordmark-name{font-size:27px;letter-spacing:-.07em}html[data-direction=b] .hero{grid-template-columns:minmax(0,1fr) 230px;gap:72px;padding-top:67px}html[data-direction=b] h1{max-width:850px;font-size:clamp(58px,7vw,96px);line-height:.96;letter-spacing:-.055em;font-weight:450}html[data-direction=b] .title-accent{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.035em;color:#B59AF6}html[data-direction=b] .description{font-size:15px;max-width:450px}html[data-direction=b] .hero-aside{border-top-color:#7561A0;border-bottom-color:#7561A0}html[data-direction=b] .hero-aside p{font-size:13px}html[data-direction=b] .hero-meta{gap:38px}
@media(max-width:900px){.frame{width:min(100% - 40px,1440px)}.site-shell{padding:0 5%}.hero{grid-template-columns:minmax(0,1fr) 200px;gap:35px;min-height:520px}h1{font-size:clamp(48px,7vw,72px)}html[data-direction=b] .hero{grid-template-columns:minmax(0,1fr) 190px;gap:36px}html[data-direction=b] h1{font-size:clamp(53px,7.5vw,79px)}}
@media(max-width:640px){.frame{width:100%;padding:15px 14px 18px}.concept-switch{height:auto;min-height:42px;margin-bottom:12px;justify-content:center}.switch-label,.switch-note{display:none}.switch-button{padding:8px 10px;font-size:10px;white-space:nowrap}.switch-button span{margin-left:3px}.site-shell{min-height:calc(100svh - 100px);border-radius:9px;padding:0 22px}.site-header{height:70px}.wordmark-name{font-size:22px}.wordmark-dot{font-size:26px}.wordmark-studio{margin-left:7px;font-size:8px}.header-center{display:none}.header-link{font-size:11px}.hero{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:46px;min-height:540px;padding:60px 0 92px}.hero-copy{max-width:none}.eyebrow{font-size:8px;margin-bottom:23px;letter-spacing:.1em}h1{font-size:clamp(26px,8.8vw,48px);line-height:1.01;letter-spacing:-.07em}.description{font-size:14px;line-height:1.7;margin-top:21px;max-width:350px}.hero-actions{gap:9px;margin-top:27px}.button{min-height:44px;padding:0 13px;gap:14px;font-size:11px}.hero-aside{max-width:300px;padding:14px 0}.hero-aside p{margin:14px 0;font-size:12px}.hero-aside>a{font-size:10px}.hero-meta{bottom:22px;gap:0;justify-content:space-between;font-size:7px;letter-spacing:.015em}.hero-meta span:nth-child(2){display:none}.site-footer{min-height:59px;grid-template-columns:1fr auto;font-size:7px;gap:8px}.site-footer>a{font-size:8px}.footer-location{display:none}.edge-index{right:8px;font-size:7px}.viewport-note{font-size:9px;margin-top:9px}html[data-direction=b] .hero{gap:39px;padding-top:56px}html[data-direction=b] h1{font-size:clamp(26px,8.8vw,48px);line-height:.98;letter-spacing:-.07em}html[data-direction=b] .description{font-size:13px}}
@media(max-width:370px){.switch-button span{display:none}.concept-switch{gap:6px}.switch-label{font-size:7px}.site-shell{padding:0 17px}.hero-meta span:last-child{max-width:98px;text-align:right}.hero-actions{gap:7px}.button{padding:0 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Portfolio sections extend the approved Editorial Tech hero. */
.concept-switch,.viewport-note{display:none}
.site-shell{overflow:hidden}
.portfolio-section{border-top:1px solid var(--line);padding:94px 0}
.section-heading{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:54px;align-items:start;margin-bottom:52px}
.section-index,.project-kicker{margin:4px 0 0;color:#A9A3B4;font:9px var(--mono);letter-spacing:.1em}
.section-index span,.project-kicker span{color:var(--accent)}
.section-heading h2,.about-copy h2,.contact-intro h2{max-width:700px;margin:0;color:var(--text);font-size:clamp(36px,4.6vw,60px);font-weight:450;line-height:1.04;letter-spacing:-.055em}
.section-lead{max-width:520px;margin:20px 0 0;color:#AFAABA;font-size:15px;line-height:1.7}
.featured-project{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;align-items:center;padding:0 0 2px}
.project-copy{padding:8px 0}
.project-copy h3{margin:22px 0 14px;font-size:clamp(38px,5vw,66px);font-weight:500;line-height:1;letter-spacing:-.065em}
.project-copy h3 em{color:#B59AF6;font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.project-description{max-width:430px;margin:0;color:#B2ADBC;font-size:15px;line-height:1.75}
.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0 25px;padding-top:18px;border-top:1px solid var(--line)}
.project-facts dt{margin-bottom:9px;color:#807B8A;font:8px var(--mono);letter-spacing:.12em}
.project-facts dd{margin:0;color:#D7D2DF;font-size:12px;line-height:1.55}
.text-link{display:inline-flex;gap:12px;align-items:center;color:#E4DFEA;text-decoration:none;font-size:12px}
.text-link span{color:#B59AF6}
.project-plate{min-height:330px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding:30px 9%;border:1px solid #383248;border-radius:8px;background:radial-gradient(ellipse at 73% 46%,rgba(139,92,246,.18),transparent 53%),#15131E;color:var(--text);text-decoration:none}
.plate-meta,.plate-foot{display:flex;justify-content:space-between;gap:12px;color:#9B95A5;font:8px var(--mono);letter-spacing:.09em}
.plate-meta span{color:#B59AF6}
.plate-name{margin:48px 0 2px;font-size:clamp(52px,7vw,88px);font-weight:500;letter-spacing:-.075em;line-height:.92}
.plate-subtitle{display:flex;justify-content:space-between;align-items:center;color:#B8B2C1;font:9px var(--mono);letter-spacing:.1em}
.plate-subtitle span{color:#888294;font-size:8px}
.plate-rule{height:1px;margin:35px 0 15px;background:#464052}
.plate-foot{font-size:7px}
.plate-foot span{color:#B59AF6;font:14px var(--sans)}
.service-list{border-top:1px solid #484253}
.service-row{display:grid;grid-template-columns:70px minmax(190px,.85fr) minmax(0,1fr);gap:24px;align-items:baseline;padding:24px 0;border-bottom:1px solid #383445}
.service-number{color:#B59AF6;font:10px var(--mono)}
.service-row h3{margin:0;font-size:clamp(20px,2.4vw,29px);font-weight:450;letter-spacing:-.035em}
.service-row p{max-width:430px;margin:0;color:#AFAABA;font-size:13px;line-height:1.7}
.process-section{padding-bottom:100px}
.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid #484253}
.process-list li{min-height:170px;padding:20px 22px 0 0;border-right:1px solid var(--line)}
.process-list li+li{padding-left:22px}
.process-list li:last-child{border-right:0}
.process-number{color:#B59AF6;font:9px var(--mono);letter-spacing:.08em}
.process-list h3{margin:27px 0 9px;font-size:17px;font-weight:500;letter-spacing:-.025em}
.process-list p{max-width:220px;margin:0;color:#AFAABA;font-size:12px;line-height:1.7}
.about-section{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:54px}
.about-copy{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr);gap:50px;align-items:start}
.about-copy h2{font-size:clamp(35px,4.2vw,54px)}
.about-copy>div>p{margin:0 0 17px;color:#B2ADBC;font-size:14px;line-height:1.8}
.about-location{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:28px!important;color:#898393!important;font:8px var(--mono)!important;letter-spacing:.08em}
.contact-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10%;padding-bottom:100px}
.contact-intro h2{margin-top:35px;font-size:clamp(38px,4.7vw,62px)}
.contact-intro>p:not(.section-index){max-width:390px;color:#AFAABA;font-size:14px;line-height:1.8}
.contact-channels{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:26px}.contact-channels a{color:#D4CFDC;font-size:12px;text-decoration:none}.contact-channels a span{color:var(--accent);margin-left:5px}.contact-channels a:hover{color:#C4B1FA}.contact-channels a:focus-visible{outline:2px solid #B69AFB;outline-offset:4px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;padding-top:6px}
.form-field{display:flex;flex-direction:column;gap:9px}
.form-field-wide{grid-column:1/-1}
.form-field label{color:#C5C0CD;font-size:11px}
.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #393547;border-radius:4px;background:#13111B;padding:12px;color:var(--text);font:13px var(--sans)}.form-field select{height:44px}.form-field select:invalid{color:#898393}.field-optional{color:#85808E;font-weight:400}
.form-field input{height:44px}
.form-field textarea{min-height:105px;resize:vertical}
.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{outline:2px solid #B59AF6;outline-offset:2px}
.form-submit{grid-column:1/-1;justify-self:start;border:0;cursor:pointer}
.form-submit{gap:18px}.form-submit .button-arrow{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1;transform:translateY(-.04em);transition:transform .16s ease}.form-submit:hover .button-arrow{transform:translate(2px,-.12em)}
.form-status{grid-column:1/-1;min-height:1.4em;margin:-9px 0 0;color:#918B9B;font-size:11px;line-height:1.6}
.site-footer{grid-template-columns:auto 1fr auto;min-height:78px;gap:24px}
.footer-brand{color:var(--text);font:500 13px var(--sans);letter-spacing:-.04em;text-decoration:none}
.footer-brand span{color:var(--accent)}
.footer-nav{display:flex;justify-content:center;gap:22px}
.footer-nav a{color:#A7A1B1;font:10px var(--sans);text-decoration:none}
.footer-nav a:hover,.text-link:hover,.site-header a:hover{color:#C4B1FA}
.footer-location{font-size:8px}.footer-location a{color:inherit;text-decoration:none}.footer-location a:hover{color:#C4B1FA}
.button:focus-visible,.text-link:focus-visible,.project-plate:focus-visible,.footer-brand:focus-visible,.footer-nav a:focus-visible{outline:2px solid #B69AFB;outline-offset:4px}
@media(max-width:900px){.portfolio-section{padding:78px 0}.section-heading,.about-section{grid-template-columns:150px minmax(0,1fr);gap:30px}.featured-project{gap:5%}.project-plate{min-height:290px;padding:26px 7%}.service-row{grid-template-columns:48px minmax(160px,.9fr) minmax(0,1fr);gap:17px}.process-list li{padding-right:14px}.process-list li+li{padding-left:14px}.about-copy{grid-template-columns:1fr;gap:22px}.contact-section{gap:7%}.footer-nav{gap:14px}}
@media(max-width:640px){.portfolio-section{padding:62px 0}.section-heading,.about-section{grid-template-columns:1fr;gap:22px;margin-bottom:34px}.section-heading h2,.about-copy h2{font-size:38px}.section-lead{font-size:13px;margin-top:14px}.featured-project{grid-template-columns:1fr;gap:28px}.project-copy h3{font-size:48px}.project-description{font-size:14px}.project-facts{gap:12px;margin:25px 0 21px}.project-facts dd{font-size:11px}.project-plate{min-height:250px;padding:24px 8%}.plate-name{font-size:68px;margin-top:35px}.plate-rule{margin:27px 0 12px}.service-row{grid-template-columns:30px minmax(0,1fr);gap:8px 12px;padding:19px 0}.service-number{grid-row:span 2;align-self:start;padding-top:4px}.service-row h3{font-size:22px}.service-row p{grid-column:2;font-size:12px}.process-list{grid-template-columns:1fr 1fr}.process-list li{min-height:150px;padding:17px 14px 18px 0;border-bottom:1px solid var(--line)}.process-list li+li{padding-left:14px}.process-list li:nth-child(2){border-right:0}.process-list li:nth-child(3){padding-left:0}.process-list li:nth-child(3),.process-list li:nth-child(4){border-bottom:0}.process-list h3{margin:18px 0 7px;font-size:16px}.process-list p{font-size:11px}.about-section{gap:22px}.about-copy{gap:18px}.about-copy>div>p{font-size:13px}.about-location{gap:10px 15px;font-size:7px!important}.contact-section{grid-template-columns:1fr;gap:32px;padding-bottom:64px}.contact-intro h2{font-size:42px;margin-top:24px}.contact-intro>p:not(.section-index){font-size:13px}.contact-intro .contact-note{margin-top:19px}.contact-form{grid-template-columns:1fr;gap:17px}.form-field-wide,.form-submit,.form-status{grid-column:1}.form-submit{width:100%;justify-content:space-between}.site-footer{grid-template-columns:1fr auto;gap:16px;padding:18px 0}.footer-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:17px;flex-wrap:wrap}.footer-location{font-size:7px;text-align:right;max-width:130px}.footer-brand{font-size:12px}}
.header-link-full{display:inline}.header-link-short{display:none}
.plate-meta-label,.plate-subtitle-label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.plate-meta-label>span,.plate-subtitle-label>span{color:#B59AF6}
@media(max-width:640px){.frame{padding:12px 8px 18px}.site-shell{padding:0 16px}}
@media(max-width:480px){.process-list{grid-template-columns:1fr}.process-list li,.process-list li+li,.process-list li:nth-child(3),.process-list li:nth-child(4){min-height:auto;padding:16px 0 18px;border-right:0;border-bottom:1px solid var(--line)}.process-list li:last-child{border-bottom:0}.process-list h3{margin:13px 0 6px}.process-list p{max-width:none}}
@media(max-width:420px){.header-link-full{display:none}.header-link-short{display:inline}}

@media(max-width:640px){.contact-channels{margin-top:19px}}
