@font-face{font-family:Suisse;src:url('/assets/SuisseIntl-Medium.woff') format('woff');font-weight:500;font-display:swap}@font-face{font-family:Suisse;src:url('/assets/SuisseIntl-Regular.woff') format('woff');font-weight:400;font-display:swap}
:root{--grey:#6b6b6b;--white:#fff}*{box-sizing:border-box}html{font-family:Suisse,Arial,sans-serif;font-weight:400;font-synthesis:none;background:var(--white);color:var(--grey)}body{margin:0;font-size:15px;line-height:1.18}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:3px}img{display:block;max-width:100%;height:auto}h1,h2,p{font-size:inherit;margin:0;font-weight:400}h1,h2{font-weight:500}p+p{margin-top:18px}nav{position:absolute;right:20px;top:24px;z-index:2;display:flex;align-items:flex-end;flex-direction:column;color:var(--white);font-weight:400;line-height:1.15}nav a{padding:1px 0}nav [aria-current=page]{text-decoration:underline;text-underline-offset:3px}.hero{position:relative;height:74.1svh;min-height:360px;background:var(--grey)}.intro{min-height:25.9svh;display:flex;gap:36px;padding:46px 22px 40px;align-items:flex-start}.home-logo{flex:0 0 216px}.intro-copy{max-width:420px}.intro-copy h1{line-height:1.18}.intro-copy p{line-height:1.18}.split{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}.brand-panel{height:100svh;position:sticky;top:0;display:flex;align-items:center;justify-content:center;padding:7vw}.brand-panel a{display:block;width:100%;max-width:600px}.text-panel{background:var(--grey);color:var(--white);padding:130px 7vw 64px;text-align:center;min-height:100svh}.page-copy{max-width:480px;margin:0 auto}.page-copy>h1{margin-bottom:48px}.opening{margin-bottom:38px}.step{margin-bottom:28px}.step h2{margin-bottom:9px}.text-panel p{line-height:1.35}.next{display:inline-block;margin-top:12px}.text-link{font-weight:400;text-decoration:underline;text-underline-offset:4px}.contact{display:flex;align-items:center}.contact .page-copy{width:100%;padding-bottom:40px}.contact h1{margin-bottom:42px}.email{font-weight:400;display:inline-block;font-size:clamp(18px,1.7vw,26px);margin:36px 0;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}.enquiry-guide{margin-bottom:36px}.skip{position:fixed;left:16px;top:-100px;padding:12px;background:white;color:var(--grey);z-index:20}.skip:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1800px){body{font-size:18px}.home-logo{flex-basis:280px}.intro-copy{max-width:540px}.intro{gap:50px;padding-top:52px}}
@media(max-width:760px){body{font-size:15px}nav{top:20px;right:20px;line-height:1.25}nav a{padding:5px 0}.hero{height:64svh;min-height:300px}.intro{min-height:36svh;padding:30px 20px 36px;gap:28px;flex-direction:column}.home-logo{flex:auto;width:150px}.intro-copy{max-width:430px}.intro-copy p{line-height:1.3}.split{display:flex;flex-direction:column}.brand-panel{position:relative;order:0;top:auto;height:300px;min-height:36svh;padding:90px 20px 35px;justify-content:flex-start}.brand-panel a{width:210px;max-width:65vw}.inner nav{color:var(--grey)}.text-panel{order:1;min-height:64svh;padding:44px 26px 52px}.page-copy{max-width:440px}.page-copy>h1{margin-bottom:34px}.opening{margin-bottom:32px}.step{margin-bottom:28px}.contact .page-copy{padding:0}.email{font-size:22px;margin:30px 0}.text-panel p{line-height:1.4}}
@media(prefers-reduced-motion:no-preference){a{transition:opacity .15s}a:hover{opacity:.75}}

.animated-logo{display:block;width:100%;height:auto;overflow:visible}.animated-logo .arrow-left,.animated-logo .arrow-right{transform-origin:0 0}.animated-logo.is-turning .arrow-left{animation:inward-left 3.2s cubic-bezier(.45,0,.25,1) both}.animated-logo.is-turning .arrow-right{animation:inward-right 3.2s cubic-bezier(.45,0,.25,1) both}@keyframes inward-left{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes inward-right{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}@media(prefers-reduced-motion:reduce){.animated-logo.is-turning .arrow-left,.animated-logo.is-turning .arrow-right{animation:none}}

/* One-question enquiry flow */
.enquiry-page{background:var(--grey);color:white;min-height:100svh}.enquiry-heading{position:absolute;top:26px;left:26px;font-size:15px;line-height:1.35}.enquiry-heading span{display:block;font-size:12px;margin-top:4px;color:#e1e1e1}.enquiry-main{min-height:100svh;padding:160px 28px 140px;display:flex;justify-content:center;align-items:center}.enquiry-main form{width:min(100%,540px)}.question-stage{width:100%}.question[hidden]{display:none}.question h2,.question legend{font-size:24px;font-weight:500;line-height:1.25;margin-bottom:26px}.question fieldset{padding:0;border:0;margin:0;min-width:0}.question legend{padding:0;float:left;width:100%}.question fieldset .question-hint{clear:both}.question-hint{font-size:14px;line-height:1.5;color:#eee;margin:-12px 0 24px;max-width:500px}.question input:not([type=checkbox]),.question textarea{width:100%;display:block;border:0;border-bottom:1px solid #b8b8b8;background:transparent;border-radius:0;color:#fff;font-family:inherit;font-size:22px;font-weight:400;line-height:1.4;padding:12px 0;outline:none;box-shadow:none}.question input::placeholder,.question textarea::placeholder{color:#d3d3d3;opacity:1}.question input:focus,.question textarea:focus{border-bottom-color:white}.question input[aria-invalid=true],.question textarea[aria-invalid=true]{border-bottom-style:dashed}.question textarea{resize:vertical;min-height:120px;max-height:260px;font-size:18px}.form-error{font-size:14px;line-height:1.4;min-height:20px;margin-top:18px}.enquiry-controls{position:fixed;left:28px;right:28px;bottom:28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.enquiry-page button{font:inherit;cursor:pointer;color:inherit}.form-back,.form-next{background:transparent;border:1px solid #aaa;min-height:44px;padding:10px 20px;border-radius:24px;display:inline-flex;gap:22px;align-items:center;justify-content:center;width:fit-content}.form-back{justify-self:start}.form-next{justify-self:end;background:white;color:var(--grey)!important;border-color:white}.form-next[hidden]{display:none}.form-back:disabled{visibility:hidden}.enquiry-page button:focus-visible,.support-options input:focus-visible+span{outline:2px solid white;outline-offset:5px}.progress{text-align:center;font-size:12px;line-height:1.4}.progress-dots{display:flex;gap:7px;margin-top:10px}.progress-dots i{width:4px;height:4px;border-radius:50%;background:#aaa}.progress-dots i.active{background:white}.support-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.support-options label{position:relative;cursor:pointer}.support-options input{position:absolute;opacity:0;width:1px;height:1px}.support-options span{display:flex;align-items:center;justify-content:space-between;border:1px solid #aaa;padding:16px;font-size:16px}.support-options span::after{content:'+';margin-left:10px}.support-options input:checked+span{background:white;color:var(--grey);border-color:white}.support-options input:checked+span::after{content:'✓'}.review-question h2{margin-bottom:28px}.review-question dl{margin:0 0 34px}.review-question dl>div{display:grid;grid-template-columns:100px 1fr 32px;gap:12px;border-bottom:1px solid #999;padding:14px 0;font-size:14px;line-height:1.4}.review-question dt{font-weight:500}.review-question dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-question dl button{padding:0;align-self:start;border:0;background:none;font-size:12px;text-decoration:underline}.draft-button{display:inline-flex;gap:36px;align-items:center;padding:14px 22px;border-radius:28px;background:white;color:var(--grey)}.copy-enquiry{background:transparent;border:0;margin-top:18px;padding:8px 0;display:block;font-size:13px!important;text-decoration:underline;text-underline-offset:3px}.review-question #copy-status{font-size:13px;margin-top:8px;line-height:1.4}.is-review .enquiry-controls{position:static;margin-top:28px}.is-review .enquiry-controls .progress{grid-column:2}.enquiry-page a:hover{text-decoration:none}.enquiry-page .question-hint a{text-decoration:underline}
@media(max-width:760px){.enquiry-heading{left:20px;top:24px}.enquiry-heading span{font-size:11px}.enquiry-main{min-height:100svh;padding:170px 24px 110px}.question h2,.question legend{font-size:22px;margin-bottom:24px}.question input:not([type=checkbox]){font-size:20px}.question-hint{font-size:13px}.enquiry-controls{left:20px;right:20px;bottom:max(24px,env(safe-area-inset-bottom));gap:10px}.form-back,.form-next{padding:10px 16px;gap:12px;font-size:14px!important}.support-options{gap:10px}.support-options span{padding:14px 12px;font-size:14px}.review-question dl>div{grid-template-columns:70px 1fr 28px;gap:8px;font-size:13px}.enquiry-page nav{font-size:13px}.enquiry-main:has(.is-review){align-items:flex-start}}
@media(max-height:600px){.enquiry-main{align-items:flex-start;padding-top:150px}.enquiry-controls{position:static;margin-top:24px}}
/* Studio refinements */
nav a{position:relative;transition:transform 240ms cubic-bezier(.2,.7,.2,1),opacity 240ms;min-height:22px;display:flex;align-items:center}nav a:hover{opacity:1;text-decoration:none}nav a::before{content:'';position:absolute;left:-12px;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:0;transition:opacity 240ms}nav a:focus-visible::before{opacity:1}
@media(hover:hover) and (prefers-reduced-motion:no-preference){nav a:hover{transform:translateX(-6px)}nav a:hover::before{opacity:1}}
nav a:active{opacity:.55}.about-section{margin-top:42px}.about-section>h2{margin-bottom:22px}.service{margin-bottom:24px}h3{font-size:inherit;font-weight:500;margin:0 0 8px}.scope-note{margin-top:30px}.compact-logo{position:absolute;z-index:3;top:24px;left:24px;width:112px}.enquiry-page .compact-logo{filter:brightness(0) invert(1)}.enquiry-heading{top:108px;left:26px}.work-page{background:white}.work-page nav{color:var(--grey)}.work-main,.project-main{padding:180px 5vw 80px;max-width:1680px;margin:auto}.work-heading{margin-bottom:70px;display:flex;justify-content:space-between;gap:20px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px 6vw;align-items:start}.work-card:nth-child(even){margin-top:100px}.work-card{display:block}.work-card figure{margin:0}.work-card img{width:100%;height:auto}.work-card figcaption{display:table;background:var(--grey);color:white;padding:8px 10px;font-size:12px;line-height:1.35}.work-card figcaption span{display:block}.work-card:hover{opacity:1;text-decoration:none}.work-card:hover figcaption{text-decoration:underline;text-underline-offset:3px}.archive-empty{max-width:410px;margin:110px auto 180px;text-align:center;line-height:1.45}.archive-empty p{margin:16px 0 30px}.project-info{max-width:520px;margin:60px 0 48px;line-height:1.5}.project-info h1{margin-bottom:12px}.project-info p+p{margin-top:18px}.project-images{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.project-images img{width:100%}.project-images img:first-child{grid-column:1/-1;max-height:80svh;object-fit:contain}.enquiry-controls{background:var(--grey);padding:8px 0}
@media(max-width:760px){nav a{min-height:32px}.compact-logo{width:94px;left:20px;top:24px}.enquiry-heading{left:20px;top:100px}.work-main,.project-main{padding:190px 20px 50px}.work-heading{margin-bottom:44px;display:block}.work-heading p{margin-top:8px}.work-grid{grid-template-columns:1fr;gap:38px}.work-card:nth-child(even){margin-top:0}.work-card figcaption{font-size:12px}.archive-empty{margin:90px auto 100px}.project-images{grid-template-columns:1fr;gap:20px}.project-info{margin:40px 0 30px}.about-section{margin-top:36px}.inner .brand-panel{min-height:330px}}
@media(prefers-reduced-motion:reduce){nav a,nav a::before{transition:none}}
.enquiry-page .compact-logo{filter:none}.enquiry-page .compact-logo [fill="#6b6b6b"]{fill:white}.enquiry-page .compact-logo [fill="white"]{fill:var(--grey)}
/* Numbered workflow and optional services */
.about-lead{font-weight:500}.workflow{margin-top:48px}.workflow>h2{margin-bottom:32px}.workflow-list{list-style:none;padding:0;margin:0}.workflow-step{margin:0 0 34px}.workflow-step h3{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 15px}.step-number{border:1px solid currentColor;border-radius:50%;width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;font-weight:400}.step-pill{border:1px solid currentColor;border-radius:40px;min-height:38px;padding:9px 23px;display:flex;align-items:center;justify-content:center}.workflow-step p{max-width:440px;margin:0 auto}.additional-services{margin:42px auto 0}.additional-services summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;min-height:44px;list-style:none}.additional-services summary::-webkit-details-marker{display:none}.additional-services summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}.additional-symbol::after{content:'+'}.additional-services[open] .additional-symbol::after{content:'−'}.additional-content{padding-top:16px}.additional-content ul{list-style:none;margin:0 0 24px;padding:0;line-height:1.9}.additional-content p{max-width:340px;margin:0 auto}.additional-service-field{margin-top:24px}.additional-service-field[hidden]{display:none}.additional-service-field label{font-weight:500;display:block;line-height:1.4;margin-bottom:6px}.additional-service-field textarea{min-height:86px;font-size:16px}.enquiry-main:has(#additional-service:checked){align-items:flex-start}.support-options .additional-option{grid-column:1/-1}
@media(max-width:760px){.workflow{margin-top:40px}.workflow-step h3{gap:8px}.step-pill{padding:9px 18px}.workflow-step{margin-bottom:32px}.additional-services{margin-top:32px}.enquiry-main:has(#additional-service:checked){padding-bottom:140px}}
/* Shared centred page composition */
.about-page{background:white;color:var(--grey)}.about-page nav{color:var(--grey)}.about-main{padding:180px 28px 100px;max-width:860px;margin:0 auto;text-align:center}.section-heading{margin-bottom:64px}.about-copy{max-width:620px;margin:auto;line-height:1.5}.about-copy>p+p{margin-top:24px}.about-copy .workflow{margin-top:72px}.about-copy .workflow>h2{margin-bottom:40px}.about-copy .workflow-step{margin-bottom:40px}.about-copy .workflow-step p{max-width:470px}.about-copy .additional-services{margin-top:56px}.compact-logo{width:112px;top:24px;left:24px}.work-main,.project-main{padding-top:180px;max-width:1200px}.work-heading{display:block;text-align:center;margin-bottom:64px}.work-heading p{margin-top:14px}.work-grid{max-width:1000px;margin:0 auto;gap:56px 40px}.work-card:nth-child(even){margin-top:100px}.preview-card{margin:0}.preview-card>a{display:block}.preview-card img{display:block;width:100%;height:auto}.preview-card figcaption{display:table;background:var(--grey);color:white;font-size:12px;line-height:1.35;padding:8px 10px}.project-info{margin:48px auto;text-align:center}.project-main>.text-link{display:block;text-align:center}.enquiry-heading{position:relative;top:auto;left:auto;text-align:center;padding-top:180px}.enquiry-main{min-height:calc(100svh - 198px);padding:64px 28px 130px;align-items:flex-start}.question h2,.question legend,.question-hint{text-align:center}.question-hint{margin-left:auto;margin-right:auto}.question input:not([type=checkbox]),.question textarea{text-align:center}.enquiry-controls{position:static;left:auto;right:auto;bottom:auto;margin-top:52px}.is-review .enquiry-controls{margin-top:36px}.question-stage{min-height:180px}.enquiry-main:has(#additional-service:checked){padding-bottom:64px}.review-question{text-align:center}.review-question dl{text-align:left}.copy-enquiry{margin-left:auto;margin-right:auto}.additional-service-field label{text-align:center}.enquiry-page .form-error{text-align:center}
@media(max-width:760px){.compact-logo{width:94px;left:20px;top:24px}.about-main{padding:190px 24px 64px}.section-heading{margin-bottom:44px}.about-copy{max-width:540px}.about-copy .workflow{margin-top:56px}.about-copy .workflow-step{margin-bottom:34px}.work-main,.project-main{padding:190px 20px 64px}.work-heading{margin-bottom:44px}.work-grid{grid-template-columns:1fr;gap:30px;max-width:540px}.work-card:nth-child(even){margin-top:0}.enquiry-heading{left:auto;top:auto;padding-top:190px}.enquiry-main{padding:44px 24px 64px;min-height:calc(100svh - 208px)}.enquiry-controls{margin-top:36px;left:auto;right:auto;bottom:auto}.question-stage{min-height:170px}}
/* Drawn service check: two fine strokes, independent of font glyphs. */
.support-options input:checked+span::after{content:'';display:block;width:10px;height:6px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg);margin-top:-4px;flex:0 0 10px}
.catalogue{max-width:800px;margin:0 auto}.catalogue-project{margin:0 auto 72px;width:100%;max-width:720px}.catalogue-composition{position:relative;width:100%;isolation:isolate}.catalogue-composition img{position:absolute;height:auto;display:block;max-width:none}.catalogue-caption{display:table;max-width:100%;background:var(--grey);color:white;padding:9px 12px;line-height:1.4;font-size:12px;position:relative;z-index:10}.catalogue-caption h2{font-size:12px;font-weight:500}.catalogue-caption p{margin:3px 0 0;white-space:pre-wrap}.catalogue-status{text-align:center;padding:50px 0}.editor-link{display:block;text-align:center;margin:40px auto 0;width:fit-content}.editor-link[hidden]{display:none}#catalogue-error{text-align:center}
@media(max-width:760px){.catalogue-project{margin-bottom:36px}.catalogue-caption{font-size:12px;padding:7px 9px}}

/* Flowing gallery: three desktop frames, one mobile frame. */
.work-main{max-width:1680px;padding-left:32px;padding-right:32px;padding-bottom:48px}.work-heading{margin-bottom:48px}
.catalogue{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:start}
.catalogue-project{min-width:0;max-width:none;width:100%;margin:0}.gallery-group{grid-column:1/-1}.gallery-video{grid-column:span 2}
.gallery-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;min-width:0}.gallery-track::-webkit-scrollbar{display:none}.gallery-track:focus-visible{outline:1px solid var(--grey);outline-offset:5px}
.gallery-frame{flex:0 0 100%;aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:#f4f4f4;scroll-snap-align:start}.gallery-group .gallery-frame{flex-basis:calc((100% - 48px)/3)}
.gallery-frame img,.gallery-frame video{display:block;width:100%;height:100%;object-fit:contain}.gallery-frame.video-frame{aspect-ratio:16/9;background:#eee}.gallery-group .video-frame{flex-basis:calc((100% - 48px)/3*2 + 24px)}
.gallery-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:10px}.catalogue-caption{display:block;background:transparent;color:var(--grey);padding:0;font-size:12px;line-height:1.4}.catalogue-caption h2{font-size:12px}.gallery-controls{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:11px}.gallery-controls button{border:0;background:transparent;color:inherit;font:inherit;font-size:18px;width:28px;height:24px;padding:0;cursor:pointer}.gallery-controls button:disabled{opacity:.25;cursor:default}.gallery-controls button:focus-visible{outline:1px solid currentColor}.catalogue-status{grid-column:1/-1}
@media(max-width:760px){.work-main{padding-left:20px;padding-right:20px}.work-heading{margin-bottom:32px}.catalogue{grid-template-columns:1fr;gap:28px}.gallery-video,.gallery-group{grid-column:auto}.gallery-track{gap:16px}.gallery-frame{border-radius:18px}.gallery-group .gallery-frame,.gallery-group .video-frame{flex-basis:100%}.gallery-footer{margin-top:10px}}

.enquiry-main{flex-direction:column;align-items:center}.contact-direct{font-size:12px;margin:38px 0 0;text-align:center;line-height:1.5}.contact-direct a,.email-fallback{text-decoration:underline;text-underline-offset:3px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.enquiry-page .draft-button{border:0;font:inherit;background:white;color:var(--grey);cursor:pointer}.draft-button:disabled{opacity:.6;cursor:default}#send-status{font-size:14px;line-height:1.5;margin:16px 0}.form-privacy{font-size:11px;line-height:1.5;margin:16px 0 22px}.form-privacy a{text-decoration:underline}.email-fallback{font-size:13px}.enquiry-main:has(#additional-service:checked){align-items:center}.review-question button:disabled{cursor:default}.catalogue-caption h2:empty{display:none}

/* Final proportional gallery and viewport-sized landing layout. */
.catalogue{width:90%;margin-inline:auto;gap:25px 21.6px}
.gallery-track{gap:21.6px}.gallery-group .gallery-frame{flex-basis:calc((100% - 43.2px)/3)}
.gallery-frame{border-radius:19.8px}.gallery-frame img,.gallery-frame video{object-fit:cover}
.about-page{background:var(--grey);color:var(--white);min-height:100svh}.about-page nav{color:var(--white)}.about-page .compact-logo{filter:none}.about-page .animated-logo [fill="#6b6b6b"]{fill:white}.about-page .animated-logo [fill="white"]{fill:var(--grey)}
.home #main{min-height:100svh;height:100dvh;display:flex;flex-direction:column}
.home .hero{height:auto;min-height:180px;flex:1 1 auto}
.home .intro{min-height:0;flex:0 0 auto;padding:24px 22px;gap:36px}
.home .intro-copy{max-width:560px;font-size:15px;line-height:1.2}
.home .intro-copy p{line-height:1.2}.home .intro-copy h1+p{margin-top:0}.home .intro-copy p+p{margin-top:18px}
.home .home-logo{flex:0 0 216px}
@media(max-width:760px){
 .gallery-track{gap:14.4px}.gallery-frame{border-radius:16.2px}.gallery-group .gallery-frame,.gallery-group .video-frame{flex-basis:100%}
 .home .hero{min-height:180px}
 .home nav{top:28px;right:20px;font-size:23px;line-height:1.15}.home nav a{padding:4px 0;min-height:32px}
 .home .intro{padding:24px 15px 20px;gap:22px;flex-direction:column}
 .home .home-logo{width:52%;max-width:205px;flex:0 0 auto}
 .home .intro-copy{max-width:none;font-size:13px;line-height:1.2}
 .home .intro-copy p+p{margin-top:16px}
}
@media(max-width:760px) and (max-height:700px){
 .home .intro{padding-top:16px;padding-bottom:16px;gap:16px}
 .home .home-logo{width:45%;max-width:170px}
 .home nav{top:18px;font-size:21px}
}
