:root{--ink:oklch(13% .01 220);--ink-soft:oklch(20% .012 220);--white:oklch(98.5% .004 220);--muted-dark:oklch(72% .012 220);--muted-light:oklch(38% .012 220);--line-dark:oklch(31% .012 220);--line-light:oklch(82% .01 220);--accent:oklch(79% .055 214);--font-display:"Archivo","Arial Narrow",sans-serif;--font-body:"Manrope",Arial,sans-serif;--header-h:82px;--ease:cubic-bezier(.19,1,.22,1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink);overflow-x:clip}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:clip}body.menu-open,body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img{display:block;max-width:100%}main section,main section>*{min-width:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);font-stretch:112.5%;text-wrap:balance}p{text-wrap:pretty}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--white);color:var(--ink);padding:12px 16px;transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-header{position:fixed;inset:0 0 auto;z-index:20;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,64px);border-bottom:1px solid transparent;transition:background .35s,border-color .35s}.site-header.scrolled{background:#090b0cf0;border-color:var(--line-dark)}.logo{width:190px}.site-header nav{display:flex;align-items:center;gap:clamp(16px,2.3vw,38px);font-size:.78rem;font-weight:600}.site-header nav a{position:relative;padding:12px 0}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:currentColor;transition:right .35s var(--ease)}.site-header nav a:hover:after{right:0}.site-header .nav-cta{border:1px solid rgba(255,255,255,.65);padding:11px 16px}.site-header .nav-cta:after{display:none}.site-header .language{color:var(--accent)}.menu-button{display:none;border:0;background:none;align-items:center;gap:12px}.menu-button i,.menu-button i:after{display:block;width:22px;height:1px;background:currentColor;content:""}.menu-button i:after{transform:translateY(6px)}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero>picture,.hero>picture img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero>picture img{object-fit:cover}.hero-shade{background:linear-gradient(90deg,#050809cc,#0508096b 45%,#0508090f 76%),linear-gradient(0deg,rgba(5,8,9,.64),transparent 45%)}.hero-frame{position:absolute;z-index:1;inset:calc(var(--header-h) + 24px) clamp(18px,3vw,46px) 28px;pointer-events:none}.hero-frame:before,.hero-frame:after{content:"";position:absolute;width:48px;height:48px}.hero-frame:before{top:0;left:0;border-top:1px solid rgba(255,255,255,.65);border-left:1px solid rgba(255,255,255,.65)}.hero-frame:after{right:0;bottom:0;border-right:1px solid rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.65)}.hero-frame span{position:absolute;top:0;right:0;color:#ffffffc2;font-size:.58rem;letter-spacing:.1em}.hero-frame i{position:absolute;left:0;bottom:0;width:42px;height:3px;background:#c02a24}.hero-copy{position:relative;z-index:1;width:min(880px,90vw);padding:clamp(150px,18vh,220px) clamp(18px,7vw,110px) clamp(100px,13vh,150px)}.hero-label{margin-bottom:28px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.hero h1{max-width:12ch;margin:0;font-size:clamp(3.25rem,7vw,6rem);font-weight:650;line-height:.92;letter-spacing:-.035em;text-transform:uppercase}.hero-text{max-width:52ch;margin:30px 0 0;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.6;color:#dce3e5}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:40px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:0 22px;border:1px solid currentColor;font-weight:600;font-size:.82rem;transition:background .25s,color .25s}.button-light{position:relative;background:var(--white);color:var(--ink);border-color:var(--white)}.button-light:after{content:"";position:absolute;right:-7px;bottom:-7px;width:18px;height:18px;border-right:2px solid #c02a24;border-bottom:2px solid #c02a24;transition:transform .3s var(--ease)}.button-light:hover{background:transparent;color:var(--white)}.button-light:hover:after{transform:translate(3px,3px)}.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:.86rem}.text-link span{transition:transform .3s var(--ease)}.text-link:hover span{transform:translate(4px,-4px)}.scroll-cue{position:absolute;z-index:1;left:50%;bottom:26px;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center}.scroll-cue span{width:1px;height:14px;background:currentColor;position:relative}.scroll-cue span:after{content:"";position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}.section{padding:clamp(90px,12vw,180px) clamp(18px,5vw,80px)}.section-light{background:var(--white);color:var(--ink)}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:clamp(42px,7vw,90px)}.section-intro h1,.section-intro h2{max-width:13ch;margin:0;font-size:clamp(2.7rem,6vw,5.6rem);font-weight:650;line-height:.94;letter-spacing:-.035em;text-transform:uppercase}.section-intro>p{max-width:55ch;margin:0;color:var(--muted-dark);line-height:1.7}.section-light .section-intro>p{color:var(--muted-light)}.split-intro h2{max-width:12ch}.portfolio-page .site-header{background:#090b0cf0;border-color:var(--line-dark)}.portfolio-page .portfolio-experience{padding-top:var(--header-h);border-top:0}.portfolio-preview{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.45fr);gap:clamp(46px,7vw,110px);align-items:end;background:var(--ink);border-top:1px solid var(--line-dark)}.portfolio-preview-copy{min-width:0}.portfolio-preview-copy>p{margin:0 0 30px;color:var(--accent);font-size:.68rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.portfolio-preview-copy h2{max-width:100%;margin:0 0 30px;font-size:clamp(2.8rem,4vw,4.8rem);font-weight:650;line-height:.9;letter-spacing:-.04em;text-transform:uppercase;overflow-wrap:normal}.portfolio-preview-copy>span{display:block;max-width:48ch;color:var(--muted-dark);line-height:1.75}.portfolio-preview-copy .button{margin-top:38px}.portfolio-preview-copy .button i{font-style:normal}.portfolio-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1vw,14px)}.portfolio-preview-grid img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}.portfolio-preview-grid img:first-child{grid-column:1/-1;aspect-ratio:2/1}.portfolio-experience{position:relative;background:var(--ink);color:var(--white);border-top:1px solid var(--line-dark);overflow:hidden}.portfolio-experience:before{content:"PORTFOLIO";position:absolute;top:clamp(70px,9vw,130px);right:-.04em;color:#ffffff06;font:750 clamp(6rem,18vw,18rem)/.75 var(--font-display);letter-spacing:-.035em;pointer-events:none}.portfolio-decor{position:relative;z-index:1;display:flex;align-items:center;gap:18px;margin-bottom:clamp(45px,6vw,80px);color:var(--muted-dark);font-size:.62rem;letter-spacing:.1em}.portfolio-decor span{font:650 1rem var(--font-display);color:var(--white)}.portfolio-decor i{width:clamp(55px,8vw,120px);height:2px;background:#c02a24}.portfolio-decor b{font-weight:500}.work{position:relative;background:var(--ink);min-height:100svh}.portfolio-experience .section-intro{position:relative;z-index:1}.portfolio-experience .section-intro:after{content:"";position:absolute;right:0;bottom:-22px;width:9px;height:9px;background:#c02a24}.filters{position:sticky;top:var(--header-h);z-index:4;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:14px 0;background:#090b0cf5;border-bottom:1px solid var(--line-dark)}.filters button{border:1px solid var(--line-dark);background:transparent;padding:10px 16px;font-size:.75rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.filters button.active,.filters button:hover{background:var(--white);border-color:var(--white);color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(6px,1vw,14px)}.gallery-grid[hidden],.gallery-progress[hidden],.others-empty[hidden]{display:none}.photo-card{position:relative;grid-column:span 3;aspect-ratio:4/5;padding:0;border:0;background:var(--ink-soft);overflow:hidden;cursor:zoom-in}.photo-card:before,.photo-card:after{content:"";position:absolute;z-index:2;width:24px;height:24px;opacity:0;transition:opacity .25s,transform .35s var(--ease)}.photo-card:before{top:10px;left:10px;border-top:2px solid #c02a24;border-left:2px solid #c02a24;transform:translate(-6px,-6px)}.photo-card:after{right:10px;bottom:10px;border-right:2px solid #c02a24;border-bottom:2px solid #c02a24;transform:translate(6px,6px)}.photo-card:hover:before,.photo-card:hover:after,.photo-card:focus-visible:before,.photo-card:focus-visible:after{opacity:1;transform:none}.photo-card:nth-child(9n+1),.photo-card:nth-child(9n+6){grid-column:span 6;aspect-ratio:16/10}.photo-card:nth-child(7n+3){aspect-ratio:3/4}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .4s}.photo-card:hover img{transform:scale(1.025);filter:saturate(1.06)}.photo-card span{position:absolute;z-index:1;inset:auto 9px 9px auto;padding:6px 8px;background:#050809c7;font-size:.58rem;text-transform:uppercase;letter-spacing:.06em}.photo-card[hidden]{display:none}.gallery-progress{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line-dark)}.gallery-progress p{margin:0;color:var(--muted-dark);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.gallery-progress button{display:flex;align-items:center;gap:28px;min-height:50px;padding:0 18px;border:1px solid var(--white);background:transparent;color:var(--white);font-size:.76rem;font-weight:600;cursor:pointer;transition:background .25s,color .25s}.gallery-progress button:hover{background:var(--white);color:var(--ink)}.gallery-progress button i{font-style:normal;font-size:1rem}.gallery-progress button[hidden]{display:none}.others-empty{min-height:min(56vw,650px);display:grid;grid-template-columns:.55fr 1fr;align-items:end;gap:clamp(40px,8vw,130px);padding:clamp(35px,5vw,70px);border:1px solid var(--line-dark);position:relative;overflow:hidden}.others-empty:before,.others-empty:after{content:"";position:absolute;width:46px;height:46px}.others-empty:before{top:-1px;left:-1px;border-top:3px solid #c02a24;border-left:3px solid #c02a24}.others-empty:after{right:-1px;bottom:-1px;border-right:3px solid #c02a24;border-bottom:3px solid #c02a24}.others-empty>span{align-self:start;color:var(--muted-dark);font-size:.62rem;letter-spacing:.1em}.others-empty h3{max-width:9ch;margin:0 0 25px;font-size:clamp(2.6rem,6vw,6rem);line-height:.92;letter-spacing:-.035em;text-transform:uppercase}.others-empty p{max-width:58ch;color:var(--muted-dark);line-height:1.75}.others-empty a{display:inline-flex;margin-top:20px;padding-bottom:5px;border-bottom:1px solid currentColor;font-weight:600;font-size:.8rem}.services{background:var(--ink);color:var(--white)}.services-label{margin:0 0 34px;color:var(--accent);font-size:.68rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.services .section-intro{align-items:end}.services .section-intro h2{max-width:11ch;overflow-wrap:normal;word-break:normal;hyphens:none}.services .section-intro p{color:var(--muted-dark)}.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(46px,7vw,90px);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.service-list article{min-width:0;min-height:320px;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,42px);border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.service-list span{font-size:.68rem;color:var(--accent)}.service-list h3{max-width:100%;margin:auto 0 22px;font-size:clamp(1.2rem,2vw,2.05rem);font-weight:650;line-height:1.04;letter-spacing:-.025em;text-transform:uppercase;text-wrap:wrap;overflow-wrap:normal;word-break:keep-all;hyphens:none}.service-list p{max-width:42ch;margin:0;color:var(--muted-dark);line-height:1.7}.all-services{display:inline-flex;align-items:center;gap:28px;margin-top:34px;padding:14px 18px;border:1px solid var(--line-dark);font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,color .2s}.all-services:hover,.all-services:focus-visible{background:var(--white);color:var(--ink)}.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(40px,8vw,130px);align-items:center}.about-image{height:min(76vw,850px);overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover}.about-copy h2{margin-bottom:clamp(35px,6vw,80px);font-size:.78rem;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.about-copy blockquote{max-width:17ch;margin:0 0 48px;font:650 clamp(2.1rem,4vw,4.6rem)/1.03 var(--font-display);font-stretch:112.5%;letter-spacing:-.035em;text-transform:uppercase}.about-copy p{max-width:60ch;color:var(--muted-dark);line-height:1.75}.about-copy .text-link{margin-top:24px;color:var(--white)}.process{background:var(--ink-soft)}.process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark)}.process li{min-height:280px;padding:28px clamp(18px,2.5vw,36px) 20px 0;border-bottom:1px solid var(--line-dark)}.process li+li{padding-left:clamp(18px,2.5vw,36px);border-left:1px solid var(--line-dark)}.process li span{font-size:.68rem;color:var(--accent)}.process li h3{margin:80px 0 16px;font-size:1.2rem;font-weight:650;text-transform:uppercase}.process li p{margin:0;color:var(--muted-dark);line-height:1.65;font-size:.92rem}.faq{display:block}.faq-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,8vw,130px);align-items:end;padding-bottom:clamp(38px,5vw,70px);border-bottom:1px solid var(--line-light)}.faq-heading h2{max-width:11ch;margin:0;font-size:clamp(2.7rem,5vw,5.2rem);font-weight:650;line-height:.92;letter-spacing:-.035em;text-transform:uppercase}.faq-heading p{max-width:52ch;margin:0;color:var(--muted-light);line-height:1.7}.faq-groups{margin-top:clamp(45px,7vw,90px)}.faq-group{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr);gap:clamp(34px,7vw,110px);padding:clamp(32px,4vw,56px) 0;border-top:1px solid var(--line-light)}.faq-group>header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;align-content:start}.faq-group>header>span{padding-top:5px;color:#c02a24;font-size:.68rem;font-weight:600;letter-spacing:.12em}.faq-group h3{margin:0;font-size:clamp(1.5rem,2.4vw,2.6rem);font-weight:650;line-height:1;text-transform:uppercase}.faq-group header p{margin:11px 0 0;color:var(--muted-light);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.faq-list{border-top:1px solid var(--line-light)}.faq details{border-bottom:1px solid var(--line-light)}.faq summary{display:flex;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:1.35rem;font-weight:400;transition:transform .25s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{max-width:68ch;margin:0;padding:0 48px 28px 0;line-height:1.75;color:var(--muted-light)}.faq-final{display:grid;grid-template-columns:.45fr minmax(0,1fr) auto;gap:clamp(25px,5vw,75px);align-items:end;margin-top:clamp(45px,7vw,90px);padding:clamp(35px,5vw,70px);background:var(--ink);color:var(--white)}.faq-final>p{align-self:start;margin:0;color:var(--accent);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}.faq-final h3{max-width:15ch;margin:0;font-size:clamp(2rem,4vw,4.5rem);font-weight:650;line-height:.95;letter-spacing:-.03em;text-transform:uppercase}.faq-final a{display:inline-flex;align-items:center;gap:15px;padding-bottom:6px;border-bottom:1px solid currentColor;font-weight:600;white-space:nowrap}.faq-final a span{transition:transform .25s}.faq-final a:hover span{transform:translate(4px,4px)}.contact{position:relative;min-height:min(86svh,860px);display:flex;align-items:flex-end;overflow:hidden}.contact>picture,.contact>picture img,.contact-shade{position:absolute;inset:0;width:100%;height:100%}.contact>picture img{object-fit:cover}.contact-shade{background:linear-gradient(90deg,#050809d1,#05080940 70%),linear-gradient(0deg,rgba(5,8,9,.7),transparent 58%)}.contact-copy{position:relative;z-index:1;width:100%;padding:clamp(90px,11vw,170px) clamp(18px,7vw,110px)}.contact-copy>p{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.contact-copy h2{max-width:13ch;margin:30px 0 clamp(38px,6vw,75px);font-size:clamp(3rem,7vw,6rem);line-height:.92;letter-spacing:-.035em;text-transform:uppercase}.contact-copy>div{display:grid;grid-template-columns:minmax(0,560px) auto;gap:40px;align-items:end}.contact-copy>div p{margin:0;line-height:1.7;color:#dce3e5}.contact-copy small{display:block;margin-top:28px;color:#a6acae}.site-footer{padding:clamp(55px,8vw,110px) clamp(18px,5vw,80px) 30px;display:grid;grid-template-columns:1fr 1fr auto;gap:35px;align-items:start}.site-footer>a{width:220px}.site-footer p{margin:0 0 8px;color:var(--muted-dark);font-size:.78rem;line-height:1.6}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:.78rem}.credit{grid-column:1/-1;margin-top:50px!important;padding-top:22px;border-top:1px solid var(--line-dark);text-align:right}.credit a{text-decoration:underline;text-underline-offset:4px}.photo-lightbox{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#090b0c;color:var(--white);overflow:hidden}.photo-lightbox::backdrop{background:#000000f0}.lightbox-bar{height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(16px,3vw,44px);border-bottom:1px solid var(--line-dark);background:#090b0cf5}.lightbox-bar>div{display:flex;align-items:center;gap:12px;min-width:0}.lightbox-bar i{width:8px;height:8px;flex:0 0 auto;background:#c02a24}.lightbox-bar strong{font-family:var(--font-display);font-size:.78rem;letter-spacing:.18em}.lightbox-bar span,.lightbox-bar p{color:var(--muted-dark);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase}.lightbox-bar p{margin:0;font-variant-numeric:tabular-nums}.viewer-close{justify-self:end;min-height:44px;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--white);padding:0;cursor:pointer;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}.viewer-close span{font-size:1.35rem;font-weight:300;line-height:1}.viewer-close:hover,.viewer-close:focus-visible{color:#c02a24}.lightbox-stage{height:calc(100dvh - 68px);display:grid;grid-template-columns:minmax(90px,14vw) minmax(0,1fr) minmax(90px,14vw);gap:clamp(10px,1.5vw,24px);align-items:center;padding:clamp(14px,2vw,28px) 0 clamp(26px,3vw,42px);position:relative;touch-action:pan-y;user-select:none}.viewer-main,.viewer-peek{height:100%;min-height:0;margin:0;position:relative;overflow:hidden}.viewer-main img{width:100%;height:100%;display:block;object-fit:contain}.viewer-peek{height:min(70vh,680px);opacity:.28}.viewer-peek img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.72)}.viewer-main figcaption{position:absolute;right:12px;bottom:12px;max-width:min(520px,calc(100% - 24px));padding:8px 10px;background:#090b0cc7;color:#f8f8f8c7;font-size:.64rem;line-height:1.45;letter-spacing:.08em;text-align:right}.viewer-nav{position:absolute;z-index:3;top:50%;width:54px;height:54px;display:grid;place-items:center;border:0;background:var(--white);color:var(--ink);cursor:pointer;transform:translateY(-50%);transition:background .2s,color .2s}.viewer-nav:hover,.viewer-nav:focus-visible{background:#c02a24;color:var(--white)}.viewer-nav span{font-size:1.3rem;line-height:1}.viewer-prev{left:clamp(12px,3vw,44px)}.viewer-next{right:clamp(12px,3vw,44px)}.swipe-hint{display:none}.instagram-icon{width:42px;height:42px;display:grid!important;place-items:center;border:1px solid currentColor;text-decoration:none!important;transition:background .2s,color .2s}.instagram-icon:hover{background:var(--white);color:var(--ink)}.instagram-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.instagram-icon .dot{fill:currentColor;stroke:none}@media(max-width:900px){.menu-button{display:flex}.site-header nav{position:fixed;inset:var(--header-h) 0 0;display:flex;visibility:hidden;pointer-events:none;flex-direction:column;align-items:flex-start;gap:0;padding:35px 22px;background:var(--ink);transform:translate(100%);transition:transform .45s var(--ease),visibility 0s .45s}.site-header nav.open{visibility:visible;pointer-events:auto;transform:translate(0);transition-delay:0s}.site-header nav a{width:100%;padding:18px 0;border-bottom:1px solid var(--line-dark);font:650 clamp(1.8rem,8vw,3.5rem)/1 var(--font-display);font-stretch:112.5%;text-transform:uppercase}.site-header .nav-cta{border-width:0 0 1px;padding:18px 0}.site-header .language{font:600 1rem var(--font-body);text-transform:none}.hero-shade{background:linear-gradient(0deg,#050809d4,#0508090d 75%)}.hero-copy{padding-bottom:110px}.photo-card{grid-column:span 4}.photo-card:nth-child(9n+1),.photo-card:nth-child(9n+6){grid-column:span 8}.others-empty{grid-template-columns:1fr;align-content:space-between}.about{grid-template-columns:1fr}.about-image{height:125vw;max-height:780px}.process ol{grid-template-columns:repeat(2,1fr)}.faq{grid-template-columns:1fr}.contact-copy>div{grid-template-columns:1fr;align-items:start}.site-footer{grid-template-columns:1fr 1fr}.footer-links{align-items:flex-end}.site-footer>div:nth-child(2){grid-column:1/-1;grid-row:2}.credit{grid-column:1/-1}.scroll-cue{display:none}}@media(max-width:820px){.service-list{grid-template-columns:1fr}.service-list article{min-height:260px}}@media(max-width:620px){:root{--header-h:70px}.logo{width:160px}.section{padding-top:82px;padding-bottom:82px}.section-intro{display:block}.section-intro>p{margin-top:22px}.services .section-intro h2{font-size:clamp(2.2rem,10vw,3rem);letter-spacing:-.03em}.hero h1{max-width:100%;font-size:clamp(2.65rem,12.5vw,3.7rem);letter-spacing:-.04em}.hero-actions{align-items:flex-start;flex-direction:column}.portfolio-preview-copy h2{font-size:clamp(2.3rem,11vw,3.2rem)}.photo-card,.photo-card:nth-child(9n+1),.photo-card:nth-child(9n+6){grid-column:span 6;aspect-ratio:4/5}.photo-card:nth-child(8n+1){grid-column:span 12;aspect-ratio:16/10}.photo-card span{font-size:.52rem}.service-list article{min-height:230px}.process ol{grid-template-columns:1fr}.process li+li{padding-left:0;border-left:0}.process li{min-height:220px}.process li h3{margin-top:55px}.contact-copy h2{font-size:clamp(2.7rem,14vw,4.2rem)}.site-footer{grid-template-columns:1fr}.site-footer>div:nth-child(2){grid-column:auto;grid-row:auto}.footer-links{align-items:flex-start}.credit{text-align:left}}.contact{min-height:unset}.contact-copy{padding-top:clamp(100px,12vw,180px);padding-bottom:clamp(90px,10vw,150px)}.contact-copy>.contact-intro{display:grid;grid-template-columns:minmax(0,560px) auto;gap:40px;align-items:end}.contact-intro>div{display:flex;flex-direction:column;gap:10px;align-items:flex-end;font-size:.8rem}.contact-intro a{text-decoration:underline;text-underline-offset:4px}.enquiry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;margin-top:55px;padding-top:35px;border-top:1px solid rgba(255,255,255,.3)}.enquiry label{display:flex;flex-direction:column;gap:10px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.enquiry .wide{grid-column:1/-1}.enquiry input,.enquiry select,.enquiry textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.38);border-radius:0;background:transparent;color:var(--white);padding:12px 0;font-size:1rem;outline:none}.enquiry select{color-scheme:dark}.enquiry textarea{resize:vertical;min-height:130px}.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus{border-color:var(--white)}.form-end{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:25px}.form-end button{min-height:52px;border:1px solid var(--white);background:var(--white);color:var(--ink);padding:0 22px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:12px}.form-end button:hover{background:transparent;color:var(--white)}.form-end p{max-width:42ch;margin:0;color:var(--muted-dark);font-size:.72rem;line-height:1.5}.enquiry .form-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-end button:disabled{opacity:.65;cursor:wait}.form-end button[data-state=success]{opacity:1;cursor:default;background:transparent;color:var(--white)}.form-end p[data-state=success]{max-width:48ch;padding:12px 14px;border:1px solid oklch(70% .11 155);background:#163824;color:var(--white);font-size:.78rem;font-weight:700}.form-end p[data-state=error]{color:#f27570}@media(max-width:900px){.contact-copy>.contact-intro{grid-template-columns:1fr;align-items:start}.contact-intro>div{align-items:flex-start}}@media(max-width:620px){.enquiry{grid-template-columns:1fr}.enquiry .wide,.form-end{grid-column:1}.form-end{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.lightbox-bar{height:62px;grid-template-columns:1fr auto auto;gap:14px;padding:0 12px}.lightbox-bar>div span{display:none}.lightbox-bar p{font-size:.58rem;letter-spacing:.12em}.viewer-close{width:44px;height:44px;justify-content:center;font-size:0}.viewer-close span{font-size:1.5rem}.lightbox-stage{height:calc(100dvh - 62px);display:block;padding:8px 0 78px}.viewer-peek{display:none}.viewer-main{height:100%}.viewer-main figcaption{right:12px;bottom:10px;max-width:calc(100% - 24px);font-size:.58rem;text-align:left}.viewer-nav{top:auto;bottom:14px;width:52px;height:52px;transform:none}.viewer-prev{left:12px}.viewer-next{right:12px}.swipe-hint{position:fixed;z-index:4;left:50%;bottom:31px;display:block;width:max-content;max-width:calc(100vw - 150px);margin:0;color:var(--muted-dark);font-size:.54rem;letter-spacing:.1em;text-align:center;text-transform:uppercase;transform:translate(-50%);pointer-events:none}}.gallery-grid[hidden],.gallery-progress[hidden],.business-projects[hidden],.project-panel[hidden]{display:none}.photo-card,.photo-card:nth-child(9n+1),.photo-card:nth-child(9n+6),.photo-card:nth-child(7n+3){align-self:start;aspect-ratio:auto}.photo-card img{width:100%;height:auto;object-fit:contain}.portfolio-continue{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:clamp(38px,6vw,78px);padding:18px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);color:var(--white);font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;transition:color .2s,border-color .2s}.portfolio-continue:hover,.portfolio-continue:focus-visible{color:#c02a24;border-color:#c02a24}.portfolio-continue i{font-style:normal;font-size:1rem}.business-projects{display:grid;gap:clamp(28px,5vw,70px)}.business-projects-intro{display:grid;grid-template-columns:minmax(160px,.5fr) minmax(0,1fr);gap:clamp(28px,6vw,90px);padding:0 0 28px;border-bottom:1px solid var(--line-dark)}.business-projects-intro span{color:var(--muted-dark);font-size:.62rem;letter-spacing:.1em}.business-projects-intro p{max-width:58ch;margin:0;color:var(--muted-dark);line-height:1.7}.business-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(38px,6vw,90px) clamp(18px,3vw,44px)}.business-project{min-width:0;padding:0;border:0;background:transparent;color:var(--white);text-align:left;cursor:pointer}.business-project img{width:100%;height:auto;object-fit:contain;background:var(--ink-soft);transition:filter .35s,transform .7s var(--ease)}.business-project:hover img{filter:saturate(1.08);transform:scale(.99)}.business-project>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 22px;padding:20px 0;border-bottom:1px solid var(--line-dark)}.business-project small{grid-column:1/-1;color:var(--muted-dark);font-size:.6rem;letter-spacing:.09em;text-transform:uppercase}.business-project strong{min-width:0;font:650 clamp(1.45rem,2.6vw,2.7rem)/1 var(--font-display);font-stretch:112.5%;letter-spacing:-.025em;text-transform:uppercase;overflow-wrap:break-word}.business-project em{grid-column:1;font-style:normal;color:var(--muted-dark);font-size:.82rem;line-height:1.6}.business-project b{grid-column:2;grid-row:2/4;align-self:end;font-size:.7rem;white-space:nowrap}.section-intro>*{min-width:0}.section-intro h2,.contact-copy h2,.about-copy blockquote{max-width:100%;overflow-wrap:break-word}.project-portfolio{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--ink);color:var(--white);overflow:hidden}.project-portfolio::backdrop{background:#000000f0}.project-portfolio-bar{position:relative;z-index:2;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,3vw,44px);border-bottom:1px solid var(--line-dark);background:#090b0cf7}.project-portfolio-bar>div{display:flex;align-items:center;gap:12px;min-width:0}.project-portfolio-bar i{width:8px;height:8px;flex:0 0 auto;background:#c02a24}.project-portfolio-bar strong{font-family:var(--font-display);font-size:.78rem;letter-spacing:.18em}.project-portfolio-bar>div span{color:var(--muted-dark);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.project-portfolio-bar button{min-height:44px;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--white);padding:0;cursor:pointer;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}.project-portfolio-bar button:hover,.project-portfolio-bar button:focus-visible{color:#c02a24}.project-portfolio-bar button span{font-size:1.35rem;font-weight:300;line-height:1}.project-portfolio-scroll{height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain}.project-panel{padding:clamp(55px,8vw,120px) clamp(18px,5vw,80px) 100px}.project-panel-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(34px,7vw,110px);align-items:end;margin-bottom:clamp(45px,7vw,90px);padding-bottom:30px;border-bottom:1px solid var(--line-dark)}.project-panel-intro>div{min-width:0}.project-panel-intro span,.project-panel-intro small{color:var(--muted-dark);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.project-panel-intro h2{max-width:12ch;margin:22px 0 0;font-size:clamp(2.8rem,6vw,6rem);font-weight:650;line-height:.9;letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:break-word}.project-panel-intro p{max-width:52ch;margin:0 0 20px;color:var(--muted-dark);line-height:1.7}.project-photo-grid{columns:3 280px;column-gap:clamp(8px,1.2vw,18px)}.project-photo-grid figure{position:relative;margin:0 0 clamp(8px,1.2vw,18px);break-inside:avoid;background:var(--ink-soft)}.project-photo-grid img{width:100%;height:auto;object-fit:contain}.project-photo-grid figcaption{position:absolute;right:8px;bottom:8px;max-width:calc(100% - 16px);padding:5px 7px;background:#050809c7;font-size:.54rem;letter-spacing:.06em;text-transform:uppercase}@media(max-width:1050px){.section-intro{align-items:start;flex-direction:column}.section-intro>p{max-width:65ch}.business-project-grid{row-gap:48px}}@media(max-width:900px){.portfolio-preview{grid-template-columns:1fr}}@media(max-width:900px){.project-panel-intro{grid-template-columns:1fr}.project-photo-grid{columns:2 240px}}@media(max-width:700px){.business-projects-intro,.business-project-grid{grid-template-columns:1fr}.business-project>span{grid-template-columns:1fr}.business-project b{grid-column:1;grid-row:auto;margin-top:10px}.photo-card,.photo-card:nth-child(9n+1),.photo-card:nth-child(9n+6),.photo-card:nth-child(7n+3),.photo-card:nth-child(8n+1){aspect-ratio:auto}.photo-card img{height:auto;object-fit:contain}.project-portfolio-bar{height:62px;padding:0 14px}.project-portfolio-bar>div span{display:none}.project-portfolio-bar button{font-size:0}.project-portfolio-bar button span{font-size:1.45rem}.project-portfolio-scroll{height:calc(100dvh - 62px)}.project-panel{padding:52px 12px 70px}.project-panel-intro{padding:0 6px 24px}.project-panel-intro h2{font-size:clamp(2.45rem,13vw,4rem)}.project-photo-grid{columns:1}.project-photo-grid figure{margin-bottom:12px}}.gallery-grid{--gallery-gap:clamp(6px,1vw,14px);display:flex;flex-direction:column;gap:var(--gallery-gap)}.gallery-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gallery-gap);width:100%}.gallery-row[hidden],.gallery-grid .photo-card[hidden]{display:none}.photo-card,.photo-card:nth-child(9n+1),.photo-card:nth-child(9n+6),.photo-card:nth-child(7n+3),.photo-card:nth-child(8n+1){display:block;grid-column:auto;width:100%;min-width:0;margin:0;aspect-ratio:3/2;overflow:hidden;background:transparent;line-height:0}.photo-card.photo-card--banner{grid-column:1/-1;width:100%;aspect-ratio:2/1;overflow:hidden}.photo-card.photo-card--banner img{width:100%;height:100%;object-fit:cover}.photo-card img{display:block;width:100%;height:100%;object-fit:cover}.contact-copy h2{overflow-wrap:normal;word-break:normal;hyphens:none}@media(max-width:900px){.faq-heading,.faq-group,.faq-final{grid-template-columns:1fr}.faq-group>header{max-width:34rem}.faq-final{align-items:start}.faq-final a{justify-self:start}}@media(max-width:760px){.gallery-grid{--gallery-gap:8px}.gallery-row{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-card,.photo-card:nth-child(9n+1),.photo-card:nth-child(9n+6),.photo-card:nth-child(7n+3),.photo-card:nth-child(8n+1){width:100%;aspect-ratio:3/2}.photo-card img{height:100%;object-fit:cover}.photo-card.photo-card--banner{width:100%;aspect-ratio:2/1}.gallery-progress{align-items:stretch;flex-direction:column}.gallery-progress button{width:100%;justify-content:space-between}.portfolio-continue{margin-top:30px;padding:20px 0}}@media(max-width:620px){.contact-copy h2{max-width:12ch;font-size:clamp(2.15rem,10.5vw,3.2rem);line-height:.95;letter-spacing:-.025em}.faq-heading h2{font-size:clamp(2.2rem,10vw,3.1rem)}.faq-group{gap:26px;padding:34px 0}.faq-group h3{font-size:clamp(1.55rem,8vw,2.25rem)}.faq summary{padding:20px 0}.faq details p{padding-right:0}.faq-final{padding:32px 22px}.faq-final h3{font-size:clamp(2rem,9vw,2.85rem)}}@media(max-width:700px){.mobile-arrow{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
