/* The homepage's editorial language, shared by every public information page. */
html:has(.sp-page) { scroll-padding-top:108px; }
.sp-page { --sp-width:min(1320px,calc(100% - 112px)); --muted:#596460; background:#fff; color:#1a1d1c; font-family:Geist,sans-serif; }
.sp-page .wrap { width:var(--sp-width); max-width:none; margin-inline:auto; padding-inline:0; }
.sp-page main { overflow:clip; }
.sp-page .section { padding-block:88px; }
.sp-page .paper { background:#fff; }
.sp-page .soft { background:#f6f4ef; }
.sp-page .dark { background:#1a1d1c; color:#fff; }
.sp-page .dark .muted,.sp-page .dark .lead { color:#d7ddda; }
.sp-page .accent { color:inherit; }
.sp-page .watermark::after,.sp-page .grid-bg { display:none; }
.sp-page h1,.sp-page h2,.sp-page h3 { letter-spacing:-.045em; }
html[lang] .sp-page .page-hero h1,.sp-page.wg h1 { font-size:clamp(42px,4.5vw,66px); line-height:1.06; font-weight:600; }
.sp-page h2,.sp-page[data-page] h2,.sp-page.wg h2 { font-size:clamp(30px,3.4vw,48px); line-height:1.12; font-weight:550; }
.sp-page h3,.sp-page.wg h3 { font-size:24px; line-height:1.25; font-weight:550; }
.sp-page .eyebrow { font:10px/1.6 'Geist Mono',monospace; letter-spacing:.11em; font-weight:400; color:#596460; margin-bottom:22px; }
.sp-page .eyebrow::before { display:none; }
.sp-page .dark .eyebrow { color:#aec8c6; }
.sp-page .lead { font-size:19px; line-height:1.6; letter-spacing:0; }
.sp-page .body { font-size:17px; line-height:1.7; }
.sp-page .button,.sp-page .btn { border-radius:3px; box-shadow:none; font-size:14px; min-height:48px; padding:14px 22px; font-weight:550; line-height:1.4; transition:transform .2s,border-color .2s; }
.sp-page .button--primary,.sp-page .btn-primary { background:#1f6f78; color:#fff; border-color:#1f6f78; }
.sp-page .button--primary:hover,.sp-page .btn-primary:hover { background:#185d65; box-shadow:none; }
.sp-page .button--quiet,.sp-page .btn-ghost { background:transparent; color:#1f6f78; border:1px solid #1f6f78; }
.sp-page :focus-visible { outline:2px solid #1f6f78; outline-offset:4px; }
.sp-page .dark :focus-visible { outline-color:white; }
.sp-page [data-site-nav] { position:sticky; top:0; z-index:80; background:#fff; }
.sp-page .nav-shell { padding:10px 0 0; }
.sp-page .nav-shell .nav,.sp-page header.nav .nav-inner,.sp-page .wg-header {
 width:var(--sp-width); max-width:none; min-height:64px; padding:10px 20px; gap:20px;
 border:1px solid #ffffff24; border-radius:0; box-shadow:none; background:#1a1d1c; color:white; backdrop-filter:none;
}
.sp-page header.nav { position:sticky; z-index:80; top:0; padding:10px 0 0; background:#fff; }
.sp-page .wg-header { position:sticky; top:10px; z-index:80; margin:10px auto 0; }
.sp-page header .brand,.sp-page header .brand span,.sp-page header .brand small { color:#fff; }
.sp-page header .brand small { display:none; }
.sp-page header .brand { font-size:15px; }
.sp-page header .brand img { width:30px; height:34px; filter:brightness(0) invert(1); }
.sp-page header .nav-links,.sp-page .wg-desktop-nav,.sp-page .contact-desktop-nav { gap:24px; font-size:13px; font-weight:450; }
.sp-page header a:not(.button):not(.btn),.sp-page header .menu-button,.sp-page header .nav-toggle,.sp-page header summary { color:#fff; }
.sp-page header .button,.sp-page header .btn { font-size:12px; min-height:42px; padding:11px 17px; }
.sp-page header :focus-visible { outline-color:#fff; }
.sp-page .nav-links a[aria-current="page"]::after { background:#9abfbe; height:1px; }
.sp-page header .brand span { line-height:1.2; }
.sp-page header .lang-switch { border:0; border-radius:0; background:transparent; padding:8px; }
.sp-page .page-hero { min-height:0; padding-block:70px 76px; }
.sp-page .page-hero-grid,.sp-page .about-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; align-items:center; }
.sp-page .method-hero { background:#f6f4ef; }
.sp-page .method-hero h1 .accent { display:block; }
.sp-page .method-hero .lead { max-width:46ch; color:#596460; }
.sp-page .method-photo { margin:0; height:550px; overflow:hidden; background:#e8e9e4; }
.sp-page .method-photo img { height:100%; object-fit:cover; object-position:center; }
.sp-page .method-hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:28px; }
.sp-page .method-hero-actions .profile-link { font-size:14px; }
.sp-page .method-data-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:10%; align-items:start; }
.sp-page .method-data-copy h2 { max-width:16ch; }
.sp-page .method-profile { padding:36px; background:#f6f4ef; }
.sp-page .method-profile ul { list-style:none; padding:0; margin:0; }
.sp-page .method-profile li { display:grid; grid-template-columns:18px 1fr; gap:18px; padding:0 0 25px; }
.sp-page .method-profile li::before { content:''; width:7px; height:7px; margin-top:10px; border:1.5px solid #1f6f78; border-radius:50%; }
.sp-page .method-profile li h3 { font-size:20px; margin:0 0 6px; }
.sp-page .method-profile li p { font-size:14px; color:#596460; margin:0; line-height:1.6; }
.sp-page .method-profile-result { background:#fff; border-left:2px solid #1f6f78; padding:22px 26px; font-size:24px; line-height:1.25; letter-spacing:-.03em; }
.sp-page .method-profile-result small { display:block; color:#1f6f78; font:10px/1.5 'Geist Mono',monospace; margin-bottom:10px; }
.sp-page .system-data { display:block; margin-top:24px; }
.sp-page .system-data p { font-size:14px; }
.sp-page .section-head { grid-template-columns:.65fr 1.35fr; gap:8%; }
.sp-page .section-head h2 { max-width:24ch; }
.sp-page .section-head .lead { max-width:56ch; }
.sp-page #pillars .method-context { max-width:62ch; margin:20px 0 0; color:#b7cac5; font-size:14px; line-height:1.65; }
.sp-page #pillars .method-context strong { color:inherit; font-weight:600; }
.sp-page .system-map { display:block; margin-top:42px; border:0; }
.sp-page .system-map article { min-height:0; padding:28px 0; display:grid; grid-template-columns:.3fr .8fr 1fr; gap:36px; border:0; border-top:1px solid #ffffff30; align-items:start; }
.sp-page .system-map article h3 { font-size:28px; max-width:18ch; margin:0; }
.sp-page .system-map article p { color:#d0d9d5; font-size:16px; margin:0; }
.sp-page .system-pillar-blocks { margin:24px 0 0; }
.sp-page .system-pillar-blocks > div { padding:16px 0; border-top:1px solid #c6d8d226; }
.sp-page .system-pillar-blocks > div:last-child { padding-bottom:0; }
.sp-page .system-pillar-blocks dt { font-size:16px; font-weight:550; line-height:1.5; color:#f6f4ef; }
.sp-page .system-pillar-blocks dd { margin:7px 0 0; font-size:15px; line-height:1.6; color:#c6d8d2; }
.sp-page .method-data-copy .method-data-scope { font-size:14px; line-height:1.65; margin-top:22px; }
.sp-page .system-map article span { color:#aec8c6; font-size:10px; margin-top:7px; }
.sp-page .process { margin-top:36px; }
.sp-page .process article { grid-template-columns:60px .8fr 1.2fr; padding-block:25px; }
.sp-page .process h3 { font-size:25px; }
.sp-page .process p { font-size:16px; }
.sp-page #system-result { background:#fff; }
.sp-page #system-result .lead { max-width:48ch; }
.sp-page .about-hero { background:#fff; padding-bottom:68px; }
.sp-page .about-photo { border-radius:0; min-height:0; height:560px; }
.sp-page .about-photo img { object-position:center 18%; }
.sp-page #credentials { background:#f6f4ef; }
.sp-page .profile-credentials { margin-top:40px; }
.sp-page .profile-credentials article { padding-block:26px; }
.sp-page .profile-credentials p { font-size:16px; }
.sp-page .profile-credentials h3 { font-size:25px; }
.sp-page #origin { padding-block:76px; }
.sp-page #origin h2 { max-width:24ch; }
.sp-page #personal-guidance { background:#fff; }
.sp-page .expertise-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; }
.sp-page .profile-work-photo { border-radius:0; min-height:0; height:450px; aspect-ratio:auto; }
.sp-page .profile-work-photo img { object-fit:cover; }
.sp-page .ems-hero { min-height:640px; padding-top:64px; }
.sp-page .ems-hero .wrap { padding-bottom:0; }
.sp-page .ems-hero h1 { font-size:clamp(42px,4.8vw,68px); max-width:16ch; }
.sp-page .ems-hero .lead { max-width:47ch; color:#e2e7e4; }
.sp-page .ems-hero > img { opacity:.7; object-position:72% 26%; }
.sp-page .ems-hero::before { background:linear-gradient(90deg,#111918f2,#111918b0 48%,#11191822); }
.sp-page .ems-hero .eyebrow { color:#c3d4d0; }
.sp-page .ems-safety { margin-top:36px; }
.sp-page .ems-safety p,.sp-page .ems-options p { font-size:16px; }
.sp-page .ems-options { margin-top:30px; }
.sp-page .ems-options article { padding-top:24px; }
.sp-page .closing { text-align:left; }
.sp-page .closing h2,.sp-page .closing .lead { margin-inline:0; }
.sp-page .closing .ems-expectation { margin-left:0; }
.sp-page.wg { background:#f6f4ef; }
.sp-page .wg-hero { padding-block:70px 76px; gap:8%; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.sp-page .wg-hero h1 { max-width:13ch; }
.sp-page .wg-hero .lead { max-width:46ch; font-size:18px; }
.sp-page .wg-hero figure { border-radius:0; }
.sp-page .wg-hero img { height:550px; object-position:77% center; }
.sp-page .wg-actions { margin-top:25px; gap:16px; }
.sp-page .wg-micro { font-size:12px; }
.sp-page .wg-split { gap:9%; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.sp-page .wg-deliverables > div { padding-block:20px; }
.sp-page .wg-deliverables dt { font-size:22px; margin-bottom:8px; }
.sp-page .wg-deliverables dd { font-size:16px; }
.sp-page .wg-scope-details { margin-top:40px; padding-top:36px; display:grid; grid-template-columns:.8fr 1.2fr; column-gap:9%; }
.sp-page .wg-scope-accordion { margin:0; }
.sp-page .wg-scope-details .wg-micro { grid-column:2; }
.sp-page .wg-scope-details .wg-note { font-size:15px; max-width:36ch; }
.sp-page .wg-rhythm { margin-top:36px; }
.sp-page .wg-rhythm li { border-color:#94b5b4; }
.sp-page .wg-rhythm h3 { font-size:30px; }
.sp-page .wg-rhythm p,.sp-page .wg-rhythm-section .wg-note { color:#d7ddda; font-size:16px; }
.sp-page .wg-roles { margin-top:36px; gap:9%; }
.sp-page .wg-roles > div { border-color:#cbd1cb; }
.sp-page .wg-roles ul { color:#596460; font-size:16px; }
.sp-page .wg-close .wrap { display:grid; grid-template-columns:1fr 1fr; gap:16px 9%; align-items:start; }
.sp-page .wg-close h2 { grid-row:span 4; max-width:17ch; }
.sp-page .wg-close .lead { margin:0; font-size:18px; }
.sp-page .wg-close .button { justify-self:start; }
.sp-page .wg-close .wg-micro,.sp-page .wg-close .wg-text-link { color:#d7ddda; }
.sp-page main details { padding:0; border-color:#d9dfdc; }
.sp-page main details summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; font:500 16px/1.5 Geist,sans-serif; cursor:pointer; list-style:none; }
.sp-page main details summary::-webkit-details-marker,.sp-page header details summary::-webkit-details-marker { display:none; }
.sp-page main details summary::after,.sp-page header details summary::after { content:''; display:block; flex:0 0 16px; width:16px; height:16px; background:linear-gradient(currentColor,currentColor) center/16px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 16px no-repeat; transition:background-size .26s cubic-bezier(.22,1,.36,1); }
.sp-page details[open]:not([data-disclosure-open="false"]) > summary::after { background-size:16px 1.5px,1.5px 0; }
.sp-page .sp-disclosure-body { padding-bottom:20px; }
.sp-page .sp-disclosure-body p,.sp-page .sp-disclosure-body li { font-size:15px; line-height:1.7; }
.sp-page .sp-disclosure-body > :last-child { margin-bottom:0; }
.sp-page .wg-faq p,.sp-page .wg-scope-accordion ul { margin-top:0; font-size:15px; }
.sp-page .contact2-hero { background:#fff; }
.sp-page.contact-v2 .contact2-hero-grid { width:var(--sp-width); gap:8%; }
.sp-page.contact-v2 .contact2-booking-panel { border:0; border-radius:0; background:#f6f4ef; box-shadow:none; }
.sp-page.contact-v2 .contact2-booking-content { background:#f6f4ef; }
.sp-page.contact-v2 .contact2-conversation-photo { border-radius:0; }
.sp-page.contact-v2 .contact2-direct { padding-block:68px; background:#1a1d1c; color:#fff; }
.sp-page.contact-v2 .contact2-direct .muted { color:#cbd4d0; }
.sp-page.contact-v2 .contact2-direct .eyebrow { color:#aec8c6; }
.sp-page.contact-v2 .contact2-direct a { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.sp-page.contact-v2 .contact2-direct .quote { font-size:clamp(30px,3.2vw,46px); line-height:1.15; color:#fff; border:0; }
.sp-page .footer { padding:52px 0 28px; background:#f6f4ef; color:#596460; --on-dark:#1a1d1c; }
.sp-page .footer h3,.sp-page .footer h4,.sp-page .footer .brand,.sp-page .footer .brand span,.sp-page .footer .brand small { color:#1a1d1c; }
.sp-page .footer .muted { color:#596460; }
.sp-page .footer a { color:#46524d; }
.sp-page .footer a:hover { color:#1f6f78; }
.sp-page .footer h3,.sp-page .footer h4 { font:11px/1.5 'Geist Mono',monospace; letter-spacing:.04em; }
.sp-page .footer .brand img { filter:brightness(0); }
.sp-page .footer-links { gap:9px; font-size:13px; }
.sp-page .footer-grid { gap:40px; }
.sp-page .footer-bottom { border-color:#d9dfdc; margin-top:28px; font-size:11px; color:#596460; }
.sp-page .wg-footer { padding-block:42px; background:#f6f4ef; color:#596460; font-size:13px; }
.sp-page .legal-layout { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:9%; align-items:start; }
.sp-page .legal-index { position:sticky; top:116px; align-self:start; padding:26px; background:#f6f4ef; }
.sp-page .legal-index a { display:block; padding:10px 0; font-size:13px; line-height:1.5; border-top:1px solid #d9dfdc; }
.sp-page .legal-index p { font:10px/1.5 'Geist Mono',monospace; color:#596460; margin-bottom:20px; }
.sp-page .legal-copy { min-width:0; max-width:76ch; }
.sp-page .legal-copy h1 { font-size:clamp(36px,4.3vw,60px); font-weight:550; line-height:1.1; margin-bottom:26px; }
.sp-page .legal-copy h2 { font-size:22px; border-top:1px solid #d9dfdc; padding-top:24px; margin-top:32px; }
.sp-page .legal-copy p,.sp-page .legal-copy li { font-size:16px; line-height:1.75; }
.sp-page .legal-copy a { color:#1f6f78; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.sp-page.sp-legal main { overflow:visible; }
.sp-page.sp-error main .wrap > div { max-width:none!important; }
.sp-page.sp-error main .section { background:#f6f4ef; min-height:62vh; display:grid; align-items:center; }
.sp-page.sp-error .cta-row { gap:16px; }
.sp-page .method-photo img,.sp-page .about-photo img,.sp-page .profile-work-photo img,.sp-page .wg-hero figure img { scale:var(--sp-scale,1); translate:0 var(--sp-drift,0); }
.sp-pending { opacity:0; transform:translateX(var(--sp-entry,-80px)); }
.sp-entering { animation:sp-enter .9s var(--sp-delay,0ms) cubic-bezier(.22,1,.36,1) both; }
@keyframes sp-enter { from { opacity:0; transform:translateX(var(--sp-entry,-80px)); } to { opacity:1; transform:none; } }
@media(max-width:1200px) {
 .sp-page .nav.menu-ready .nav-links,.js .sp-page header.nav > .nav-inner > .nav-links:not(.contact-desktop-nav) {
  display:flex; flex-direction:column; visibility:hidden; opacity:0; transform:translateY(-8px);
  transition:opacity .26s,transform .36s cubic-bezier(.22,1,.36,1),visibility 0s .26s;
  pointer-events:none; background:#1a1d1c; border:1px solid #ffffff30; border-radius:0; box-shadow:none; padding:14px 20px;
 }
 .sp-page .nav.menu-ready .nav-links.is-open,.js .sp-page header.nav > .nav-inner > .nav-links.open:not(.contact-desktop-nav) { visibility:visible; opacity:1; transform:none; transition-delay:0s; pointer-events:auto; }
 /* The expanded native navigation scrolls with the page when enhancement is unavailable. */
 .sp-page [data-site-nav]:has(.nav:not(.menu-ready)),html:not(.js) .sp-page header.nav { position:relative; }
 .sp-page .wg-mobile-menu nav,.sp-page .contact-menu nav { border:1px solid #ffffff30; border-radius:0; background:#1a1d1c; color:white; box-shadow:none; }
 .sp-page .contact-menu nav a,.sp-page .contact-menu nav a[aria-current],.sp-page .wg-mobile-menu nav a { color:white; }
 .sp-page header details summary { display:flex; gap:10px; font-size:12px; font-weight:450; list-style:none; }
 .sp-page header .menu-button span { position:static; width:auto; height:auto; clip-path:none; }
 .sp-page header .menu-button { display:flex; width:auto; padding:10px; gap:12px; font-size:12px; }
 .sp-page header .menu-button i { margin-inline:3px; }
 .sp-page .page-hero-grid,.sp-page .about-hero-grid,.sp-page .wg-hero { gap:5%; }
}
@media(max-width:980px) {
 .sp-page { --sp-width:calc(100% - 48px); }
 .sp-page .page-hero-grid,.sp-page .about-hero-grid,.sp-page .wg-hero { grid-template-columns:1fr; gap:36px; }
 .sp-page .method-photo { height:440px; }
 .sp-page .about-photo { height:570px; max-width:620px; width:100%; }
 .sp-page .wg-hero img { height:auto; aspect-ratio:4/3; }
 .sp-page .wg-hero h1 { max-width:19ch; }
 .sp-page .method-data-grid,.sp-page .wg-split,.sp-page .wg-scope-details,.sp-page .expertise-grid { grid-template-columns:1fr; gap:32px; }
 .sp-page .wg-scope-details .wg-micro { grid-column:auto; }
 .sp-page .section-head { grid-template-columns:1fr; gap:12px; }
 .sp-page .section-head > .eyebrow { margin-bottom:10px; }
 .sp-page .system-map article { grid-template-columns:.35fr 1fr; gap:18px; }
 .sp-page .system-map article p { grid-column:2; }
 .sp-page .legal-layout { grid-template-columns:1fr; gap:36px; }
 .sp-page .legal-index { position:static; }
 .sp-page .legal-index nav { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
}
@media(max-width:700px) {
 html:has(.sp-page) { scroll-padding-top:88px; }
 .sp-page { --sp-width:calc(100% - 40px); }
 .sp-page .section { padding-block:56px; }
 .sp-page .nav-shell .nav,.sp-page header.nav .nav-inner,.sp-page .wg-header { padding:7px 12px; min-height:58px; }
 .sp-page .page-hero,.sp-page .wg-hero { padding-block:40px 48px; }
 html[lang] .sp-page .page-hero h1,.sp-page.wg h1 { font-size:clamp(36px,9.5vw,48px); line-height:1.08; }
 .sp-page h2,.sp-page[data-page] h2,.sp-page.wg h2 { font-size:32px; }
 .sp-page .lead,.sp-page .wg-hero .lead { font-size:17px; }
 .sp-page .eyebrow { margin-bottom:18px; }
 .sp-page .method-photo { height:auto; aspect-ratio:4/3; }
 .sp-page .method-photo img { object-position:center 25%; }
 .sp-page .method-profile { padding:26px 22px; }
 .sp-page .method-profile-result { padding:20px; font-size:22px; }
 .sp-page .method-hero-actions { gap:18px; }
 .sp-page .system-map article { grid-template-columns:1fr; gap:10px; padding-block:24px; }
 .sp-page .system-map article p { grid-column:1; }
 .sp-page .system-map article h3 { font-size:25px; }
 .sp-page .process article { grid-template-columns:30px 1fr; gap:12px; }
 .sp-page .process article p { grid-column:2; }
 .sp-page .about-photo { height:auto; aspect-ratio:4/5; }
 .sp-page .profile-work-photo { height:auto; aspect-ratio:4/3; }
 .sp-page #origin { padding-block:56px; }
 .sp-page .ems-hero { min-height:660px; padding-top:56px; }
 .sp-page .ems-hero h1 { font-size:42px; }
 .sp-page .ems-hero::before { background:linear-gradient(90deg,#111918e8,#11191880),linear-gradient(0deg,#111918cc,transparent); }
 .sp-page .ems-hero > img { object-position:66% center; }
 .sp-page .wg-rhythm h3 { font-size:26px; }
 .sp-page .wg-roles { grid-template-columns:1fr; gap:24px; }
 .sp-page .wg-close .wrap { grid-template-columns:1fr; gap:20px; }
 .sp-page .wg-close h2 { grid-row:auto; }
 .sp-page .wg-close .button { width:100%; }
 .sp-page.contact-v2 .contact2-hero-grid { gap:24px; }
 .sp-page.contact-v2 .contact2-direct { padding-block:48px; }
 .sp-page main details summary { padding-block:18px; font-size:16px; }
 .sp-page .footer { padding-block:40px 26px; }
 .sp-page .footer-grid { grid-template-columns:1fr; gap:28px; }
 .sp-page .footer-bottom { flex-direction:column; gap:12px; }
 .sp-page .legal-index { padding:22px; }
 .sp-page .legal-index nav { grid-template-columns:1fr; }
 .sp-page .legal-copy h2 { font-size:21px; }
 .sp-page .sp-entering { animation-duration:.65s; }
}
@media(prefers-reduced-motion:reduce) {
 .sp-page *, .sp-page *::before,.sp-page *::after { transition:none!important; animation:none!important; }
 .sp-page .sp-pending { opacity:1; transform:none; }
}

/* Shared finishing pass: the same editorial weight and navigation across DE/EN. */
.sp-page ::selection { background:#c6dfdc; color:#1a1d1c; }
.sp-page h1 { font-weight:500; letter-spacing:-.04em; text-wrap:balance; }
.sp-page h2 { font-weight:500; letter-spacing:-.035em; line-height:1.13; text-wrap:balance; }
.sp-page h3 { font-weight:500; letter-spacing:-.025em; }
.sp-page .lead { font-weight:400; }
.sp-page .method-profile { padding:32px; }
.sp-page .method-profile-result { margin-inline:-32px; padding:28px 32px; border:0; background:#1a1d1c; color:#fff; font-size:32px; line-height:1.12; }
.sp-page .method-profile-result small { color:#b4d4d1; }
.sp-page .method-profile-result .profile-action { display:block; font-size:14px; font-weight:400; color:#d3d9d6; line-height:1.6; margin-top:16px; max-width:34ch; letter-spacing:0; }
.sp-page .footer-links a { width:fit-content; text-underline-offset:5px; }
.sp-page .footer-links a:hover { text-decoration:underline; }
.sp-page .button:hover,.sp-page .btn:hover { transform:translateY(-1px); }
@media(max-width:760px) {
 .sp-page .method-profile { padding:24px; }
 .sp-page .method-profile-result { margin-inline:-24px; padding:24px; font-size:30px; }
 .sp-page .method-profile-result .profile-action { font-size:13px; }
}
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:dk-page-out 160ms ease both; }
::view-transition-new(root) { animation:dk-page-in 280ms cubic-bezier(.16,1,.3,1) both; }
@keyframes dk-page-out { to { opacity:0; } }
@keyframes dk-page-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) {
 ::view-transition-group(root),::view-transition-old(root),::view-transition-new(root) { animation:none; }
 .sp-page .button:hover,.sp-page .btn:hover { transform:none; }
}

/* Petrol Light · 6 October 2026. Shared reference-derived surfaces; page roles stay intact. */
.sp-page { --sp-width:min(1180px,calc(100% - 96px)); }
.sp-page .button,.sp-page .btn { border-radius:999px; }
.sp-page .button--primary,.sp-page .btn-primary {
 background-color:#1f6f78; background-image:linear-gradient(115deg,#164f57 0%,#1f6f78 48%,#286b6d 100%);
 border-color:#ffffff24; box-shadow:0 6px 22px #1f6f7820; color:#fff;
}
.sp-page .button--primary:hover,.sp-page .btn-primary:hover { background-image:linear-gradient(115deg,#123f46,#185c65 48%,#205b5e); }
.sp-page [data-site-nav],.sp-page header.nav { background:transparent; }
.sp-page .nav-shell .nav,.sp-page header.nav .nav-inner,.sp-page .wg-header {
 border-radius:999px; background:#f6f4eff5; border:1px solid #ffffffb0; color:#1a1d1c;
 box-shadow:0 8px 32px #091b1c14; backdrop-filter:blur(16px);
}
.sp-page header .brand,.sp-page header .brand span,.sp-page header .brand small,
.sp-page header a:not(.button):not(.btn),.sp-page header .menu-button,.sp-page header .nav-toggle,.sp-page header summary { color:#1a1d1c; }
.sp-page header .brand img { filter:brightness(0); }
.sp-page header :focus-visible { outline-color:#1f6f78; }
.sp-page header .nav-toggle,.sp-page header .menu-button { border-color:#1f6f7838; }
.sp-page .nav-links a[aria-current="page"]::after { background:#1f6f78; }
.sp-page .dark,.sp-page .wg-rhythm,.sp-page .wg-close {
 background-color:#091b1c;
 background-image:radial-gradient(ellipse at 4% 0%,#1f6f783f,transparent 55%),radial-gradient(ellipse at 100% 90%,#1f6f7829,transparent 60%);
}
.sp-page .method-hero,.sp-page .about-hero { background:radial-gradient(ellipse at 95% 4%,#dce7e5 0,transparent 55%),#f6f4ef; }
.sp-page .method-photo,.sp-page .about-photo,.sp-page .profile-work-photo,.sp-page .wg-hero figure { border-radius:24px; }
.sp-page .method-profile { border:1px solid #dce7e5; border-radius:24px; overflow:hidden; }
.sp-page .method-profile-result { background:linear-gradient(130deg,#164f57,#091b1c); }
.sp-page .system-map { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.sp-page .system-map article { display:block; padding:28px; border:1px solid #a9e0d42b; border-radius:22px; background:linear-gradient(145deg,#ffffff09,#ffffff02); }
.sp-page .system-map article h3 { margin:16px 0; }
.sp-page .system-map article p { margin-top:12px; }
.sp-page .wg-scope-card,.sp-page .contact2-choice,.sp-page .contact2-slot { border-radius:22px; }
.sp-page .footer,.sp-page .wg-footer { background:#091b1c; }
@media(max-width:1200px) {
 .sp-page .nav.menu-ready .nav-links,.js .sp-page header.nav > .nav-inner > .nav-links:not(.contact-desktop-nav),
 .sp-page .wg-mobile-menu nav,.sp-page .contact-menu nav {
  border:1px solid #cdd8d4; border-radius:22px; background:#f6f4ef; color:#1a1d1c; box-shadow:0 16px 36px #091b1c20;
 }
 .sp-page .contact-menu nav a,.sp-page .contact-menu nav a[aria-current],.sp-page .wg-mobile-menu nav a { color:#1a1d1c; }
 .sp-page .contact-menu nav a.button--primary,.sp-page .wg-mobile-menu nav a.button--primary { color:#fff; }
 .sp-page .nav:not(.menu-ready),html:not(.js) .sp-page header.nav .nav-inner { border-radius:24px; }
}
@media(max-width:980px) { .sp-page { --sp-width:calc(100% - 48px); } }
@media(max-width:700px) {
 .sp-page { --sp-width:calc(100% - 40px); }
 .sp-page .system-map { grid-template-columns:1fr; }
 .sp-page .system-map article { padding:24px; }
 .sp-page .method-photo,.sp-page .about-photo,.sp-page .profile-work-photo,.sp-page .wg-hero figure { border-radius:20px; }
}
.sp-page .footer,.sp-page .wg-footer { color:#c4d4d0; --on-dark:#fff; border-color:#ffffff24; }
.sp-page .footer h3,.sp-page .footer h4,.sp-page .footer .brand,.sp-page .footer .brand span,.sp-page .footer .brand small { color:#fff; }
.sp-page .footer .muted,.sp-page .footer a,.sp-page .footer-bottom { color:#c4d4d0; }
.sp-page .footer a:hover,.sp-page .wg-footer a:hover { color:#a9e0d4; }
.sp-page .footer-bottom { border-color:#ffffff24; }
.sp-page .footer .brand img { filter:brightness(0) invert(1); }
.sp-page .footer :focus-visible,.sp-page .wg-footer :focus-visible { outline-color:#a9e0d4; }
.sp-page .wg-footer { width:100%; padding-inline:max(20px,calc((100% - 1180px)/2)); }
.sp-page .wg-footer strong { color:#fff; }
.sp-page.contact-v2 .nav .brand,.sp-page.contact-v2 .nav .brand span,.sp-page.contact-v2 .nav .brand small,
.sp-page.contact-v2 .nav .contact-desktop-nav a:not(.btn-primary),.sp-page.contact-v2 .contact-menu summary { color:#1a1d1c; }
.sp-page.contact-v2 .nav .brand .mark { filter:brightness(0); }
.sp-page.contact-v2 .nav :focus-visible { outline-color:#1f6f78; }
.sp-page.contact-v2 .contact2-booking-panel { border-radius:24px; overflow:hidden; }
@media(max-width:700px) { .sp-page.contact-v2 .contact2-booking-panel { border-radius:20px; } }

/* Same icon vocabulary as the homepage; visible labels retain all meaning. */
.sp-page .dk-icon { display:block; width:26px; height:26px; flex:none; }
.sp-page .dk-icon-badge { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; flex:none; margin:0; border:1px solid #1f6f7829; border-radius:14px; color:#1f6f78; background:linear-gradient(140deg,#eef6f3,#e4efeb); }
.sp-page .dark .dk-icon-badge { color:#a9e0d4; border-color:#a9e0d43b; background:linear-gradient(140deg,#a9e0d416,#a9e0d405); }
.sp-page .method-profile li { grid-template-columns:48px minmax(0,1fr); }
.sp-page .method-profile li::before { content:none; }
.sp-page .icon-card-heading { display:flex; align-items:center; gap:16px; }
.sp-page .system-map .icon-card-heading > span { margin:0; }
.sp-page .system-pillars .icon-card-heading h3 { margin:0; font-size:28px; line-height:1.2; }
.sp-page .system-pillars article .system-pillar-label,
.sp-page .system-pillars article .system-blocks-label { margin:0 0 7px; color:#b7cac5; font-size:11px; font-weight:500; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; }
.sp-page .system-pillars article .system-pillar-benefit { margin:22px 0 26px; color:#f6f4ef; font-size:21px; line-height:1.4; }
.sp-page .system-pillars .system-pillar-blocks { margin:12px 0 0; }
.sp-page .wg-deliverables dt { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.sp-page .ems-options .dk-icon-badge { margin-bottom:20px; }
@media (max-width:760px) {
 .sp-page .dk-icon-badge { width:40px; height:40px; border-radius:12px; }
 .sp-page .dk-icon { width:23px; height:23px; }
 .sp-page .method-profile li { grid-template-columns:40px minmax(0,1fr); gap:14px; }
 .sp-page .wg-deliverables dt { gap:14px; }
}

/* Three equivalent perspectives; shared response for explanatory cards. */
@media (min-width:1024px) {
 .sp-page .system-map { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (hover:hover) and (pointer:fine) {
 .sp-page .system-map article { transition:box-shadow .35s,border-color .35s,translate .35s; }
 .sp-page .system-map article:hover { border-color:#a9e0d480; box-shadow:0 20px 42px #020e133b,inset 0 1px 20px #a9e0d40d; }
 .sp-page .method-profile li .dk-icon-badge,.sp-page .wg-deliverables .dk-icon-badge,.sp-page .ems-options .dk-icon-badge { transition:background .3s,border-color .3s; }
 .sp-page .method-profile li:hover .dk-icon-badge,.sp-page .wg-deliverables > div:hover .dk-icon-badge,.sp-page .ems-options article:hover .dk-icon-badge { background:#deefea; border-color:#1f6f7870; }
 @media (prefers-reduced-motion:no-preference) {
  .sp-page .system-map article:hover { translate:0 -4px; }
  .sp-page .dk-icon { transition:transform .4s cubic-bezier(.16,1,.3,1); }
  .sp-page .system-map article:hover .dk-icon,.sp-page .method-profile li:hover .dk-icon,.sp-page .wg-deliverables > div:hover .dk-icon,.sp-page .ems-options article:hover .dk-icon { transform:translateY(-2px) scale(1.07); }
 }
}

/* Gold repeats the homepage's editorial accents in selected dark chapters. */
html .sp-page #pillars > .wrap > .section-head > .eyebrow,
html .sp-page .wg-rhythm-section > .wrap > .eyebrow { position:relative; }
html .sp-page #pillars > .wrap > .section-head > .eyebrow::before,
html .sp-page .wg-rhythm-section > .wrap > .eyebrow::before {
 content:""; display:block; position:absolute; left:0; top:-17px; width:48px; height:1px;
 background:linear-gradient(90deg,var(--dk-gold),var(--dk-champagne)); pointer-events:none;
}
html .sp-page #pillars,
html .sp-page .wg-rhythm-section {
 background:
  radial-gradient(ellipse 65% 85% at 100% 0%,var(--dk-gold-light),transparent 75%),
  radial-gradient(ellipse at 4% 0%,#1f6f783f,transparent 55%),
  radial-gradient(ellipse at 100% 90%,#1f6f7829,transparent 60%),#091b1c;
}
html .sp-page #pillars .dk-icon-badge {
 color:var(--dk-champagne); border-color:rgba(184,152,90,.38);
 background:linear-gradient(140deg,rgba(220,201,159,.10),rgba(184,152,90,.03));
}

/* Tablet only: each pillar keeps its own equal-width row. */
@media (min-width: 701px) and (max-width: 1023px) {
  .sp-page .system-pillars {
    grid-template-columns: minmax(0, 1fr);
  }
  .sp-page .system-pillars > article {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    grid-template-rows: auto 1fr;
    column-gap: 28px;
    row-gap: 18px;
    align-items: start;
  }
  .sp-page .system-pillars > article > .icon-card-heading {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  .sp-page .system-pillars > article > .system-pillar-benefit {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    margin: 0;
  }
  .sp-page .system-pillars > article > .system-pillar-components {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-width: 0;
  }
}
