/* Shared refinements and page-specific layouts. */
body{font-family:Arial,Helvetica,sans-serif}button{font:inherit}header{backdrop-filter:blur(18px);background:rgba(255,255,255,.92);transition:box-shadow .25s}.scrolled header{box-shadow:0 5px 25px #0b153009}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}.desktop-nav a{position:relative;padding:12px 0}.desktop-nav a[aria-current]{color:var(--blue)}.desktop-nav a[aria-current]:after{content:'';position:absolute;bottom:2px;left:0;width:100%;height:2px;background:var(--blue)}.header-actions{display:flex;align-items:center;gap:20px}.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;padding:10px;cursor:pointer}.menu-toggle span{height:2px;background:var(--navy);display:block;margin:6px 0}.mobile-menu{border:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:24px 6%;color:var(--navy)}.mobile-menu::backdrop{background:#0b153080}.menu-head{display:flex;align-items:center;justify-content:space-between}.menu-close,.image-close{border:0;background:transparent;cursor:pointer;font-size:34px;width:48px;height:48px}.mobile-menu nav{display:flex;flex-direction:column;gap:24px;margin:60px 0;font-size:36px;letter-spacing:-1px}.mobile-menu nav a{display:block}.mobile-menu p{color:var(--text);line-height:1.7}body.modal-open{overflow:hidden}.hero-art{position:relative;box-shadow:0 20px 50px #173e710a}.hero-art:after{content:'';position:absolute;inset:0;border:1px solid #bbd1f04a;border-radius:18px;pointer-events:none}.hero-copy{animation:enter .75s ease both}.hero-art{animation:enter 1s ease both}.project-image{position:relative}.project-overlay{position:absolute;bottom:20px;right:20px;background:white;color:var(--navy);padding:12px 17px;border-radius:30px;font-size:13px;font-weight:600;box-shadow:0 3px 20px #0b15301a;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .25s}.project:hover .project-overlay,.project:focus-visible .project-overlay{opacity:1;transform:none}.project:hover img{transform:translateY(-5px) scale(1.015)}.work .text-link{color:white}.section-link{margin-top:36px;border-bottom:1px solid #bcc9dd;padding-bottom:9px}.studio-teaser{border-top:1px solid var(--line)}.studio-teaser h2{font-size:clamp(32px,3.4vw,50px);max-width:1050px;line-height:1.2}.studio-teaser h2 span{color:#738199}.studio-teaser>div{display:flex;align-items:center;justify-content:space-between;gap:60px;margin-top:30px}.studio-teaser>div p{max-width:470px;font-size:17px;line-height:1.7;color:var(--text)}.page-intro{padding-top:85px;padding-bottom:72px}.page-intro h1{font-size:clamp(45px,5.7vw,82px);line-height:1.06;max-width:1050px}.page-lead{max-width:620px;font-size:20px;line-height:1.7;color:var(--text);margin:30px 0 0}.work-gallery{padding-top:42px}.portfolio-count{display:flex;justify-content:space-between;border-bottom:1px solid #3c4860;padding-bottom:20px;margin-bottom:38px;color:#b8c5db;font-size:13px;letter-spacing:1px}.service-list{padding-bottom:30px}.service-detail{display:grid;grid-template-columns:65px 1.2fr 1fr;gap:35px;padding:55px 0;border-top:1px solid var(--line)}.large-number{color:var(--blue);font-size:20px;padding-top:8px}.service-detail h2{font-size:38px}.service-detail p{max-width:390px;line-height:1.7;color:var(--text);margin-bottom:0}.service-detail ul{list-style:none;padding:0;margin:0}.service-detail li{border-bottom:1px solid var(--line);padding:16px 0;font-size:16px}.service-detail li:before{content:'↗';color:var(--blue);margin-right:17px}.scope-note{padding-top:30px;padding-bottom:40px}.scope-note p{font-size:22px;font-weight:600}.scope-note span{display:block;color:var(--text);line-height:1.7;max-width:700px}.manifesto{padding-top:20px;padding-bottom:95px;display:grid;grid-template-columns:1.15fr 1fr;gap:70px}.manifesto>p{font-size:clamp(30px,3vw,44px);line-height:1.3;letter-spacing:-1.3px;margin:0}.manifesto em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.manifesto>div p{font-size:18px;line-height:1.8;color:var(--text);margin:0 0 20px}.principles .eyebrow{margin-bottom:38px}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;padding-bottom:45px}.enquiry-panel{padding:45px;background:#f0f5fc;border:1px solid #e0e8f3;border-radius:18px}.enquiry-panel h2{font-size:38px}.enquiry-panel>p:not(.eyebrow){line-height:1.8;color:var(--text);max-width:400px}.enquiry-panel .button{margin-top:16px}.small-note{font-size:12px}.prepare{padding:25px 0}.prepare ol{list-style:none;counter-reset:brief;padding:0}.prepare li{counter-increment:brief;display:grid;grid-template-columns:35px 1fr;gap:8px 16px;margin-bottom:30px}.prepare li:before{content:'0' counter(brief);color:var(--blue);grid-row:1/3;font-size:13px;padding-top:3px}.prepare strong{font-size:18px}.prepare span{grid-column:2;font-size:16px;line-height:1.7;color:var(--text)}.no-pressure{font-size:14px;color:var(--text);border-top:1px solid var(--line);padding-top:24px}.project-intro{padding-top:45px;padding-bottom:50px}.back-link{display:inline-block;font-size:14px;color:var(--text);margin-bottom:45px}.project-intro .eyebrow{margin-bottom:20px}.project-intro h1{font-size:clamp(40px,5vw,72px);letter-spacing:-2.8px;max-width:1000px}.project-intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:28px}.project-intro-bottom>p{font-size:20px;line-height:1.6;color:var(--text);max-width:600px}.project-intro-bottom .button{flex-shrink:0}.screenshot-link{display:block;position:relative;background:#eaf0f7;border-radius:15px;padding:35px;overflow:hidden}.screenshot-link img{width:100%;height:auto;display:block;border-radius:7px;box-shadow:0 10px 35px #0b153019}.screenshot-link>span{position:absolute;bottom:50px;right:50px;padding:13px 20px;background:var(--navy);color:white;border-radius:30px;font-size:14px}.project-story{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.story-lead{font-size:23px;line-height:1.7;margin-top:0;color:var(--text)}.project-story article{border-top:1px solid var(--line);padding-top:10px;margin-top:30px}.project-story article p{color:var(--text);line-height:1.7}.next-project{background:#f3f6fb;padding-top:45px;padding-bottom:45px;display:flex;align-items:center;justify-content:space-between;gap:30px}.next-project .eyebrow{margin-bottom:15px}.next-project h2{font-size:36px}.next-project>span{font-size:45px;color:var(--blue);transition:transform .25s}.next-project:hover>span{transform:translate(4px,-4px)}.image-modal{border:0;border-radius:12px;padding:55px 15px 15px;max-width:94vw;max-height:94dvh;background:#fff}.image-modal::backdrop{background:#050c1ee8;backdrop-filter:blur(7px)}.image-modal img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(94dvh - 80px);object-fit:contain}.image-close{position:absolute;right:9px;top:4px;color:var(--navy)}.site-footer{display:block;padding-top:55px;padding-bottom:25px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start;padding-bottom:45px}.site-footer .footer-top p{display:block;font-size:21px;color:var(--navy);line-height:1.4;margin:0;letter-spacing:-.5px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:14px}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--text);line-height:1.6}.site-footer small{border:0;padding:0;flex-basis:auto}.reveal-in{animation:enter .65s ease both}@keyframes enter{from{opacity:.15;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@supports(view-transition-name:none){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}}@media(max-width:1000px){.desktop-nav{gap:24px}.service-detail{grid-template-columns:40px 1fr 1fr;gap:25px}.contact-layout{gap:35px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>nav{grid-column:1/-1;display:flex;gap:30px}.manifesto{gap:35px}.hero h1{font-size:clamp(44px,5.6vw,60px)}}@media(max-width:700px){.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{gap:8px}.page-intro{padding-top:48px;padding-bottom:45px}.page-intro h1{font-size:clamp(43px,10vw,66px);letter-spacing:-2px}.page-lead{font-size:18px;margin-top:24px}.hero h1{font-size:clamp(43px,10.4vw,67px)}.project-overlay{opacity:1;transform:none;font-size:12px;bottom:12px;right:12px;padding:10px 14px}.studio-teaser>div{display:block;margin-top:20px}.studio-teaser>div .text-link{margin-top:14px;line-height:1.6}.work .section-heading .text-link{margin-top:24px}.service-detail{grid-template-columns:35px 1fr;gap:20px;padding:35px 0}.service-detail h2{font-size:30px}.service-detail ul{grid-column:2}.service-detail li{font-size:15px}.scope-note{padding-top:10px;padding-bottom:20px}.scope-note p{font-size:20px;line-height:1.5}.manifesto{grid-template-columns:1fr;gap:28px;padding-bottom:55px}.manifesto>div p{font-size:16px}.contact-layout{grid-template-columns:1fr;gap:22px;padding-bottom:10px}.enquiry-panel{padding:30px 24px}.enquiry-panel h2{font-size:33px}.project-intro{padding-top:30px;padding-bottom:30px}.back-link{margin-bottom:32px}.project-intro h1{font-size:44px;letter-spacing:-1.8px;overflow-wrap:break-word}.project-intro-bottom{display:block;margin-top:16px}.project-intro-bottom>p{font-size:18px}.project-intro-bottom .button{margin-top:10px}.screenshot-link{padding:14px 14px 56px;border-radius:10px}.screenshot-link>span{right:14px;bottom:12px;font-size:12px;padding:9px 14px}.project-story{grid-template-columns:1fr;gap:25px}.story-lead{font-size:20px}.next-project h2{font-size:28px}.next-project>span{font-size:35px}.footer-top{gap:28px;grid-template-columns:1fr}.footer-top .brand-name{display:block}.footer-top>nav{grid-column:auto}.site-footer .footer-top p{font-size:20px}.footer-bottom{flex-wrap:wrap;gap:14px}.footer-bottom>span{display:none}.image-modal{max-width:96vw;padding:50px 8px 8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
.site-footer nav a{display:block}.mobile-menu nav a[aria-current]{color:var(--blue)}button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
