/* Keene Development. Brand v1. No framework or build step required. */
:root{--paper:#f8f9fa;--white:#fff;--stone:#e5e7eb;--slate:#94a3b8;--blue:#2563eb;--ink:#0f172a;--text:#475569;--tint:#eff6ff;--line:#d9dfe7;--font:'InterVariable','Inter',Arial,sans-serif;--body:'IBM Plex Sans','Inter',Arial,sans-serif;--mono:'IBM Plex Mono',Consolas,monospace;--radius:10px;--header:108px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{max-width:100%;vertical-align:middle}button{color:inherit}p,h1,h2,h3,h4{margin:0}p+p{margin-top:20px}h1,h2,h3,h4,.button,.primary-nav,.brand,.eyebrow{font-family:var(--font)}h1,h2,h3{font-weight:600;line-height:1.1;letter-spacing:-.05em}h2{font-size:clamp(34px,3.35vw,51px)}h3{font-size:22px;letter-spacing:-.025em}p{color:var(--text)}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{color:var(--ink);background:#dbeafe}[hidden]{display:none!important}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding:116px 0}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.blue{color:var(--blue)}.eyebrow{font-size:11px;line-height:1.5;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text);display:flex;align-items:center;gap:12px}.blue-dot,.light-dot{width:7px;height:7px;display:inline-block;flex:none;border-radius:50%;background:var(--blue)}.small-note{font-size:13px;line-height:1.65;color:var(--text)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:17px 23px;border-radius:6px;background:var(--blue);color:white;border:1px solid var(--blue);font-size:14px;font-weight:500;line-height:1.3;transition:background .2s,box-shadow .2s,transform .2s;text-align:center}.button:hover{background:#1d4ed8;box-shadow:0 5px 16px #2563eb20;transform:translateY(-1px)}.button .icon{width:19px;height:19px}.button-small{padding:12px 18px}.text-link{display:inline-flex;align-items:center;gap:14px;font-family:var(--font);font-size:14px;font-weight:500;background:none;border:0;padding:9px 0;transition:color .2s}.text-link:hover{color:var(--blue)}.text-link .icon{width:18px;height:18px}.skip-link{position:fixed;z-index:100;left:16px;top:12px;transform:translateY(-150%);background:white;padding:10px 16px;border:1px solid var(--blue)}.skip-link:focus{transform:translateY(0)}
/* Navigation */
.site-header{height:var(--header);position:sticky;top:0;z-index:30;background:#f8f9faf2;border-bottom:1px solid #d9dfe790;backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;flex:none;line-height:1}.brand img{display:block;width:200px;height:auto}.primary-nav{display:flex;align-items:center;gap:31px;font-size:12px;font-weight:500}.primary-nav>a:not(.button){padding:10px 0;position:relative}.primary-nav>a:not(.button):after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s}.primary-nav>a:hover:after{transform:scaleX(1)}.menu-button{display:none}
/* Opening composition */
.hero{overflow:clip;padding:86px 0 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(0,1fr);gap:16px;align-items:center;position:relative}.hero-copy{position:relative;z-index:1}.hero h1{word-spacing:.04em;font-weight:650;font-size:clamp(68px,6.5vw,98px);letter-spacing:-.064em;line-height:1.01;margin:27px 0 21px;white-space:nowrap}.hero-subtitle{font-family:var(--font);font-size:clamp(20px,1.9vw,29px);letter-spacing:-.04em;line-height:1.3;color:var(--text)}.hero-description{max-width:510px;font-size:18px;line-height:1.7;margin-top:26px}.hero-actions{display:flex;align-items:center;gap:23px;margin-top:31px;flex-wrap:wrap}.hero-byline{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:30px;color:var(--text)}.signature-dot{height:27px;width:27px;background:#e9eef5;border:1px solid #d3dce8;border-radius:50%;font-family:var(--font);color:var(--ink);font-weight:600;display:inline-flex;align-items:center;justify-content:center;font-size:9px}.byline-divider{height:12px;width:1px;background:#b6c2d1;margin:0 2px}.hero-graphic{position:relative;align-self:center;margin-top:16px;margin-left:-18px;min-width:0}.route-diagram{width:100%;height:auto;overflow:visible}.graphic-result{position:absolute;left:26%;right:2%;bottom:12%;display:flex;gap:9px;align-items:center;font-size:11px;font-family:var(--font);color:var(--ink)}.graphic-result .icon{width:15px;height:15px;color:var(--blue)}.hero-footer{border-top:1px solid var(--line);margin-top:71px;padding:24px 0;display:flex;justify-content:space-between;gap:22px;color:var(--text);font-family:var(--mono);font-size:11px;letter-spacing:.03em}.hero-footer span{display:flex;align-items:center;gap:13px}
/* Buying situations */
.situations{background:var(--white);border-top:1px solid var(--line)}.split-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:110px}.section-intro .eyebrow{margin-bottom:27px}.section-intro h2{margin-bottom:29px}.section-intro>p:not(.eyebrow){max-width:388px}.section-intro .small-note{margin-top:26px;max-width:310px}.decision-list{border-top:1px solid var(--ink);margin-top:5px}.decision{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.decision summary{display:grid;grid-template-columns:25px 1fr 20px;gap:18px;padding:29px 0;align-items:start}.decision summary:hover h3{color:var(--blue)}.decision summary h3{font-size:22px;line-height:1.35;letter-spacing:-.03em;font-weight:500;transition:color .2s}.toggle-symbol{width:18px;height:18px;position:relative;display:block;margin-top:7px;flex:none}.toggle-symbol:before,.toggle-symbol:after{content:'';position:absolute;background:var(--ink);left:3px;right:3px;top:8px;height:1px;transition:transform .2s}.toggle-symbol:after{transform:rotate(90deg)}details[open] .toggle-symbol:after{transform:rotate(0)}.decision[open] h3{color:var(--blue)}.decision-body{padding:0 33px 28px 43px;font-size:16px;line-height:1.75}.topic-label{font-family:var(--mono);text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:.08em;color:var(--text)}.decision-body .topic-label{display:block;color:var(--blue);margin-top:18px}
/* Sprint and interactive deliverable */
.sprint-section{background:#f0f4f9;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:50px}.section-heading .subtle{font-size:10px;letter-spacing:.045em;text-transform:none}.sprint-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1fr);gap:100px;margin-top:55px;align-items:center}.sprint-copy h2{font-size:clamp(38px,3.75vw,55px);letter-spacing:-.055em}.sprint-copy .lead{font-family:var(--font);font-size:23px;line-height:1.5;letter-spacing:-.035em;color:var(--ink);margin-top:24px;margin-bottom:18px}.sprint-copy>p:not(.lead){max-width:405px;font-size:17px}.sprint-copy p.small-note{font-size:12px;max-width:330px;margin-top:16px}.pack-wrap{position:relative}.pack-back{position:absolute;inset:13px -10px 29px 10px;transform:rotate(2deg);border:1px solid #d6dee9;background:#fafbfd;border-radius:9px}.direction-pack{position:relative;background:white;border:1px solid #d8e0eb;padding:30px 30px 0;border-radius:9px;box-shadow:0 24px 50px -35px #203f7360}.pack-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--stone);padding-bottom:22px;margin-bottom:28px}.mini-wordmark{font-family:var(--font);font-weight:650;letter-spacing:-.03em;font-size:11px}.mini-wordmark>span{font-weight:350}.pack-label{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.direction-pack>.eyebrow{font-size:9px;letter-spacing:.1em;color:var(--blue)}.direction-pack h3{font-size:28px;font-weight:500;line-height:1.2;margin-top:12px;margin-bottom:25px;letter-spacing:-.04em}.pack-tabs{display:flex;border-bottom:1px solid var(--line);gap:14px}.pack-tab{position:relative;flex:1;display:flex;gap:6px;white-space:nowrap;justify-content:center;font-family:var(--font);font-size:9px;letter-spacing:-.01em;color:var(--text);padding:12px 0;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px}.pack-tab[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}.pack-tab[aria-selected=true] span{font-weight:600}.pack-panel{padding-top:21px;min-height:277px}.recommendation-highlight{background:var(--tint);border-left:2px solid var(--blue);padding:17px 13px;display:flex;gap:11px;align-items:flex-start}.blue-check{width:18px;height:18px;color:var(--blue);margin-top:2px}.blue-check .icon{width:18px;height:18px}.recommendation-highlight strong{display:block;font-family:var(--font);font-weight:550;font-size:13px;line-height:1.45}.recommendation-highlight p{font-size:12px;line-height:1.6;margin-top:4px}.pack-decisions{margin:10px 0 0}.pack-decisions>div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #edf0f4;font-size:11px;line-height:1.5}.pack-decisions>div:last-child{border:0}.pack-decisions dt{font-weight:500;color:var(--ink)}.pack-decisions dd{margin:0;color:var(--text)}.pack-caption{position:relative;text-align:center;font-size:10px;line-height:1.7;margin-top:22px;color:var(--text)}.panel-intro{font-size:12px;line-height:1.6}.architecture-sample{margin:17px auto 0;display:flex;align-items:center;flex-direction:column;width:90%}.diagram-box{border:1px solid #cbd5e1;border-radius:4px;padding:7px 16px;color:var(--text);font-size:11px;font-family:var(--mono);background:#f8fafc;min-width:150px;text-align:center}.diagram-box.selected{color:var(--blue);border-color:var(--blue);background:var(--tint)}.connector{width:1px;height:14px;background:#94a3b8}.branch{height:15px;width:52%;border:1px solid #94a3b8;border-bottom:0;border-radius:4px 4px 0 0;margin-top:14px;position:relative}.branch:before{content:'';position:absolute;left:50%;height:14px;width:1px;background:#94a3b8;top:-14px}.diagram-pair{display:flex;gap:15px;justify-content:center;width:100%}.diagram-pair .diagram-box{min-width:0;flex:1}.pack-panel .small-note{font-size:10px;margin-top:13px}.handoff-list{list-style:none;padding:0;margin:0}.handoff-list li{display:flex;gap:15px;padding:13px 0;border-bottom:1px solid var(--stone)}.handoff-list strong{font-size:13px;font-weight:550}.handoff-list p{font-size:12px;margin-top:4px}.sprint-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:69px;border-top:1px solid #cdd8e5;padding-top:28px}.sprint-facts>div{display:flex;gap:17px;align-items:flex-start}.sprint-facts strong{font-family:var(--font);font-size:12px;font-weight:550;line-height:1.5}.sprint-facts p{font-size:12px;margin-top:5px}
/* Clear handover */
.process{background:white}.process-heading{display:flex;justify-content:space-between;gap:65px;align-items:flex-end}.process-heading .eyebrow{margin-bottom:25px}.process-heading>p{font-size:17px;max-width:345px;padding-bottom:4px}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:61px 0 0;padding:0}.process-steps li{position:relative;padding-right:36px}.process-steps li:not(:last-child):after{content:'';position:absolute;top:17px;left:52px;right:12px;height:1px;background:var(--line)}.process-steps h3{font-size:21px;font-weight:500;margin-top:22px;margin-bottom:13px}.process-steps p{font-size:15px;line-height:1.7}.scope-note{display:flex;align-items:center;gap:20px;border-top:1px solid var(--stone);padding-top:22px;margin-top:38px}.scope-note .icon{width:23px;height:23px;color:var(--text)}.scope-note p{font-size:13px;max-width:920px;line-height:1.7}
/* Validation */
.validation-section{padding:80px 0;background:var(--ink);color:white;position:relative;overflow:clip}.validation-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:108px;align-items:center}.validation-section .eyebrow{color:#c0cad9}.light-dot{background:#6fa0ff}.validation-section h2{font-size:39px;line-height:1.15;margin-top:25px;font-weight:500}.validation-intro{color:#b3c1d4;font-size:19px;max-width:350px;margin-top:24px}.experiment-flow{margin-top:35px;display:flex;align-items:center;gap:18px;font-size:11px;font-family:var(--mono);color:#c6d3e6}.experiment-flow .icon{width:18px;height:18px;color:#8497b3}.evidence-pill{border:1px solid #5d87c7;background:#182c4c;padding:7px 12px;border-radius:4px;color:#dceaff}.follow-on-services>article{display:flex;align-items:flex-start;gap:20px;padding:25px 0;border-bottom:1px solid #304059}.follow-on-services>article:first-child{padding-top:0}.service-icon{width:29px;height:29px;fill:none;stroke:#9fb6da;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex:none}.follow-on-services h3{font-size:18px;letter-spacing:-.025em;line-height:1.5;font-weight:500;margin-bottom:8px}.follow-on-services article p{color:#b6c4d7;font-size:15px;line-height:1.8}.follow-on-note{font-size:12px;color:#a5b7ce;margin-top:22px;line-height:1.7}
/* Proof */
.experience{background:white}.experience .section-heading{align-items:flex-end}.experience .eyebrow{margin-bottom:25px}.experience h2{font-size:46px}.experience-intro{font-size:15px;line-height:1.7;padding-bottom:4px;min-width:250px}.experience-rows{border-top:1px solid var(--ink);margin-top:50px}.experience-row{display:grid;grid-template-columns:1fr 1.45fr .65fr;gap:55px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line)}.experience-org{display:flex;align-items:center;gap:22px}.experience-org h3{font-family:var(--font);font-size:24px;font-weight:550;letter-spacing:-.04em}.experience-detail p{font-size:15px;line-height:1.7;margin-top:10px}.experience-tag{font-size:10px;line-height:1.5;justify-self:end;color:var(--text);border:1px solid var(--line);padding:7px 12px;border-radius:4px;white-space:nowrap;font-family:var(--mono)}.experience-disclosure{margin-top:24px;font-size:11px}
/* Personally delivered */
.about-section{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:.9fr 1.35fr;gap:118px;align-items:center}.joe-card{border:1px solid #d7dfe9;border-radius:8px;overflow:hidden;background:#eaf0f7;padding:29px 30px;min-height:475px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.joe-card:after{content:'';position:absolute;width:270px;height:270px;border:1px solid #d1ddeb;border-radius:50%;top:125px;left:36px;pointer-events:none}.joe-card-top{display:flex;align-items:center;justify-content:space-between}.joe-card-top .eyebrow{font-size:9px;letter-spacing:.13em}.joe-card-top .icon{width:15px;height:15px;color:var(--text)}.joe-monogram{font-family:var(--font);font-size:124px;line-height:1.1;font-weight:550;letter-spacing:-.08em;position:relative;z-index:1;margin:40px 0 45px}.joe-monogram>span{color:var(--blue)}.joe-card-bottom{position:relative;z-index:1}.joe-card-bottom h3{font-size:25px;margin-bottom:5px}.joe-card-bottom p{font-size:13px}.joe-card-bottom>span{font-family:var(--mono);color:var(--text);font-size:9px;display:block;margin-top:19px}.about-copy .eyebrow{margin-bottom:26px}.about-copy h2{font-size:42px;margin-bottom:25px;line-height:1.13}.about-copy>p:not(.eyebrow){font-size:17px;line-height:1.75}.about-copy .about-principle{border-left:2px solid var(--blue);padding-left:20px;margin:28px 0 16px!important;color:var(--ink)}.about-principle strong{font-weight:600}.about-copy .text-link{font-size:13px}
/* FAQs */
.faq-section{background:white;border-top:1px solid var(--line);padding:90px 0}.faq-section .split-grid{gap:110px}.faq-section h2{font-size:40px}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:22px;padding:23px 0;font-family:var(--font);font-size:16px;line-height:1.55;font-weight:500;letter-spacing:-.025em}.faq-list summary .toggle-symbol{margin-top:3px}.faq-list details>p{font-size:15px;line-height:1.8;padding:0 28px 23px 0}.faq-list details[open] summary{color:var(--blue)}
/* Enquiry */
.contact-section{padding:105px 0;background:#eef3fb;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:115px;align-items:start}.contact-copy .eyebrow{margin:16px 0 29px}.contact-copy h2{font-size:57px;line-height:1.09;letter-spacing:-.055em}.contact-copy>p:not(.eyebrow){margin-top:26px;max-width:375px;font-size:18px}.contact-email{font-family:var(--font);display:inline-flex;align-items:center;gap:22px;font-size:25px;letter-spacing:-.04em;color:var(--blue);border-bottom:1px solid #adbfdf;padding-bottom:6px;margin-top:33px}.contact-email:hover{color:var(--ink)}.contact-copy>p.small-note{font-size:12px;margin-top:19px}.enquiry-form{background:white;border:1px solid #d7e0ee;border-radius:8px;padding:30px}.form-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:26px}.form-heading h3{font-size:21px;font-weight:550}.enquiry-form label{font-family:var(--font);font-size:12px;font-weight:550;display:block;margin:18px 0 8px}.enquiry-form label>span{font-weight:400;color:var(--text)}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid #b9c7d8;background:#fdfefe;border-radius:4px;padding:11px 13px;font-family:var(--body);font-size:14px;line-height:1.65;color:var(--ink);min-width:0}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#64748b;opacity:1}.enquiry-form textarea{resize:vertical;min-height:114px}.enquiry-form select{padding-right:32px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.form-help{font-size:11px;line-height:1.6;margin:10px 0 20px}.form-submit{width:100%;justify-content:space-between;padding:14px 18px}.form-status{font-size:12px;margin-top:12px}.form-status:empty{display:none}.copy-options{padding-top:14px}.copy-options p{font-size:12px}.copy-options button{font-size:12px}.copy-options textarea{margin-top:12px;min-height:200px;font-size:13px}
/* Footer and dialogs */
.site-footer{padding:47px 0 21px;background:white}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:start;padding-bottom:38px}.footer-main p{font-size:13px;line-height:1.8}.footer-main strong{font-weight:500;color:var(--ink)}.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:12px}.footer-links>a{display:inline-flex;align-items:center;gap:9px}.footer-links .icon{width:13px;height:13px}.footer-links a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);padding-top:21px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--text)}.registered-office{font-size:9px;line-height:1.8;margin-top:12px}.content-dialog{border:1px solid #c8d4e4;border-radius:12px;padding:0;width:min(690px,calc(100% - 32px));max-height:90dvh;color:var(--ink);background:var(--paper);box-shadow:0 24px 110px #0f172a45}.content-dialog::backdrop{background:#0f172a88;backdrop-filter:blur(5px)}.dialog-content{padding:50px}.dialog-content h2{font-size:40px;line-height:1.15;margin-top:20px}.dialog-content .dialog-lead{font-size:18px;margin-top:20px}.dialog-content h3{font-size:17px;margin-top:26px;margin-bottom:8px}.dialog-content p{font-size:15px}.dialog-content .button{margin-top:26px}.dialog-close{position:sticky;display:block;top:15px;float:right;margin:14px 17px -47px 0;width:33px;height:33px;border:1px solid var(--line);background:white;border-radius:50%;font-size:24px;line-height:1;z-index:2}.review-note{background:#edf2f8;border-left:2px solid #94a3b8;padding:15px;font-size:12px!important;margin-top:26px}.standalone-page{max-width:740px;margin:65px auto;padding:0 30px}.standalone-page .back-home{display:inline-flex;gap:10px;font-size:14px;margin-bottom:24px}.standalone-page .dialog-content{padding:0}.standalone-page h1{font-size:46px;margin-bottom:20px}.standalone-page .print-button{margin:24px 0}
@media(min-width:1600px){.hero-grid{grid-template-columns:1.2fr 1fr}.hero{padding-top:95px}.hero h1{font-size:99px}.hero-graphic{margin-left:10px}}
@media(max-width:1199px){.container{width:calc(100% - 72px)}.primary-nav{gap:22px}.primary-nav>a{font-size:11px}.hero{padding-top:64px}.hero h1{font-size:clamp(62px,6.4vw,78px)}.hero-description{max-width:450px;font-size:17px}.hero-grid{grid-template-columns:1.16fr 1fr}.hero-actions{gap:15px}.hero-actions .button{font-size:12px;padding:16px}.hero-actions .text-link{font-size:12px}.graphic-result{font-size:9px;bottom:13%}.split-grid{gap:70px}.sprint-grid{gap:64px}.section{padding:92px 0}.direction-pack{padding:23px 23px 0}.pack-tabs{gap:9px}.pack-tab{font-size:8px}.pack-decisions>div{grid-template-columns:105px 1fr;gap:9px}.direction-pack h3{font-size:25px}.sprint-facts{gap:19px}.sprint-facts>div{gap:13px}.sprint-facts strong{font-size:11px}.sprint-facts p{font-size:11px}.validation-grid{gap:62px}.validation-section h2{font-size:34px}.experience h2{font-size:40px}.experience-row{gap:35px;grid-template-columns:1fr 1.5fr .7fr}.experience-org h3{font-size:20px}.experience-org{gap:14px}.experience-tag{font-size:8px}.about-grid{gap:70px}.about-copy h2{font-size:36px}.joe-card{min-height:435px}.joe-monogram{font-size:106px}.contact-grid{gap:65px}.contact-copy h2{font-size:49px}.contact-copy>p:not(.eyebrow){font-size:16px}.footer-bottom{font-size:9px}}
@media(max-width:960px){:root{--header:93px}.container{width:calc(100% - 56px)}.primary-nav{gap:18px}.primary-nav>a:first-child{display:none}.brand img{width:184px}.brand span{font-size:6.8px}.hero h1{font-size:64px;white-space:normal}.hero-subtitle{font-size:23px;max-width:390px}.hero-grid{grid-template-columns:1.2fr .9fr;gap:0}.hero-description{max-width:400px}.hero-graphic{margin-left:-30px;transform:translateX(10px);margin-top:-40px}.graphic-result{left:13%;bottom:12%;font-size:8px}.hero-byline{font-size:10px;gap:7px}.hero-footer{font-size:9px;gap:12px;margin-top:55px}.hero-footer span{gap:7px}.split-grid{gap:42px;grid-template-columns:.9fr 1.1fr}.decision summary{gap:10px;grid-template-columns:20px 1fr 17px}.decision summary h3{font-size:19px}.decision-body{padding-left:30px;font-size:15px}.sprint-grid{gap:40px;grid-template-columns:.95fr 1.1fr}.sprint-copy h2{font-size:39px}.sprint-copy .lead{font-size:20px}.sprint-copy>p:not(.lead){font-size:16px}.direction-pack{padding:20px 19px 0}.direction-pack h3{font-size:22px}.pack-header{padding-bottom:17px;margin-bottom:20px}.pack-tabs{gap:5px}.pack-tab{font-size:8px;gap:4px}.pack-tab>span{font-size:8px}.pack-decisions>div{grid-template-columns:1fr;gap:3px;font-size:10px;padding:9px 0}.recommendation-highlight p{font-size:11px}.pack-panel{min-height:295px}.pack-caption{font-size:9px}.sprint-facts{grid-template-columns:repeat(3,1fr);gap:16px}.sprint-facts>div{flex-direction:column;gap:9px}.process-heading>p{max-width:285px;font-size:16px}.process-steps li{padding-right:24px}.process-steps p{font-size:14px}.validation-grid{gap:40px;grid-template-columns:1fr 1fr}.validation-section h2{font-size:30px}.validation-intro{font-size:17px}.experiment-flow{gap:10px;font-size:10px}.follow-on-services article{gap:14px}.follow-on-services h3{font-size:16px}.follow-on-services article p{font-size:14px}.experience .section-heading{gap:30px}.experience h2{font-size:36px}.experience-intro{font-size:13px;min-width:205px}.experience-row{grid-template-columns:1fr 1.6fr;gap:35px}.experience-tag{display:none}.about-grid{grid-template-columns:.9fr 1.3fr;gap:43px}.joe-card{padding:23px;min-height:410px}.joe-monogram{font-size:91px}.joe-card:after{left:13px;width:225px;height:225px}.about-copy h2{font-size:31px}.about-copy>p:not(.eyebrow){font-size:15px}.about-copy .text-link{font-size:12px}.faq-section .split-grid{gap:45px}.faq-section h2{font-size:34px}.faq-list summary{font-size:14px}.contact-grid{gap:45px;grid-template-columns:1fr 1.1fr}.contact-copy h2{font-size:43px}.contact-email{font-size:23px}.enquiry-form{padding:24px}.footer-main{gap:30px}}
@media(max-width:760px){:root{--header:88px}.container{width:calc(100% - 40px)}.section{padding:68px 0}.header-inner{gap:16px}.brand img{width:164px}.brand span{font-size:6px;letter-spacing:.2em;margin-top:5px}.menu-button{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 3px;border:0;background:none;font-family:var(--font);font-size:12px}.menu-bars{width:19px;height:15px;position:relative}.menu-bars:before,.menu-bars:after{content:'';position:absolute;height:1px;left:0;right:0;background:var(--ink);transition:transform .2s,top .2s}.menu-bars:before{top:4px}.menu-bars:after{top:11px}.menu-button[aria-expanded=true] .menu-bars:before{top:8px;transform:rotate(45deg)}.menu-button[aria-expanded=true] .menu-bars:after{top:8px;transform:rotate(-45deg)}.primary-nav{display:none;position:absolute;top:var(--header);left:0;right:0;padding:18px 24px 26px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 22px #0f172a0d;gap:7px;align-items:stretch;flex-direction:column}.primary-nav.is-open{display:flex}.primary-nav>a:first-child{display:block}.primary-nav>a{font-size:15px;padding:13px 0!important}.primary-nav .button{padding:14px!important;margin-top:7px}.primary-nav>a:not(.button):after{display:none}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;gap:10px}.hero .eyebrow{font-size:8px;letter-spacing:.1em;gap:9px}.hero h1{font-size:clamp(50px,10.7vw,79px);margin:26px 0 20px;line-height:1.035;letter-spacing:-.064em;white-space:nowrap}.hero-subtitle{font-size:22px;max-width:none;letter-spacing:-.04em}.hero-description{font-size:17px;max-width:510px;line-height:1.7;margin-top:24px}.hero-actions{gap:18px;margin-top:27px}.hero-actions .button{font-size:12px;padding:15px 16px;gap:14px;min-height:51px}.hero-actions .text-link{font-size:12px}.hero-byline{font-size:10px;margin-top:27px;gap:8px}.hero-graphic{margin:28px auto 0;transform:none;width:min(100%,530px);height:auto}.route-diagram{width:100%}.graphic-result{left:25%;right:2%;bottom:12%;font-size:9px}.hero-footer{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;padding:20px 0;gap:14px;font-size:10px}.hero-footer span{gap:9px}.split-grid{grid-template-columns:1fr;gap:35px}.section-intro h2{font-size:38px;margin-bottom:23px;letter-spacing:-.05em}.section-intro .eyebrow{font-size:10px;margin-bottom:22px}.section-intro>p:not(.eyebrow){font-size:16px;max-width:480px}.section-intro .small-note{font-size:13px!important;max-width:420px}.decision summary{grid-template-columns:22px 1fr 18px;gap:13px;padding:24px 0}.decision summary h3{font-size:19px}.decision-body{font-size:15px;padding:0 24px 24px 35px}.decision-body .topic-label{font-size:9px}.section-heading .subtle{display:none}.eyebrow{font-size:10px}.sprint-grid{grid-template-columns:1fr;gap:42px;margin-top:29px}.sprint-copy h2{font-size:44px;line-height:1.09}.sprint-copy .lead{font-size:22px;margin-top:24px}.sprint-copy>p:not(.lead){font-size:16px;max-width:450px}.sprint-copy .small-note{font-size:12px!important}.sprint-copy .button{padding:15px 19px;font-size:13px}.pack-wrap{width:min(100%,520px);margin-inline:auto}.pack-back{inset:10px -3px 30px 5px;transform:rotate(1deg)}.direction-pack{padding:24px 23px 0}.direction-pack h3{font-size:26px}.pack-header{margin-bottom:24px}.pack-label{font-size:8px}.mini-wordmark{font-size:11px}.pack-tab,.pack-tab>span{font-size:9px}.pack-tabs{gap:13px}.pack-panel{min-height:276px}.pack-decisions>div{grid-template-columns:115px 1fr;gap:10px;font-size:10px;padding:12px 0}.recommendation-highlight{padding:14px 11px;gap:9px}.recommendation-highlight strong{font-size:12px}.recommendation-highlight p{font-size:11px}.pack-caption{font-size:9px}.sprint-facts{grid-template-columns:1fr;margin-top:34px;padding-top:0;gap:0}.sprint-facts>div{flex-direction:row;gap:20px;border-bottom:1px solid #cdd8e5;padding:19px 0;align-items:center}.sprint-facts>div:last-child{border-bottom:0;padding-bottom:0}.sprint-facts strong{font-size:12px}.sprint-facts p{font-size:12px}.process-heading{flex-direction:column;gap:23px;align-items:stretch}.process-heading h2{font-size:38px}.process-heading>p{max-width:450px;font-size:16px}.process-heading .eyebrow{margin-bottom:22px}.process-steps{grid-template-columns:1fr 1fr;gap:31px 19px;margin-top:33px}.process-steps li{padding-right:8px}.process-steps li:nth-child(2):after{display:none}.process-steps li:not(:last-child):after{right:0}.process-steps h3{font-size:20px;margin-top:18px}.process-steps p{font-size:14px}.scope-note{align-items:flex-start;gap:13px;margin-top:30px}.scope-note p{font-size:12px}.scope-note .icon{margin-top:2px;width:20px;height:20px}.validation-section{padding:63px 0}.validation-grid{grid-template-columns:1fr;gap:38px}.validation-section h2{font-size:34px;line-height:1.18;margin-top:24px}.validation-intro{font-size:18px;max-width:400px}.experiment-flow{font-size:11px;gap:16px;margin-top:26px}.follow-on-services>article{gap:17px;padding:23px 0}.follow-on-services h3{font-size:17px}.follow-on-services article p{font-size:15px}.follow-on-note{font-size:12px}.experience .section-heading{align-items:flex-start;flex-direction:column;gap:21px}.experience h2{font-size:37px}.experience-intro{font-size:15px}.experience .eyebrow{margin-bottom:22px}.experience-rows{margin-top:27px}.experience-row{grid-template-columns:1fr;gap:18px;padding:28px 0}.experience-org{gap:17px}.experience-org h3{font-size:24px}.experience-detail{padding-left:35px}.experience-detail p{font-size:15px}.experience-detail .topic-label{font-size:9px}.experience-disclosure{font-size:11px}.about-grid{grid-template-columns:1fr;gap:34px}.joe-card{min-height:300px;padding:25px;max-width:460px;width:100%;order:1}.joe-card:after{left:auto;right:22px;width:230px;height:230px;top:39px}.joe-monogram{font-size:95px;margin:23px 0}.joe-card-bottom h3{font-size:23px}.joe-card-bottom>span{margin-top:13px}.about-copy{order:0}.about-copy h2{font-size:36px}.about-copy>p:not(.eyebrow){font-size:16px}.about-copy .eyebrow{margin-bottom:22px}.about-copy .text-link{font-size:12px}.faq-section .split-grid{gap:29px}.faq-section h2{font-size:35px}.faq-list summary{font-size:15px;padding:23px 0}.faq-list details>p{font-size:15px}.contact-section{padding:65px 0}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-copy .eyebrow{margin:0 0 23px}.contact-copy h2{font-size:45px}.contact-copy>p:not(.eyebrow){font-size:17px;max-width:460px;margin-top:22px}.contact-copy>p.small-note{font-size:12px}.contact-email{font-size:25px;margin-top:24px}.enquiry-form{padding:24px 21px}.form-heading{margin-bottom:23px}.form-heading h3{font-size:22px}.enquiry-form label{font-size:12px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{font-size:16px}.form-help{font-size:11px}.form-submit{font-size:13px}.site-footer{padding-top:37px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-main>p{display:none}.footer-links{font-size:11px;gap:12px}.footer-bottom{flex-direction:column;gap:9px;font-size:10px}.registered-office{font-size:9px;margin-top:17px}.dialog-content{padding:46px 23px 27px}.dialog-content h2{font-size:32px}.dialog-content .eyebrow{font-size:9px;padding-right:20px}.dialog-content p{font-size:14px}.content-dialog{width:calc(100% - 24px)}.dialog-close{top:10px;margin-top:10px;margin-right:12px}.standalone-page{margin:36px auto;padding:0 22px}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.hero h1{font-size:46px}.hero-subtitle{font-size:19px}.hero-description{font-size:16px}.hero-byline{flex-wrap:wrap;font-size:9px;gap:6px}.hero-actions{gap:10px}.hero-actions .button{font-size:11px;gap:10px}.hero-actions .text-link{font-size:11px}.pack-tab,.pack-tab>span{font-size:8px}.direction-pack{padding-inline:18px}.direction-pack h3{font-size:23px}.pack-decisions>div{grid-template-columns:94px 1fr}.section-intro h2,.experience h2{font-size:34px}.sprint-copy h2{font-size:39px}.contact-copy h2{font-size:40px}.footer-brand img{width:125px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.hero-graphic,.menu-button,.site-footer,.enquiry-form,dialog,.skip-link{display:none!important}body{background:white;color:black;font-size:11pt}.container{width:100%}.section,.validation-section,.contact-section{padding:25px 0;background:white;color:black}.hero{padding-top:0}p{color:#333}h1,h2,h3{break-after:avoid}.experience-row,.process-steps li,.direction-pack{break-inside:avoid}a[href^='mailto:']:after{content:' (' attr(href) ')';font-size:9pt}.button{color:black;background:white;border:1px solid black}.hero h1{font-size:50pt}.hero-grid,.sprint-grid,.split-grid,.about-grid,.contact-grid,.validation-grid{display:block}.contact-email{font-size:20pt}.print-button{display:none!important}.standalone-page{max-width:none;margin:0;padding:0}.standalone-page .dialog-content{padding:0}.standalone-page .back-home{display:none}}

/* Version 2: simpler hierarchy. Numbers denote facts, not decoration. */
.eyebrow,.hero .eyebrow,.section-intro .eyebrow,.contact-copy .eyebrow{font-size:14px;line-height:1.6;letter-spacing:0;text-transform:none;font-weight:500;gap:0}
.section-heading .subtle{font-size:14px;line-height:1.65;letter-spacing:0;font-weight:400}
.hero-byline{font-size:13px;line-height:1.6}
.signature-dot{font-size:10px}
.hero-footer{font-family:var(--body);font-size:15px;line-height:1.5;letter-spacing:0}
.hero-footer span{display:block}
.hero-graphic{margin-top:0}
.graphic-result{position:static;margin:10px 12px 0 0;justify-content:flex-end;gap:8px;font-size:13px;line-height:1.5}
.decision summary{grid-template-columns:minmax(0,1fr) 20px;gap:20px}
.decision-body{padding:0 40px 28px 0}
.topic-label,.decision-body .topic-label,.experience-detail .topic-label{font-family:var(--font);font-size:14px;line-height:1.6;font-weight:500;letter-spacing:0;text-transform:none}
.toggle-symbol{margin-top:6px}
.toggle-symbol:before{left:4px;right:auto;top:4px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;background:none;transform:rotate(45deg)}
.toggle-symbol:after{display:none}
details[open] .toggle-symbol:before{transform:translateY(4px) rotate(225deg)}
.mini-wordmark{font-size:14px}
.pack-label{font-family:var(--body);font-size:12px;letter-spacing:0;text-transform:none}
.direction-pack>.eyebrow{font-size:14px;letter-spacing:0}
.direction-pack h3{margin-top:12px}
.pack-tabs{gap:16px}
.pack-tab,.pack-tab>span{font-size:13px;line-height:1.4;letter-spacing:0}
.pack-tab{padding:14px 0;gap:0;min-height:48px}
.pack-panel{min-height:315px;padding-top:24px;padding-bottom:16px}
.recommendation-highlight strong{font-size:15px}
.recommendation-highlight p{font-size:14px}
.pack-decisions>div{grid-template-columns:122px minmax(0,1fr);font-size:13px;line-height:1.6;padding:14px 0;gap:16px}
.pack-caption{font-size:13px;line-height:1.6}
.panel-intro{font-size:14px}
.diagram-box{font-family:var(--body);font-size:13px;line-height:1.6}
.pack-panel .small-note{font-size:12px;line-height:1.65}
.handoff-list li{display:block;padding:15px 0}
.handoff-list strong{font-size:15px;line-height:1.55}
.handoff-list p{font-size:14px;line-height:1.6}

.sprint-copy p.small-note,.sprint-copy .small-note{font-size:14px!important;line-height:1.65;max-width:390px}
.sprint-facts>div{display:block}
.sprint-facts strong{display:block;font-size:16px;line-height:1.55;font-weight:600}
.sprint-facts p{font-size:14px;line-height:1.65;margin-top:8px}
.process-steps{gap:32px;margin-top:48px}
.process-steps li{padding-right:20px}
.process-steps h3{margin-top:0}
.process-steps li:not(:last-child):after{content:'→';top:0;left:auto;right:-13px;width:20px;height:auto;background:none;font-family:var(--font);font-size:20px;line-height:1.2;color:var(--text)}
.scope-note p{font-size:14px}
.experiment-flow{font-family:var(--body);font-size:14px;line-height:1.6}
.follow-on-note{font-size:14px}
.experience-org{display:block}
.experience-tag{font-family:var(--body);font-size:14px;line-height:1.6;white-space:normal;border:0;border-radius:0;padding:0;text-align:right}
.experience-disclosure{font-size:13px;line-height:1.65}
.joe-card-top .eyebrow{font-size:14px;letter-spacing:0}
.joe-card-bottom p,.joe-card-bottom>span{font-family:var(--body);font-size:14px;line-height:1.6;letter-spacing:0}
.contact-copy>p.small-note{font-size:14px;line-height:1.65}
.enquiry-form label{font-size:14px}
.form-help{font-size:13px}
.form-status,.copy-options p,.copy-options button{font-size:14px;line-height:1.6}
.footer-links,.footer-main p{font-size:14px}
.footer-bottom,.registered-office{font-size:12px;line-height:1.7}
.dialog-content .eyebrow{font-size:14px;letter-spacing:0}

@media (min-width:761px) and (max-width:1100px){
  .sprint-grid{grid-template-columns:1fr;gap:46px}
  .sprint-copy{max-width:640px}
  .sprint-copy>p:not(.lead){max-width:540px}
  .sprint-copy h2 br{display:none}
  .pack-wrap{max-width:620px;width:100%;margin-inline:auto}
  .pack-panel{min-height:310px}
  .hero-footer{font-size:14px;gap:16px}
  .hero-byline{flex-wrap:wrap;font-size:12px}
}
@media (max-width:760px){
  .hero .eyebrow{font-size:13px}
  .hero-footer{font-size:14px;gap:14px 18px}
  .hero-byline{font-size:12px;flex-wrap:wrap;gap:8px}
  .hero-graphic{margin-top:34px}
  .route-diagram g[font-size]{font-size:19px}
  .graphic-result{justify-content:center;margin-right:0;font-size:13px}
  .decision summary{grid-template-columns:minmax(0,1fr) 20px;gap:18px}
  .decision-body{padding:0 30px 24px 0}
  .pack-wrap{width:100%;max-width:570px;margin-inline:auto}
  .direction-pack{padding:25px 23px 0}
  .pack-tabs{gap:12px}
  .pack-tab,.pack-tab>span{font-size:12px}
  .pack-label{font-size:12px}
  .pack-panel{min-height:335px;padding-top:22px;padding-bottom:20px}
  .pack-decisions>div{grid-template-columns:112px minmax(0,1fr);gap:12px}
  .sprint-facts strong{font-size:16px}
  .sprint-facts p{font-size:14px}
  .process-steps{gap:30px 26px}
  .process-steps li{padding-right:16px}
  .process-steps h3{margin-top:0}
  .process-steps li:not(:last-child):after{right:-12px}
  .process-steps li:nth-child(2):after{display:none}
  .contact-copy>p.small-note{max-width:440px}
  .enquiry-form label{font-size:14px}
  .dialog-content .eyebrow{font-size:13px}
}
@media (max-width:420px){
  .direction-pack{padding:22px 18px 0}
  .pack-tabs{gap:10px}
  .pack-tab{flex:0 1 auto}
  .pack-tab,.pack-tab>span{font-size:12px}
  .pack-label{font-size:11px}
  .pack-header{gap:12px}
  .mini-wordmark{font-size:13px}
  .process-steps{grid-template-columns:1fr;gap:25px}
  .process-steps li{padding:0 0 24px;border-bottom:1px solid var(--line)}
  .process-steps li:last-child{padding-bottom:0;border-bottom:0}
  .process-steps li:not(:last-child):after{display:none}
  .process-steps p{font-size:15px}
  .pack-decisions>div{grid-template-columns:1fr;gap:4px}
  .pack-panel{min-height:394px}
  .graphic-result{font-size:12px}
  .hero-byline .byline-divider{display:inline-block}
  .hero-byline{font-size:12px;column-gap:7px;row-gap:6px}
  .experience-org h3{font-size:23px}
}
@media print{
  .eyebrow,.hero .eyebrow,.section-intro .eyebrow,.topic-label{font-size:10pt}
  .process-steps li:not(:last-child):after{display:none}
}

/* Version 3: service value first; a supporting fee after the deliverables. */
.sprint-outcomes{max-width:420px;margin-top:32px}
.sprint-outcomes h3{font-size:18px;line-height:1.45;font-weight:600;letter-spacing:-.02em;margin-bottom:10px}
.sprint-outcomes p{font-size:17px;line-height:1.7}
.sprint-commercial{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:52px;margin-top:32px;padding-top:30px;border-top:1px solid #cdd8e5}
.sprint-commercial-copy{max-width:730px;min-width:0}
.sprint-fee{font-family:var(--font);font-size:18px;line-height:1.65;color:var(--ink);letter-spacing:-.015em}
.sprint-fee strong{font-weight:500}
.sprint-fee>span{font-weight:600;white-space:nowrap}
.sprint-commercial-copy>p+p{margin-top:10px;font-size:15px;line-height:1.7}
.sprint-commercial-copy>p.small-note{margin-top:10px;font-size:14px;line-height:1.65}
.sprint-commercial-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.sprint-commercial-actions .button{font-size:14px}
.sprint-commercial-actions .overview-link{font-size:14px}
.dialog-content .overview-fee{margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}
.dialog-content .overview-fee .sprint-fee{font-size:17px;line-height:1.7}
.dialog-content .overview-fee>p+p{font-size:15px;line-height:1.7;margin-top:10px}
.follow-on-services article p.bespoke-pricing{font-size:14px;margin-top:9px;color:#c6d3e6}
@media(max-width:1100px){
  .sprint-outcomes{max-width:540px}
  .sprint-commercial{grid-template-columns:1fr;gap:22px}
  .sprint-commercial-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px 25px}
}
@media(max-width:760px){
  .situations,.sprint-section{padding-top:56px;padding-bottom:56px}
  .sprint-outcomes{margin-top:25px}
  .sprint-outcomes p{font-size:16px}
  .sprint-commercial{margin-top:27px;padding-top:25px;gap:22px}
  .sprint-fee{font-size:17px;line-height:1.7}
  .sprint-fee strong{display:block}
  .sprint-commercial-actions{align-items:flex-start;flex-direction:column;gap:8px}
  .sprint-commercial-actions .button{font-size:13px;padding:15px 18px;max-width:100%}
  .sprint-commercial-copy>p+p{font-size:15px}
}
@media print{
  .sprint-commercial{display:block;break-inside:avoid;padding-top:15px;margin-top:18px}
  .sprint-fee,.dialog-content .overview-fee .sprint-fee{font-size:12pt}
  .sprint-commercial-actions{display:none}
}


/* Version 4: final QA fixes. No changes to the visual identity or pricing. */
/* Keyboard focus follows a dialog contact action to the visible destination. */
#contact-title:focus-visible { outline:3px solid var(--blue); outline-offset:8px; }
/* Match standalone subheadings to their modal counterparts without skipping a level. */
.standalone-page .dialog-content h2 {
  font-size:17px; line-height:1.1; letter-spacing:-.025em;
  margin-top:26px; margin-bottom:8px;
}
@media (max-width:760px) {
  /* The decorative number was removed in v2; its indentation was not. */
  .experience-detail { padding-left:0; }
}
@media print {
  .validation-section, .validation-section p, .validation-section h2,
  .validation-section h3, .validation-section .eyebrow,
  .validation-section .experiment-flow, .validation-section .evidence-pill,
  .validation-section .icon { color:#172033 !important; }
  .validation-section .evidence-pill { background:transparent; border-color:#475569; }
  .pack-tabs { display:none !important; }
  .pack-panel[hidden] { display:block !important; }
  .pack-panel { min-height:0; break-inside:avoid; }
}

/* Let enlarged or spaced text reflow rather than widen a grid track. */
.hero-copy, .section-heading > div { min-width:0; max-width:100%; }
.hero h1 { white-space:normal; }
h1,h2,h3 { overflow-wrap:break-word; }

/* v5: secure form additions. Existing visual identity and layout are preserved. */
.contact-trap {position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.turnstile-slot {margin-top:18px;min-width:0;max-width:100%;}
.security-status,.form-reference {font-size:14px;line-height:1.5;color:var(--muted,#475569);margin:10px 0;overflow-wrap:anywhere;}
.form-submit:disabled {opacity:.55;cursor:not-allowed;}
#retry-security {margin-bottom:14px;}
#enquiry-reference {font-size:13px;}
.enquiry-form .form-help a {text-decoration:underline;text-underline-offset:3px;}

/* v6: focused editorial refinement. Brand, type and colour tokens are unchanged. */
.hero-description{max-width:610px}
.hero-experience{max-width:610px;margin-top:24px;font-size:14px;line-height:1.65;color:var(--text)}
.hero-experience a{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:#9db5dd;text-underline-offset:4px}
.hero-experience a:hover{color:var(--blue)}

.decision-example{margin:0;background:var(--white);border:1px solid #d8e0eb;border-radius:9px;padding:29px 30px 26px;box-shadow:0 24px 50px -35px #203f7360}
.example-header{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;border-bottom:1px solid var(--stone);padding-bottom:19px;margin-bottom:22px}
.example-label{max-width:190px;font-family:var(--font);font-size:12px;line-height:1.45;font-weight:500;color:var(--blue);text-align:right}
.decision-example figcaption{font-family:var(--font);font-size:13px;line-height:1.5;color:var(--text)}
.decision-example h3{font-size:24px;line-height:1.3;font-weight:550;letter-spacing:-.035em;margin:10px 0 22px}
.example-points{margin:0}
.example-points>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:18px;padding:14px 0;border-top:1px solid #e9edf2;font-size:14px;line-height:1.6}
.example-points>div.example-recommendation{display:block;background:var(--tint);border-top:0;border-left:2px solid var(--blue);padding:16px 17px;margin-bottom:4px}
.example-points dt{font-family:var(--font);font-weight:600;color:var(--ink)}
.example-points dd{margin:0;color:var(--text)}
.example-recommendation dd{margin-top:5px;color:var(--ink)}

.sprint-method{margin-top:52px;padding-top:38px;border-top:1px solid #cdd8e5}
.method-intro{display:grid;grid-template-columns:minmax(230px,.62fr) minmax(0,1fr);gap:20px 65px;align-items:end}
.method-intro .eyebrow{grid-column:1/-1}
.method-intro h3{font-size:31px;line-height:1.2;font-weight:550}
.method-intro>p:last-child{font-size:17px;line-height:1.7;max-width:600px}
.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;padding:0;margin:33px 0 0}
.method-steps li{border-top:2px solid var(--blue);padding:16px 10px 0 0}
.method-steps strong{display:block;font-family:var(--font);font-size:17px;font-weight:600;color:var(--ink)}
.method-steps span{display:block;margin-top:8px;font-size:14px;line-height:1.65;color:var(--text)}
.method-boundary{border-top:1px solid #cdd8e5;margin-top:31px;padding-top:20px;font-size:14px;line-height:1.7}
.additional-work{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.additional-work article{border:1px solid #d7e0ea;border-radius:7px;background:#f8fafc;padding:21px 22px}
.additional-work h3{font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.02em}
.additional-work p{font-size:14px;line-height:1.65;margin-top:8px}

.about-grid{display:block;max-width:790px;margin-inline:auto}
.about-copy h2{margin-bottom:25px}
.about-copy .about-principle{padding-left:20px;margin:28px 0 16px!important}
.contact-copy h2{font-size:clamp(43px,4.35vw,61px)}

@media(max-width:1100px){
  .method-intro{gap:20px 42px}
  .method-steps{grid-template-columns:1fr 1fr;gap:26px 34px}
}
@media(max-width:760px){
  .hero{padding-top:40px}
  .hero-grid{gap:0}
  .hero-graphic{display:none}
  .hero-description{font-size:17px;line-height:1.68;margin-top:23px}
  .hero-experience{font-size:14px;line-height:1.65;margin-top:23px}
  .hero-footer{margin-top:34px}
  .decision-example{padding:23px 21px 20px}
  .example-header{gap:14px}
  .example-label{max-width:145px;font-size:11px}
  .decision-example h3{font-size:22px;margin-top:10px}
  .example-points>div{grid-template-columns:1fr;gap:4px;font-size:14px;padding:13px 0}
  .sprint-method{margin-top:36px;padding-top:31px}
  .method-intro{grid-template-columns:1fr;gap:10px}
  .method-intro .eyebrow{grid-column:auto;margin-bottom:8px}
  .method-intro h3{font-size:27px}
  .method-intro>p:last-child{font-size:16px}
  .method-steps{grid-template-columns:1fr 1fr;gap:24px 20px;margin-top:27px}
  .method-steps strong{font-size:16px}
  .method-steps span{font-size:14px}
  .additional-work{grid-template-columns:1fr}
  .contact-copy h2{font-size:41px}
}
@media(max-width:420px){
  .example-header{display:block}
  .example-label{display:block;max-width:none;text-align:left;margin-top:10px}
}
@media print{
  .decision-example,.sprint-method{break-inside:avoid}
}

/* v7: clearer problems, engagement formats and decision process. */
.situations .split-grid{grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);gap:64px}
.section-intro .capabilities-summary{max-width:430px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;line-height:1.7}
.problem-rows{border-top:1px solid var(--ink)}
.problem-row{padding:25px 0 27px;border-bottom:1px solid var(--line)}
.problem-row h3{font-size:21px;line-height:1.35;font-weight:550;letter-spacing:-.03em}
.problem-row-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:18px}
.problem-row-detail>div{min-width:0}
.problem-label{display:block;margin-bottom:7px;font-family:var(--font);font-size:12px;line-height:1.45;font-weight:600;color:var(--ink)}
.problem-row-detail p{font-size:14px;line-height:1.65}
.problem-output{border-left:2px solid var(--blue);padding-left:17px}
.problem-note{font-size:13px;line-height:1.65;margin-top:18px}

.sprint-copy .engagement-label,.engagement-label{font-family:var(--font);font-size:18px!important;line-height:1.5;font-weight:600;color:var(--blue);margin-top:24px}
.sprint-section>.container>.sprint-grid{margin-top:0}
.sprint-copy .engagement-label+ p{margin-top:13px}
.example-points>div.example-flow{display:block;padding:16px 0}
.example-flow dt{margin-bottom:10px}
.example-flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:0}
.example-flow li{position:relative;display:flex;align-items:center;min-height:56px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:5px;background:#f8fafc;font-family:var(--font);font-size:12px;line-height:1.4;color:var(--ink)}
.example-flow li:not(:last-child):after{content:'→';position:absolute;left:calc(100% + 5px);top:50%;width:13px;transform:translateY(-50%);color:var(--blue);font-size:14px;text-align:center}
.example-flow p{margin-top:10px;padding:10px 12px;border-left:2px solid var(--blue);background:var(--tint);font-size:12px;line-height:1.55}
.example-flow p strong{font-family:var(--font);font-weight:600;color:var(--ink)}

.method-intro{display:block}
.method-intro .eyebrow{margin-bottom:12px}
.process-visual{margin-top:28px}
.process-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;list-style:none;padding:0;margin:0}
.process-main li{position:relative;border-top:2px solid var(--blue);padding:16px 26px 0 0;font-family:var(--font);font-size:17px;line-height:1.45;font-weight:600;color:var(--ink)}
.process-main li:not(:last-child):after{content:'→';position:absolute;right:-26px;top:10px;color:var(--blue);font-size:20px;font-weight:400}
.validation-branch{position:relative;width:calc(66.666% - 13px);margin:30px 0 0 calc(33.333% + 13px);padding:20px 22px;border:1px solid #cbd7e6;border-left:2px solid var(--blue);border-radius:6px;background:#f8fafc}
.validation-branch:before{content:'';position:absolute;left:23px;bottom:100%;height:30px;border-left:1px dashed #94a3b8}
.validation-label{display:block;font-family:var(--font);font-size:12px;line-height:1.5;font-weight:600;color:var(--blue)}
.validation-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;margin-top:10px;font-family:var(--font);font-size:15px;line-height:1.5;font-weight:550;color:var(--ink)}
.flow-arrow{color:var(--blue);font-size:18px}
.validation-branch>p{font-size:13px;line-height:1.65;margin-top:12px}
.method-boundary{margin-top:27px}
.ownership-statement{font-family:var(--font);font-size:15px;line-height:1.65;font-weight:550;color:var(--ink);margin-top:14px}

.engagement-options{margin-top:62px;padding-top:42px;border-top:1px solid #cdd8e5}
.engagement-options-heading{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1fr);gap:14px 60px;align-items:end}
.engagement-options-heading .eyebrow{grid-column:1/-1}
.engagement-options-heading h3{font-size:29px;line-height:1.25;font-weight:550}
.engagement-options-heading>p:last-child{font-size:15px;line-height:1.7}
.engagement-option-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.engagement-option{display:flex;flex-direction:column;min-width:0;padding:23px 24px;border:1px solid #d7e0ea;border-radius:7px;background:#f8fafc}
.engagement-option .engagement-label{font-size:15px!important;margin:0 0 8px}
.engagement-option h4{font-family:var(--font);font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.025em}
.engagement-option>p:not(.engagement-label){font-size:14px;line-height:1.65;margin-top:10px}
.engagement-option .engagement-boundary{color:var(--text)}
.engagement-option .engagement-price{margin-top:auto!important;padding-top:16px;font-family:var(--font);font-weight:600;color:var(--ink)!important}

@media(max-width:1050px){
  .situations .split-grid{grid-template-columns:1fr;gap:40px}
  .section-intro .capabilities-summary{max-width:720px}
}
@media(max-width:760px){
  .section-intro .capabilities-summary{font-size:14px;margin-top:19px;padding-top:17px;line-height:1.62}
  .problem-row{padding:19px 0 20px}
  .problem-row h3{font-size:20px}
  .problem-row-detail{grid-template-columns:1fr 1fr;gap:12px 15px;margin-top:13px}
  .problem-row-detail>div:first-child{grid-column:1/-1}
  .problem-row-detail p{line-height:1.58}
  .problem-output{padding:9px 11px;border-left:2px solid var(--blue);background:var(--tint)}
  .problem-label{margin-bottom:4px}
  .problem-note{font-size:13px;margin-top:14px}
  .sprint-copy .engagement-label{font-size:17px!important;margin-top:22px}
  .example-flow ol{grid-template-columns:1fr 1fr;gap:20px 17px}
  .example-flow li{min-height:0}
  .example-flow li:not(:last-child):after{content:'→';left:calc(100% + 2px);top:50%;width:13px;transform:translateY(-50%)}
  .example-flow li:nth-child(2):after{content:'↓';left:50%;top:100%;width:auto;transform:translate(-50%,2px)}
  .process-main{grid-template-columns:1fr;gap:23px}
  .process-main li{padding:13px 0 0}
  .process-main li:not(:last-child):after{content:'↓';right:auto;left:18px;top:calc(100% + 1px);font-size:16px}
  .validation-branch{width:100%;margin:27px 0 0;padding:19px 18px}
  .validation-branch:before{height:27px;left:18px}
  .validation-flow{grid-template-columns:1fr;gap:7px}
  .validation-flow .flow-arrow{transform:rotate(90deg);justify-self:start}
  .ownership-statement{font-size:14px}
  .engagement-options{margin-top:33px;padding-top:25px}
  .engagement-options-heading{grid-template-columns:1fr;gap:10px}
  .engagement-options-heading .eyebrow{grid-column:auto;margin-bottom:7px}
  .engagement-options-heading h3{font-size:25px}
  .engagement-options-heading>p:last-child{font-size:14px}
  .engagement-option-list{grid-template-columns:1fr;gap:0;margin-top:19px}
  .engagement-option{padding:19px 0 20px;border:0;border-top:1px solid #d7e0ea;border-radius:0;background:transparent}
  .engagement-option>p:not(.engagement-label){line-height:1.6}
  .engagement-option .engagement-price{padding-top:9px}
}
@media print{
  .problem-row,.decision-example,.sprint-method,.engagement-option{break-inside:avoid}
  .process-main li:not(:last-child):after,.example-flow li:not(:last-child):after,.validation-branch:before{display:none}
}

/* v8: approved portrait replaces the decorative hero illustration. */
@media(min-width:761px){
  .hero-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
    grid-template-areas:"copy portrait" "experience portrait";
    column-gap:clamp(48px,5vw,88px);
    row-gap:0;
    align-items:center;
  }
  .hero-copy{grid-area:copy}
  .hero-portrait{grid-area:portrait;align-self:center;justify-self:end;width:min(100%,510px)}
  .hero-experience{grid-area:experience;align-self:start}
}
.hero-portrait{
  display:block;
  overflow:hidden;
  aspect-ratio:760/900;
  border:1px solid #d4dde8;
  border-radius:12px;
  background:#eaf0f7;
  box-shadow:0 24px 55px -40px #203f7380;
}
.hero-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
@media(max-width:960px) and (min-width:761px){
  .hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);column-gap:38px}
}
@media(max-width:760px){
  .hero-grid{grid-template-areas:"copy" "portrait" "experience";grid-template-columns:1fr;gap:0}
  .hero-copy{grid-area:copy}
  .hero-portrait{grid-area:portrait;width:100%;max-height:300px;margin-top:30px;aspect-ratio:1.45/1;border-radius:10px}
  .hero-portrait img{object-position:center top}
  .hero-experience{grid-area:experience;margin-top:21px}
}
@media(max-width:380px){
  .hero-portrait{max-height:250px;margin-top:26px}
}
@media print{
  .hero-portrait{display:none!important}
}

@media(max-width:380px){.brand img{width:154px}}

/* Advisory positioning: retain the established visual language while giving the new copy room. */
.hero-description p+p{margin-top:14px}
.hero-experience{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--line);padding-top:17px}
.hero-experience strong{font-family:var(--font);font-size:14px;font-weight:600;color:var(--ink)}
.hero-experience span{display:block}
.problem-row-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.problem-row-detail p{font-size:15px}
.experience .section-heading{align-items:start}
.experience h2{max-width:790px;font-size:clamp(34px,3.5vw,47px)}
.experience-intro{max-width:300px;min-width:0}
.experience-row{grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:50px;padding:29px 0;align-items:start}
.experience-org{display:block}
.experience-role{margin-top:6px;font-family:var(--font);font-size:14px;line-height:1.55;color:var(--text)}
.experience-detail p{margin-top:0}
.experience-support{max-width:1020px;margin-top:25px;font-size:14px;line-height:1.7}
.experience-support strong{color:var(--ink)}
.engagement-intro>p:last-child{max-width:760px;margin-top:15px;font-size:17px;line-height:1.65}
.sprint-section>.container>.sprint-grid{margin-top:47px}
@media(max-width:960px){
  .experience-row{gap:30px}
  .hero h1{font-size:clamp(50px,6.1vw,64px)}
}
@media(max-width:760px){
  .hero h1{font-size:clamp(50px,10.7vw,79px)}
  .hero-experience{margin-top:22px}
  .problem-row-detail{grid-template-columns:1fr;gap:13px}
  .problem-row-detail>div:first-child{grid-column:auto}
  .problem-row-detail p{font-size:14px;line-height:1.65}
  .experience h2{font-size:37px}
  .experience-row{grid-template-columns:1fr;gap:12px;padding:24px 0}
  .experience-role{font-size:13px;margin-top:3px}
  .experience-detail{padding-left:0}
  .experience-support{font-size:13px}
  .engagement-intro>p:last-child{font-size:16px}
  .sprint-section>.container>.sprint-grid{margin-top:33px}
}
