/* Shared PI presentation system. Existing brand colours and hero crops retained. */
.master-page{--pi-h2:clamp(1.6rem,2.5vw,2.35rem);--pi-space:clamp(40px,5vw,72px);--pi-radius:16px;--pi-border:#dce3eb;--pi-surface:#f3f5f8}
.master-page main :is(p,li){text-wrap:pretty}
.master-page main p :is(strong,b){font-weight:inherit;color:inherit}
.master-page main h2{line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
.master-page main h3{line-height:1.3;letter-spacing:-.015em}
.master-page :is(.button,.header-contact){border-radius:10px}
.master-page a:focus-visible,.master-page summary:focus-visible{outline:3px solid #719fff;outline-offset:4px}
.master-page main>.section:not(.master-ending){padding-block:var(--pi-space)}
.master-page :is(.service-intro-copy,.regional-introduction){padding-top:40px;padding-bottom:24px}
.master-page :is(.service-intro-copy,.regional-introduction) h2{font-size:var(--pi-h2);margin:0 0 20px;max-width:30ch}
.master-page :is(.service-intro-copy,.regional-introduction) p{font-size:1.0625rem;line-height:1.65;max-width:76ch}
.master-page main>section.master-copy{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px 56px;border-top:1px solid var(--pi-border);align-items:start}
.master-page main>section.master-copy h2{font-size:var(--pi-h2);margin:0;max-width:25ch}
.master-page main>section.master-copy p{font-size:1rem;line-height:1.65;max-width:68ch}
.master-page main>section.master-copy>div{max-width:none}
.master-page .master-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:28px}
.master-page .master-cards article{border:1px solid var(--pi-border);border-radius:var(--pi-radius);padding:28px;background:#fff;box-shadow:none;min-width:0}
.master-page .master-cards h3{font-size:1.25rem;margin:0 0 14px}
.master-page .master-cards p{font-size:1rem;line-height:1.65;margin:0}
.master-page .pi-faq-panel{border:1px solid var(--pi-border);border-radius:var(--pi-radius);background:var(--pi-surface);box-shadow:none;margin-block:24px var(--pi-space)}
.master-page .pi-faq-heading h2{font-size:var(--pi-h2);max-width:14ch}
.master-page .pi-local-trust,.home-visual .pi-management-note{background:var(--pi-surface);border:1px solid var(--pi-border);border-radius:var(--pi-radius);box-shadow:none}
.home-visual .pi-principles{background:#fff}
.home-visual .pi-services{background:#fff;box-shadow:none}
.home-visual .master-offerings{gap:28px;border:0}
.home-visual .master-offerings article{grid-template-columns:1fr 1fr;gap:0;padding:0;border:1px solid var(--pi-border);border-radius:var(--pi-radius);overflow:hidden;box-shadow:none;background:#fff}
.home-visual .master-offerings article .master-offering-image{order:0;align-self:stretch}
.home-visual .master-offering-image img{height:100%;aspect-ratio:16/10;object-fit:cover}
.home-visual .master-offering-copy{padding:clamp(24px,3vw,40px)}
.home-visual .master-offering-copy h3{font-size:clamp(1.5rem,2.4vw,2rem)}
.home-visual .master-offering-copy p{line-height:1.65}
.home-visual .process-panel{background:var(--pi-surface)}
.master-page .master-ending{padding-block:var(--pi-space)}
.master-page .master-ending h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;max-width:24ch}
.master-page .master-ending .master-actions{display:grid;grid-template-columns:max-content max-content;justify-content:start;gap:16px 28px;margin-top:28px}
.master-page .master-ending .master-actions>a{margin:0;align-self:center;justify-self:start;min-height:44px;display:inline-flex;align-items:center}
.master-page .master-ending .master-actions>a:nth-child(n+3){font-size:.875rem;opacity:.85}
.about-page .pi-about-intro{padding-block:40px 32px}
.about-page .pi-about-intro p{font-size:1.0625rem;line-height:1.65;max-width:78ch}
.pi-story-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 56px;border-top:1px solid var(--pi-border);padding-block:36px}
.pi-story-title>span{display:block;color:var(--blue);font-size:.8rem;font-weight:700;margin-bottom:14px}
.pi-story-title h2{font-size:var(--pi-h2);margin:0;max-width:24ch}
.pi-story-row p{font-size:1rem;line-height:1.65;margin:0;color:var(--muted);max-width:68ch}
.pi-story-row p+p{margin-top:16px}
.about-page .about-customers{border-top:1px solid var(--pi-border)}
@media(max-width:900px){
 .master-page main>section.master-copy,.pi-story-row{grid-template-columns:1fr;gap:20px}
 .master-page main>section.master-copy h2,.pi-story-title h2{max-width:30ch}
 .home-visual .master-offerings article{grid-template-columns:1fr}
 .home-visual .master-offering-image img{height:auto;aspect-ratio:16/9}
 .pi-story-row{padding-block:28px}
}
@media(max-width:600px){
 .master-page{--pi-space:40px;--pi-h2:1.65rem}
 .master-page .master-cards{grid-template-columns:1fr;gap:16px}
 .master-page .master-cards article{padding:24px 20px}
 .master-page :is(.service-intro-copy,.regional-introduction){padding-top:28px;padding-bottom:20px}
 .home-visual .master-offering-copy{padding:24px 20px}
 .master-page .master-ending .master-actions{grid-template-columns:minmax(0,max-content) minmax(0,max-content);column-gap:22px}
 .master-page .master-ending .master-actions>.button{padding-inline:18px}
 .about-page .pi-about-intro{padding-block:28px}
}
@media(max-width:359px){.master-page .master-ending .master-actions{grid-template-columns:1fr}}
/* Secondary channels stay subordinate, including older WhatsApp button rules. */
.master-page .master-ending .master-actions{grid-auto-rows:auto}
.master-page .master-ending .master-actions>a{width:auto;height:auto;padding:12px 18px;font-size:.9375rem}
.master-page .master-ending .master-actions>a:nth-child(n+3){background:transparent;border:0;padding:4px 0;text-decoration:underline;text-underline-offset:5px;color:#fff;font-size:.875rem}
.master-page .master-ending .master-actions>a:nth-child(n+3):hover{background:transparent;color:#fff;opacity:1}

/* Shared reading rhythm: concise headings beside readable text on wide screens. */
@media(min-width:1100px){
 .master-page .service-intro-copy{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:start;padding-block:56px 32px}
 .master-page .service-intro-copy .service-intro-heading{max-width:24ch;margin:0;letter-spacing:-.025em;text-wrap:balance}
 .master-page .service-intro-copy p{max-width:66ch;font-size:1.0625rem}
}
.master-page .service-intro-paragraphs{min-width:0}
.master-page #service-cases-title{scroll-margin-top:120px}
.master-page main :is(.regional-introduction,.service-intro-copy) p{line-height:1.7}
@media(max-width:1099px){
 .master-page .pi-faq-panel{grid-template-columns:minmax(0,1fr);gap:28px}
 .master-page .pi-faq-heading h2{max-width:none}
 .master-page .pi-faq-heading:after{margin-top:16px}
}
@media(max-width:900px){
 .master-page .master-cards{grid-template-columns:minmax(0,1fr)}
 .about-page .about-customer-list{display:block}
 .about-page .about-customer-list li{padding-block:24px;border-top:1px solid var(--pi-border)}
}
.master-page :is(button,input,textarea,select):focus-visible{outline:3px solid #719fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.master-page *,.master-page *::before,.master-page *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Shared contact finale: four equally sized, clearly labelled actions. */
body.master-page .master-ending .master-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;width:100%;max-width:480px;justify-items:stretch}
body.master-page .master-ending .master-actions>a[href]{box-sizing:border-box;display:flex;align-items:center;justify-content:center;justify-self:stretch;width:100%;height:100%;min-height:54px;margin:0;padding:14px 12px;border:1px solid #a7b4c2;border-radius:10px;background:#fff;color:var(--ink);font-size:.9375rem;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;opacity:1}
body.master-page .master-ending .master-actions>a[href]:first-child{background:var(--blue);border-color:var(--blue);color:#fff}
body.master-page .master-ending .master-actions>a[href]:not(:first-child):hover{background:#eaf0f7;border-color:#719fff;color:#064bf5;opacity:1}
@media(max-width:360px){body.master-page .master-ending .master-actions{grid-template-columns:minmax(0,1fr)}}
/* Portrait tablets keep copy and cards in one column across page types. */
@media(max-width:1099px){body.master-page main>section.master-copy,body.master-page .master-cards,body.master-page .pi-story-row{grid-template-columns:minmax(0,1fr)}}

/* Match the homepage's quiet white contact section throughout the site. */
body.master-page .section.master-ending{background:#fff;color:var(--ink);border-top:3px solid var(--blue)}
body.master-page .master-ending h2{color:var(--ink)}
body.master-page .master-ending>.wrap>.eyebrow{color:var(--blue)}
body.master-page .master-ending p:not(.eyebrow){color:var(--muted);max-width:52ch}
body.master-page .master-ending .master-actions>a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
