.site-nav [aria-current=page]{color:var(--blue);font-weight:600}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 32px;margin-top:45px;font-size:16px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.footer-links a:hover{color:var(--blue)}
.page-hero{padding-top:66px;padding-bottom:76px}
.page-hero h1{font-size:clamp(60px,7vw,108px);white-space:normal;max-width:18ch;line-height:1.02}
.page-hero>p{font-size:22px;max-width:690px;line-height:1.55;margin-top:34px}
.page-actions{display:flex;align-items:center;gap:24px 38px;flex-wrap:wrap;margin-top:34px}
.work-showcase{padding-top:110px;padding-bottom:110px}
.work-showcase .section-opening{margin-bottom:55px}
.project-intro{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:32px}
.project-intro h3,.companion-project h3{font-size:clamp(40px,4.7vw,70px);color:var(--blue);line-height:1.02}
.project-intro p{max-width:650px;margin-top:24px;font-size:20px;line-height:1.55}
.project-intro .text-link{flex-shrink:0}
.project-image-link{display:block;background:var(--blue-light);overflow:hidden}
.project-image-link img{display:block;width:100%;height:auto;transition:transform .6s var(--motion-ease,cubic-bezier(.22,1,.36,1))}
.project-image-link:hover img{transform:scale(1.015)}
.lead-project .project-image-link{max-height:760px}
.lead-project .project-image-link img{object-position:top;object-fit:cover;width:100%;max-height:760px}
.image-caption,.project-figure figcaption{font-size:16px;line-height:1.5;margin-top:18px}
.companion-project{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:center;margin-top:112px}
.companion-project p{max-width:390px;margin-top:26px;font-size:20px;line-height:1.55}
.companion-project .text-link{margin-top:28px}
.certificate-preview{height:550px}
.certificate-preview img{height:100%;object-fit:cover;object-position:top}
.home-expertise{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:start;padding-top:92px;padding-bottom:95px;background:var(--blue-light)}
.home-expertise h2{font-size:clamp(42px,4.4vw,66px)}
.home-expertise p{max-width:460px;font-size:21px;line-height:1.6}
.home-expertise .text-link{margin-top:25px}
.page-cta{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;padding-block:110px;align-items:start}
.page-cta h2{font-size:clamp(42px,4.7vw,70px)}
.page-cta p{max-width:430px;font-size:20px;line-height:1.55}
.page-cta .button{margin-top:28px}
.page-cta .text-link{display:flex;width:max-content;margin-top:20px}
.project-meta{font-size:18px;line-height:1.55;max-width:690px;margin-top:24px}
.project-figure{margin-top:20px;margin-bottom:88px}
.project-figure img{display:block;width:100%;height:auto;background:var(--blue-light)}
.project-figure.certificate-figure img{max-height:780px;object-fit:cover;object-position:top}
.case-section{padding-top:50px;padding-bottom:70px}
.case-section>h2{font-size:clamp(40px,4.7vw,70px);max-width:22ch;margin-bottom:32px}
.case-section>p{max-width:750px;font-size:21px;line-height:1.6;margin-bottom:38px}
.case-feature-list{display:grid;gap:5px;margin-top:35px}
.case-feature{display:grid;grid-template-columns:.9fr 1.4fr;gap:10%;padding:32px 30px;background:var(--blue-light);align-items:start}
.case-feature h3{font-size:27px;line-height:1.1;color:var(--blue)}
.case-feature p{font-size:18px;line-height:1.6;max-width:650px}
.case-related{background:var(--blue-field);color:#fff;padding-block:70px;margin-top:35px}
.case-related h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:26px;max-width:24ch}
.case-related p{font-size:20px;max-width:760px;line-height:1.6}
.case-related .text-link{color:#fff;margin-top:26px}
.case-related a:focus-visible{outline-color:#fff}
.project-enquiry{padding-block:75px}
.project-enquiry h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:25px}
.project-enquiry p{max-width:680px;font-size:20px;line-height:1.6;margin-bottom:28px}
.enterprise-principles .process-step h3{margin-top:0}
.enterprise-principles{align-items:start;margin-top:60px}
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;padding-bottom:120px;padding-top:20px}
.contact-directory h2,.inline-enquiry h2{font-size:clamp(36px,4vw,58px);margin-bottom:26px}
.contact-directory>p{max-width:390px;font-size:20px;line-height:1.55;margin-bottom:32px}
.contact-directory>a{display:flex;align-items:center;width:max-content;max-width:100%;min-height:44px;margin-top:14px}
.contact-mail{font-size:clamp(22px,2.5vw,36px);letter-spacing:-.05em;color:var(--blue)}
.contact-directory address{font-style:normal;margin-top:26px;font-size:18px;line-height:1.6}
.contact-mascot{display:block;width:clamp(170px,16vw,220px);height:auto;margin-top:38px;transition:transform .3s ease}
.contact-mascot:hover{transform:rotate(-4deg) translateY(-3px)}
.inline-enquiry{background:var(--blue-light);padding:40px;min-width:0}
.inline-enquiry>p{font-size:17px;line-height:1.5}
.inline-enquiry input,.inline-enquiry select,.inline-enquiry textarea{background:#fff}
.inline-enquiry form{margin-top:32px}
.inline-enquiry .email-ready{margin-top:0}
body[data-page=expertise] .capabilities{padding-top:25px}
body[data-page=projects] .work-showcase{padding-top:25px}
body[data-page=framilton-os] .page-hero,body[data-page=framilton-certificates] .page-hero{padding-bottom:50px}
@media(min-width:1800px){.home-expertise{max-width:none;padding-inline:max(var(--gutter),calc((100vw - 1688px)/2))}}
@media(max-width:1000px){.project-intro{align-items:start;flex-direction:column;gap:15px}.companion-project{gap:6%;grid-template-columns:.9fr 1.1fr}.certificate-preview{height:440px}.case-feature{gap:6%}.inline-enquiry{padding:30px}.contact-layout{gap:6%}}
@media(max-width:750px){.page-hero{padding-top:40px;padding-bottom:52px}.page-hero h1{font-size:clamp(42px,11vw,64px);letter-spacing:-.06em;max-width:100%}.page-hero>p{font-size:18px;margin-top:27px}.page-actions{margin-top:27px;gap:15px}.work-showcase{padding-top:74px;padding-bottom:70px}.work-showcase .section-opening{margin-bottom:38px}.project-intro{gap:14px;margin-bottom:24px}.project-intro h3,.companion-project h3{font-size:clamp(38px,10.3vw,58px)}.project-intro p,.companion-project p{font-size:18px;line-height:1.55;margin-top:22px}.lead-project .project-image-link,.lead-project .project-image-link img{max-height:none}.image-caption,.project-figure figcaption{font-size:14px;margin-top:14px}.companion-project{grid-template-columns:1fr;gap:30px;margin-top:70px}.certificate-preview{height:420px}.companion-project .text-link{margin-top:22px}.home-expertise,.page-cta{grid-template-columns:1fr;gap:28px;padding-block:64px}.home-expertise h2,.page-cta h2{font-size:clamp(36px,9.7vw,54px)}.home-expertise p,.page-cta p{font-size:18px;line-height:1.55}.page-cta .button{margin-top:24px}.footer-links{gap:5px 24px;margin-top:28px;font-size:15px}.project-meta{font-size:17px;margin-top:22px}.project-figure{margin-top:0;margin-bottom:42px}.project-figure.certificate-figure img{max-height:450px}.case-section{padding-block:34px 42px}.case-section>h2,.case-related h2,.project-enquiry h2{font-size:clamp(34px,9vw,52px);max-width:100%;margin-bottom:25px}.case-section>p,.case-related p,.project-enquiry p{font-size:18px;line-height:1.55}.case-feature{grid-template-columns:1fr;gap:16px;padding:25px 23px}.case-feature h3{font-size:26px}.case-feature p{font-size:17px;line-height:1.55}.case-related{padding-block:50px;margin-top:22px}.project-enquiry{padding-block:55px}.enterprise-principles .process-step{display:block}.enterprise-principles .process-step h3{margin-top:0}.contact-layout{grid-template-columns:1fr;gap:45px;padding-bottom:70px;padding-top:0}.contact-directory h2,.inline-enquiry h2{font-size:36px}.contact-directory>p{font-size:18px}.contact-directory address{font-size:17px}.inline-enquiry{padding:28px 22px}.contact-mail{font-size:28px}}
@media(max-width:350px){.page-hero h1{font-size:39px}.project-intro h3,.companion-project h3{font-size:36px}.home-expertise h2,.page-cta h2{font-size:34px}.case-section>h2,.case-related h2,.project-enquiry h2{font-size:32px}.contact-mail{font-size:25px}.inline-enquiry{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.project-image-link img,.contact-mascot{transition:none}.project-image-link:hover img,.contact-mascot:hover{transform:none}}

.email-ready #edit-enquiry{display:flex;margin-top:18px}
.page-hero>.project-meta{font-size:18px;line-height:1.55}

/* The navigation stays available while readers explore longer project pages. */
html{scroll-padding-top:128px}
.site-header{position:sticky;top:0;z-index:15;background:var(--paper);min-height:104px;isolation:isolate}
.reading-progress{display:none;position:absolute;inset:auto 0 0;height:4px;background:var(--blue);transform:scaleX(0);transform-origin:left;pointer-events:none}
.js .reading-progress{display:block}
.skip-link{z-index:30}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:30px}
.hero .hero-actions .button{margin-top:0}
.hero-actions .text-link{min-height:52px}
.case-jump-nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:42px}
.case-jump-nav a{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:48px;padding:10px 16px;background:var(--blue-light);font-size:16px;color:var(--blue)}
.case-jump-nav a:hover{background:var(--blue);color:var(--paper)}
.case-section,.project-figure{scroll-margin-top:128px}
.case-related>.text-link{display:inline-flex;margin-top:24px}
.project-image-link:focus-visible{outline-offset:8px}
@media(max-width:750px){html{scroll-padding-top:116px}.site-header{min-height:100px;position:sticky;max-height:100svh;overflow-y:auto}.hero-actions{gap:12px 24px;margin-top:26px}.hero-actions .text-link{min-height:46px}.case-jump-nav{gap:8px;margin-top:30px}.case-jump-nav a{gap:18px;font-size:15px;padding:10px 13px}.case-section,.project-figure{scroll-margin-top:116px}}

/* The F assembles automatically; no replay control is shown. */
.motion-control{display:none!important}
