@font-face{font-family:Ubuntu;src:url('/assets/fonts/ubuntu-regular-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f5f4f4;--ink:#333;--red:#e51d2c;--blue:#36a9e1;--muted:#656161;--line:#d6d2d2;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--componentry-ease:cubic-bezier(.22,1,.36,1);--radius:12px;--header:78px}
*{box-sizing:border-box}html{scroll-padding-top:100px;background:var(--paper);color:var(--ink);font-family:Ubuntu,Arial,sans-serif}body{margin:0;font-weight:400}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}p{line-height:1.6;margin:0 0 1.2em}h1,h2,h3{font-weight:400;margin:0;letter-spacing:-.045em}h1{font-size:clamp(48px,6.9vw,96px);line-height:1.06}h2{font-size:clamp(34px,4.2vw,58px);line-height:1.12}h3{font-size:26px;line-height:1.2}img{display:block;max-width:100%;height:auto}ul,ol{padding:0}button{color:inherit}strong{font-weight:400}::selection{background:var(--red);color:white}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ink);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.6}.container{width:min(1328px,calc(100% - 96px));margin-inline:auto}.small{font-size:13px;line-height:1.5;color:var(--muted)}.section-label{font-size:14px;margin-bottom:30px;letter-spacing:.02em}.section-intro{font-size:19px;margin-top:24px;max-width:52ch}.section-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:24px}.arrow{font-size:1.4em;line-height:1;display:inline-block;font-weight:400}.button{border:1px solid transparent;border-radius:var(--radius);min-height:54px;padding:16px 23px;display:inline-flex;gap:32px;align-items:center;justify-content:space-between;font-size:15px;line-height:1.2;white-space:nowrap;transition:background-color 180ms ease,color 180ms ease,transform 160ms var(--ease-out)}.button:active{transform:scale(.97)}.button--red{background:var(--red);color:white}.button--outline{border-color:var(--ink);color:var(--ink);background:transparent}.button--light{background:var(--paper);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:32px;padding-block:12px;border-bottom:1px solid currentColor;font-size:17px}.text-link .arrow{transition:transform 180ms var(--ease-out)}.skip-link{position:fixed;top:8px;left:20px;padding:16px;background:var(--ink);color:white;z-index:200;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);view-transition-name:site-header}.nav-shell{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:32px;width:calc(100% - 96px);max-width:1416px;margin:auto}.brand-home{display:inline-flex;align-items:center;padding:8px 0;flex-shrink:0}.brand-home img{width:106px;height:41px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:42px;margin-left:auto;margin-right:36px;font-size:15px}.desktop-nav a{padding:12px 0;position:relative}.desktop-nav a::after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease-out)}.desktop-nav a[aria-current]::after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:16px}.nav-actions .button{min-height:45px;padding:12px 18px;font-size:14px;gap:28px}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;position:relative}.menu-toggle span{position:absolute;width:22px;height:1px;background:var(--ink);left:11px;transition:transform 200ms var(--ease-out)}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:25px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{background:var(--paper);padding:12px 24px 28px;box-shadow:0 16px 22px rgb(51 51 51 / .05)}.mobile-nav:not([hidden]){display:grid;gap:4px}.mobile-nav a{display:flex;justify-content:space-between;font-size:24px;padding:14px 0}.mobile-nav a[aria-current]{color:var(--red)}
.hero-scene{height:calc(100svh - var(--header));min-height:570px;position:relative}.hero-sticky{position:fixed;inset:var(--header) 24px 16px;min-height:554px;border-radius:var(--radius);overflow:hidden;background:var(--ink);isolation:isolate;z-index:0}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%;z-index:-2}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgb(17 24 27 / .81),rgb(17 24 27 / .24) 80%),linear-gradient(0deg,rgb(17 24 27 / .38),transparent 65%);z-index:-1}.hero-copy{height:100%;padding-block:64px 60px;display:flex;flex-direction:column;color:var(--paper)}.hero-category{font-size:14px;margin-bottom:28px}.hero-copy h1{font-size:clamp(60px,7.6vw,112px);line-height:1.02;letter-spacing:-.055em}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:auto;padding-top:40px}.hero-bottom p{font-size:20px;line-height:1.55;margin:0}.hero-bottom .button{min-width:212px}.home-content{position:relative;z-index:2;background:var(--paper);border-radius:var(--radius) var(--radius) 0 0}.intro-section{padding-block:110px 86px;display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:start}.intro-section .section-label{grid-column:1/-1}.intro-copy{font-size:21px;max-width:44ch;padding-top:7px}.proof-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:70px;padding-top:40px;border-top:1px solid var(--line)}.proof-value{font-size:clamp(30px,3.2vw,46px);letter-spacing:-.04em}.proof-grid p{font-size:16px;margin:12px 0 0;color:var(--muted)}.services-section{padding-block:40px 100px}.services-preview{margin-top:48px;display:grid;grid-template-columns:repeat(12,1fr);gap:28px}.services-preview .service-card{grid-column:span 5}.services-preview .service-card:nth-child(1),.services-preview .service-card:nth-child(4){grid-column:span 7}.service-card{min-width:0}.service-media{position:relative;overflow:hidden;border-radius:var(--radius);height:380px;background:var(--ink);isolation:isolate}.service-media>img{width:100%;height:100%;object-fit:cover}.service-media::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,rgb(0 0 0 / .65));pointer-events:none;z-index:0}.service-base-title{position:absolute;inset:auto 28px 28px;display:flex;justify-content:space-between;gap:24px;align-items:center;color:white;font-size:29px;letter-spacing:-.03em;z-index:1}.service-reveal{position:absolute;inset:0;pointer-events:none;color:white;z-index:2;isolation:isolate;visibility:hidden;transition:visibility 0s .72s}.service-reveal::before{content:'';position:absolute;left:80%;top:15%;width:500%;aspect-ratio:1;background:var(--red);border-radius:0 60% 60% 60%;transform:translate(-50%,-50%) rotate(45deg) scale(.001);transition:transform .72s var(--componentry-ease);z-index:-1}.service-reveal>div{height:100%;display:flex;flex-direction:column;align-items:flex-start;padding:30px;opacity:0;transform:translateY(12px);transition:opacity 240ms ease,transform 240ms var(--ease-out)}.service-number{font-size:14px;opacity:.85;margin-bottom:auto}.service-reveal h3{font-size:clamp(28px,2.6vw,38px);max-width:15ch;letter-spacing:-.035em}.service-reveal p{font-size:18px;margin-top:16px;max-width:30ch}.service-explore{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:20px;font-size:15px}.service-card--graphic .service-media{background:var(--red)}.service-card--graphic .service-media>img{width:58%;height:auto;position:absolute;left:21%;top:24%;object-fit:contain}.service-card--graphic .service-media::after{background:none}.service-card--graphic .service-reveal::before{background:var(--ink)}.service-mobile-copy{display:none}.service-card-link{display:block;border-radius:var(--radius)}.service-card-link:focus-visible .service-reveal{visibility:visible;transition:none}.service-card-link:focus-visible .service-reveal::before{transform:translate(-50%,-50%) rotate(45deg) scale(1);transition:none}.service-card-link:focus-visible .service-reveal>div{opacity:1;transform:none;transition:none}.about-strip{background:#e9e6e6;padding-block:90px}.about-strip-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.about-strip-inner>p{font-size:clamp(35px,4.4vw,63px);line-height:1.18;letter-spacing:-.045em;margin:0}.about-strip h2{font-size:32px;line-height:1.25;margin-bottom:22px}.about-strip p:not(:first-child){font-size:18px}.work-teaser{padding-block:110px;display:grid;grid-template-columns:.85fr 1.2fr;gap:8%;align-items:center}.work-teaser-copy>p{font-size:18px;margin:28px 0;max-width:36ch}.faq-section{padding-block:80px 100px;display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.faq-section>div>p{margin-top:24px;font-size:18px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;padding:25px 0;font-size:19px;line-height:1.35}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;flex-shrink:0}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{padding-right:35px;font-size:16px;color:var(--muted);margin-bottom:25px}.quote-cta{padding-block:78px 95px;display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line)}.quote-cta h2{font-size:clamp(32px,3.9vw,55px)}.quote-cta p{font-size:18px;margin:22px 0 0}.site-footer{position:relative;z-index:2;background:var(--ink);color:var(--paper);padding:65px 0 24px}.footer-main{display:grid;grid-template-columns:1fr 1.3fr .6fr;gap:8%;padding-bottom:65px}.footer-logo img{width:190px;height:auto}.footer-title{font-size:25px;line-height:1.3}.footer-main p:not(.footer-title){color:#d9d5d5;font-size:16px}.footer-main nav{display:flex;flex-direction:column;gap:20px;align-items:flex-start;font-size:15px}.footer-main .text-link{font-size:15px}.footer-bottom{border-top:1px solid #666;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:#d9d5d5}.footer-bottom>div{display:flex;gap:23px;align-items:center}.footer-bottom button{border:0;background:none;color:inherit;font:inherit;padding:0}.footer-bottom a:hover,.footer-bottom button:hover{text-decoration:underline}
.breadcrumbs{padding-block:36px 0;display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:13px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.page-intro{padding-block:64px 75px}.page-intro h1{max-width:1100px}.page-intro>p:last-child{font-size:21px;max-width:50ch;margin:32px 0 0}.service-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service-catalogue .service-card:nth-child(7){grid-column:1/-1}.service-catalogue .service-card:nth-child(7) .service-media{height:340px}.service-catalogue .service-media{height:410px}.image-note{margin-top:18px}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:64px 90px;align-items:center}.detail-hero h1{font-size:clamp(46px,5.2vw,78px)}.detail-hero p:not(.section-label){font-size:20px;margin:28px 0;max-width:45ch}.detail-visual{min-height:460px;height:100%}.detail-visual>img,.brand-panel{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.brand-panel{background:var(--red);display:grid;place-items:center}.brand-panel img{width:68%}.service-explanation{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-block:65px 90px;border-top:1px solid var(--line)}.signs{list-style:none;margin-top:40px}.signs li{padding:18px 0;border-bottom:1px solid var(--line);font-size:19px;line-height:1.4}.service-explanation>div:nth-child(2) h2{font-size:34px;margin-bottom:28px}.service-explanation h3{font-size:23px;margin:36px 0 18px}.service-explanation p{font-size:18px}.service-explanation .small{font-size:14px}.related-section{padding-bottom:90px}.related-section h2{font-size:34px;margin-bottom:26px}.related-links{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}.about-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center;padding-bottom:100px}.about-feature-image>img{height:570px;object-fit:cover;border-radius:var(--radius)}.about-feature-image .image-note{display:block}.about-feature h2{font-size:42px;margin-bottom:30px}.about-feature p{font-size:18px}.about-feature .button{margin-top:18px}.process-section{padding-block:70px 90px;border-top:1px solid var(--line)}.process-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:55px}.process-grid li>span{font-size:15px;color:var(--red)}.process-grid h3{font-size:26px;margin:34px 0 20px}.process-grid p{font-size:17px;color:var(--muted)}.plain-facts{padding-block:65px 100px;display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line)}.plain-facts h3{font-size:24px;margin-bottom:15px}.plain-facts p{font-size:18px;margin-bottom:30px}.work-gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:40px}.work-gallery figure{margin:0}.work-gallery figure:nth-child(2){padding-top:140px}.work-gallery img{aspect-ratio:.95;object-fit:cover;border-radius:var(--radius)}.work-gallery h2{font-size:30px;margin:26px 0 12px}.work-gallery p{font-size:14px;color:var(--muted)}.project-note{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-block:110px}.project-note h2{font-size:38px}.project-note p{font-size:20px}
.quote-page{padding-block:64px 110px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.quote-intro h1{font-size:clamp(48px,5.8vw,78px)}.quote-intro>p:not(.section-label){font-size:20px;margin:30px 0 45px;max-width:39ch}.quote-facts{margin-top:55px}.quote-facts p{font-size:18px;margin-bottom:28px}.quote-facts span{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.quote-form-wrap{min-width:0}.preview-note{background:#e9e6e6;padding:20px 23px;border-radius:var(--radius);margin-bottom:30px}.preview-note strong{font-size:16px;display:block;margin-bottom:8px}.preview-note p{font-size:14px;line-height:1.5;margin:0;color:#565252}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.field{min-width:0}.field label{display:block;font-size:14px;line-height:1.5;margin-bottom:9px}.field label>span:not(:last-child),.field label>span:first-child:last-child{font-size:12px}.field label>span{color:var(--muted)}.field input:not([type=checkbox]),.field select,.field textarea{width:100%;border:1px solid #b3aeae;background:transparent;color:var(--ink);padding:15px 13px;min-height:51px;border-radius:8px;transition:border-color 150ms ease;line-height:1.35}.field input::placeholder,.field textarea::placeholder{color:#726d6d;opacity:1}.field textarea{resize:vertical;min-height:150px}.field select{padding-right:26px;font-size:15px}.field [aria-invalid=true]{border-color:#b61321}.field-error{display:block;color:#ac1421;font-size:13px;line-height:1.5;margin-top:6px}.field-error:empty{display:none}.field--full,.contact-helper{grid-column:1/-1}.contact-helper{font-size:13px;color:var(--muted);margin:-9px 0 0}.consent-field label{display:flex;align-items:flex-start;gap:12px}.consent-field input{accent-color:var(--red);width:20px;height:20px;flex-shrink:0;margin:2px 0}.consent-field label span{font-size:13px!important;line-height:1.55;color:var(--ink)}.consent-field a{text-decoration:underline;text-underline-offset:3px}.field .small{font-size:12px;margin:10px 0 0}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-submit{width:100%;margin-top:18px}.form-submit[aria-busy=true]{background:var(--ink)}#form-status{font-size:15px;line-height:1.5;margin-top:20px}#form-status:empty{display:none}.request-review{padding:30px 0}.request-review h2{font-size:36px}.review-notice{margin-top:20px;font-size:15px}.request-review dl{margin-block:30px;overflow-wrap:anywhere}.request-review dt{font-size:12px;color:var(--muted);margin-top:18px}.request-review dd{font-size:17px;white-space:pre-wrap;margin:7px 0 0}.review-actions{display:flex;gap:15px;flex-wrap:wrap}.policy-page{max-width:860px;padding-block:65px 110px}.policy-page h1{font-size:70px}.policy-date{font-size:14px;margin:24px 0 32px;color:var(--muted)}.policy-page h2{font-size:29px;letter-spacing:-.025em;margin:45px 0 18px}.policy-page p{font-size:17px}.policy-page a:not(.button){text-decoration:underline;text-underline-offset:3px}.policy-page .preview-note p{font-size:14px}.policy-page code{font-size:14px;overflow-wrap:anywhere}.not-found{padding-block:110px 150px}.not-found>p{color:var(--red)}.not-found .button{margin-top:35px}
.cookie-banner{position:fixed;bottom:20px;left:24px;right:24px;z-index:90;background:var(--paper);padding:26px 30px;box-shadow:0 4px 50px rgb(51 51 51 / .2);border:1px solid var(--line);border-radius:var(--radius);display:flex;justify-content:space-between;gap:30px}.cookie-banner[hidden]{display:none}.cookie-banner p{font-size:23px;margin:0 0 10px}.cookie-banner span{font-size:14px;line-height:1.5;display:block;max-width:65ch}.cookie-banner>div>a{display:inline-block;font-size:13px;margin-top:10px;text-decoration:underline}.cookie-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.cookie-actions .button{font-size:14px;padding:13px 18px;min-height:46px}.cookie-dialog{width:min(600px,calc(100% - 32px));border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);padding:40px;max-height:90dvh;overflow:auto}.cookie-dialog::backdrop{background:rgb(0 0 0 / .5)}.cookie-dialog>h2{font-size:35px;margin:20px 0 22px}.cookie-dialog p{font-size:15px}.cookie-dialog>form{display:flex;justify-content:flex-end}.dialog-close{border:0;background:transparent;width:36px;height:36px;font-size:28px;padding:0}.cookie-option{padding:24px 0;display:flex;align-items:flex-start;gap:25px;justify-content:space-between;border-top:1px solid var(--line)}.cookie-option h3{font-size:20px;letter-spacing:-.025em;margin-bottom:12px}.cookie-option p{font-size:13px;margin:0}.cookie-option>span{font-size:12px;white-space:nowrap;padding-top:5px}.cookie-option input{accent-color:var(--red);width:22px;height:22px;flex-shrink:0}.cookie-dialog>.button{width:100%;justify-content:center}.cookie-dialog>.small{font-size:12px;margin:15px 0 0}
/* Progressive enhancement: all headings are readable if JS or observers fail. */
.kinetic-segment-mask{display:inline-block;overflow:clip;vertical-align:top;padding-bottom:.13em;margin-bottom:-.13em}.kinetic-segment{display:inline-block}.kinetic.is-ready .kinetic-segment{animation:kinetic-reveal .72s var(--componentry-ease) both;animation-delay:var(--delay,0ms)}@keyframes kinetic-reveal{from{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@supports (animation-timeline:scroll()){@keyframes roof-fade{from{opacity:1}to{opacity:0}}.hero-sticky{animation:roof-fade linear both;animation-timeline:scroll(root);animation-range:0 85vh}}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out 480ms var(--ease-in-out) both}::view-transition-new(root){animation:page-in 480ms var(--ease-in-out) both}::view-transition-group(site-header){animation:none}::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}@keyframes page-out{to{transform:translateX(-12%);opacity:0}}@keyframes page-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(hover:hover) and (pointer:fine){.button--red:hover{background:#c91826}.button--outline:hover{background:var(--ink);color:var(--paper)}.text-link:hover .arrow{transform:translate(3px,-3px)}.desktop-nav a:hover::after{transform:scaleX(1)}html:not(.auto-service-cards) .service-card-link:hover .service-reveal{visibility:visible;transition:visibility 0s}html:not(.auto-service-cards) .service-card-link:hover .service-reveal::before{transform:translate(-50%,-50%) rotate(45deg) scale(1)}html:not(.auto-service-cards) .service-card-link:hover .service-reveal>div{opacity:1;transform:none;transition:opacity 260ms ease .14s,transform 320ms var(--ease-out) .14s}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav-shell{width:calc(100% - 64px)}.desktop-nav{gap:26px;margin-right:10px}.hero-copy{padding-block:55px 45px}.hero-copy h1{font-size:clamp(65px,8.2vw,95px)}.service-media{height:340px}.intro-section{column-gap:5%}.intro-copy{font-size:19px}.work-teaser{gap:5%}.quote-page{gap:6%}.form-grid{column-gap:16px}.quote-intro h1{font-size:64px}.footer-main{gap:5%}.cookie-banner{flex-direction:column;gap:20px}.cookie-actions{justify-content:flex-start}}
@media(max-width:767px){:root{--header:72px}.container{width:calc(100% - 40px)}.nav-shell{width:calc(100% - 40px);gap:15px}.brand-home img{width:92px;height:36px}.desktop-nav{display:none}.menu-toggle{display:block}.nav-actions{gap:8px}.nav-actions .button{padding:12px 13px;gap:16px;font-size:12px;border-radius:8px;min-height:42px}.hero-scene{min-height:590px;height:calc(100svh - var(--header))}.hero-sticky{inset:var(--header) 10px 10px;min-height:580px}.hero-copy{width:calc(100% - 38px);padding-block:46px 34px}.hero-category{font-size:12px;margin-bottom:30px}.hero-copy h1{font-size:clamp(48px,10.6vw,76px);letter-spacing:-.055em;line-height:1.06}.hero-image{object-position:55% center}.hero-scrim{background:linear-gradient(90deg,rgb(17 24 27 / .76),rgb(17 24 27 / .38)),linear-gradient(0deg,rgb(17 24 27 / .5),transparent 80%)}.hero-bottom{align-items:flex-start;flex-direction:column;gap:30px;padding-top:40px}.hero-bottom p{font-size:17px}.hero-bottom .button{min-width:210px}.intro-section{padding-block:72px 55px;display:block}.intro-section .section-label{margin-bottom:28px}.intro-copy{margin:28px 0 0;max-width:45ch;font-size:18px}.proof-grid{grid-template-columns:1fr;gap:23px;margin-top:38px;padding-top:30px}.proof-grid>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.proof-value{font-size:30px;white-space:nowrap}.proof-grid p{font-size:13px;text-align:right}.services-section{padding-block:35px 65px}.section-intro{font-size:17px;max-width:34ch}.services-preview{display:grid;grid-template-columns:1fr;gap:28px;margin-top:32px}.services-preview .service-card:nth-child(n){grid-column:auto}.service-media{height:340px}.service-base-title{font-size:27px;inset:auto 23px 23px}.service-reveal h3{font-size:30px}.section-bottom{align-items:flex-start;flex-direction:column;gap:20px}.about-strip{padding-block:60px}.about-strip-inner{display:block}.about-strip-inner>p{font-size:43px;margin-bottom:40px}.about-strip h2{font-size:29px}.about-strip-inner>div>p{font-size:17px}.work-teaser{display:block;padding-block:70px}.work-teaser-copy>p{margin-block:24px;font-size:17px;max-width:40ch}.faq-section{display:block;padding-block:45px 70px}.faq-section h2{font-size:35px}.faq-list{margin-top:35px}.faq-list summary{font-size:17px;padding:22px 0}.faq-list details>p{font-size:15px}.quote-cta{display:block;padding-block:58px 70px}.quote-cta h2{font-size:34px}.quote-cta p{font-size:17px}.quote-cta .button{margin-top:30px}.site-footer{padding-top:48px}.footer-main{grid-template-columns:1fr;gap:38px;padding-bottom:45px}.footer-logo img{width:160px}.footer-title{font-size:24px}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:18px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:22px;font-size:11px}.footer-bottom>div{flex-wrap:wrap;gap:20px}.breadcrumbs{font-size:12px;gap:9px;padding-top:26px}.page-intro{padding-block:45px 45px}.page-intro h1{font-size:clamp(44px,9.6vw,68px)}.page-intro .section-label{font-size:13px;margin-bottom:24px}.page-intro>p:last-child{font-size:18px;margin-top:26px}.service-catalogue{grid-template-columns:1fr;gap:25px}.service-catalogue .service-card:nth-child(7){grid-column:auto}.service-catalogue .service-media,.service-catalogue .service-card:nth-child(7) .service-media{height:340px}.detail-hero{display:block;padding-block:42px 55px}.detail-hero h1{font-size:50px}.detail-hero p:not(.section-label){font-size:18px}.detail-visual{height:350px;min-height:0;margin-top:40px}.service-explanation{display:block;padding-block:45px}.service-explanation>div:nth-child(2){margin-top:50px}.service-explanation h2,.service-explanation>div:nth-child(2) h2{font-size:32px}.service-explanation p{font-size:17px}.signs{margin-top:23px}.signs li{font-size:17px;padding-block:17px}.related-section{padding-bottom:55px}.related-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.about-feature{display:block;padding-bottom:55px}.about-feature-image>img{height:380px}.about-feature-image{margin-bottom:40px}.about-feature h2{font-size:34px}.about-feature p{font-size:17px}.process-section{padding-block:45px}.process-grid{grid-template-columns:1fr;gap:30px;margin-top:36px}.process-grid h3{margin-top:15px;font-size:24px}.process-grid p{font-size:16px}.plain-facts{display:block;padding-block:45px 55px}.plain-facts>div{margin-top:35px}.work-gallery{display:block}.work-gallery figure:nth-child(2){padding-top:45px}.work-gallery img{aspect-ratio:1.1}.work-gallery h2{font-size:27px;margin-top:22px}.project-note{display:block;padding-block:65px}.project-note h2{font-size:32px;margin-bottom:25px}.project-note p{font-size:18px}.quote-page{display:block;padding-block:45px 65px}.quote-intro h1{font-size:55px}.quote-intro>p:not(.section-label){font-size:18px;margin-block:26px}.quote-facts{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-facts p{font-size:15px;margin:0}.quote-facts p:last-child{grid-column:1/-1}.quote-facts span{font-size:12px}.quote-form-wrap{margin-top:40px}.form-grid{gap:22px}.field{grid-column:1/-1}.field label{font-size:15px}.field input:not([type=checkbox]),.field select,.field textarea{font-size:16px}.policy-page{padding-block:45px 65px}.policy-page h1{font-size:50px}.policy-page h2{font-size:27px}.policy-page p{font-size:16px}.cookie-banner{left:10px;right:10px;bottom:10px;padding:23px;gap:20px}.cookie-banner p{font-size:21px}.cookie-banner span{font-size:13px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cookie-actions .button{font-size:12px;padding:13px 11px;justify-content:center;white-space:normal}.cookie-dialog{padding:25px}.cookie-dialog>h2{font-size:31px}.cookie-option{gap:15px}.not-found{padding-block:70px 100px}}
@media(hover:none){.service-mobile-copy{display:block;padding:18px 0 0}.service-mobile-copy h3{font-size:24px}.service-mobile-copy p{font-size:15px;color:var(--muted);margin-top:8px}.service-base-title{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important}.hero-sticky{position:absolute;inset:0 10px 10px;animation:none;opacity:1}.kinetic-segment{opacity:1!important;transform:none!important;filter:none!important}.service-reveal::before{transition:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* All directional action icons come from Phosphor Regular. */
.arrow{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}.arrow svg{width:100%;height:100%;fill:currentColor}
input,textarea{caret-color:var(--red)}



/* Full-screen photographic opening. The approved red logo and blue drops
   remain original vector paths; no white image rectangle sits over the roof. */
.brand-home .brand-icon-on-image { display: none; }
.photo-page .site-header {
  position: fixed;
  inset: 0 0 auto;
  background: transparent;
  color: var(--paper);
  transition: background-color 200ms ease, color 200ms ease;
}
.photo-page .site-header:not(.is-solid):not(.menu-is-open) .brand-icon-default { display: block; }
.photo-page .site-header:not(.is-solid):not(.menu-is-open) .brand-icon-on-image { display: none; }
.photo-page .site-header:not(.is-solid):not(.menu-is-open) .desktop-nav a::after { background: var(--paper); }
.photo-page .site-header:not(.is-solid):not(.menu-is-open) :focus-visible { outline-color: var(--paper); }
.photo-page .site-header:is(.is-solid, .menu-is-open) { background: var(--paper); color: var(--ink); }
.photo-page .menu-toggle span { background: currentColor; }
.photo-page .mobile-nav { color: var(--ink); }
.photo-page .hero-scene { height: 100svh; min-height: 560px; }
.photo-page .hero-sticky { inset: 0; height: 100svh; min-height: 560px; border-radius: 0; }
.photo-page .hero-copy { padding-block: calc(var(--header) + 114px) 60px; }
.photo-page .hero-copy h1 { font-size: clamp(68px, 8.2vw, 124px); line-height: 1.04; letter-spacing: -.04em; }
.photo-page .hero-category { margin-bottom: 28px; }
.photo-page .hero-bottom {
  align-items: flex-start;
  align-self: flex-end;
  flex-direction: column;
  width: 330px;
  gap: 24px;
}

/* One alignment system for navigation, headers, grids and supporting copy. */
html { scroll-behavior: smooth; }
.nav-shell { width: min(1328px, calc(100% - 96px)); gap: 48px; }
.desktop-nav { gap: clamp(36px, 4.5vw, 76px); margin-right: 16px; }
.desktop-nav a { transition: color 180ms ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: var(--red); }
.photo-page .desktop-nav a::after { background: var(--red) !important; }
.page-hero .hero-copy { justify-content: flex-start; }
.page-hero h1 { margin-top: 42px; }
.page-hero + .home-content { border-radius: 0; }
.home-content { border-radius: 0; }
.section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; margin-bottom: 40px; }
.section-heading p { max-width: 48ch; font-size: 19px; margin: 0; }
.catalogue-section, .portfolio-section { padding-block: 88px; }
.services-preview, .service-catalogue { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.services-preview .service-card:nth-child(n), .service-catalogue .service-card:nth-child(n) { grid-column: auto; }
.service-card .service-media, .service-catalogue .service-card:nth-child(n) .service-media {
 height: auto; aspect-ratio: 4 / 5;
}
.service-media > img { width: 100%; height: 100%; object-fit: cover; }
.service-base-title { font-size: clamp(24px,2.3vw,34px); inset: auto 24px 24px; line-height: 1.15; }
.service-reveal > div { padding: 28px; justify-content: center; }
.service-number { display: none; }
.service-reveal h3 { font-size: clamp(27px,2.5vw,36px); }
.service-reveal p { font-size: 17px; line-height: 1.55; }
.service-explore { margin-top: 28px; }
.work-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 28px; }
.work-gallery figure:nth-child(n) { padding: 0; }
.work-gallery img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.work-gallery h2 { font-size: 24px; margin: 20px 0 8px; letter-spacing: -.025em; }
.work-gallery p { margin: 0; }
.about-feature { padding-block: 88px; gap: 48px; grid-template-columns: 1fr 1fr; }
.about-feature-image > img { width: 100%; height: auto; aspect-ratio: 4 / 5; }
.detail-visual { height: auto; min-height: 0; }
.detail-visual > img { aspect-ratio: 4 / 5; height: auto; }
.work-teaser { grid-template-columns: 1fr 1fr; gap: 48px; }
.work-teaser-media { aspect-ratio: 4 / 5; }
.kinetic-segment-mask { padding-top: .08em; margin-top: -.08em; }
@keyframes kinetic-reveal {
 from { opacity: 0; transform: translateY(105%); filter: none; }
 to { opacity: 1; transform: translateY(0); filter: none; }
}
@media (max-width: 1100px) {
 .nav-shell { width: calc(100% - 64px); gap: 32px; }
 .desktop-nav { gap: 32px; margin-right: 0; }
 .services-preview, .service-catalogue, .work-gallery { gap: 24px; }
 .service-reveal > div { padding: 20px; }
 .service-reveal h3 { font-size: 27px; }
 .service-reveal p { font-size: 16px; }
 .service-base-title { inset-inline: 20px; font-size: 26px; }
}
@media (max-width: 900px) and (min-width: 768px) {
 .service-catalogue, .services-preview, .work-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
 .nav-shell { width: calc(100% - 40px); gap: 16px; }
 .page-hero h1 { margin-top: 28px; }
 .catalogue-section, .portfolio-section, .about-feature { padding-block: 56px; }
 .section-heading { display: block; margin-bottom: 32px; }
 .section-heading p { margin-top: 24px; font-size: 17px; }
 .services-preview, .service-catalogue, .work-gallery { grid-template-columns: 1fr; gap: 32px; }
 .service-card .service-media, .service-catalogue .service-card:nth-child(n) .service-media { height: auto; }
 .service-base-title { font-size: 28px; }
 .service-reveal > div { padding: 28px; }
 .service-reveal h3 { font-size: 32px; }
 .service-reveal p { font-size: 18px; }
 .about-feature { display: block; }
 .work-teaser { display: block; }
 .work-teaser-media { aspect-ratio: 4 / 5; }
 .work-gallery h2 { font-size: 23px; }
}
@media (hover: none), (max-width: 767px) {
 .service-base-title { display: flex; }
 .service-mobile-copy { display: block; padding-top: 14px; }
 .service-mobile-copy h3 { display: none; }
 .service-mobile-copy p { margin: 0; }
}
.photo-page .hero-bottom p { font-size: 18px; }
.photo-page .hero-scrim {
  background: linear-gradient(180deg, rgb(15 22 25 / .67), transparent 30%),
              linear-gradient(90deg, rgb(15 22 25 / .65), rgb(15 22 25 / .15) 85%),
              linear-gradient(0deg, rgb(15 22 25 / .7), transparent 60%);
}
.work-teaser-media { overflow: hidden; aspect-ratio: 4 / 5; border-radius: var(--radius); }
.work-teaser-media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) {
  .photo-page .hero-scene, .photo-page .hero-sticky { height: 100svh; min-height: 600px; }
  .photo-page .hero-copy { width: calc(100% - 40px); padding-block: calc(var(--header) + 82px) 38px; }
  .photo-page .hero-copy h1 { font-size: clamp(39px, 10.8vw, 76px); line-height: 1.08; }
  .photo-page .hero-bottom { align-self: flex-start; width: 100%; max-width: 340px; gap: 26px; }
  .photo-page .hero-bottom p { font-size: 17px; }
  .work-teaser-media { margin-top: 40px; aspect-ratio: 4 / 5; }
}
@media (prefers-reduced-motion: reduce) {
  .photo-page .hero-sticky { position: absolute; inset: 0; border-radius: 0; }
  .photo-page .site-header { transition: none; }
}


/* Simple text reveals and the final hero button placement. */
.desktop-nav { gap: 32px; margin-right: 0; }
.nav-shell { gap: 32px; }
@media (min-width: 768px) { .nav-actions { display: none; } }
.slogan { position: relative; width: fit-content; max-width: 100%; }
.slogan-line { display: inline-block; }
.slogan-accent { color: var(--red); }
.photo-page .hero-copy { position: relative; }
.photo-page .hero-bottom { position: absolute; top: 79%; right: 0; width: 330px; margin: 0; padding: 0; transform: translateY(-50%); }
@media (max-width: 767px) {
 .nav-shell { gap: 16px; }
 .photo-page .hero-bottom { left: 0; right: auto; width: 100%; }
}

/* Mobile: stronger page titles, compact centred hero calls to action. */
@media (max-width: 767px) {
 .photo-page .hero-copy h1 { font-size: clamp(48px, 13.5vw, 76px); line-height: 1.06; }
 .photo-page .page-hero .hero-copy h1 { font-size: clamp(60px, 16.2vw, 84px); }
 .photo-page .hero-bottom { max-width: none; align-items: center; }
 .photo-page .hero-bottom .button { min-width: 0; min-height: 48px; padding: 14px 18px; gap: 20px; font-size: 14px; }
 .page-hero .hero-image[src*="header-services"] { object-position: 38% center; }
}
.service-card.is-auto-revealed .service-reveal { visibility: visible; transition: visibility 0s; }
.service-card.is-auto-revealed .service-reveal::before { transform: translate(-50%,-50%) rotate(45deg) scale(1); }
.service-card.is-auto-revealed .service-reveal > div { opacity: 1; transform: none; transition: opacity 260ms ease .14s, transform 320ms var(--ease-out) .14s; }
.auto-service-cards .service-mobile-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; white-space: nowrap; }
.hero-word { color: var(--paper); transition: color 180ms ease; }
@media (hover: hover) and (pointer: fine) { .hero-word:hover { color: var(--red); } }
@media (hover: none), (max-width: 767px) { .hero-word { color: var(--red); } }
.auto-service-cards .service-card { position: relative; }
.whatsapp-float { position: fixed; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); z-index: 60; width: 56px; height: 56px; display: grid; place-items: center; color: var(--paper); background: var(--red); border-radius: 50%; box-shadow: 0 6px 20px rgb(0 0 0 / .16); transition: transform 160ms ease-out, background-color 160ms ease-out; }
.whatsapp-float[hidden] { display: none; }
.whatsapp-float svg { width: 31px; height: 31px; }
.whatsapp-float:hover { background: #bd1724; transform: translateY(-2px); }
.whatsapp-float:active { transform: scale(.96); }
.whatsapp-float:focus-visible { outline: 3px solid var(--charcoal, #333); outline-offset: 4px; }
body:has(.mobile-nav:not([hidden])) .whatsapp-float { display: none; }
body:has(.cookie-banner:not([hidden])) .whatsapp-float { bottom: 200px; }
.quote-success { width: min(480px, calc(100% - 40px)); max-height: calc(100svh - 40px); margin: auto; padding: 40px; border: 0; border-radius: 16px; color: var(--charcoal, #333); background: var(--paper); }
.quote-success::backdrop { background: rgb(20 20 20 / .58); }
.quote-success[open] { animation: success-enter 200ms cubic-bezier(.22,1,.36,1); }
.quote-success h2 { font-size: clamp(30px, 5vw, 38px); line-height: 1.12; margin: 24px 0 16px; }
.quote-success p { font-size: 17px; line-height: 1.6; margin: 0 0 28px; }
.quote-success .button { min-width: 0; width: 100%; justify-content: center; }
.success-symbol { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--red); color: var(--paper); }
.success-symbol svg { width: 28px; height: 28px; }
@keyframes success-enter { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) { .whatsapp-float { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); } .quote-success { padding: 28px; } }
@media (prefers-reduced-motion: reduce) { .whatsapp-float { transition: none; } .whatsapp-float:hover { transform: none; } .quote-success[open] { animation: none; } }
.proof-heading, .proof-mobile { display: none; }
.footer-main > *, .footer-links { min-width: 0; }
.footer-links { display: flex; flex-direction: column; gap: 28px; }
.footer-main .footer-pages { display: flex; flex-direction: column; gap: 20px; }
.footer-contacts { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; font-size: 15px; }
.footer-contacts a { max-width: 100%; overflow-wrap: anywhere; }
.footer-contacts a[href^="tel:"] { white-space: nowrap; }
@media (max-width: 767px) {
 .footer-main .footer-pages { flex-direction: row; flex-wrap: wrap; column-gap: 24px; row-gap: 16px; }
 .footer-pages a { white-space: nowrap; }
 .footer-contacts { gap: 18px; }
}
@media (max-width: 767px) {
 .proof-heading { display: block; margin-top: 44px; font-size: 34px; line-height: 1.15; }
 .proof-desktop, .proof-grid > div > p { display: none; }
 .proof-mobile { display: inline; }
 .proof-grid { margin-top: 24px; padding-top: 0; border-top: 0; gap: 0; }
 .proof-grid > div { display: block; padding-block: 20px; border-bottom: 1px solid var(--line); }
 .proof-value { display: block; white-space: normal; font-size: 27px; line-height: 1.3; }
 .proof-grid > div:nth-child(2) { order: 3; }
 .proof-grid > div:nth-child(3) { order: 2; }
}

