/* P&S visual refinement: retain content and interaction contracts. */
:root{--soft:#f6f7f9;--soft-2:#edf1f5;--line:#dce2e9;--wrap:1280px;--header:88px}
h1,h2,h3{text-wrap:balance}
.site-header .wrap{height:88px}
.brand-name{letter-spacing:.17em}
.brand-tag{letter-spacing:.25em}
.nav ul{gap:30px}
.nav a{font-size:11px;letter-spacing:.14em}
.btn{min-height:52px;justify-content:center;letter-spacing:.14em;padding:16px 26px}
.hero .wrap{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:64px;min-height:580px;padding-top:88px;padding-bottom:88px}
.hero h1{font-size:clamp(40px,4.2vw,60px);line-height:1.12;letter-spacing:-.025em;max-width:760px;text-wrap:initial}
.hero p.lead-beats{font-size:22px;line-height:1.6;margin-top:28px}
.hero .btn{margin-top:32px}
.diagram{max-width:340px;justify-self:center;margin:0;opacity:.85}
.gap{padding:88px 0}
.gap-line{font-size:clamp(28px,3vw,40px);letter-spacing:-.02em}
.gap-answer{max-width:780px;margin:26px auto 0;font-family:var(--sans);font-style:normal;font-size:17px;line-height:1.8;color:var(--muted)}
.gap-answer::before{margin:0 auto 26px;width:32px}
.svc,.background,.contact{padding:96px 0}
.svc-head{grid-template-columns:1fr;gap:24px;align-items:start;padding-bottom:40px}
.svc-head h2,.section-head h2,.contact h2,.about-body h2{font-size:clamp(30px,3vw,40px);letter-spacing:-.02em}
.svc-intro{max-width:820px}
.svc-tabs{gap:40px;padding:44px 0}
.svc-tab{padding-top:22px;padding-bottom:22px;font-size:18px}
.svc-panel{padding:44px;border-color:#e0e5eb;box-shadow:0 10px 32px rgba(19,43,77,.025)}
.svc-panel h3{line-height:1.25}
.svc-desc,.svc-cols p,.svc-when li,.svc-deliver li{line-height:1.8}
.svc-label{font-size:10.5px;letter-spacing:.18em}
.svc-cols{gap:32px}
.svc-working{padding:40px 44px;gap:32px}
.about{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.about-body{padding:72px 48px;gap:32px}
.about-body p{max-width:56ch;line-height:1.8}
.about-visual blockquote{font-size:clamp(22px,2.2vw,30px);padding:44px 36px}
.about-links{padding-left:28px}
.about-links a{gap:16px;font-size:14px}
.about-links svg{width:26px;height:26px}
.section-head{margin-bottom:36px}
.bg-grid{gap:24px;align-items:start}
.card{padding:32px;border-color:#e0e5eb}
.stack>*+*{margin-top:24px}
.expertise{padding:64px 0}
.exp-item{padding:12px 18px;line-height:1.6}
.band .wrap{padding-top:64px;padding-bottom:64px}
.contact-grid{gap:72px}
.contact-copy p{line-height:1.8}
.form-card{padding:36px;border-color:#dce2e9;box-shadow:0 12px 40px rgba(19,43,77,.035)}
.field input,.field textarea{background:#fff;min-height:48px}
.site-footer{padding-top:48px}
.footer-bottom{gap:14px}
@media(min-width:1081px){.svc-list{top:112px}}
@media(max-width:1180px){:root{--header:88px}}
@media(max-width:1080px){
 .svc-head{gap:24px}.svc-tabs{gap:24px}.svc-tab{padding:14px 16px;font-size:15px}
 .svc-list{max-width:100%;scrollbar-width:thin;scrollbar-color:#b7c6d7 transparent}
 .svc-working{gap:24px}.about{grid-template-columns:1fr}.about-visual{min-height:240px}
 .expertise-grid{row-gap:28px}
}
@media(max-width:900px){
 :root{--header:76px}.site-header .wrap{height:76px}
 .hero .wrap{grid-template-columns:minmax(0,1fr);gap:36px;min-height:0;padding-top:64px;padding-bottom:56px}
 .hero h1{font-size:clamp(36px,6.7vw,56px);max-width:700px}
 .diagram{max-width:220px;justify-self:end}
 .about-body{grid-template-columns:1fr;padding:56px var(--gutter);gap:28px}
 .about-links{padding:24px 0 0}
 .contact-grid{gap:36px}
}
@media(max-width:640px){
 :root{--gutter:24px;--header:76px}
 .brand-name{font-size:clamp(13px,3.7vw,18px);letter-spacing:.12em}
 .brand-tag{font-size:clamp(6px,1.7vw,8px);letter-spacing:.15em}
 .site-header .wrap{gap:12px}.menu-btn{padding:10px 0 10px 10px;flex:none}
 .hero .wrap{padding-top:52px;padding-bottom:40px;gap:24px}
 .hero h1{font-size:clamp(32px,7.6vw,46px);line-height:1.16;letter-spacing:-.03em}
 .hero p.lead-beats{font-size:19px;margin-top:24px}
 .diagram{max-width:170px;justify-self:center}
 .gap{padding:64px 0}.gap-answer{font-size:16px;line-height:1.75;max-width:42ch}
 .svc,.background,.contact{padding:64px 0}
 .svc-head{padding-bottom:32px}.svc-tabs{padding:28px 0;gap:24px}
 .svc-list{margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter)}
 .svc-panel{padding:28px 22px}.svc-panel h3{font-size:26px}
 .svc-cols{gap:28px}.svc-working{padding:28px 24px}
 .about-body{padding:48px var(--gutter)}
 .about-visual{min-height:220px}.about-visual blockquote{padding:36px var(--gutter)}
 .card{padding:26px 24px}.expertise{padding:48px 0}.exp-item{padding:12px 8px;font-size:13px}
 .band .wrap{padding-top:48px;padding-bottom:48px;gap:28px}
 .contact-grid{gap:32px}.form-card{padding:28px 20px}
 .footer-top{gap:28px}.site-footer nav ul{gap:16px 24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Brand foundation after credentials and languages removal. */
.foundation-values .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px;align-items:start}
.foundation-values .section-head{margin:0}
.foundation-values .values{padding:0;background:transparent;border:0}
.foundation-values .values p{font-size:17px;line-height:1.8;max-width:64ch}
.foundation-values .values p+p{margin-top:16px}
@media(max-width:900px){.foundation-values .wrap{grid-template-columns:1fr;gap:28px}}

/* Policy links and inquiry notice. */
.contact-form-column{min-width:0}.contact-privacy-note{font-size:13px;line-height:1.7;color:var(--muted);margin-top:18px}.contact-privacy-note a{color:var(--navy);text-underline-offset:3px;overflow-wrap:anywhere}.policy-nav{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:13px;line-height:1.7}.policy-nav a{text-decoration:underline;text-underline-offset:4px}
