/* CONCEPT KEY T — static website. Pure CSS, no external libraries. */
:root{--bg:#101111;--bg2:#191a1a;--paper:#e9e8e2;--muted:#a5a5a0;--line:#3a3b39;--accent:#d3a36c;--max:1440px;--pad:clamp(24px,5.2vw,92px);--display:'Arial Narrow','Helvetica Neue',Arial,sans-serif;--body:'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}
.container{width:min(100%,var(--max));margin:0 auto;padding-inline:var(--pad)}.wide{width:100%;padding-inline:var(--pad)}.section{padding-block:clamp(75px,10vw,160px)}.section-small{padding-block:clamp(55px,7vw,105px)}.subtle{color:var(--muted)}.accent{color:var(--accent)}.upper{text-transform:uppercase}.kicker{font-weight:750;font-size:.72rem;letter-spacing:.23em;text-transform:uppercase;color:var(--accent)}.rule{height:1px;background:var(--line);width:100%}.section-index{color:var(--muted);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.display{font-family:var(--display);font-stretch:condensed;font-weight:900;letter-spacing:-.067em;line-height:.88;text-transform:uppercase;margin:0;font-size:clamp(4rem,10vw,10.8rem)}.display-small{font-family:var(--display);font-weight:900;font-size:clamp(3rem,7vw,7.5rem);letter-spacing:-.067em;line-height:.91;text-transform:uppercase;margin:0}.section-title{font-family:var(--display);font-size:clamp(2.8rem,6vw,6rem);font-weight:900;letter-spacing:-.063em;line-height:.94;text-transform:uppercase;margin:0}.body-large{font-size:clamp(1.05rem,1.55vw,1.4rem);line-height:1.65;font-weight:350;color:#d2d2cc}.body-copy{font-size:1rem;line-height:1.78;color:#b8b8b1}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;vertical-align:middle;margin-right:12px}.eyebrow-line{display:flex;align-items:center;gap:16px}.eyebrow-line:before{content:'';display:block;width:36px;height:1px;background:var(--accent)}
/* Header */
.site-header{position:fixed;z-index:40;top:0;left:0;right:0;height:82px;display:flex;align-items:center;background:rgba(12,13,13,.80);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(250,250,250,.12);transition:height .25s,background .25s}.site-header.is-scrolled{height:68px;background:rgba(11,12,12,.95)}.header-inner{display:flex;width:100%;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;min-width:210px;position:relative}.brand-symbol{display:grid;place-items:center;width:43px;height:43px;border:2px solid var(--paper);font-size:1.27rem;font-weight:950;letter-spacing:-.13em;position:relative;padding-right:5px}.brand-symbol:after{content:'';position:absolute;bottom:-4px;right:-4px;width:12px;height:12px;background:var(--accent)}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{font-family:var(--display);font-size:1.10rem;font-weight:900;line-height:1;letter-spacing:.045em}.brand-copy small{font-size:.57rem;letter-spacing:.23em;color:#a7a7a1;text-transform:uppercase}.desktop-nav{display:flex;align-items:center;gap:clamp(15px,2.7vw,42px)}.nav-link{font-size:.73rem;letter-spacing:.155em;font-weight:760;text-transform:uppercase;color:#d1d0ca;position:relative;transition:color .18s}.nav-link:hover,.nav-link[aria-current='page']{color:#fff}.nav-link[aria-current='page']:after{content:'';position:absolute;height:2px;background:var(--accent);bottom:-10px;left:0;right:0}.header-cta{border:1px solid rgba(255,255,255,.65);padding:12px 19px;font-size:.67rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s}.header-cta:hover{background:var(--paper);color:var(--bg)}.menu-toggle{display:none;color:var(--paper);border:1px solid var(--line);background:none;padding:9px 12px;font-size:1.25rem}.mobile-nav{display:none}
/* Hero */
.hero{height:min(970px,100svh);min-height:690px;position:relative;isolation:isolate;display:flex;align-items:flex-end;padding-top:90px;overflow:hidden;background:#1f2629}.hero-image{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:before{content:'';position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(10,11,12,.82) 0%,rgba(10,11,12,.45) 55%,rgba(10,11,12,.18) 100%),linear-gradient(0deg,rgba(10,11,12,.94),transparent 47%,rgba(10,11,12,.20))}.hero:after{content:'';position:absolute;z-index:-1;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:25% 100%;pointer-events:none}.hero-content{padding-block:95px 100px}.hero .display{max-width:1150px;font-size:clamp(5.2rem,11.5vw,11.8rem)}.hero-intro{margin:0 0 31px;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.hero-bottom{margin-top:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.hero-description{max-width:520px;margin:0;color:#deded8;font-size:clamp(1rem,1.4vw,1.24rem);line-height:1.6}.action-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:192px;padding:16px 19px;border:1px solid rgba(255,255,255,.66);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;transition:background .2s,color .2s,transform .2s;background:transparent;color:var(--paper)}.btn:hover{background:var(--paper);color:var(--bg);transform:translateY(-2px)}.btn-solid{color:#111;background:var(--accent);border-color:var(--accent)}.btn-solid:hover{background:#e4b67f;border-color:#e4b67f;color:#111}.scroll-mark{position:absolute;bottom:34px;right:var(--pad);display:flex;align-items:center;gap:12px;font-size:.60rem;text-transform:uppercase;letter-spacing:.2em;color:#c2c0bb;writing-mode:vertical-rl}.scroll-mark:after{content:'';height:50px;width:1px;background:var(--accent)}
/* Services strip */
.services-strip{border-bottom:1px solid var(--line);background:#151616}.services-strip-inner{display:grid;grid-template-columns:repeat(4,1fr)}.service-pill{padding:38px 17px 38px 0;display:flex;align-items:center;gap:16px;border-right:1px solid var(--line)}.service-pill:last-child{border:0;padding-left:25px}.service-pill:not(:first-child){padding-left:25px}.service-pill span{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:850}.service-pill b{color:var(--accent);font-size:1.3rem;font-weight:400}
/* Intro */
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(50px,10vw,180px);align-items:end}.intro-grid .body-large{max-width:600px;margin:34px 0 22px}.text-link{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--accent);padding-bottom:10px}.text-link:hover{color:var(--accent)}
/* Featured projects */
.section-contrast{background:#1a1b1b}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}.section-heading .section-title{max-width:950px}.projects-featured{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.project-card{grid-column:span 4;min-width:0;display:block;position:relative;overflow:hidden;background:#292d2d;isolation:isolate}.project-card.large{grid-column:span 7}.project-card.medium{grid-column:span 5}.project-image{width:100%;height:100%;min-height:300px;aspect-ratio:1.26/1;object-fit:cover;transition:transform .55s ease,filter .55s ease}.project-card.large .project-image{aspect-ratio:1.52/1}.project-card.medium .project-image{aspect-ratio:1.07/1}.project-card:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.84));pointer-events:none}.project-card:hover .project-image{transform:scale(1.055);filter:saturate(1.17)}.project-info{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:28px 28px 26px;display:flex;align-items:end;justify-content:space-between;gap:10px}.project-tag{display:block;font-size:.57rem;letter-spacing:.18em;text-transform:uppercase;color:#ddd;margin-bottom:8px}.project-name{font-size:clamp(1rem,1.6vw,1.45rem);font-weight:850;line-height:1.1;letter-spacing:-.02em;text-transform:uppercase}.project-arrow{font-size:1.55rem;color:var(--accent)}
/* About */
.about-preview{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(45px,9vw,145px);align-items:center}.portrait-wrap{position:relative}.portrait-wrap img{width:100%;height:580px;object-fit:cover}.portrait-wrap:before{content:'';position:absolute;top:-18px;left:-18px;width:95px;height:95px;border-top:1px solid var(--accent);border-left:1px solid var(--accent);pointer-events:none}.about-preview h2{margin:18px 0 25px}.about-preview p{max-width:640px}.badge-line{margin-top:30px;display:flex;align-items:center;gap:16px;font-size:.7rem;font-weight:750;letter-spacing:.17em;color:var(--accent);text-transform:uppercase}
/* Values */
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px}.value-item{border-top:1px solid var(--line);padding-top:25px}.value-num{color:var(--accent);font-size:.72rem}.value-item h3{font-size:1rem;text-transform:uppercase;letter-spacing:.075em;margin:20px 0 12px}.value-item p{color:var(--muted);line-height:1.7;font-size:.96rem;margin:0}
/* Logo marquee */
.credits{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#161717;overflow:hidden}.credits-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:52px}.credits-head h3{margin:0;font-size:.69rem;text-transform:uppercase;letter-spacing:.22em}.credits-note{max-width:470px;font-size:.68rem;line-height:1.6;color:#999994}.marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.marquee-track{display:flex;width:max-content;align-items:center;gap:45px;animation:roll 38s linear infinite;padding:24px 0 45px}.marquee:hover .marquee-track{animation-play-state:paused}.logo-tile{display:flex;justify-content:center;align-items:center;width:210px;height:100px;flex:none}.logo-tile img{height:88px;width:205px;object-fit:contain;opacity:.73;filter:grayscale(1);transition:opacity .2s}.logo-tile img:hover{opacity:1}@keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* CTA and footer */
.closing-cta{position:relative;overflow:hidden}.closing-cta .container{display:flex;align-items:end;justify-content:space-between;gap:30px}.closing-cta .display-small{max-width:1000px;margin:24px 0 0}.site-footer{background:#0b0c0c;border-top:1px solid #3d3d39;padding:50px 0 27px}.footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:55px}.footer-contact{font-size:clamp(1.4rem,2.8vw,2.8rem);font-weight:850;letter-spacing:-.045em;border-bottom:1px solid var(--accent);padding-bottom:8px;display:inline-block}.footer-bottom{border-top:1px solid #333431;padding-top:23px;display:flex;justify-content:space-between;gap:25px;color:#888985;font-size:.69rem;letter-spacing:.06em;flex-wrap:wrap}.footer-links{display:flex;gap:24px;text-transform:uppercase}.footer-links a:hover{color:var(--accent)}
/* Subpage header */
.page-hero{position:relative;min-height:500px;padding-top:185px;padding-bottom:90px;overflow:hidden;background:#171a1b}.page-hero.has-image{background:#171b1b}.page-hero.has-image:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,14,.94) 2%,rgba(12,13,14,.78) 50%,rgba(12,13,14,.44)),url('../images/hero.jpg') center 38%/cover;opacity:.8}.page-hero .container{position:relative}.page-hero .display-small{margin:27px 0}.page-hero .body-large{max-width:740px;margin:0}.service-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,120px);align-items:center;padding-block:clamp(65px,8vw,120px);border-bottom:1px solid var(--line)}.service-section:nth-of-type(even) .service-visual{order:2}.service-visual{position:relative}.service-visual img{width:100%;aspect-ratio:1.6/1;object-fit:cover}.service-content{max-width:560px}.service-number{color:var(--accent);letter-spacing:.16em;font-size:.75rem}.service-content h2{font-family:var(--display);font-size:clamp(2.4rem,4.6vw,5rem);line-height:.98;letter-spacing:-.055em;margin:17px 0 24px;text-transform:uppercase}.service-content p{color:#bbbcb5;line-height:1.75;font-size:1.025rem}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.chip{border:1px solid var(--line);padding:10px 13px;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;color:#d9d9d3}.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:55px}.process-item{padding-top:20px;border-top:1px solid var(--line)}.process-item span{font-size:.69rem;color:var(--accent)}.process-item h3{font-size:1rem;letter-spacing:.07em;text-transform:uppercase;margin:22px 0 10px}.process-item p{font-size:.89rem;line-height:1.7;color:var(--muted)}
/* Portfolio page */
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:32px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{border:1px solid var(--line);background:none;color:#b6b6af;font-size:.69rem;font-weight:780;letter-spacing:.1em;text-transform:uppercase;padding:12px 15px;transition:.2s}.filter-btn:hover,.filter-btn.is-active{color:#101010;background:var(--accent);border-color:var(--accent)}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 17px}.gallery-card{min-width:0}.gallery-trigger{padding:0;border:0;background:#242727;display:block;width:100%;overflow:hidden;position:relative}.gallery-trigger img{width:100%;aspect-ratio:1.44/1;object-fit:cover;transition:transform .45s}.gallery-trigger:hover img{transform:scale(1.045)}.gallery-trigger:after{content:'↗';position:absolute;bottom:14px;right:18px;color:#fff;background:#151616c9;border:1px solid #ffffff73;font-size:1.2rem;padding:7px 12px}.gallery-meta{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:14px 0 0}.gallery-meta strong{display:block;font-size:.88rem;letter-spacing:.055em;text-transform:uppercase}.gallery-meta small{font-size:.68rem;text-transform:uppercase;color:var(--muted);letter-spacing:.09em}.gallery-instruction{font-size:.75rem;color:var(--muted)}.lightbox{border:none;padding:0;color:var(--paper);background:rgba(10,11,11,.98);width:100vw;height:100vh;max-width:none;max-height:none;overflow:auto}.lightbox::backdrop{background:rgba(0,0,0,.94)}.lightbox-inner{min-height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:10px;place-items:center;padding:20px}.lightbox-inner img{max-height:76vh;max-width:92vw;object-fit:contain}.lightbox-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px}.lightbox-close{background:none;color:var(--paper);border:1px solid var(--muted);padding:12px 17px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.lightbox-close:hover{background:var(--paper);color:var(--bg)}.lightbox-caption{font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
/* Contact / studio */
.founder-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,145px);align-items:center}.founder-grid .portrait-wrap img{height:clamp(480px,55vw,730px)}.founder-name{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.055em;line-height:.9;font-size:clamp(3rem,6.2vw,6.4rem);margin:14px 0 10px}.founder-role{font-size:.8rem;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-weight:750}.founder-info p{color:#c6c6c0;line-height:1.8;font-size:1.025rem}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(50px,9vw,150px)}.contact-grid .section-title{margin:20px 0 34px}.contact-email{font-size:clamp(1.25rem,2.3vw,2.35rem);font-weight:800;display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:9px;word-break:break-word}.smallnote{font-size:.79rem;color:var(--muted);line-height:1.6;max-width:500px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}.field label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#dadad4}.field input,.field select,.field textarea{background:#202222;border:1px solid #454744;border-radius:0;color:var(--paper);outline:0;width:100%;padding:16px 15px;font-size:.93rem;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{min-height:170px;resize:vertical}.field select option{background:#202222}.form-note{grid-column:1/-1;line-height:1.6;color:#aaa;font-size:.76rem}.form-submit{grid-column:1/-1;justify-self:start}.meta-info{font-size:.75rem;color:var(--muted);margin-top:25px;line-height:1.7}
/* Motion */
.reveal{opacity:1;transform:none}html.has-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}html.has-js .reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.hero-bottom{align-items:start;flex-direction:column}.project-card.large,.project-card.medium{grid-column:span 6}.project-card{grid-column:span 6}.service-pill{gap:9px}.service-pill span{font-size:.65rem}.about-preview{gap:60px}}
@media(max-width:760px){:root{--pad:22px}.site-header{height:70px}.site-header.is-scrolled{height:65px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#101111;border-bottom:1px solid var(--line);padding:17px var(--pad) 25px;box-shadow:0 25px 50px #0008}.mobile-nav.is-open{display:flex;flex-direction:column;gap:0}.mobile-nav a{font-size:.9rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;padding:16px 4px;border-bottom:1px solid var(--line)}.hero{height:750px;min-height:660px}.hero-content{padding-block:80px 92px}.hero .display{font-size:clamp(4.6rem,14.2vw,7rem)}.hero-intro{font-size:.65rem;line-height:1.6}.hero-bottom{margin-top:22px}.hero-description{font-size:1rem}.scroll-mark{display:none}.services-strip-inner{grid-template-columns:repeat(2,1fr)}.service-pill{padding:23px 10px!important;border-bottom:1px solid var(--line)}.service-pill:nth-child(even){border-right:0}.intro-grid,.about-preview,.founder-grid,.contact-grid{grid-template-columns:1fr}.intro-grid{gap:14px}.section-heading{align-items:start;flex-direction:column}.section-heading .text-link{margin-top:4px}.projects-featured{gap:12px}.project-card.large,.project-card.medium,.project-card{grid-column:span 6}.project-info{padding:17px}.project-image{min-height:220px}.value-grid{grid-template-columns:1fr;gap:28px}.portrait-wrap img{height:500px}.closing-cta .container{align-items:start;flex-direction:column}.service-section{grid-template-columns:1fr;gap:32px}.service-section:nth-of-type(even) .service-visual{order:0}.process-list{grid-template-columns:repeat(2,1fr)}.project-gallery{grid-template-columns:repeat(2,1fr)}.credits-head{align-items:start;flex-direction:column}.page-hero{padding-top:145px;min-height:420px}.footer-top{gap:20px}.brand{min-width:0}}
@media(max-width:520px){.display{font-size:3.5rem}.hero{min-height:640px;height:720px}.hero .display{font-size:clamp(2.7rem,12.4vw,4.9rem)}.hero-description{max-width:350px}.service-pill span{font-size:.61rem}.projects-featured{grid-template-columns:1fr}.project-card.large,.project-card.medium,.project-card{grid-column:span 1}.project-image,.project-card.large .project-image,.project-card.medium .project-image{aspect-ratio:1.36/1;min-height:230px}.project-gallery{grid-template-columns:1fr}.process-list{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.field{grid-column:1/-1}.credits-note{font-size:.65rem}.site-footer{padding-top:40px}.brand-symbol{width:38px;height:38px}.brand-copy strong{font-size:.95rem}.brand-copy small{font-size:.51rem}.footer-links{flex-wrap:wrap}.btn{min-width:175px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,html.has-js .reveal{opacity:1!important;transform:none!important}}
