@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f3f1eb;--ink:#272921;--muted:#74766b;--line:#cecec2;--accent:#c7ccaf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}header{margin:0 4%;height:106px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.logo{font-family:'Manrope',sans-serif;font-size:43px;font-weight:800;letter-spacing:-3px}.logo span{font:12px 'DM Sans';vertical-align:top;display:inline-block;margin:12px 0 0 5px;letter-spacing:0}.header-note,.eyebrow,.years{font-size:10px;letter-spacing:1.5px;font-weight:500}nav{display:flex;gap:35px;font-size:12px}sup{font-size:9px;margin-left:4px}.intro{padding:35px 4% 40px}.intro>.eyebrow{display:flex;justify-content:space-between}h1{font-family:'Manrope',sans-serif;letter-spacing:-9px;line-height:.98;font-size:clamp(80px,10.8vw,170px);font-weight:500;margin:44px 0 0;position:relative}em{font-family:Georgia,serif;font-weight:400}h1 em{display:inline-block;margin-left:23%}.intro-copy{position:absolute;left:68%;bottom:14px;font:14px/1.7 'DM Sans';letter-spacing:0}.hero{margin:0 2%;height:620px;max-height:74vh;min-height:390px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,#0009)}.hero-caption{position:absolute;bottom:45px;left:35px;color:white}.hero-caption>span{font-size:10px;letter-spacing:1.6px}.hero-caption h2{font-size:37px;font-weight:400;letter-spacing:-1px;margin:15px 0 8px}.hero-caption p{font-size:12px;margin:0;color:#ddd}.circle{position:absolute;right:40px;bottom:40px;border:1px solid #fffa;border-radius:100%;width:65px;height:65px;background:transparent;color:white;font-size:30px;transition:.3s}.circle:hover{background:var(--paper);color:var(--ink);transform:rotate(45deg)}.vertical{position:absolute;right:28px;top:30px;writing-mode:vertical-rl;color:white;font-size:9px;letter-spacing:2px}.statement{padding:130px 6%;display:grid;grid-template-columns:1fr 2.1fr;gap:40px}.statement>.eyebrow{padding-top:15px}h2{font-family:'Manrope',sans-serif;font-weight:400;font-size:clamp(38px,4.4vw,68px);line-height:1.14;letter-spacing:-2.7px;margin:0}.statement-bottom{display:flex;align-items:flex-end;gap:55px;margin-top:35px}.statement p,.philosophy p{font-size:14px;line-height:1.9;color:var(--muted);max-width:350px;margin:0}.text-link{display:flex;justify-content:space-between;align-items:center;font-size:11px;border-bottom:1px solid var(--ink);padding:0 0 10px;gap:30px;white-space:nowrap}.text-link span{font-size:23px}.work{padding:30px 4% 110px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end}.section-heading h2{margin-top:23px;font-size:70px}.years{padding-bottom:8px}.filters{display:flex;gap:25px;border-top:1px solid var(--line);padding:23px 0;margin-top:35px}.filters button{padding:7px 0;border:0;background:none;font-size:11px;color:var(--muted)}.filters button.active{color:var(--ink);box-shadow:0 1px var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 28px}.project-card{border:0;background:none;padding:0;text-align:left;display:block;width:100%}.project-card:nth-child(even){margin-top:90px}.project-photo{overflow:hidden;aspect-ratio:1.25;background:#ddd}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-card:hover img{transform:scale(1.035)}.project-info{display:flex;justify-content:space-between;padding-top:18px;align-items:center}.project-info h3{font-size:21px;font-weight:400;letter-spacing:-.6px;margin:0 0 8px}.project-info p{font-size:10px;color:var(--muted);margin:0}.project-info>span{font-size:25px}.philosophy{background:#e6e7de;display:grid;grid-template-columns:1fr 1fr;padding:65px 6%;gap:10%;align-items:center}.material-image{height:570px}.material-image img{height:100%;width:100%;object-fit:cover}.philosophy-text h2{margin:35px 0;font-size:64px}.philosophy-text .text-link{margin-top:40px;max-width:320px}footer{padding:90px 4% 22px}.contact-title{display:block;font-family:'Manrope',sans-serif;font-size:clamp(75px,11vw,160px);letter-spacing:-7px;line-height:1.05;margin:35px 0 80px;position:relative}.contact-title em{margin-left:18%}.contact-title>span{position:absolute;right:5%;top:20px;font-size:130px;font-weight:400}.footer-bottom{border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;align-items:center}.footer-bottom>span,.footer-bottom>a:not(.logo){font-size:11px}.demo-note{font-size:10px;color:var(--muted);line-height:1.6;border-top:1px solid var(--line);padding-top:15px}dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-width:1000px;width:90vw;max-height:90vh}dialog::backdrop{background:#161811bc;backdrop-filter:blur(5px)}dialog>img{width:100%;height:50vh;object-fit:cover;display:block}.close{position:absolute;right:16px;top:16px;background:var(--paper);border:0;padding:12px 18px}.detail-content{padding:35px}.detail-content h2{margin:20px 0;font-size:44px}.detail-content p{line-height:1.8;color:var(--muted);max-width:650px}.detail-content>.eyebrow:last-child{display:block;margin-top:30px}a:focus-visible,button:focus-visible{outline:2px solid #717b45;outline-offset:6px}section,footer{scroll-margin-top:25px}@media(min-width:1600px){body{max-width:1900px;margin:auto}}@media(max-width:760px){header{height:85px}.header-note{display:none}nav{gap:18px;font-size:10px}.logo{font-size:35px}.intro{padding-top:25px}.intro>.eyebrow{font-size:8px;letter-spacing:1px}h1{letter-spacing:-5px;margin-top:45px;font-size:20vw}h1 em{margin-left:15%}.intro-copy{position:static;display:block;font-size:12px;line-height:1.5;margin:30px 0 0 40%}.hero{min-height:470px;max-height:65vh}.hero-caption{left:22px;bottom:28px}.hero-caption h2{font-size:27px}.circle{right:22px;bottom:28px;width:45px;height:45px;font-size:24px}.statement{padding:75px 6%;grid-template-columns:1fr;gap:30px}h2{letter-spacing:-1.8px}.statement-bottom{display:block}.statement-bottom .text-link{margin-top:25px;max-width:250px}.work{padding-bottom:65px}.section-heading h2{font-size:48px}.years{font-size:8px}.filters{gap:20px;overflow:auto}.filters button{white-space:nowrap}.project-grid{gap:35px;grid-template-columns:1fr}.project-card:nth-child(even){margin-top:0}.philosophy{grid-template-columns:1fr;gap:45px;padding:35px 6% 55px}.material-image{height:380px}.philosophy-text h2{font-size:52px}.contact-title{letter-spacing:-4px;margin-bottom:50px}.contact-title>span{font-size:65px;right:0}.footer-bottom{flex-wrap:wrap;gap:25px}.footer-bottom>span:nth-child(2){display:none}footer{padding-top:65px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}



