:root{font-family:'Inter Tight',Arial,Helvetica,sans-serif;color:#242424;background:#f7f7f7;font-synthesis:none;--accent:#0aabc8;--dark:#191919;scroll-behavior:smooth;scroll-padding-top:100px}
*{box-sizing:border-box}body{margin:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}[hidden]{display:none!important}.container{width:min(1280px,90%);margin-inline:auto}.section{padding-block:96px}.eyebrow{font-size:12px!important;font-weight:600;letter-spacing:.16em;line-height:1.5!important;margin:0 0 18px!important}h1,h2,p{margin-top:0}h2{font-size:clamp(34px,4vw,54px);font-weight:500;letter-spacing:-.045em;line-height:1.12;margin-bottom:24px}p{font-size:17px;line-height:1.75}button{border:0}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:16px;background:#fff}.skip:focus{top:10px}
.header{position:sticky;top:0;z-index:20;background:#191919;color:white}.nav-wrap{width:min(1280px,90%);min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{flex-shrink:0}.brand img{width:235px;height:auto}.header nav{display:flex;gap:34px}.header nav a{font-size:16px;display:block;padding:18px 0}.header nav a:hover{color:#31c5df}
.hero{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 150px);max-height:920px;color:white;display:flex;align-items:center;scroll-margin-top:0}.slides,.slide,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.13) 80%),linear-gradient(0deg,rgba(0,0,0,.36),transparent 35%)}.hero-content{position:relative;padding:70px 0 110px}.hero-content h1{font-size:clamp(44px,5.7vw,80px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin-bottom:24px}.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.65;color:#f0f0f0;margin-bottom:32px}.button{display:inline-flex;gap:45px;align-items:center;padding:17px 24px;background:#fff;color:#191919;font-size:15px;border:1px solid #fff;border-radius:3px}.button:hover{background:#ededed;color:#111}.button span{font-size:23px;line-height:1}.hero-bottom{position:absolute;bottom:27px;left:0;right:0;display:flex;align-items:center;justify-content:space-between}.hero-bottom>span{font-size:12px;letter-spacing:.17em}.slider-controls{display:flex;align-items:center;gap:20px;font-size:12px}.slider-controls button{width:44px;height:44px;border:1px solid #ffffff70;background:#00000030;color:white;border-radius:50%;font-size:21px}.slider-controls button:hover{background:#fff;color:#191919}
.notice{display:flex;justify-content:center;align-items:center;gap:13px;padding:18px 5%;background:#ededed;border-bottom:1px solid #ddd}.notice p{font-size:13px;line-height:1.6;margin:0;color:#575757}.notice strong{font-weight:600;color:#242424}.notice-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading h2{margin-bottom:0}.section-heading>p{color:#666;font-size:16px;margin-bottom:3px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery a{position:relative;display:block;overflow:hidden;background:#e5e5e5;border-radius:3px;aspect-ratio:4/5}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery a:hover img{transform:scale(1.035)}.gallery a>span{position:absolute;right:14px;bottom:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#222;font-size:24px;opacity:0;transition:opacity .2s}.gallery a:hover>span,.gallery a:focus-visible>span{opacity:1}.more-projects{margin-top:36px}.more-projects summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:34px;max-width:330px;margin:auto;padding:16px 24px;border:1px solid #b4b4b4;border-radius:3px;font-size:15px}.more-projects summary::-webkit-details-marker{display:none}.more-projects summary:hover{background:#eee}.more-projects summary span{font-size:24px;line-height:1}.more-projects[open] summary{margin-bottom:30px}.more-projects[open] summary span{transform:rotate(45deg)}
.about{background:#ededed}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-photo{height:590px;overflow:hidden;border-radius:3px}.about-photo img{width:100%;height:100%;object-fit:cover}.about-copy p:not(.eyebrow){color:#5f5f5f;font-size:17px;margin-bottom:18px}.services{list-style:none;margin:30px 0;padding:0;border-top:1px solid #ccc}.services li{padding:13px 0;border-bottom:1px solid #ccc;font-size:15px}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:15px;font-weight:600;line-height:1.6}.contact{background:var(--dark);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.contact p:not(.eyebrow){font-size:16px;color:#bbb;margin-bottom:0}.contact-links>a{display:block;position:relative;border-bottom:1px solid #444;padding:25px 40px 25px 0}.contact-links>a>span{display:block;font-size:13px;color:#aaa;margin-bottom:9px}.contact-links strong{font-weight:400;font-size:clamp(20px,2.3vw,32px);letter-spacing:-.025em;overflow-wrap:anywhere}.contact-links b{position:absolute;right:0;bottom:30px;font-size:25px;font-weight:400}.socials{display:flex;gap:30px;margin-top:26px;font-size:14px}.footer{display:flex;align-items:center;justify-content:space-between;padding-block:27px;font-size:13px;color:#666}
dialog{border:0;padding:22px 28px;background:#161616;color:#fff;width:min(1400px,96vw);max-width:96vw;max-height:96svh;border-radius:5px}dialog::backdrop{background:#000d}body.modal-open{overflow:hidden}.lightbox-top{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:14px}.lightbox-top button{padding:12px;background:transparent;color:white}.lightbox-content{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px}.lightbox-content img{width:100%;height:72svh;object-fit:contain}.lightbox-content button{width:44px;height:44px;background:#333;color:#fff;border-radius:50%;font-size:22px}.lightbox-content button:hover,.lightbox-top button:hover{background:#555}#image-caption{font-size:14px;color:#ccc;text-align:center;margin:14px 0 0}
@media(max-width:900px){.header nav{gap:23px}.brand img{width:210px}.hero{min-height:580px}.section{padding-block:70px}.gallery{gap:14px}.about-grid,.contact-grid{gap:6%}.about-photo{height:540px}.about-copy p:not(.eyebrow){font-size:16px}}
@media(max-width:650px){:root{scroll-padding-top:135px}.nav-wrap{min-height:114px;flex-direction:column;justify-content:center;gap:6px;padding-top:13px}.brand img{width:195px}.header nav{width:100%;justify-content:center;gap:27px}.header nav a{font-size:14px;padding:12px 0}.hero{height:660px;min-height:0;max-height:none}.hero-content{padding:55px 0 115px}.hero-content h1{font-size:clamp(34px,10vw,62px)}.hero-content>p:not(.eyebrow){font-size:16px}.hero .eyebrow{font-size:12px!important;letter-spacing:.08em}.hero-shade{background:linear-gradient(90deg,#0009,#0003),linear-gradient(0deg,#0006,transparent)}.hero-bottom{bottom:22px}.hero-bottom>span{font-size:12px}.slider-controls{gap:12px}.notice{align-items:flex-start;padding-block:16px;gap:10px}.notice-dot{margin-top:7px}.notice strong{display:block}.section{padding-block:56px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:18px;font-size:15px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery a:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:3/2}.gallery a>span{opacity:1;width:27px;height:27px;font-size:20px;right:9px;bottom:9px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.about-photo{height:390px}.about-copy h2{font-size:38px}.contact-links strong{font-size:clamp(22px,6vw,29px)}.contact-links>a{padding-block:20px}.footer{font-size:12px}.lightbox-content{grid-template-columns:34px minmax(0,1fr) 34px;gap:5px}.lightbox-content button{width:34px;height:34px}dialog{padding:14px 10px}.lightbox-content img{height:65svh}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


.expertise{border-top:1px solid #ddd}.expertise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.expertise-grid article{padding-top:25px;border-top:2px solid #292929}.expertise-number{font-size:12px;letter-spacing:.09em;color:#626262}.expertise-grid h3{font-size:25px;font-weight:500;letter-spacing:-.035em;line-height:1.2;margin:28px 0 16px}.expertise-grid p{font-size:16px;color:#606060;line-height:1.75;margin:0}.about-copy .text-link{margin-top:15px}
@media(max-width:1000px){.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.header nav{gap:22px}}
@media(max-width:650px){.header nav{flex-wrap:wrap;gap:0 20px}.nav-wrap{padding-bottom:5px}.header nav a{font-size:13px;padding:10px 0}.hero-bottom>span{font-size:11px;letter-spacing:.07em}.expertise-grid{gap:30px 20px}.expertise-grid h3{font-size:22px;margin-top:22px}.expertise-grid p{font-size:15px}.about-copy h2{font-size:34px}}
@media(max-width:400px){.expertise-grid{grid-template-columns:1fr}.hero-bottom{gap:12px}.hero-bottom>span{max-width:125px;line-height:1.6}}

/* Centered brand and gallery entry in the studio section. */
.header .nav-wrap{justify-content:center;min-height:88px;padding:18px 0;gap:0}.gallery-trigger{position:relative;display:block;width:100%;padding:0;text-align:left;background:#222;color:#fff;cursor:zoom-in}.gallery-trigger img{transition:transform .4s}.gallery-trigger:hover img{transform:scale(1.035)}.gallery-invite{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:60px 28px 28px;background:linear-gradient(transparent,rgba(0,0,0,.84));font-size:18px;line-height:1.4}.gallery-invite small{display:block;font-size:13px;color:#ddd;margin-top:5px}.gallery-invite b{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;font-size:24px;font-weight:400}
@media(max-width:650px){:root{scroll-padding-top:95px}.header .nav-wrap{min-height:76px;padding:16px 0}.gallery-invite{padding:50px 20px 22px;font-size:16px}.gallery-invite small{font-size:12px}}
