@import "tailwindcss";

:root { --ink:#15261f; --pine:#183f35; --cream:#f6f2e9; --sand:#dfcda7; --sun:#f1b843; --muted:#668077; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-sans),Arial,sans-serif; } a { color:inherit; text-decoration:none; }
.site-header,.hero,.services,.projects,.contact,footer,.imprint { padding-left:clamp(1.35rem,5vw,6rem); padding-right:clamp(1.35rem,5vw,6rem); }.site-header { height:88px; display:flex; align-items:center; justify-content:space-between; }.brand { display:inline-flex; gap:.6rem; align-items:center; font-size:.84rem; font-weight:700; letter-spacing:.12em; }.brand-mark { display:inline-grid; place-items:center; width:28px; height:28px; color:var(--cream); background:var(--pine); font-family:var(--font-serif); font-size:1.2rem; font-style:italic; } nav { display:flex; gap:clamp(1rem,2.7vw,2.8rem); font-size:.88rem; } nav a:hover,.service-card a:hover,footer a:hover { opacity:.6; }
.hero { min-height:620px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; overflow:hidden; }.hero-copy { max-width:720px; padding:5rem 0; position:relative; z-index:1; }.eyebrow,.card-kicker { text-transform:uppercase; letter-spacing:.16em; font-size:.68rem; font-weight:700; color:var(--muted); } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { letter-spacing:-.055em; } h1 { font-family:var(--font-serif); font-size:clamp(3.8rem,8vw,7.5rem); line-height:.91; font-weight:500; margin:.7rem 0 1.6rem; } em { color:#cc8c18; font-weight:inherit; }.intro { max-width:470px; font-size:1.08rem; line-height:1.65; color:#40534a; }.button { margin-top:1.5rem; display:inline-flex; gap:1rem; align-items:center; background:var(--pine); color:white; padding:1rem 1.3rem; font-weight:700; font-size:.86rem; }.button:hover { background:#276451; }.hero-art { height:500px; position:relative; background:var(--pine); overflow:hidden; align-self:end; }.hero-art p { position:absolute; bottom:33px; left:35px; color:white; font-size:.75rem; font-weight:700; letter-spacing:.15em; line-height:1.5; }.sun { position:absolute; width:270px; height:270px; border-radius:50%; background:var(--sun); top:45px; right:-20px; }.panel { position:absolute; width:270px; height:180px; background:repeating-linear-gradient(0deg,transparent 0 29px,#8ba797 30px 32px),repeating-linear-gradient(90deg,transparent 0 52px,#8ba797 53px 55px),#315f50; transform:skewY(-16deg); box-shadow:0 16px 30px #09211977; }.panel-one { bottom:62px; left:54px; }.panel-two { bottom:-25px; right:-20px; }
.services { padding-top:9rem; padding-bottom:9rem; }.section-label { display:flex; gap:1.2rem; text-transform:uppercase; letter-spacing:.15em; font-weight:700; font-size:.68rem; color:var(--muted); }.section-label span { color:#cf951f; }.section-heading { display:grid; grid-template-columns:1fr .7fr; gap:2rem; margin:3rem 0 3.6rem; align-items:end; }.section-heading h2,.contact h2 { font-family:var(--font-serif); font-size:clamp(3rem,5vw,5.1rem); line-height:.98; font-weight:500; margin:0; }.section-heading>p { max-width:355px; line-height:1.6; color:#52675d; }.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }.service-card { min-height:370px; padding:clamp(1.7rem,3vw,3rem); display:flex; flex-direction:column; }.solar { background:var(--sand); }.it { background:#c9ddd3; }.service-card h3 { font-family:var(--font-serif); font-weight:500; font-size:clamp(2rem,3vw,3rem); line-height:1.02; margin:auto 0 1.2rem; }.service-card>p:not(.card-kicker) { max-width:420px; line-height:1.6; }.service-card a { font-size:.85rem; font-weight:700; margin-top:auto; border-top:1px solid #15261f33; padding-top:1rem; display:flex; justify-content:space-between; }
.ai { background:#d8d3ef; }
.projects { background:var(--pine); color:white; padding-top:7rem; padding-bottom:7rem; }.light { color:#abc3ba; }.project-title-row { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin:3rem 0; }.project-title-row h2 { font-family:var(--font-serif); font-size:clamp(2.7rem,5vw,5rem); line-height:.98; font-weight:500; margin:0; }.project-title-row p { color:#c7d8d0; max-width:250px; line-height:1.5; }.project { display:grid; grid-template-columns:68px 1fr 35px; gap:1rem; padding:1.8rem 0; border-top:1px solid #ffffff42; }.project:last-child { border-bottom:1px solid #ffffff42; }.project>span:first-child { color:var(--sun); font-size:.8rem; }.project h3 { font-family:var(--font-serif); font-weight:500; font-size:clamp(1.7rem,3vw,2.8rem); margin-bottom:.65rem; }.project p { max-width:630px; line-height:1.55; color:#c7d8d0; margin-bottom:0; }.arrow { font-size:1.5rem; justify-self:end; }
.contact { padding-top:8rem; padding-bottom:8rem; display:grid; grid-template-columns:1fr 1fr; gap:4rem; }.contact-copy { align-self:end; max-width:450px; }.contact-copy>p:first-child { line-height:1.65; color:#40534a; }.email { display:inline-flex; justify-content:space-between; gap:2rem; font-size:clamp(1.3rem,2.2vw,2rem); font-family:var(--font-serif); padding-bottom:.6rem; border-bottom:1px solid var(--ink); margin:1rem 0; }.notice { font-size:.72rem; line-height:1.4; color:#687970; } footer { background:#102b23; color:#e8e6da; padding-top:2.1rem; padding-bottom:2.1rem; display:flex; align-items:center; gap:2rem; font-size:.8rem; } footer .brand-mark { color:var(--pine); background:var(--sand); } footer p { margin:0; flex:1; color:#b6c5bd; } footer>a:last-child { text-decoration:underline; }.imprint { display:none; padding-top:5rem; padding-bottom:5rem; max-width:900px; line-height:1.6; }.imprint:target { display:block; }.imprint h2 { font-family:var(--font-serif); font-weight:500; font-size:3rem; }.imprint p { max-width:600px; }
@media (max-width:760px) { .site-header { height:72px; } nav { gap:1rem; font-size:.75rem; }.hero { grid-template-columns:1fr; }.hero-copy { padding:4rem 0 3rem; }.hero-art { height:340px; margin-right:-1.35rem; }.sun { width:190px; height:190px; }.panel { transform:scale(.75) skewY(-16deg); transform-origin:bottom left; }.services { padding-top:5.5rem; padding-bottom:5.5rem; }.section-heading,.service-grid,.contact { grid-template-columns:1fr; }.section-heading { margin-top:2rem; }.service-grid { gap:.8rem; }.service-card { min-height:310px; }.projects { padding-top:5rem; padding-bottom:5rem; }.project-title-row { display:block; margin:2rem 0; }.project-title-row p { margin-top:1rem; }.project { grid-template-columns:32px 1fr 24px; }.contact { padding-top:5.5rem; padding-bottom:5.5rem; gap:2.5rem; } footer { align-items:flex-start; flex-wrap:wrap; } footer p { min-width:100%; order:3; } }

/* Alternative direction: bolder, editorial and deliberately high-contrast. */
.alternative { --night:#11111b; --paper:#f4f2ed; --acid:#c5ff5e; --violet:#776dff; background:var(--paper); color:var(--night); font-family:var(--font-sans),Arial,sans-serif; overflow:hidden; }.alt-header,.alt-hero,.alt-fields,.alt-quote,.alt-contact,.alt-footer { padding-left:clamp(1.3rem,4vw,4.7rem); padding-right:clamp(1.3rem,4vw,4.7rem); }.alt-header { height:76px; display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; font-size:.67rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.alt-header>a:last-child { justify-self:end; border-bottom:1px solid var(--night); padding-bottom:.25rem; }.alt-logo { font-size:.9rem; letter-spacing:.11em; }.alt-hero { min-height:calc(100vh - 76px); background:var(--night); color:var(--paper); position:relative; padding-top:clamp(2rem,6vw,5.5rem); padding-bottom:2rem; display:flex; flex-direction:column; isolation:isolate; }.alt-status { position:relative; z-index:2; color:var(--acid); text-transform:uppercase; font-size:.66rem; letter-spacing:.12em; font-weight:700; display:flex; align-items:center; gap:.5rem; }.alt-status span { width:8px; height:8px; background:var(--acid); border-radius:50%; box-shadow:0 0 18px var(--acid); }.alt-overline { margin:clamp(3.4rem,9vw,9rem) 0 0; position:relative; z-index:2; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#b7b7c3; font-size:.72rem; }.alt-hero h1 { position:relative; z-index:2; font-family:var(--font-sans),Arial,sans-serif; font-size:clamp(4rem,12.4vw,12rem); line-height:.79; letter-spacing:-.105em; max-width:1100px; margin:.7rem 0 auto; font-weight:650; }.alt-hero h1 i,.alternative h2 i { color:var(--acid); font-family:var(--font-serif); font-weight:500; letter-spacing:-.08em; }.alt-hero-bottom { position:relative; z-index:2; display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-top:2.5rem; }.alt-hero-bottom p { max-width:360px; margin:0; line-height:1.5; color:#d0ced8; }.round-link { width:52px; height:52px; display:grid; place-items:center; border:1px solid #ffffff66; border-radius:50%; font-size:1.35rem; }.orb { position:absolute; border-radius:50%; filter:blur(1px); z-index:1; }.orb-one { width:36vw; height:36vw; min-width:300px; min-height:300px; top:17%; right:5%; background:radial-gradient(circle at 35% 32%,#f6edff,#776dff 40%,#26213e 71%); }.orb-two { width:12vw; height:12vw; min-width:130px; min-height:130px; top:11%; right:37%; background:var(--acid); opacity:.88; }.grid-sphere { position:absolute; z-index:1; width:min(42vw,560px); aspect-ratio:1; right:-12%; bottom:-30%; border-radius:50%; border:1px solid #ffffff6b; background:repeating-radial-gradient(ellipse at center,transparent 0 7%,#ffffff22 7.2% 7.5%),repeating-linear-gradient(90deg,transparent 0 10%,#ffffff22 10.2% 10.5%); transform:rotate(25deg); }.alt-fields { padding-top:clamp(5rem,11vw,10rem); padding-bottom:clamp(5rem,10vw,9rem); }.alt-section-intro { display:grid; grid-template-columns:.35fr 1fr; gap:2rem; }.alt-section-intro>p { margin:0; text-transform:uppercase; letter-spacing:.13em; font-size:.7rem; font-weight:700; }.alternative h2 { font-size:clamp(2.8rem,6.5vw,6.3rem); line-height:.9; letter-spacing:-.08em; margin:0; }.alt-field-list { margin-top:clamp(4rem,8vw,7rem); border-top:1px solid #11111b55; }.alt-field { display:grid; grid-template-columns:.35fr 1fr auto; gap:2rem; padding:1.7rem 0; border-bottom:1px solid #11111b55; transition:padding .2s,background .2s; }.alt-field:hover { background:var(--acid); padding-left:1rem; padding-right:1rem; }.alt-field>span:first-child { font-size:.75rem; padding-top:.4rem; }.alt-field p { margin:0 0 .65rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }.alt-field h3 { margin:0; font-size:clamp(1.8rem,4vw,4rem); line-height:.95; font-weight:550; }.field-arrow { font-size:1.7rem; align-self:center; }.alt-quote { background:var(--violet); color:var(--paper); padding-top:clamp(5rem,10vw,9rem); padding-bottom:clamp(5rem,10vw,9rem); }.alt-quote p { max-width:1000px; font-size:clamp(2rem,4.5vw,4.7rem); font-family:var(--font-serif); letter-spacing:-.065em; line-height:.98; margin:0 0 3rem; }.alt-quote span { color:var(--acid); font-weight:700; letter-spacing:.13em; font-size:.67rem; }.alt-contact { background:var(--acid); padding-top:clamp(5rem,10vw,9rem); padding-bottom:clamp(5rem,10vw,9rem); }.alt-contact>p { font-weight:700; font-size:.7rem; letter-spacing:.13em; }.alt-contact h2 { margin:1.5rem 0 3.5rem; font-family:var(--font-sans); font-weight:650; }.alt-contact>a { display:flex; justify-content:space-between; border-bottom:2px solid var(--night); padding-bottom:.8rem; max-width:740px; font-size:clamp(1.35rem,3.2vw,3rem); font-weight:650; letter-spacing:-.05em; }.alt-contact small { display:block; margin-top:1rem; font-size:.68rem; }.alt-footer { background:var(--night); color:var(--paper); min-height:90px; display:flex; gap:2rem; align-items:center; font-size:.75rem; }.alt-footer>a:first-child { color:var(--acid); font-weight:700; letter-spacing:.08em; }.alt-footer span { flex:1; color:#aaaab7; }.alt-footer>a:last-child { text-decoration:underline; }
.alt-imprint { display:none; background:var(--paper); padding:clamp(4rem,9vw,8rem) clamp(1.3rem,4vw,4.7rem); }.alt-imprint:target { display:block; }.alt-imprint-label { text-transform:uppercase; font-weight:700; letter-spacing:.13em; font-size:.68rem; }.alt-imprint h2 { margin:.7rem 0 4rem; font-family:var(--font-sans); font-weight:650; }.imprint-grid { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:3rem; }.imprint-grid h3 { font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:.8rem; }.imprint-grid p { line-height:1.65; }.imprint-grid a { text-decoration:underline; }
.alt-fields h2 i { color:#3f347e; }
.privacy-page { min-height:100vh; background:var(--paper); color:var(--night); }.privacy-header { background:var(--night); color:var(--paper); min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem clamp(1.3rem,4vw,4.7rem); font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.privacy-header a:first-child { color:var(--acid); font-size:.9rem; }.privacy-header a:last-child,.privacy-content a { text-decoration:underline; }.privacy-content { max-width:940px; padding:clamp(4rem,9vw,8rem) clamp(1.3rem,4vw,4.7rem); }.privacy-kicker { margin:0 0 1rem; color:#3f347e; font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.privacy-content h1 { margin:0 0 3.5rem; font-size:clamp(3rem,7vw,6rem); line-height:.9; letter-spacing:-.08em; }.privacy-content h2 { margin:3.2rem 0 1rem; font-size:clamp(1.55rem,3vw,2.3rem); line-height:1; letter-spacing:-.055em; }.privacy-content p,.privacy-content li { max-width:760px; color:#45444c; line-height:1.65; }.privacy-content ul { padding-left:1.25rem; }.privacy-note { border-left:3px solid var(--violet); padding:1rem 1.2rem; background:#e9e6de; }.privacy-date { margin-top:4rem; font-size:.82rem; }
.project-showcase { background:#e9e6de; padding:clamp(5rem,10vw,9rem) clamp(1.3rem,4vw,4.7rem); }.showcase-header { display:grid; grid-template-columns:.35fr 1fr .45fr; gap:2rem; align-items:end; margin-bottom:clamp(4rem,8vw,7rem); }.showcase-header>p,.area-label { margin:0; text-transform:uppercase; font-size:.69rem; letter-spacing:.13em; font-weight:700; }.showcase-header h2 { font-family:var(--font-sans); font-weight:650; }.showcase-header span { max-width:230px; line-height:1.5; font-size:.82rem; color:#585761; }.area-block { border-top:1px solid #11111b55; padding:clamp(2.2rem,4vw,4rem) 0; }.area-top { display:grid; grid-template-columns:.35fr 1fr .7fr; gap:2rem; align-items:start; }.area-top>span { font-size:.75rem; padding-top:.4rem; }.area-top h3 { font-size:clamp(2rem,4.2vw,4.6rem); line-height:.9; font-weight:650; margin:0; }.area-top>p { margin:0; color:#55545c; line-height:1.55; max-width:290px; }.project-tiles { display:grid; gap:1rem; margin-top:2.8rem; padding-left:calc(35% + .7rem); position:relative; }.tiles-4,.tiles-2 { grid-template-columns:repeat(2,1fr); }.tiles-3 { grid-template-columns:repeat(3,1fr); }.tiles-1 { grid-template-columns:minmax(0,1fr); max-width:50%; }.area-label { position:absolute; top:.4rem; left:0; width:30%; }.project-tile { min-width:0; }.image-placeholder { aspect-ratio:1.18; background:linear-gradient(135deg,#c7c5be,#e1dfd8); display:grid; place-items:center; color:#67656b; position:relative; overflow:hidden; }.image-placeholder::before,.image-placeholder::after { content:""; position:absolute; border:1px solid #ffffff7a; border-radius:50%; }.image-placeholder::before { width:75%; aspect-ratio:1; }.image-placeholder::after { width:44%; aspect-ratio:1; }.image-placeholder span { position:relative; z-index:1; background:#f4f2edc9; padding:.35rem .6rem; text-transform:uppercase; font-size:.62rem; letter-spacing:.12em; font-weight:700; }.project-tile>p { margin:1rem 0 .4rem; color:#3f347e; font-size:.72rem; font-weight:700; }.project-tile h4 { margin:0 0 .45rem; font-size:clamp(1.25rem,2vw,1.85rem); letter-spacing:-.045em; }.project-tile small { color:#696870; font-size:.72rem; }
@media (max-width:700px) { .alt-header { grid-template-columns:1fr auto; }.alt-header>span { display:none; }.alt-hero { min-height:660px; }.alt-hero h1 { font-size:clamp(4rem,19vw,7rem); }.orb-one { top:27%; right:-22%; }.orb-two { right:42%; top:22%; }.alt-section-intro { display:block; }.alt-section-intro>p { margin-bottom:1.5rem; }.alt-field { grid-template-columns:28px 1fr 20px; gap:.8rem; }.alt-footer { flex-wrap:wrap; padding-top:1.5rem; padding-bottom:1.5rem; }.alt-footer span { min-width:100%; order:3; }.showcase-header,.area-top { display:block; }.showcase-header>p { margin-bottom:1.5rem; }.showcase-header span,.area-top>p { display:block; margin-top:1.4rem; }.project-tiles,.tiles-1 { padding-left:0; max-width:none; grid-template-columns:1fr; margin-top:2.2rem; }.area-label { position:static; width:auto; margin-bottom:1rem; }.tiles-3,.tiles-2 { grid-template-columns:1fr; }.project-tile { display:grid; grid-template-columns:120px 1fr; column-gap:1rem; }.image-placeholder { grid-row:span 3; }.project-tile>p { margin:0; align-self:end; }.project-tile h4 { margin:0; }.project-tile small { align-self:start; } }

/* Studio direction: purposeful 3D, editorial scale, and a motion-safe fallback. */
:root { color-scheme: dark; } html { scroll-behavior:smooth; } .studio-site { --ink:#101116; --paper:#f3f0e9; --acid:#dfff58; --violet:#8e7cff; --muted:#a8a6ae; background:var(--paper); color:var(--ink); overflow:hidden; }.studio-site a { text-decoration:none; }.studio-site :focus-visible { outline:2px solid var(--acid); outline-offset:4px; }.skip-link { position:fixed; left:1rem; top:-4rem; z-index:20; background:var(--acid); color:var(--ink); padding:.8rem 1rem; font-weight:700; }.skip-link:focus { top:1rem; }.studio-header { position:absolute; top:0; z-index:5; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; width:100%; min-height:78px; padding:1.1rem clamp(1.25rem,4vw,5rem); color:var(--paper); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }.studio-header p { margin:0; color:#c7c5cb; }.studio-logo { color:var(--acid); font-size:.9rem; font-weight:800; letter-spacing:.09em; }.studio-logo span { font-size:.45em; vertical-align:top; margin-left:.15rem; }.header-action { justify-self:end; border-bottom:1px solid #ffffff7a; padding-bottom:.32rem; font-weight:700; }.header-action span { color:var(--acid); font-size:1rem; }.studio-hero { position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(7rem,11vw,10rem) clamp(1.25rem,4vw,5rem) 2rem; color:var(--paper); background:radial-gradient(circle at 72% 37%,#292543 0,transparent 23%),linear-gradient(135deg,#101116 20%,#181824 100%); isolation:isolate; }.field-canvas { position:absolute; inset:0; z-index:-1; width:100%; height:100%; pointer-events:none; }.hero-grid { position:absolute; z-index:-1; inset:0; opacity:.23; background-image:linear-gradient(#ffffff1c 1px,transparent 1px),linear-gradient(90deg,#ffffff1c 1px,transparent 1px); background-size:clamp(3.5rem,8vw,7rem) clamp(3.5rem,8vw,7rem); mask-image:linear-gradient(to bottom,black,transparent 83%); }.hero-meta,.eyebrow { margin:0; color:var(--acid); font-size:.68rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.pulse { display:inline-block; width:.52rem; height:.52rem; margin-right:.55rem; border-radius:50%; background:var(--acid); box-shadow:0 0 1.2rem var(--acid); }.hero-copy { max-width:1060px; }.hero-copy .eyebrow { margin-bottom:1.4rem; color:#bab8c1; }.studio-site h1,.studio-site h2,.studio-site h3 { margin-top:0; text-wrap:balance; }.studio-site h1 { margin-bottom:0; font-size:clamp(4.6rem,12.4vw,12rem); font-weight:750; letter-spacing:-.105em; line-height:.78; }.studio-site h1 em,.studio-site h2 em { color:var(--acid); font-family:var(--font-serif),Georgia,serif; font-weight:500; }.hero-footer { display:flex; justify-content:space-between; align-items:end; gap:2rem; }.hero-footer p { max-width:360px; margin:0; color:#d1cfd5; line-height:1.55; }.scroll-link { display:grid; width:3.25rem; height:3.25rem; place-items:center; border:1px solid #ffffff73; border-radius:50%; color:var(--acid); font-size:1.35rem; touch-action:manipulation; transition:transform .25s ease,background .25s ease; }.scroll-link:hover { transform:translateY(.35rem); background:#ffffff14; }.manifesto,.capabilities,.project-section,.contact-stage,.legal-panel { padding-left:clamp(1.25rem,4vw,5rem); padding-right:clamp(1.25rem,4vw,5rem); }.manifesto { display:grid; grid-template-columns:.32fr 1fr .65fr; gap:2rem; padding-top:clamp(6rem,12vw,12rem); padding-bottom:clamp(6rem,12vw,12rem); }.eyebrow.dark { color:#4f4c5a; }.manifesto h2,.capabilities h2,.project-section h2,.contact-stage h2,.legal-panel h2 { margin:0; font-size:clamp(3rem,6.4vw,6.8rem); font-weight:750; letter-spacing:-.087em; line-height:.88; }.manifesto h2 em,.contact-stage h2 em { color:var(--violet); }.manifesto-copy { align-self:end; max-width:330px; margin:0; color:#53515a; line-height:1.65; }.capabilities { background:var(--ink); color:var(--paper); padding-top:clamp(5rem,10vw,9rem); padding-bottom:clamp(5rem,10vw,9rem); }.section-top { display:grid; grid-template-columns:.32fr 1fr; gap:2rem; margin-bottom:clamp(3rem,7vw,6rem); }.section-top>p:last-child { max-width:360px; margin:0; color:#bbb9c3; line-height:1.55; }.capabilities h2 { margin-left:32%; }.capability-list { margin-top:clamp(4rem,8vw,7rem); border-top:1px solid #ffffff34; }.capability { display:grid; grid-template-columns:.32fr 1fr auto; gap:2rem; align-items:start; padding:2rem 0; border-bottom:1px solid #ffffff34; transition:background .25s ease,padding .25s ease; }.capability:hover { padding-left:1rem; padding-right:1rem; background:#ffffff09; }.capability-number,.capability-title,.case-type { margin:0; color:var(--acid); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.capability h3 { max-width:690px; margin:.8rem 0; font-size:clamp(2rem,4.2vw,4.5rem); font-weight:650; letter-spacing:-.07em; line-height:.91; }.capability-detail { max-width:520px; margin:0; color:#bab8c1; line-height:1.55; }.capability>a { display:grid; width:2.8rem; height:2.8rem; place-items:center; border:1px solid #ffffff66; border-radius:50%; color:var(--acid); font-size:1.3rem; transition:transform .25s ease,background .25s ease; }.capability>a:hover { transform:rotate(45deg); background:var(--acid); color:var(--ink); }.project-section { padding-top:clamp(6rem,11vw,10rem); padding-bottom:clamp(5rem,9vw,8rem); background:#dcd8d0; }.project-section .section-top .eyebrow { color:#3c3677; }.project-section .section-top>p:last-child { color:#55525b; }.project-section h2 em { color:#3c3677; }.project-rail { display:grid; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:1rem; margin-top:clamp(3.5rem,7vw,6rem); }.case-card { min-width:0; }.case-visual { position:relative; min-height:270px; overflow:hidden; background:linear-gradient(145deg,#272338,#181820); }.case-visual>span { position:absolute; top:1.2rem; left:1.2rem; z-index:2; color:var(--acid); font-size:.7rem; font-weight:800; letter-spacing:.12em; }.case-orbit { position:absolute; width:160%; height:80%; top:12%; left:-29%; border:1px solid #dfff58aa; border-radius:50%; transform:rotate(-38deg); }.case-plane { position:absolute; width:120%; height:44%; left:17%; bottom:4%; border:1px solid #ffffff8f; background:repeating-linear-gradient(90deg,transparent 0 17%,#ffffff39 17.5% 18%),repeating-linear-gradient(0deg,transparent 0 28%,#ffffff39 28.5% 29%); transform:skewY(-19deg) rotate(-7deg); }.case-card:nth-child(even) .case-visual { background:linear-gradient(145deg,#413a6d,#1c1b29); }.case-card:nth-child(even) .case-orbit { border-color:#ffffffb4; }.case-card:nth-child(3n) .case-visual { background:linear-gradient(145deg,#2e503d,#151b1a); }.case-type { margin-top:1.1rem; color:#3c3677; font-size:.62rem; }.case-card h3 { margin:.65rem 0 .45rem; font-size:clamp(1.45rem,2.1vw,2rem); letter-spacing:-.055em; }.case-specification { margin:0; color:#57545c; font-size:.82rem; line-height:1.5; }.project-note { margin:2rem 0 0; color:#5b5860; font-size:.8rem; }.principle { padding:clamp(6rem,12vw,12rem) clamp(1.25rem,4vw,5rem); color:var(--paper); background:var(--violet); }.principle p { max-width:1040px; margin:0 0 3.2rem; font-family:var(--font-serif),Georgia,serif; font-size:clamp(2.3rem,5vw,5.2rem); letter-spacing:-.068em; line-height:.96; }.principle span { color:var(--acid); font-size:.68rem; font-weight:800; letter-spacing:.14em; }.contact-stage { padding-top:clamp(6rem,11vw,10rem); padding-bottom:clamp(5rem,10vw,9rem); background:var(--acid); }.contact-stage h2 { max-width:900px; margin:1.8rem 0 4rem; }.contact-stage h2 em { color:var(--ink); }.contact-email { display:flex; justify-content:space-between; max-width:820px; padding-bottom:.8rem; border-bottom:2px solid var(--ink); font-size:clamp(1.35rem,3.4vw,3.3rem); font-weight:750; letter-spacing:-.06em; overflow-wrap:anywhere; }.contact-details { display:flex; gap:2rem; margin-top:1rem; font-size:.76rem; font-weight:700; }.contact-details span { color:#474b32; }.studio-footer { display:flex; align-items:center; gap:2rem; padding:2rem clamp(1.25rem,4vw,5rem); color:var(--paper); background:var(--ink); font-size:.76rem; }.studio-footer>p { flex:1; margin:0; color:#a9a7b0; }.studio-footer nav { display:flex; gap:1.3rem; }.studio-footer nav a { text-decoration:underline; }.legal-panel { display:none; padding-top:clamp(4rem,8vw,7rem); padding-bottom:clamp(4rem,8vw,7rem); background:var(--paper); }.legal-panel:target { display:block; }.legal-panel h2 { margin:1rem 0 3.5rem; }.legal-grid { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:3rem; }.legal-grid h3 { margin:0 0 .8rem; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }.legal-grid p { line-height:1.65; }.legal-grid a { text-decoration:underline; }
@media (max-width:760px) { .studio-header { grid-template-columns:1fr auto; }.studio-header p { display:none; }.studio-hero { min-height:760px; }.studio-site h1 { font-size:clamp(4.3rem,18.5vw,7.5rem); }.hero-footer { align-items:end; }.hero-footer p { max-width:270px; font-size:.88rem; }.manifesto,.section-top { display:block; }.manifesto .eyebrow { margin-bottom:1.4rem; }.manifesto-copy { margin-top:2rem; }.capabilities h2 { margin-left:0; }.section-top>p:last-child { margin-top:1.3rem; }.capability { grid-template-columns:30px 1fr 2.5rem; gap:.8rem; }.capability h3 { font-size:clamp(1.85rem,9vw,3rem); }.project-rail { display:flex; overflow-x:auto; margin-right:calc(clamp(1.25rem,4vw,5rem) * -1); padding-right:1.25rem; scroll-snap-type:x mandatory; }.case-card { width:min(78vw,350px); flex:none; scroll-snap-align:start; }.case-visual { min-height:330px; }.studio-footer { flex-wrap:wrap; }.studio-footer>p { min-width:100%; order:3; }.legal-grid { grid-template-columns:1fr; gap:1.5rem; }.contact-details { flex-direction:column; gap:.4rem; }.hero-grid { background-size:4rem 4rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.scroll-link,.capability,.capability>a { transition:none; }.scroll-link:hover,.capability>a:hover { transform:none; } }

/* Technical refinement: restrained slate palette and denser, engineering-led type. */
.studio-site { --ink:#18242d; --paper:#eef1f2; --acid:#8fa8b5; --violet:#607b8b; --muted:#71818a; font-family:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace; }.studio-site h1,.studio-site h2,.studio-site h3 { font-family:"Arial Narrow",Arial,sans-serif; font-weight:650; letter-spacing:-.055em; }.studio-site h1 { font-size:clamp(3.8rem,9.2vw,8.6rem); line-height:.84; }.studio-site h1 em,.studio-site h2 em { color:#9eb4bd; font-family:"Arial Narrow",Arial,sans-serif; font-style:normal; font-weight:650; }.studio-header { min-height:70px; font-size:.61rem; }.studio-logo { color:#b7c8ce; font-size:.78rem; }.studio-hero { background:radial-gradient(circle at 72% 37%,#304653 0,transparent 25%),linear-gradient(135deg,#17232c 20%,#22323b 100%); }.hero-grid { opacity:.14; }.hero-meta,.eyebrow { color:#a9bcc3; font-size:.61rem; }.pulse { background:#9eb4bd; box-shadow:0 0 .8rem #9eb4bd; }.hero-copy .eyebrow { color:#b8c3c8; }.hero-footer p { font-size:.86rem; color:#d4dde0; }.scroll-link { width:2.8rem; height:2.8rem; color:#b9cbd2; }.manifesto h2,.capabilities h2,.project-section h2,.contact-stage h2,.legal-panel h2 { font-size:clamp(2.55rem,5.3vw,5.3rem); line-height:.94; }.manifesto-copy,.section-top>p:last-child,.capability-detail { font-size:.86rem; }.capabilities { background:#1c2a33; }.capability-number,.capability-title,.case-type { color:#a9c0c9; font-size:.62rem; }.capability h3 { font-size:clamp(1.7rem,3.25vw,3.3rem); line-height:.98; }.capability>a { width:2.45rem; height:2.45rem; color:#b7cbd2; }.capability>a:hover { background:#8fa8b5; }.project-section { background:#e1e7e9; }.project-section .section-top .eyebrow,.project-section h2 em,.case-type { color:#526f7c; }.case-visual { min-height:235px; background:linear-gradient(145deg,#263844,#18232c); }.case-card:nth-child(even) .case-visual { background:linear-gradient(145deg,#405763,#1d2a31); }.case-card:nth-child(3n) .case-visual { background:linear-gradient(145deg,#334954,#18242b); }.case-orbit { border-color:#9fb8c1aa; }.principle { background:#38525f; }.principle p { font-family:"Arial Narrow",Arial,sans-serif; font-size:clamp(2rem,4vw,4rem); line-height:1.02; }.principle span { color:#c4d3d8; font-size:.61rem; }.contact-stage { background:#d8e1e4; }.contact-stage h2 em { color:#526f7c; }.contact-email { max-width:700px; font-size:clamp(1.15rem,2.55vw,2.55rem); }.contact-details,.studio-footer { font-size:.68rem; }.studio-footer { background:#18242d; }.studio-footer>p { color:#adbcc2; }
.contact-stage { padding-top:clamp(4rem,7vw,6rem); padding-bottom:clamp(3.5rem,6vw,5rem); }.contact-stage h2 { margin:1.35rem 0 2.6rem; font-size:clamp(2.1rem,4vw,4rem); }.contact-email { max-width:590px; font-size:clamp(1rem,2vw,1.9rem); padding-bottom:.65rem; }.contact-details { margin-top:.8rem; }
.studio-site h1,.studio-site h2,.studio-site h3 { font-family:Arial,Helvetica,sans-serif; letter-spacing:-.035em; }.studio-site h1 { line-height:.88; }.studio-site h1 em,.studio-site h2 em { font-family:Arial,Helvetica,sans-serif; }
.principle p { font-family:Arial,Helvetica,sans-serif; letter-spacing:.012em; line-height:1.08; }
.capability-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem 1.5rem; max-width:680px; margin:1.5rem 0 1.15rem; padding:1.1rem 0; border-top:1px solid #ffffff34; border-bottom:1px solid #ffffff34; list-style:none; }.capability-services li { display:flex; gap:.55rem; align-items:flex-start; color:#d4dde0; font-size:.875rem; line-height:1.45; }.capability-services li::before { content:"/"; color:#a9c0c9; font-weight:700; }.capability-conclusion { max-width:620px; }
@media (max-width:760px) { .capability-services { grid-template-columns:1fr; gap:.55rem; } }
.case-photo { position:absolute; z-index:1; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 56%; }
