:root{--navy:#183563;--green:#138747;--ink:#162d48;--muted:#546478;--line:#dce4eb;--wash:#f3f7fa}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;background:#fff}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid #30a66b;outline-offset:5px}.wrap{width:min(1180px,calc(100% - 72px));margin:auto}.header{display:flex;align-items:center;gap:36px;min-height:116px}.brand{margin-right:auto;display:flex}.brand img{width:185px;height:auto}.header nav{display:flex;gap:29px;font-size:15px;font-weight:600}.header nav [aria-current]{color:var(--green);border-bottom:2px solid var(--green)}.phone{border-left:1px solid var(--line);padding-left:24px;font-size:15px;font-weight:700}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:75px;padding-top:58px;padding-bottom:72px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--green);margin:0 0 23px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,5.4vw,70px);line-height:1.07;letter-spacing:-.045em;margin-bottom:26px;font-weight:700}h1 em{font-style:normal;color:var(--green)}h2{font-size:37px;letter-spacing:-.035em;line-height:1.18;margin-bottom:24px}h3{font-size:22px;letter-spacing:-.025em;line-height:1.3;margin-bottom:16px}p{color:var(--muted)}.intro{font-size:19px;line-height:1.7;max-width:590px;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--green);color:#fff;font-weight:700;padding:15px 22px;border-radius:5px;line-height:1.5}.button:hover{background:#0b6e38;text-decoration:none}.button.secondary{background:white;color:var(--navy);border:1px solid var(--line)}.small{font-size:13px;margin:18px 0 0}.offer{background:var(--navy);color:white;padding:32px 34px 28px;border-radius:8px;position:relative;box-shadow:16px 16px 0 #e9f3ed}.offer-top{display:flex;flex-direction:column;gap:26px;font-size:12px;letter-spacing:.09em}.offer-top span:first-child{background:#cdf0d9;color:#14432a;align-self:flex-start;padding:5px 10px;font-weight:700}.offer-top span:last-child{color:#b4c9e2}.offer-title{font-size:30px;line-height:1.3;color:white;margin:25px 0 12px}.price{font-size:110px;font-weight:700;letter-spacing:-.07em;line-height:1.15}.price span{display:block;font-size:16px;font-weight:400;letter-spacing:0;margin-bottom:2px}.offer>p:not(.offer-title){color:#c9d7e7}.offer-bottom{border-top:1px solid #577092;padding-top:21px;display:flex;gap:15px;justify-content:space-between;font-size:13px}.offer-bottom a{color:#c4ebd2}.trust{background:var(--wash);border-block:1px solid var(--line)}.trust>.wrap{display:flex;justify-content:space-between;padding:20px 0;font-size:14px;font-weight:600}.trust span:before{content:'✓';color:var(--green);margin-right:12px}.section{padding-block:80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:40px}.section-heading>p{max-width:390px;margin-bottom:25px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.three article{border-top:1px solid var(--line);padding-top:25px}.number{font-size:14px;color:var(--green);display:block;margin-bottom:24px}.wash{background:var(--wash)}.mini-price{font-size:46px;color:var(--navy);letter-spacing:-.04em;font-weight:700;margin-bottom:0}.mini-price small{font-size:14px;font-weight:400;letter-spacing:0}.pricing-mini article{background:white;border:none;padding:28px;border-radius:7px}.pricing-mini{gap:20px}.pricing-mini p:last-child{font-size:14px;margin-bottom:0}.cta{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:80px}.cta h2{font-size:40px}.cta p:last-child{margin:0}footer{background:#102746;color:white;padding:50px 0 22px}.footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer strong{font-size:36px;letter-spacing:.02em}.footer p,.copyright{color:#bccada;font-size:14px}.footer .eyebrow{color:#8ed4a8}.footer a{display:block;font-size:14px;margin-bottom:10px}.copyright{border-top:1px solid #354963;padding-top:20px;margin-top:35px;font-size:12px}.page-head{padding-block:62px 45px}.page-head h1{max-width:950px}.about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:85px;padding-bottom:65px}.name-panel{background:var(--navy);color:#fff;border-radius:8px;padding:42px;align-self:start}.monogram{display:block;font-size:90px;font-weight:700;letter-spacing:-.06em;color:#a8e2bd;border-bottom:1px solid #5a6d87;margin-bottom:55px;padding-bottom:35px}.name-panel p{color:#c9d7e7}.prose{padding-top:10px}.prose p{font-size:18px}.prose h3{margin-top:35px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid var(--line);border-radius:8px;padding:29px;display:flex;flex-direction:column}.service-card:first-child{border-top:5px solid var(--green);padding-top:25px}.service-card h2{font-size:23px;min-height:55px}.service-price{font-size:62px;letter-spacing:-.055em;font-weight:700;line-height:1.1}.unit{font-size:14px;margin:8px 0 26px}.service-card ul{list-style:none;padding:0;margin:3px 0 30px;font-size:15px}.service-card li{padding:10px 0 10px 22px;border-bottom:1px solid var(--line);position:relative}.service-card li:before{content:'✓';position:absolute;left:0;color:var(--green)}.service-card .button{margin-top:auto;font-size:14px}.service-list article{display:grid;grid-template-columns:1fr 1.7fr .7fr;gap:35px;padding:28px 0;border-top:1px solid var(--line);align-items:start}.service-list p{margin:0}.tag{justify-self:end;font-size:14px;background:var(--wash);padding:5px 12px;border-radius:3px;white-space:nowrap}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-card{background:var(--wash);border-radius:8px;padding:42px;display:block}.contact-card:hover{text-decoration:none;box-shadow:0 0 0 2px var(--green)}.contact-card.dark{background:var(--navy);color:white}.contact-card.dark p{color:#c9d7e7}.contact-card.dark .eyebrow{color:#a8e2bd}.contact-card .eyebrow{display:block}.contact-card h2{font-size:44px}.contact-action{font-size:22px;font-weight:700}.contact-note{max-width:760px;margin-left:max(36px,calc((100% - 1180px)/2))}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:4}.skip:focus{top:10px}@media(max-width:1000px){.phone{display:none}.hero{gap:35px}.offer-bottom{flex-direction:column}.services-grid{gap:12px}.service-card{padding:23px}.about-grid{gap:40px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{flex-wrap:wrap;gap:12px;padding:16px 0 18px}.brand img{width:160px}.header nav{width:100%;justify-content:space-between;gap:8px;font-size:14px}.hero{grid-template-columns:1fr;padding-block:35px 50px;gap:32px}h1{font-size:46px}.intro{font-size:17px}.offer{padding:27px;box-shadow:8px 8px 0 #e9f3ed}.price{font-size:100px}.offer-top{gap:20px}.offer-bottom{flex-direction:row;font-size:12px}.trust>.wrap{flex-direction:column;gap:9px;font-size:13px}.section{padding-block:50px}.section-heading{display:block;margin-bottom:28px}h2,.cta h2{font-size:31px}.section-heading>p{max-width:none}.three,.services-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:24px}.three article{padding-top:20px}.three p{margin-bottom:0}.cta{padding-block:50px;display:block}.cta .button{margin-top:25px}.footer{grid-template-columns:1fr 1fr;gap:24px}.footer>div:first-child{grid-column:1/-1}.page-head{padding-block:38px 25px}.about-grid{padding-bottom:20px}.monogram{margin-bottom:25px}.prose p{font-size:17px}.service-card h2{min-height:0}.service-card{padding:27px}.service-list article{grid-template-columns:1fr;gap:10px}.service-list h3{margin:0}.tag{justify-self:start}.contact-card{padding:30px}.contact-card h2{font-size:36px}.contact-note{margin:auto}.eyebrow{font-size:12px;letter-spacing:.1em}}@media(prefers-reduced-motion:no-preference){a{transition:background .15s,box-shadow .15s}}
/* Brochure layout: spacious, centred introductions and green panels. */
:root{--green:#237448;--wash:#f3f6f4}.header{min-height:132px;border-bottom:1px solid var(--line)}.header nav{gap:23px}.phone{display:none}.brand img{width:210px}.header nav a{font-size:16px;font-weight:400}.header nav [aria-current]{font-weight:700}.welcome{background:#edf3ef;text-align:center;padding:80px 0 74px}.welcome h1{font-size:clamp(38px,4.5vw,58px);line-height:1.16;letter-spacing:-.035em;margin-bottom:25px}.welcome .intro,.centred .intro,.page-head .intro{margin-left:auto;margin-right:auto;max-width:760px}.welcome .eyebrow{letter-spacing:.1em}.actions{display:flex;justify-content:center;gap:16px;margin-top:30px}.button{border-radius:6px;padding:13px 23px;font-weight:500}.button span{display:none}.price-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:32px 0;border-bottom:1px solid var(--line)}.price-strip a{text-align:center;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.price-strip a:last-child{border:0}.price-strip span{font-size:14px;color:var(--muted)}.price-strip strong{font-size:39px;color:var(--green);line-height:1.3}.price-strip small{font-size:15px;font-weight:400}.centred{text-align:center;max-width:850px}.section h2,.cta h2{font-size:36px;font-weight:600;line-height:1.3}.audience{gap:35px}.audience article{border:none;text-align:center;padding:8px 18px}.audience a,.meet a:not(.button){color:var(--green);font-weight:600}.meet{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;align-items:center}.meet p{max-width:630px}.meet aside{background:#eaf2ed;padding:38px;border-radius:8px;border-left:4px solid var(--green)}.cta{background:var(--green);color:white;width:100%;padding:54px max(36px,calc((100% - 1180px)/2));margin:0;max-width:none}.cta .eyebrow,.cta p{color:#e2f0e7}.cta .button{background:white;color:var(--green);flex-shrink:0}.page-head{text-align:center;padding:55px 0 42px}.page-head h1{font-size:46px;line-height:1.2;max-width:none;margin-bottom:18px}.page-head .eyebrow{display:none}.faq-list{max-width:880px;padding-bottom:70px}.faq-list details{margin:0 0 15px;border:1px solid var(--green);border-radius:8px;overflow:hidden}.faq-list summary{list-style:none;background:var(--green);color:white;padding:19px 24px;font-size:17px;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;gap:25px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:24px;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list details>div{padding:23px 25px;background:white}.faq-list p{margin:0}.faq-list summary:focus-visible{outline:3px solid #a6e1bd;outline-offset:-5px}.about-grid{padding-top:15px}.name-panel{background:var(--green)}.services-grid{padding-bottom:10px}.contact-grid{padding-bottom:15px}footer{background:#f4f6f5;color:var(--ink);padding-top:45px}.footer p,.copyright{color:var(--muted)}.footer .eyebrow{color:var(--green)}.copyright{border-color:var(--line)}@media(max-width:700px){.header{min-height:0;padding-block:15px 20px;justify-content:center}.brand{margin:auto}.header nav{gap:14px;justify-content:center;flex-wrap:wrap}.header nav a{font-size:14px}.brand img{width:180px}.welcome{padding:45px 0}.welcome h1{font-size:38px}.welcome .eyebrow{font-size:11px}.actions{gap:12px;flex-wrap:wrap}.price-strip{grid-template-columns:1fr;padding:0 20px}.price-strip a{padding:20px 0;border-right:none;border-bottom:1px solid var(--line)}.price-strip strong{font-size:40px}.meet{grid-template-columns:1fr;gap:30px}.section h2,.cta h2{font-size:30px}.cta{padding:38px 20px}.page-head{padding:36px 0 25px}.page-head h1{font-size:36px}.faq-list summary{padding:17px;font-size:16px}.faq-list details>div{padding:20px}.meet aside{padding:26px}}
.service-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;padding-bottom:45px}.catalogue-card{border:1px solid var(--line);border-top:4px solid var(--green);border-radius:7px;padding:32px;display:flex;flex-direction:column;scroll-margin-top:24px}.catalogue-card h2{font-size:26px;line-height:1.25;margin-bottom:18px}.catalogue-price{font-size:24px;font-weight:700;color:var(--green);margin-top:auto;padding-top:12px}.catalogue-note{font-size:14px;margin:7px 0 24px}.catalogue-card .button{align-self:flex-start}.included-support{padding-bottom:60px}.included-support h2{font-size:27px;margin-bottom:14px}.included-support p{max-width:760px}.home-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:35px}.home-services a{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:22px 0}.home-services h3{font-size:21px;margin:0}.home-services a span{color:var(--green)}@media(max-width:700px){.service-catalogue,.home-services{grid-template-columns:1fr}.catalogue-card{padding:25px}.catalogue-card h2{font-size:25px}.home-services h3{font-size:19px}}
/* JKA visual identity: restrained navy with the green and blue of the logo. */
:root{--navy:#1d3664;--green:#168a49;--ink:#203550;--muted:#54677c;--line:#d8e2e9;--wash:#f4f8fa}
body{font-family:"Avenir Next","Segoe UI",Arial,sans-serif;line-height:1.65;letter-spacing:.002em;color:var(--ink)}
h1,h2,h3,.price-strip strong,.catalogue-price{font-family:"Avenir Next","Segoe UI",Arial,sans-serif;letter-spacing:-.028em}
h1{font-weight:650}h2,h3{font-weight:650}
.header{min-height:112px;border-bottom:1px solid var(--line)}.header nav a{font-weight:550;color:var(--navy)}.header nav [aria-current]{color:var(--green);border-bottom:2px solid var(--green);padding-bottom:4px}
.welcome{background:linear-gradient(145deg,#edf4f8 0%,#f7fafb 68%,#f3f8f5 100%);border-bottom:1px solid var(--line);padding:86px 0 80px}.welcome h1{font-size:clamp(38px,4.6vw,60px);color:var(--navy);font-weight:650;letter-spacing:-.035em}.welcome .intro{color:#43566b;line-height:1.72}.eyebrow{color:var(--green);font-weight:700;letter-spacing:.12em}
.button{background:var(--navy);color:#fff;font-weight:600;border-radius:5px;padding:13px 24px;box-shadow:none}.button:hover{background:#12284d}.button.secondary{border-color:var(--navy);color:var(--navy);background:transparent}.button.secondary:hover{background:#e8f0f5}
.price-strip{padding:27px 0 31px}.price-strip a:hover{text-decoration:none}.price-strip a:hover strong{text-decoration:underline;text-underline-offset:5px}.price-strip strong{color:var(--navy);font-size:38px;font-weight:700}.price-strip small{font-size:14px;color:var(--muted)}.price-strip span:first-child{font-weight:650;color:var(--ink);font-size:15px}
.section{padding-block:76px}.section h2,.cta h2{color:var(--navy);font-weight:650;line-height:1.25}.wash{background:var(--wash)}.home-services a:hover{text-decoration:none;color:var(--green)}.home-services h3{font-weight:600}.meet aside{background:#eef5f3;border-left:3px solid var(--green);border-radius:5px}.meet aside h3{color:var(--navy)}
.cta{background:var(--navy)}.cta h2{color:white}.cta p,.cta .eyebrow{color:#d8e5ef}.cta .button{background:white;color:var(--navy)}.cta .button:hover{background:#e8f2f7}
.page-head{background:#f5f9fb;width:100%;padding:62px max(36px,calc((100% - 1180px)/2)) 58px;margin-bottom:42px;border-bottom:1px solid var(--line)}.page-head h1{color:var(--navy);font-weight:650}.page-head .intro{color:#50647a}
.catalogue-card{border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:5px;box-shadow:0 6px 18px rgba(20,48,80,.045);padding:34px}.catalogue-card h2{color:var(--navy);font-weight:650}.catalogue-price{color:var(--green);font-weight:700}.catalogue-note{color:var(--muted)}.included-support h2{color:var(--navy)}
.faq-list details{border-color:var(--line);border-radius:5px}.faq-list summary{background:#f2f7fa;color:var(--navy);font-weight:650;border-left:3px solid var(--green)}.faq-list details[open] summary{background:var(--navy);color:white}.faq-list details>div{border-left:3px solid var(--navy)}
.name-panel,.contact-card.dark{background:var(--navy)}.contact-card{border-radius:5px}.contact-card.dark .eyebrow{color:#9fe0b6}.contact-action{color:inherit}
footer{background:#edf3f7;color:var(--navy)}.footer strong{color:var(--navy)}.footer a{color:var(--navy)}.footer p,.copyright{color:#52647a}
@media(max-width:700px){.header{min-height:0}.welcome{padding:54px 0 52px}.welcome h1{font-size:39px}.section{padding-block:52px}.page-head{padding:42px 20px 36px;margin-bottom:30px}.catalogue-card{padding:26px}.price-strip strong{font-size:39px}}
/* Centre the services heading inside the wider section. */
.wash .centred{margin-inline:auto;text-align:center}
/* Centre the navigation on the page, independently of the logo. */
.header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0}
.header .brand{margin:0;justify-self:start}
.header nav{grid-column:2;justify-self:center;justify-content:center}
@media(max-width:1050px){
.header{display:flex;flex-direction:column;justify-content:center;gap:18px;padding-block:18px 22px}
.header .brand{margin:0}
.header nav{width:100%;flex-wrap:wrap;justify-content:center}
}
.contact-options:hover{box-shadow:none}.contact-options .contact-action{display:inline-block}.contact-methods{display:flex;gap:24px;margin:10px 0 22px}.contact-methods a{font-size:16px;text-decoration:underline;text-underline-offset:4px}.contact-email{display:inline-block;font-size:20px;overflow-wrap:anywhere;border-top:1px solid #58718e;padding-top:20px;width:100%}

/* Full-screen homepage with the wider laptop photograph. */
.welcome-photo{
 --hero-image:url("/assets/laptop-room-wide.webp");
 position:relative;isolation:isolate;display:flex;align-items:center;
 min-height:calc(100vh - var(--header-height,112px));
 min-height:calc(100svh - var(--header-height,112px));
 padding:64px 0;border:0;background:#1d3664;
}
.welcome-photo::before{
 content:"";position:absolute;inset:0;z-index:-2;
 background-image:var(--hero-image);background-size:cover;background-position:center;
}
.welcome-photo::after{
 content:"";position:absolute;inset:0;z-index:-1;
 background:linear-gradient(110deg,rgba(10,27,52,.76),rgba(10,27,52,.55));
}
.welcome-photo h1{color:#fff}
.welcome-photo h1 em{color:#9fe0b6}
.welcome-photo .eyebrow{color:#9fe0b6;font-size:14px}
.welcome-photo .intro{color:#edf3fa}
.welcome-photo .button{background:#fff;color:var(--navy);border:1px solid #fff}
.welcome-photo .button:hover{background:#e8f0f5}
.welcome-photo .button.secondary{background:transparent;color:#fff;border-color:#fff}
.welcome-photo .button.secondary:hover{background:rgba(255,255,255,.12)}
@media(max-width:700px){
 .welcome-photo{padding:48px 0}
 .welcome-photo h1{font-size:clamp(32px,8.5vw,39px)}
 .welcome-photo .eyebrow{font-size:14px;letter-spacing:.08em}
}
/* Scroll film: native footage movement, with no additional image scaling. */
.laptop-scroll{position:relative;--copy-opacity:1;--shade-opacity:1;--fade-opacity:0}
.laptop-scroll:has(.laptop-video){height:340svh}
.laptop-scroll .scroll-stage{position:sticky;top:0;height:100svh;min-height:600px;padding:48px 0;overflow:hidden;isolation:isolate}
.laptop-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.laptop-scroll .welcome-photo::before{display:none}
.laptop-scroll .welcome-photo::after{opacity:var(--shade-opacity);pointer-events:none}
.hero-copy{opacity:var(--copy-opacity)}
.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:white;font-size:14px;letter-spacing:.06em;opacity:var(--copy-opacity);text-shadow:0 1px 6px #000}
.scroll-fade{position:absolute;inset:0;background:white;opacity:var(--fade-opacity);pointer-events:none;z-index:2}
#home-prices{scroll-margin-top:24px}
@media(max-width:700px){.laptop-scroll:has(.laptop-video){height:300svh}.laptop-scroll .scroll-stage{min-height:620px}.laptop-video{object-fit:contain;background:#102746}.laptop-scroll .hero-copy{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.laptop-scroll:has(.laptop-video){height:auto}.laptop-scroll .scroll-stage{position:relative;height:auto;min-height:calc(100svh - var(--header-height,112px))}.scroll-hint,.scroll-fade{display:none}.hero-copy{opacity:1!important;visibility:visible!important}}
.laptop-scroll.video-unavailable{height:auto}.video-unavailable .scroll-stage{position:relative}

/* Reveal the actual prices beneath the film rather than a blank viewport. */
.laptop-scroll.reveal-content{z-index:2;margin-bottom:calc(80px - var(--stage-height,100svh));pointer-events:none}
.reveal-content .scroll-stage{opacity:var(--stage-opacity,1);pointer-events:auto}
@media(prefers-reduced-motion:reduce){.laptop-scroll.reveal-content{margin-bottom:0}.reveal-content .scroll-stage{opacity:1}}
.laptop-scroll.reveal-content.video-unavailable{margin-bottom:0}

/* Shared service symbols on the homepage and service descriptions. */
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border-radius:12px;background:#e7f1eb;color:var(--green)}
.service-icon svg{width:27px;height:27px;display:block}
.home-services a{justify-content:flex-start;gap:18px}
.home-services h3{flex:1;min-width:0}
.home-services .service-arrow{margin-left:auto;flex-shrink:0}
.catalogue-card .service-icon{margin-bottom:22px;width:54px;height:54px;flex-basis:54px}
.catalogue-card>p{margin-bottom:0;line-height:1.8}
@media(max-width:700px){.home-services a{gap:14px}.service-icon{width:42px;height:42px;flex-basis:42px}.home-services h3{font-size:18px}}

/* Open contact layout, with separate readable contact methods. */
.contact-open{max-width:850px;padding-bottom:80px}
.contact-direct{border-top:1px solid var(--line)}
.contact-line{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}
.contact-line h2{font-size:18px;letter-spacing:0;margin:0;color:var(--muted);font-weight:500}
.contact-line>a{font-size:clamp(20px,3vw,28px);font-weight:600;color:var(--green);overflow-wrap:anywhere}
.contact-welcome{max-width:650px;padding-top:48px}
.contact-welcome h2{font-size:27px;line-height:1.35}
.contact-welcome p{font-size:17px}
@media(max-width:700px){.contact-open{padding-bottom:45px}.contact-line{grid-template-columns:70px 1fr;gap:14px;padding:22px 0}.contact-line>a{font-size:20px}.contact-welcome{padding-top:35px}}

.contact-line{grid-template-columns:190px 1fr}
.contact-number>a:first-child{font-size:clamp(20px,3vw,28px);font-weight:600;color:var(--green)}
.contact-number .text-link{display:block;font-size:14px;color:var(--muted);margin-top:5px}
.contact-social{padding-top:34px}.contact-social h2{font-size:18px;font-weight:500;letter-spacing:0;color:var(--muted);margin-bottom:18px}
.social-links{display:flex;gap:28px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;gap:10px;font-size:18px;color:var(--green);font-weight:600}.social-links svg{width:24px;height:24px;flex-shrink:0}
@media(max-width:700px){.contact-line{grid-template-columns:1fr;gap:8px}.contact-number>a:first-child{font-size:22px}.contact-line>a{font-size:22px}}

/* A portrait phone uses the full viewport; crop the landscape clip at its sides. */
@media(max-width:700px){
 .laptop-scroll .scroll-stage{height:100svh;min-height:0}
 .laptop-video{object-fit:cover;object-position:50% 50%}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){
 .laptop-scroll .scroll-stage{height:auto;min-height:calc(100svh - var(--header-height,112px))}
}

/* About: personal introduction, open editorial sections and shared brand colours. */
.about-intro{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:center;padding-block:80px 76px}.about-intro h1{font-size:clamp(38px,4.3vw,58px);line-height:1.12}.about-intro h1 em{color:var(--green)}.about-intro .intro{font-size:19px;margin-bottom:30px}.about-signature{font-size:20px;font-weight:650;color:var(--navy);margin:0}.about-signature span{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:5px}.about-image{margin:0;position:relative;border-radius:8px;overflow:hidden;background:var(--navy)}.about-image img{display:block;width:100%;height:430px;object-fit:cover;object-position:center}.about-image figcaption{padding:18px 22px;color:white;font-size:13px}.about-story{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--line);padding-block:65px 76px}.about-story .eyebrow{padding-top:8px}.about-story h2,.about-working h2,.about-clients h2,.about-future h2{font-size:clamp(30px,3.2vw,42px);line-height:1.22}.about-story p:not(.eyebrow){font-size:18px;max-width:740px}.about-story p:last-child{margin-bottom:0}.about-clients{background:var(--wash);padding-block:70px}.about-client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:38px}.about-client-grid article{border-top:2px solid var(--green);padding-top:24px}.about-client-grid h3{font-size:23px}.about-client-grid p{margin-bottom:0}.about-working{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;padding-block:80px}.about-working>div>p:not(.eyebrow){font-size:18px;max-width:470px}.about-promises article{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.about-promises article:first-child{padding-top:0}.about-promises article>span{color:var(--green);background:#e7f1eb;display:flex;align-items:center;justify-content:center;flex:0 0 40px;height:40px;border-radius:50%;font-size:22px}.about-promises h3{font-size:21px;margin-bottom:8px}.about-promises p{margin:0}.about-future{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding:48px;background:#edf4f0;border-radius:8px;margin-bottom:80px}.about-future .eyebrow{color:var(--green)}.about-future h2{font-size:34px;margin-bottom:0}.about-future h2 em{color:var(--green);font-style:normal}.about-future p:last-child{margin:0}
@media(max-width:900px){.about-intro{gap:32px}.about-image img{height:400px}.about-working{gap:40px}.about-future{gap:35px;padding:32px}.about-client-grid{gap:25px}}
@media(max-width:700px){.about-intro,.about-story,.about-working,.about-future{grid-template-columns:1fr;gap:28px}.about-intro{padding-block:42px}.about-intro h1{font-size:39px}.about-intro .intro{font-size:17px}.about-image img{height:260px}.about-image figcaption{font-size:12px;padding:14px 18px}.about-story{padding-block:38px 46px;gap:0}.about-story p:not(.eyebrow){font-size:17px}.about-clients{padding-block:46px}.about-client-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}.about-working{padding-block:46px}.about-working>div>p:not(.eyebrow){font-size:17px}.about-future{padding:28px 24px;margin-bottom:46px}.about-future h2{font-size:30px}.about-promises article{gap:15px}}