.gallery{position:relative;background:#d4d2c8}.gallery-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain}.gallery-track::-webkit-scrollbar{display:none}.gallery-track.dragging{scroll-snap-type:none;cursor:grabbing}.gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.gallery-slide img{display:block;width:100%;height:50vh;min-height:280px;object-fit:cover;user-select:none}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #ffffff70;border-radius:50%;width:42px;height:42px;background:#1115;color:white;font-size:22px;backdrop-filter:blur(8px)}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-arrow:disabled{opacity:.25;cursor:default}.gallery-counter{position:absolute;bottom:15px;right:20px;color:white;font-size:11px;background:#0005;padding:6px 10px;border-radius:20px}.gallery-dots{display:flex;justify-content:center;gap:12px;padding:15px 0 0}.gallery-dots button{width:24px;height:24px;position:relative;border:0;background:transparent;padding:0}.gallery-dots button:after{content:"";width:6px;height:6px;border-radius:50%;position:absolute;inset:9px;background:#b9b9ae}.gallery-dots button.selected:after{background:#272921;transform:scale(1.35)}#project-dialog .close{background:transparent;z-index:5;color:#fff;text-shadow:0 1px 5px #000,0 0 12px #0009;font-weight:500}.detail-content{padding-top:20px}
/* DigiStrikes portfolio, using the architectural studio design system. */
.circle{display:grid;place-items:center}.projects{display:grid;grid-template-columns:1fr 1fr;gap:65px 28px}.project{min-width:0}.project[hidden]{display:none}.project:nth-child(even){margin-top:90px}.project-image{position:relative;aspect-ratio:1.25;overflow:hidden;padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:filter .3s}.project:hover .project-image{filter:brightness(.95)}.project-image img{width:100%;height:55%;object-fit:cover;display:block}.mock-nav{font-size:24px;font-weight:600;letter-spacing:-1px}.mock-nav span{float:right;font-size:8px;letter-spacing:1px;padding-top:9px}.mock-title{font-size:clamp(32px,4vw,62px);line-height:1;letter-spacing:-2px;margin:15px 0}.architecture{background:#e6e3d9}.architecture .mock-title i{margin-left:20%;font-family:Georgia,serif;font-weight:400}.open{position:absolute;bottom:20px;right:20px;width:42px;height:42px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:23px;background:#f3f1ebc9;color:var(--ink)}.preview-label,.project-wordmark{font-size:9px;letter-spacing:1.6px}.project-image strong{font-family:'Manrope',sans-serif;font-size:clamp(34px,4.7vw,74px);line-height:1.05;letter-spacing:-2px;font-weight:500}.project-image strong i{font-family:Georgia,serif;font-weight:400}.barber{background:#34372e;color:#f3f1eb}.garden{background:#dce0d2;color:#3a4531}.master{background:#dadbd8;color:#333a40}.master strong{font-size:clamp(30px,3.8vw,58px)}.master strong span{display:block;margin-top:20px}.wine{background:#573d3c;color:#f1e9dc}.wine strong span{font-size:15px;vertical-align:top}.project-caption{display:flex;justify-content:space-between;gap:20px;padding-top:18px;align-items:baseline}.project-caption h3{font-size:20px;font-weight:400;letter-spacing:-.6px;margin:0}.project-caption>span{font-size:8px;letter-spacing:.7px;color:var(--muted);text-align:right}.work-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:40px}.service-list{margin-top:30px}.service-list>div{border-top:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:17px 0}.service-list span{font-size:10px}.service-list span:last-child{margin-left:auto;font-size:20px}.service-list h3{font-size:13px;font-weight:400;margin:0}.contact-details{display:flex;gap:35px;flex-wrap:wrap;font-size:11px;margin-bottom:35px}.contact-title{font-size:clamp(65px,10vw,150px)}
@media(max-width:760px){header .logo{font-size:27px;letter-spacing:-1.8px}nav{gap:12px;font-size:10px}.projects{grid-template-columns:1fr;gap:35px}.project:nth-child(even){margin-top:0}.project-image strong{font-size:54px}.mock-title{font-size:48px}.project-caption h3{font-size:18px}.project-caption>span{max-width:120px;line-height:1.6}.contact-title{font-size:14vw}.contact-title>span{font-size:45px}.intro>.eyebrow span:last-child{display:none}.philosophy-text h2{font-size:48px}.contact-details{gap:20px}.project-image{padding:25px}}
.scroll-film{height:360vh;height:360svh;margin:0 2%;position:relative;background:#101714;color:#fff}.film-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.film-stage video{display:block;width:100%;height:100%;object-fit:cover}.film-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0005,transparent 30%,transparent 65%,#0009)}.film-top,.film-bottom{position:absolute;left:3%;right:3%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:1.5px}.film-top{top:30px}.film-top h1{font:inherit;text-transform:uppercase;margin:0;letter-spacing:inherit;line-height:1.5}.film-bottom{bottom:30px}.film-bottom a{font-size:12px;letter-spacing:0}.film-progress{width:15%;height:2px;background:#ffffff40}.film-progress i{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}.film-error{position:absolute;top:45%;width:100%;text-align:center;font-size:14px}.film-error[hidden]{display:none}.film-error a{text-decoration:underline}@media(max-width:760px){.film-top>span{display:none}.film-top,.film-bottom{left:6%;right:6%;font-size:8px}.film-bottom{flex-wrap:wrap}.film-progress{width:100%}.scroll-film{height:300svh}}@media(prefers-reduced-motion:reduce){.scroll-film{height:auto}.film-stage{position:relative;height:75svh}.film-stage video{object-fit:contain}.film-progress{display:none}}
/* DigiStrikes black and electric blue identity. */
:root{--paper:#030609;--ink:#f2f5fa;--muted:#a1acbd;--line:#223044;--accent:#0783ff}body{background:var(--paper)}.scroll-film{margin:0;background:#000}.video-header{position:absolute;z-index:3;top:0;left:0;right:0;margin:0;height:100px;padding:0 4%;background:#000;border-bottom:1px solid #1a2637}.image-logo{display:block;position:relative;width:240px;height:66px;overflow:hidden;flex-shrink:0}.image-logo img{position:absolute;width:350px;max-width:none;height:auto;left:-54px;top:-22px}.video-header nav{align-items:center;font-size:12px;gap:32px}.video-header nav a{transition:color .2s}.video-header nav a:hover{color:#2697ff}.nav-contact{border:1px solid #267ed1;border-radius:30px;padding:12px 20px}.film-stage video{position:absolute;top:100px;height:calc(100% - 100px)}.film-shade{top:100px;background:linear-gradient(90deg,#0008,#00102055,#0008),linear-gradient(0deg,#02080de6,transparent 45%,#00172d55)}.film-copy{position:absolute;z-index:2;top:calc(50% + 35px);left:50%;transform:translate(-50%,-50%);width:90%;max-width:1050px;text-align:center}.film-badge{display:inline-block;padding:10px 17px;background:#0879e8;border:1px solid #4ba3ff;border-radius:30px;font-size:11px;font-weight:600;letter-spacing:.4px}.film-copy h1{font-family:'Manrope',sans-serif;font-size:clamp(35px,5.4vw,80px);font-weight:500;letter-spacing:-3px;line-height:1.12;margin:24px 0}.film-copy h1 em{margin:0;color:#4da9ff;font-family:inherit;font-style:normal;font-weight:500}.film-copy p{font-size:15px;line-height:1.7;max-width:540px;margin:0 auto;color:#d1dce9}.film-cta{display:inline-flex;gap:35px;align-items:center;background:#0783ff;border:1px solid #7ec3ff;border-radius:30px;padding:14px 24px;font-size:13px;font-weight:600;margin-top:28px}.film-cta:hover{background:#0064ce}.film-bottom{z-index:2}.film-progress i{background:#0783ff}.philosophy{background:#080f1b}.philosophy-text em,.statement em,.section-heading em,.contact-title em{color:#389bff}.architecture{background:#101d30}.barber{background:#0c1623;color:var(--ink)}.garden{background:#10263c;color:var(--ink)}.master{background:#152034;color:var(--ink)}.wine{background:#071d37;color:var(--ink)}.open{background:#061425d9;color:#eaf4ff;border-color:#4389cb}.service-list>div{border-color:#28374b}.service-list>div>span{color:#389bff}a:focus-visible,button:focus-visible{outline-color:#48a5ff}.footer-bottom{gap:22px}.hero{margin-top:32px}.text-link{border-color:#368fe2}.filters button.active{color:#54adff;box-shadow:0 1px #54adff}.contact-details a:hover{color:#54adff}
@media(max-width:760px){.video-header{height:116px;padding:5px 5% 12px;flex-direction:column;justify-content:center;gap:0}.video-header .image-logo{width:210px;height:62px}.video-header .image-logo img{left:-64px;top:-23px}.video-header nav{width:100%;justify-content:center;gap:20px;font-size:10px}.nav-contact{padding:7px 10px}.film-stage video{top:116px;height:calc(100% - 116px)}.film-shade{top:116px}.film-copy{top:calc(50% + 40px);width:90%}.film-copy h1{font-size:clamp(30px,7.5vw,52px);letter-spacing:-1.3px;margin:18px 0}.film-copy p{font-size:12px;max-width:330px}.film-badge{font-size:9px;padding:8px 13px}.film-cta{margin-top:20px;padding:11px 20px}.film-bottom{bottom:20px}.footer-bottom .image-logo{width:220px}.contact-title{letter-spacing:-3px}}@media(max-width:380px){.video-header nav{gap:12px;font-size:9px}.film-copy h1{font-size:29px}.film-copy p{font-size:11px}}
/* Navigation sits directly over the film. */
.video-header{height:84px;background:transparent;border:0;padding:0 3%;flex-direction:row-reverse;justify-content:space-between;gap:24px}.video-header .image-logo{width:180px;height:52px}.video-header .image-logo img{width:270px;left:-42px;top:-17px}.video-header nav{gap:32px;text-shadow:0 1px 10px #000}.film-stage video{top:0;height:100%}.film-shade{top:0;background:linear-gradient(180deg,#000b,transparent 24%),linear-gradient(90deg,#0007,#00102055,#0007),linear-gradient(0deg,#02080de6,transparent 45%)}.film-copy{top:50%}.film-copy h1{margin-top:0}
@media(max-width:760px){.video-header{height:76px;padding:0 4%;flex-direction:row-reverse;gap:14px}.video-header .image-logo{width:120px;height:42px}.video-header .image-logo img{width:195px;left:-35px;top:-10px}.video-header nav{width:auto;justify-content:flex-start;gap:15px;font-size:10px}.film-stage video{top:0;height:100%}.film-shade{top:0}.film-copy{top:50%}}@media(max-width:380px){.video-header nav{gap:10px;font-size:9px}.video-header .image-logo{width:105px}.video-header .image-logo img{width:175px;left:-32px;top:-7px}}
/* Logo left, navigation right, over the video. */
.video-header{flex-direction:row}@media(max-width:760px){.video-header{flex-direction:row}}
.priority-highlight{color:#389bff}
.project-gallery-trigger{font:inherit;color:inherit;border:0;background:none;padding:0;text-align:left;cursor:pointer;width:100%}.booking-preview{background:#06090e;padding:24px;align-items:center;justify-content:center}.booking-preview img{height:100%;width:100%;object-fit:contain}.project-gallery-trigger .project-caption h3{max-width:360px;line-height:1.4}.project-caption{color:var(--ink)}:is(#work-gallery,#work-gallery-eshop,#work-gallery-informational){width:min(960px,94vw);max-width:960px;max-height:94vh;padding:20px;background:#070c14;border:1px solid #253952;color:#f2f5fa;border-radius:12px;overflow:auto}:is(#work-gallery,#work-gallery-eshop,#work-gallery-informational)::backdrop{background:#000d;backdrop-filter:blur(8px)}.work-gallery-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.work-gallery-top h2{font-size:clamp(17px,2.5vw,26px);letter-spacing:-.5px;line-height:1.4;max-width:650px}.work-gallery-close{white-space:nowrap;background:#14243a;border:1px solid #365273;color:white;border-radius:25px;padding:10px 15px}.work-gallery-images{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:5px;background:#000}.work-gallery-images::-webkit-scrollbar{display:none}.work-gallery-slide{margin:0;flex:0 0 100%;min-width:0;scroll-snap-align:start}.work-gallery-slide img{width:100%;height:62vh;height:62svh;display:block;object-fit:contain}.work-gallery-controls{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:15px}.work-gallery-controls button{border:1px solid #365273;border-radius:50%;width:42px;height:42px;background:#122239;color:white;font-size:22px}.work-gallery-controls button:disabled{opacity:.3;cursor:default}.work-gallery-counter{font-size:12px;min-width:40px;text-align:center}.work-gallery-dots{display:flex;justify-content:center;gap:5px;margin-top:9px}.work-gallery-dots button{background:none;border:0;width:30px;height:30px;position:relative}.work-gallery-dots button:after{content:'';position:absolute;width:6px;height:6px;top:12px;left:12px;border-radius:50%;background:#4d6077}.work-gallery-dots button[aria-current=true]:after{background:#389bff}@media(max-width:760px){:is(#work-gallery,#work-gallery-eshop,#work-gallery-informational){padding:14px}.work-gallery-top{gap:12px}.work-gallery-close{padding:8px 10px;font-size:10px}.work-gallery-slide img{height:60svh}.project-gallery-trigger .project-caption{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.work-gallery-images{scroll-behavior:auto}}
/* Lighter frames separate project previews from the dark page. */
.projects .project-image{border:1px solid #42658a;background:#1c3047;box-shadow:0 8px 28px #0003;border-radius:8px}.projects .booking-preview{padding:24px;background:#263e57}.projects .project:hover .project-image{border-color:#6cb3f5;filter:none;box-shadow:0 8px 30px #0783ff1a}.projects .project-caption{padding:18px 4px 0}@media(max-width:760px){.projects .booking-preview{padding:16px}}
/* Neutral project frames. */
.projects .project-image,.projects .booking-preview{background:#c5c7ca;border-color:#d8dadd;color:#17202a}.projects .project:hover .project-image{border-color:#fff;box-shadow:0 8px 28px #0003}.projects .booking-preview{padding:18px}@media(max-width:760px){.projects .booking-preview{padding:12px}}
/* A closer cover crop with a gentle hover zoom. */
.projects .booking-preview{padding:0;background:#080a0d;border-color:#51565e;isolation:isolate}.projects .booking-preview img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.01);transition:transform .65s cubic-bezier(.2,.65,.3,1)}.projects .project-image .open{z-index:1}.projects .project-image img{transition:transform .65s cubic-bezier(.2,.65,.3,1)}@media(hover:hover) and (pointer:fine){.projects .project:hover .project-image img{transform:scale(1.055)}}.projects .project:focus-visible .project-image img{transform:scale(1.055)}@media(prefers-reduced-motion:reduce){.projects .project-image img{transition:none;transform:none!important}}

/* Gallery controls over the image, with project details below. */
:is(#work-gallery,#work-gallery-eshop,#work-gallery-informational){padding:0;border-radius:8px}.work-gallery-visual{position:relative;background:#000}.work-gallery-close{position:absolute;z-index:3;right:18px;top:12px;border:0;border-radius:0;background:transparent;color:#fff;padding:4px 10px;font-size:32px;line-height:1;text-shadow:0 1px 8px #000}.work-gallery-close:hover{color:#57acff}.work-gallery-images{border-radius:0}.work-gallery-slide img{height:62vh;height:62svh}.work-gallery-controls{position:absolute;inset:0;display:block;margin:0;pointer-events:none}.work-gallery-controls button{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;background:#07101b66;border-color:#ffffff80;backdrop-filter:blur(5px)}.work-gallery-prev{left:18px}.work-gallery-next{right:18px}.work-gallery-controls .work-gallery-counter{position:absolute;bottom:14px;right:18px;min-width:52px;padding:7px 10px;border-radius:20px;background:#0008;color:#fff}.work-gallery-description{padding:22px 32px 32px}.work-gallery-description h2{font-size:clamp(22px,3vw,34px);letter-spacing:-.8px;line-height:1.3;margin:15px 0}.work-gallery-description p{max-width:700px;font-size:14px;line-height:1.85;color:var(--muted);margin:0}.work-gallery-dots{margin-top:10px}@media(max-width:760px){:is(#work-gallery,#work-gallery-eshop,#work-gallery-informational){padding:0}.work-gallery-slide img{height:60svh}.work-gallery-description{padding:18px 22px 25px}.work-gallery-description p{font-size:12px}.work-gallery-close{right:9px;top:10px;padding:4px 10px;font-size:30px}.work-gallery-prev{left:10px}.work-gallery-next{right:10px}.work-gallery-controls button{width:36px;height:36px;font-size:20px}}
/* Slightly wider framing for the main project image. */
.projects .booking-preview img{transform:scale(.95)}@media(hover:hover) and (pointer:fine){.projects .project:hover .booking-preview img{transform:scale(1)}}.projects .project:focus-visible .booking-preview img{transform:scale(1)}
.projects .booking-preview img{transform:scale(.90)}@media(hover:hover) and (pointer:fine){.projects .project:hover .booking-preview img{transform:scale(.95)}}.projects .project:focus-visible .booking-preview img{transform:scale(.95)}
/* Preserve the full screenshot so its text is not cropped. */
.projects .booking-preview img{object-fit:contain;transform:scale(.96)}@media(hover:hover) and (pointer:fine){.projects .project:hover .booking-preview img{transform:scale(1)}}.projects .project:focus-visible .booking-preview img{transform:scale(1)}
/* Restore the original zoomed project cover. */
.projects .booking-preview{padding:0}.projects .booking-preview img{object-fit:cover;transform:scale(1.01)}@media(hover:hover) and (pointer:fine){.projects .project:hover .booking-preview img{transform:scale(1.055)}}.projects .project:focus-visible .booking-preview img{transform:scale(1.055)}
/* Reveal a little more of the screenshot while keeping the frame filled. */
.projects .booking-preview{aspect-ratio:1.4}.projects .booking-preview img{object-fit:cover;transform:scale(1)}@media(hover:hover) and (pointer:fine){.projects .project:hover .booking-preview img{transform:scale(1.035)}}.projects .project:focus-visible .booking-preview img{transform:scale(1.035)}
.project-demo-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.project-demo-links a{display:inline-flex;align-items:center;padding:12px 18px;border:1px solid #368fe2;border-radius:24px;color:#eef7ff;background:#10243c;font-size:12px;transition:background .2s}.project-demo-links a:hover{background:#075aa5}
.conversation-trigger{background:transparent;border:0;border-bottom:1px solid #368fe2;text-align:left;color:var(--ink)}#conversation-box{position:fixed;inset:auto 24px 24px auto;margin:0;width:min(390px,calc(100vw - 32px));max-width:none;max-height:calc(100svh - 48px);padding:0;border:1px solid #2b527b;border-radius:18px;background:#0a111d;color:#f2f5fa;box-shadow:0 20px 80px #0008;overflow:auto}#conversation-box::backdrop{background:#0006}.conversation-header{display:flex;justify-content:space-between;align-items:center;background:#11253d;padding:17px 22px;font-size:14px;font-weight:600}.conversation-close{border:0;background:transparent;color:white;font-size:27px;line-height:1;padding:3px 6px}.conversation-content{padding:24px}.conversation-content h2{font-size:30px;letter-spacing:-1px;margin-bottom:20px}.conversation-message{padding:16px 18px;background:#172438;border-radius:0 15px 15px;font-size:13px;line-height:1.8;margin-bottom:22px}.conversation-message p{margin:0}.conversation-message p+p{margin-top:10px;color:#b8c8dc}.conversation-action{display:flex;flex-direction:column;gap:6px;padding:14px 16px;margin-top:10px;border:1px solid #2c527d;border-radius:10px;font-size:11px;color:#adbed2}.conversation-action strong{font-size:14px;color:#69b7ff;font-weight:500}.conversation-action:hover{background:#11253d}@media(max-width:760px){#conversation-box{right:16px;bottom:16px}.conversation-content{padding:20px}}
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:100;width:62px;height:62px;border-radius:50%;border:1px solid #65b8ff;background:#087fee;color:#fff;display:grid;place-items:center;box-shadow:0 5px 24px #0007;cursor:pointer;transition:background .2s,transform .2s}.chat-launcher svg{width:34px;height:34px}.chat-launcher:hover{background:#0066cc;transform:translateY(-2px)}.chat-launcher:focus-visible{outline:2px solid #fff;outline-offset:4px}#conversation-box{bottom:100px;max-height:calc(100svh - 124px)}@media(max-width:760px){.chat-launcher{right:16px;bottom:16px;width:56px;height:56px}.chat-launcher svg{width:30px;height:30px}#conversation-box{bottom:84px;max-height:calc(100svh - 108px)}}


/* Slightly smaller contact lettering, preserving the existing design. */
footer .contact-title{font-size:clamp(62px,9.4vw,141px)}@media(max-width:760px){footer .contact-title{font-size:13.2vw}}
/* Keep the full wordmark inside its clipping frame. */
.image-logo img{width:320px;left:-40px;top:-17px}.video-header .image-logo img{width:240px;left:-30px;top:-12px}@media(max-width:760px){.video-header .image-logo img{width:160px;left:-20px;top:-4px}}@media(max-width:380px){.video-header .image-logo img{width:140px;left:-17px;top:-1px}}
/* Larger wordmark with enough room for the final letter. */
.video-header .image-logo{width:210px;height:58px}.video-header .image-logo img{width:275px;left:-34px;top:-14px}.footer-bottom .image-logo{width:265px;height:72px}.footer-bottom .image-logo img{width:350px;left:-43px;top:-18px}@media(max-width:760px){.video-header .image-logo{width:140px;height:46px}.video-header .image-logo img{width:185px;left:-23px;top:-6px}}@media(max-width:380px){.video-header .image-logo{width:125px}.video-header .image-logo img{width:165px;left:-20px;top:-3px}}

.projects .eshop-preview{padding:0;background:#f4f8fb;isolation:isolate}.projects .eshop-preview img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
/* A slightly wider view of the eshop cover. */
.projects .eshop-preview{aspect-ratio:1.4}.projects .eshop-preview img{transform:scale(1)}@media(hover:hover) and (pointer:fine){.projects .project:hover .eshop-preview img{transform:scale(1.035)}}
.projects .eshop-preview img{object-position:30% center}

.projects .informational-preview{padding:0;aspect-ratio:1.4;background:#14261b;isolation:isolate}.projects .informational-preview img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
/* Keep the mobile footer on a single row with a smaller logo. */
@media(max-width:760px){.footer-bottom{flex-wrap:nowrap;gap:12px}.footer-bottom .image-logo{width:135px;height:42px;flex-shrink:0}.footer-bottom .image-logo img{width:175px;left:-22px;top:-6px}.footer-bottom>span:last-child{font-size:9px;white-space:nowrap}.footer-bottom>a:not(.logo){font-size:9px;white-space:nowrap}.footer-bottom>a:not(.logo){order:3}.footer-bottom>span:last-child{order:2}}@media(max-width:380px){.footer-bottom{gap:8px}.footer-bottom .image-logo{width:110px;height:36px}.footer-bottom .image-logo img{width:145px;left:-18px;top:-4px}.footer-bottom>span:last-child,.footer-bottom>a:not(.logo){font-size:8px}}
.video-header nav{font-size:14px}@media(max-width:760px){.video-header nav{font-size:12px}}@media(max-width:380px){.video-header nav{font-size:11px}}
/* Services without the stock photograph. */
.philosophy{display:block}.philosophy-text{max-width:900px;margin:0 auto}.philosophy-text .service-list{max-width:650px}.philosophy-text h2{margin-top:30px}
.line-arrow{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.2em;flex-shrink:0}.projects .project-image .open{border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;color:white;filter:drop-shadow(0 1px 3px #000);width:36px;height:36px}.projects .project-image .open svg{width:26px;height:26px}.contact-title>span .line-arrow{width:1em;height:1em}.work-gallery-controls button{border:0;border-radius:0;background:transparent;backdrop-filter:none;filter:drop-shadow(0 1px 3px #000)}
.film-start{position:absolute;z-index:4;bottom:85px;left:50%;transform:translateX(-50%);padding:11px 18px;border:1px solid #6dbaff;border-radius:24px;background:#08213de8;color:#fff;font-size:12px}.film-start[hidden]{display:none}
