@charset "UTF-8";
:root{--blue:#075bff;--ink:#111214;--paper:#fafafa;--line:#d5d6d8;--muted:#62656b;--mono:'Courier New',monospace;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button{border:0}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:#fff;padding:16px;z-index:100}.skip:focus{top:10px}.site-header{height:96px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;background:rgba(250,250,250,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{display:block;font-size:19px;letter-spacing:-.6px}.brand small{display:block;font-size:12px;letter-spacing:1px;margin-top:5px}nav{display:flex;align-items:center;gap:34px;font-size:14px}nav a{padding:14px 0}nav a:not(.nav-contact):hover{color:var(--blue)}nav .nav-contact{padding:14px 18px;border:1px solid var(--ink);display:flex;gap:30px}.nav-contact:hover{background:var(--ink);color:white}.menu-toggle{display:none}.hero{padding:30px 4.2% 0}.eyebrow{text-transform:uppercase;font-family:var(--mono);font-size:12px;letter-spacing:1.6px;line-height:1.6}.hero-top{display:flex;justify-content:space-between;gap:24px}.hero-layout{display:grid;grid-template-columns:1.07fr 1fr;gap:40px;align-items:center;min-height:590px}.hero-copy{padding:54px 0 18px}h1{font-size:clamp(3.5rem,5.7vw,6.3rem);font-weight:500;letter-spacing:-.067em;line-height:1.01;margin:0 0 30px}h1 span{color:var(--blue)}.hero-copy>p{font-size:18px;line-height:1.55;max-width:415px;color:#4f5257;margin-bottom:30px}.button{padding:17px 22px;display:inline-flex;gap:35px;align-items:center;font-size:14px;line-height:1.4;transition:background .2s}.button span{font-size:22px;line-height:1}.primary{color:white;background:var(--blue)}.primary:hover{background:#0046cf}.hero-index{display:flex;gap:20px;align-items:center;margin-top:64px;font-size:12px;font-family:var(--mono);color:var(--muted)}.hero-index>span:first-child{color:var(--blue)}.index-line{height:1px;background:var(--line);flex:1;max-width:94px}.hero-visual{margin:34px 0 24px;position:relative;background:#ddd;aspect-ratio:1/1.04;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-visual figcaption{position:absolute;bottom:0;left:0;right:0;background:rgba(250,250,250,.88);display:flex;justify-content:space-between;gap:12px;padding:16px;font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px}.corner{position:absolute;width:22px;height:22px}.top-left{top:15px;left:15px;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.bottom-right{bottom:63px;right:15px;border-bottom:1px solid var(--ink);border-right:1px solid var(--ink)}.hero-bottom{border-top:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;font-size:13px}.hero-bottom>a{display:flex;gap:30px}.section-pad{padding:104px 4.2%}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-bottom:55px}.section-number{padding-top:12px}.section-head h2{font-weight:500;font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.055em;line-height:1.1;margin:0 0 20px}.section-head p{color:var(--muted);line-height:1.6;margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:62px 30px}.featured{grid-column:1/-1}.project-open{padding:0;background:transparent;width:100%;text-align:left}.image-frame{display:block;position:relative;aspect-ratio:2.05;overflow:hidden;background:#e8e8e8}.image-frame>img{height:100%;width:100%;object-fit:cover;transition:transform .65s}.project-open:hover .image-frame>img{transform:scale(1.025)}.portrait-frame{aspect-ratio:1.12}.portrait-frame>img{object-position:center 46%}.project-number{position:absolute;top:20px;left:20px;background:rgba(250,250,250,.94);padding:9px 13px;font-family:var(--mono);font-size:12px}.image-action{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--paper);font-size:25px;transition:background .2s,color .2s}.project-open:hover .image-action{background:var(--blue);color:white}.project-caption{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-top:22px}.project-category{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-family:var(--mono);margin-bottom:10px;color:var(--muted)}.project-caption strong{display:block;font-weight:500;font-size:27px;letter-spacing:-1px}.project-note{font-size:12px;color:var(--muted);line-height:1.5}.project-card:not(.featured) .project-caption{display:block}.project-card:not(.featured) .project-note{display:block;margin-top:13px}.services{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.services-intro>.eyebrow{color:#a8abb1}.services h2{font-size:clamp(2.5rem,4.1vw,4.4rem);font-weight:500;letter-spacing:-.055em;line-height:1.09;margin:48px 0 25px}.services h2 span{color:#6296ff}.services-intro>p{line-height:1.6;color:#acafb6;max-width:340px}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #5e626a;padding:12px 0;font-size:14px;margin-top:20px}.text-link:hover{color:#91b5ff}.service-list{border-top:1px solid #44464a;margin-top:4px}.service-list details{border-bottom:1px solid #44464a}.service-list summary{display:flex;align-items:center;gap:17px;padding:26px 0;cursor:pointer;list-style:none}.service-list summary::-webkit-details-marker{display:none}.service-n{font-family:var(--mono);font-size:12px;color:#82868f}.service-list h3{font-size:22px;letter-spacing:-.5px;line-height:1.2;font-weight:400;margin:0;flex:1}.expand{font-size:28px;font-weight:300;transition:transform .2s}.service-list details[open] .expand{transform:rotate(45deg);color:#6296ff}.service-body{padding:0 25px 29px 35px}.service-body p{margin:0 0 20px;color:#b9bcc2;line-height:1.65}.service-body>span{font:12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:1px;color:#7f9edc}.studio{display:grid;grid-template-columns:1.05fr 1fr;gap:60px 80px}.studio h2{font-size:clamp(2.5rem,4vw,4.1rem);font-weight:500;line-height:1.12;letter-spacing:-.055em;margin:42px 0 0}.studio h2 span{color:var(--blue)}.studio-copy{padding-top:55px}.blue{color:var(--blue)}.studio-copy .lead{font-size:23px;color:var(--ink);letter-spacing:-.5px;line-height:1.5}.studio-copy p{color:var(--muted);line-height:1.7}.dark-link{border-color:var(--line)}.dark-link:hover{color:var(--blue)}.process{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;margin:10px 0 0}.process li{border-top:1px solid var(--line);padding:24px 30px 0 0}.process li>span{display:block;font:12px var(--mono);color:var(--blue);margin-bottom:25px}.process strong{font-weight:500;font-size:20px;letter-spacing:-.4px}.process p{font-size:14px;line-height:1.55;color:var(--muted);max-width:230px}.contact{background:var(--blue);color:white;padding-top:45px;padding-bottom:60px}.contact-top{display:flex;justify-content:space-between;gap:25px}.contact h2{font-size:clamp(4rem,8.5vw,9rem);font-weight:500;letter-spacing:-.067em;line-height:1.02;margin:64px 0 54px}.contact h2 span{color:#bbd1ff}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.contact-bottom p{font-size:16px;line-height:1.65;margin:0;color:#e3ecff}.contact-email{display:flex;align-items:center;gap:36px;border-bottom:1px solid #83acff;padding:15px 0;font-size:clamp(1rem,2vw,1.8rem);letter-spacing:-.5px;word-break:break-word}.contact-email>span:last-child{font-size:40px}.contact-email:hover{color:#bbd1ff}footer{padding:35px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;color:var(--muted)}.footer-name{color:var(--ink);font-size:16px;font-weight:600}.footer-name span{font-size:12px;font-weight:400;display:block;margin-top:5px}footer>a:last-child{color:var(--ink);font-size:14px}dialog{width:min(960px,94vw);max-height:92dvh;padding:35px;border:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(10,13,20,.78);backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-close{background:transparent;padding:10px 0 10px 20px;display:flex;align-items:center;gap:18px;font-size:14px}.dialog-close span{font-size:30px}dialog h2{font-size:38px;letter-spacing:-1.5px;line-height:1.1;font-weight:500;margin:25px 0 18px}#dialog-description{font-size:16px;line-height:1.65;max-width:720px;color:var(--muted)}.gallery{margin:25px 0}#gallery-image{width:100%;height:min(52vh,550px);object-fit:contain;background:#e8e8e8}.gallery-controls{display:grid;grid-template-columns:44px 1fr 44px;gap:15px;align-items:center;margin-top:10px}.gallery-controls button{width:44px;height:44px;background:white;border:1px solid var(--line);font-size:24px}.gallery-controls button:hover{background:var(--blue);color:white}#gallery-caption{text-align:center;font:12px/1.5 var(--mono);color:var(--muted)}#gallery-thumbs{display:flex;gap:10px;margin-top:10px;overflow:auto;padding:4px}#gallery-thumbs button{background:#e8e8e8;border:2px solid transparent;flex:0 0 68px;height:58px;padding:0}#gallery-thumbs img{width:100%;height:100%;object-fit:cover}#gallery-thumbs button[aria-current="true"]{border-color:var(--blue)}body.modal-open{overflow:hidden}
@media(min-width:1600px){.site-header,.hero,.section-pad,footer{padding-left:max(4.2%,calc((100vw - 1480px)/2));padding-right:max(4.2%,calc((100vw - 1480px)/2))}}
@media(max-width:1000px){.hero-layout{gap:24px;min-height:auto}.hero-copy{padding-top:40px}.hero-copy>p{font-size:16px}h1{font-size:5.8vw}.hero-index{margin-top:40px}.services{gap:40px;grid-template-columns:1fr 1.25fr}.service-list h3{font-size:19px}.studio{gap:40px}.project-caption strong{font-size:24px}.contact-email{gap:15px}.section-pad{padding-top:80px;padding-bottom:80px}nav{gap:20px}.location{font-size:12px}.hero-visual{aspect-ratio:.92}.hero-visual figcaption{font-size:12px}}
@media(max-width:700px){html{scroll-padding-top:78px}.site-header{height:78px;padding:0 5%}.brand{gap:8px}.brand img{width:44px;height:44px}.brand strong{font-size:16px}.brand small{font-size:12px;letter-spacing:.5px}.menu-toggle{display:grid;gap:7px;background:none;padding:14px 4px}.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px 5% 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:4px}nav.open{display:flex}nav a{font-size:18px}nav .nav-contact{margin-top:10px;justify-content:space-between}.hero{padding:24px 5% 0}.eyebrow{font-size:12px;letter-spacing:1.2px}.location{display:none}.hero-layout{display:block}.hero-copy{padding-top:34px}h1{font-size:clamp(3.2rem,10.8vw,5rem);margin-bottom:23px}.hero-copy>p{max-width:360px;font-size:17px}.hero-index{display:none}.hero-visual{aspect-ratio:1.3;margin-top:20px}.hero-visual figcaption{font-size:12px;padding:13px}.hero-bottom{font-size:12px;gap:10px;padding:20px 0}.hero-bottom>a{gap:12px}.section-pad{padding:65px 5%}.section-head{display:block;margin-bottom:32px}.section-head h2{font-size:36px;margin-top:25px}.section-head p{font-size:16px}.project-grid{grid-template-columns:1fr;gap:35px}.featured{grid-column:auto}.image-frame{aspect-ratio:1.45}.featured .image-frame>img{object-fit:contain}.portrait-frame{aspect-ratio:1.1}.project-caption,.project-card .project-caption{display:block;padding-top:18px}.project-note{display:block;margin-top:12px}.project-caption strong{font-size:25px}.project-category{font-size:12px}.project-number{top:14px;left:14px}.image-action{bottom:14px;right:14px;width:42px;height:42px}.services{display:block}.services h2{font-size:46px;margin-top:30px}.services-intro>p{max-width:100%}.service-list{margin-top:42px}.service-list summary{padding:24px 0;gap:14px}.service-list h3{font-size:19px}.service-body{padding-left:29px;padding-right:0}.studio{display:block}.studio h2{font-size:43px;margin-top:30px}.studio-copy{padding-top:40px}.studio-copy .lead{font-size:21px}.process{grid-template-columns:1fr 1fr;margin-top:40px;gap:25px 20px}.process li{padding-right:0}.process p{font-size:14px}.contact-top>.eyebrow:last-child{display:none}.contact h2{font-size:clamp(3.8rem,12vw,5rem);margin:42px 0}.contact-bottom{display:block}.contact-email{font-size:clamp(.94rem,4vw,1.3rem);justify-content:space-between;margin-top:25px;gap:10px;letter-spacing:-.4px}.contact-email>span:last-child{font-size:28px}footer{padding:30px 5%;flex-wrap:wrap;gap:25px}footer>span{order:3;flex-basis:100%;font-size:12px}footer>a:last-child{margin-left:auto}dialog{padding:22px;width:94vw;max-height:94dvh}dialog h2{font-size:30px}.dialog-top .eyebrow{font-size:12px}.dialog-close{gap:10px}.gallery-controls{gap:8px}#gallery-image{height:40vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.project-card:nth-child(3) .image-frame{background:#e5e3df}.project-card:nth-child(3) .image-frame>img{object-fit:contain}
.contact-bottom{display:grid;grid-template-columns:1fr 1.2fr;align-items:start;gap:70px}.contact-info .contact-alternative{font-size:14px;margin-top:38px}.contact-email{font-size:clamp(1rem,1.4vw,1.3rem);gap:16px}.contact-email>span:last-child{font-size:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:flex;flex-direction:column;gap:10px;margin-bottom:23px}.form-field label{font-size:15px;line-height:1.5}.form-field label span{font-size:12px;color:#d6e4ff}.form-field input,.form-field textarea{font:16px/1.5 var(--sans);background:rgba(0,25,100,.14);border:1px solid #91b5ff;border-radius:0;color:white;padding:13px 14px;min-width:0;width:100%;outline-offset:3px}.form-field input::placeholder,.form-field textarea::placeholder{color:#d1e0ff;opacity:1}.form-field input:focus,.form-field textarea:focus{outline:2px solid white;border-color:white}.form-field textarea{resize:vertical;min-height:140px}.form-submit-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.form-submit-row p{font-size:12px;line-height:1.5;max-width:210px}.contact-submit{background:white;color:#064bd0;white-space:nowrap}.contact-submit:hover{background:#d9e6ff}.contact-submit:focus-visible{outline-color:white}.form-honey{display:none!important}.form-receipt{padding:28px;border:1px solid #91b5ff;background:rgba(0,25,100,.14)}.form-receipt[hidden]{display:none}.form-receipt h3{font-size:28px;font-weight:400;letter-spacing:-1px;line-height:1.15;margin:20px 0}.form-receipt a{display:inline-block;margin-top:25px;border-bottom:1px solid #91b5ff;padding-bottom:8px}#contact-form[hidden]{display:none}@media(max-width:1000px){.contact-bottom{gap:35px;grid-template-columns:1fr 1.2fr}.form-row{grid-template-columns:1fr;gap:0}.form-submit-row{align-items:start;flex-direction:column}.form-submit-row p{max-width:none}}@media(max-width:700px){.contact-bottom{display:block}.contact-form-wrap{margin-top:45px}.contact-email{font-size:clamp(.94rem,4vw,1.3rem)}.form-submit-row{flex-direction:column-reverse;gap:15px}.contact-submit{width:100%;justify-content:space-between}.form-field label{font-size:16px}}
