/* Relaunch 2026: shared navigation and isolated editorial page styles. */
:root{--ink:#172231;--navy:#101c2b;--blue:#2466bd;--pale:#f7f9fc;--line:#dce3eb;--muted:#536174}
html{scroll-behavior:smooth;scroll-padding-top:110px}.new-page{margin:0;background:#fff;color:var(--ink);font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.new-page *,.site-header *,.site-footer *{box-sizing:border-box}.new-page a{color:var(--blue);text-underline-offset:4px}.new-page h1,.new-page h2,.new-page h3{line-height:1.2;letter-spacing:-.035em;color:inherit}.new-page h1{font-size:clamp(38px,4.4vw,64px);font-weight:650;margin:22px 0 26px}.new-page h2{font-size:clamp(29px,3vw,42px);font-weight:620;margin:12px 0 36px;max-width:930px}.new-page h3{font-size:21px;font-weight:630;margin:0 0 15px}.new-page p{margin:0 0 22px}.new-page .wrap,.site-footer .wrap{width:min(1200px,calc(100% - 64px));margin:0 auto}.new-page .eyebrow{font-size:11px;letter-spacing:.15em;font-weight:750;color:#52647b;margin-bottom:16px}.section{padding:90px 0}.new-page .tinted{background:var(--pale)}.new-page .dark{background:var(--navy);color:#cfd7e3}.new-page .dark h2,.new-page .dark h3{color:#fff}.new-page .dark a:not(.button){color:#b4d2ff}.new-page .dark .eyebrow{color:#9bc1f5}.new-page .intro{font-size:20px;max-width:780px}.new-page .muted{color:var(--muted);font-size:14px}.new-page .button,.site-header .button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:13px 22px;background:var(--blue);color:white;border:1px solid transparent;border-radius:8px;font:600 14px/1.4 system-ui;text-decoration:none;cursor:pointer}.new-page .button:hover,.site-header .button:hover{background:#194e94;color:#fff}.new-page .button.secondary{background:transparent;border-color:#b8c5d5;color:var(--ink)}.hero .button.secondary{color:white;border-color:#5a6b80}.new-page .actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:32px 0}.new-page .actions a{font-size:14px}.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;border-bottom:1px solid #ffffff18;padding:0;margin:0;box-shadow:none;font:14px/1.5 system-ui}.nav-shell{width:min(1320px,calc(100% - 64px));margin:auto;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-header .brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:650;font-size:17px;white-space:nowrap}.brand-icon{font-size:29px;letter-spacing:-3px;border:1px solid #526078;border-radius:10px;padding:0 9px 5px;line-height:1.3}.brand-icon span,.footer-brand span,.profile-mark>span{color:#6ca7ff}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.16em;color:#9eacc0;margin-top:3px}.site-header nav{display:flex;align-items:center;gap:25px;margin:0;padding:0;width:auto}.site-header nav a,.site-header summary{color:#d6dfec;text-decoration:none;white-space:nowrap;font-size:13px;cursor:pointer}.site-header nav a:hover{color:#fff}.site-header summary{list-style:none;min-height:44px;display:flex;align-items:center;gap:8px}.site-header summary::-webkit-details-marker{display:none}.site-header summary:after{content:'⌄';font-size:16px}.site-header .compact{font-size:12px;padding:12px 16px;min-height:44px;gap:14px}.site-header .language{font-size:11px;color:#b1bdcd;min-height:44px;display:flex;align-items:center}.services-menu{position:relative}.service-menu{position:absolute;left:-20px;top:calc(100% + 8px);width:340px;background:white;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 16px 50px #0003}.site-header .service-menu a{display:block;white-space:normal;padding:12px;color:var(--ink);border-radius:6px;font-size:14px}.site-header .service-menu a:hover{background:var(--pale);color:var(--blue)}.nav-toggle{display:none}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;background:white;color:#172231;padding:14px;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid #e49c38!important;outline-offset:5px!important}.hero{background:var(--navy);color:#cfd7e3;padding:76px 0 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.new-page .hero .eyebrow{color:#a6bfdc;font-size:10px;letter-spacing:.13em}.new-page .hero h1{color:white}.hero h1 span{color:#95bbef}.hero p{max-width:600px;font-size:16px}.hero .hero-lead{font-size:18px}.hero .personal-note{font-size:11px;color:#b7c6d8;margin-bottom:0;display:flex;gap:8px;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;background:#a4c9b7;display:inline-block;flex-shrink:0}.trust-line{display:flex;gap:45px;border-top:1px solid #ffffff20;padding:27px 0;margin-top:60px!important;font-size:12px;color:#bccbde}.trust-line span+span:before{content:'+';margin-right:40px;color:#7d94ae}.workflow{border:1px solid #ffffff20;border-radius:18px;background:linear-gradient(140deg,#1b2a3f,#122133);padding:29px;box-shadow:0 28px 70px #0002;position:relative}.diagram-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.12em;color:#b5c7df;margin-bottom:34px}.diagram-heading>span+span{font-size:25px;color:#759ed5}.input-row{display:flex;justify-content:space-between;gap:10px}.input-row>span{border:1px solid #ffffff26;padding:12px 10px;border-radius:7px;flex:1;text-align:center;font-size:11px;background:#ffffff04}.connector{height:38px;width:1px;background:#647f9f;margin:auto;position:relative}.connector:after{content:'';position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid #647f9f;border-bottom:1px solid #647f9f;transform:rotate(45deg)}.flow-core{border:1px solid #608ccc;border-radius:10px;display:flex;align-items:center;gap:16px;padding:22px 16px;background:#24477755}.flow-icon{font-size:29px;color:#a8ceff}.flow-core strong,.output-row strong{font-size:15px;color:white;font-weight:600}.flow-core small,.output-row small{display:block;color:#bacadd;font-size:10px;margin-top:4px}.output-row{display:flex;gap:15px;align-items:center;border:1px solid #6e9a8955;padding:18px;border-radius:10px;background:#72a18b0c}.output-row>span{color:#b2d9c7;border:1px solid #719e88;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:12px}.diagram-footer{display:flex;justify-content:space-between;border-top:1px solid #ffffff15;padding-top:23px;margin-top:31px;font-size:9px;color:#a5b7ce}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cards.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.cards.three,.cards.services{grid-template-columns:repeat(3,minmax(0,1fr))}.new-page .card{border:1px solid var(--line);border-radius:16px;padding:30px;background:white}.new-page .card p{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:0}.new-page .four .card{padding:23px 0 0;border:0;border-top:2px solid #a4b9d4;border-radius:0;background:none}.new-page .four h3{font-size:20px}.new-page .closing-note{margin:35px 0 0;font-size:16px;color:var(--muted)}.new-page .service-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}.new-page .service-card:hover{border-color:#6992c9;box-shadow:0 7px 25px #1722310a}.service-card h3{min-height:50px}.card-number{display:flex;justify-content:space-between;color:#627a98;font-size:12px;font-weight:600;margin-bottom:35px}.card-number>span{font-size:23px;color:var(--blue)}.text-link{font-size:13px;font-weight:600;color:var(--blue);padding-top:28px;margin-top:auto}.tag{display:block;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#536c89;margin-bottom:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.split p{max-width:620px}.analysis-steps{margin:0;padding:0;list-style:none;counter-reset:analysis}.analysis-steps li{counter-increment:analysis;border-bottom:1px solid #ffffff25;padding:20px 0;font-size:20px;display:flex;align-items:center;gap:20px}.analysis-steps li:before{content:'0' counter(analysis);color:#8ebbf9;font-size:12px}.process{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:0 0 30px;gap:28px}.process li{border-top:1px solid var(--line);padding-top:20px}.process li>span{color:var(--blue);font-size:12px}.new-page .process h3{font-size:18px;margin-top:20px}.process p{font-size:14px;color:var(--muted)}.profile-mark{font-size:110px;letter-spacing:-9px;line-height:1;background:#e8eef6;border-radius:18px;padding:45px 55px;max-width:400px;color:var(--navy)}.profile-mark small{display:block;font-size:10px;letter-spacing:.16em;line-height:1.8;margin-top:35px}.price{border:1px solid var(--line);border-radius:16px;padding:32px;background:var(--pale)}.price strong{font-size:52px;letter-spacing:-.04em;font-weight:620}.price small{font-size:14px;letter-spacing:0;font-weight:500}.price p{font-size:15px}.site-footer{background:#0c1522;color:#a4b2c5;font:14px/1.7 system-ui;padding:65px 0 0;margin:0}.site-footer a{color:#bbc9dc;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px}.footer-grid>div>a:not(.footer-brand){display:block;margin:8px 0}.site-footer .footer-brand{font-size:21px;color:#fff;font-weight:650;letter-spacing:-.03em}.site-footer .footer-brand span{margin-left:3px}.site-footer p{font-size:12px;line-height:1.8;max-width:380px;margin-top:16px}.site-footer strong{color:#d8e1ee;font-size:12px;font-weight:600}.footer-bottom{border-top:1px solid #ffffff18;padding:23px 0;display:flex;justify-content:space-between;font-size:11px;margin-top:50px!important}.footer-bottom a{margin-left:24px}.subhero{padding:60px 0 65px}.subhero h1{max-width:950px}.new-page .back-link{color:#aec6e5;font-size:13px;display:inline-block;margin-bottom:25px}.new-page .specialist-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.specialist-links a{font-size:14px}.faq{border:1px solid var(--line);border-radius:10px;padding:18px}.faq summary{cursor:pointer;font-weight:600}.faq p{margin:18px 0 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.contact-form{padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--pale);min-width:0}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.new-page input,.new-page select,.new-page textarea{width:100%;border:1px solid #9caec4;border-radius:6px;padding:12px;background:white;color:var(--ink);font:16px/1.5 system-ui}.new-page textarea{resize:vertical}.hp-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#form-message:not(:empty){padding:15px;margin-top:20px;border:1px solid currentColor;border-radius:6px}#form-message.success{color:#20603c}#form-message.error{color:#9c2525}.button:disabled{opacity:.65;cursor:wait}
@media(min-width:901px){.site-header #site-nav{display:flex!important}}
@media(max-width:1120px){.site-header nav{gap:15px}.nav-shell{width:calc(100% - 40px);gap:15px}.brand small{display:none}.site-header .brand{font-size:15px}.site-header .compact{padding:10px}.hero-grid{gap:30px}.workflow{padding:22px}.cards.four{gap:18px}.split{gap:45px}}
@media(max-width:900px){.nav-shell{min-height:76px;flex-wrap:wrap}.nav-toggle{display:flex;gap:12px;align-items:center;background:transparent;border:1px solid #66768c;border-radius:6px;padding:10px 14px;color:#fff;font:14px system-ui;min-height:44px}.site-header nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 20px;max-height:calc(100dvh - 100px);overflow:auto}.site-header nav[hidden]{display:none}.site-header nav>a{padding:13px 5px;min-height:44px;font-size:15px}.service-menu{position:static;width:100%;box-shadow:none;margin-bottom:15px}.site-header summary{font-size:15px}.hero-grid{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:42px}.hero .personal-note{align-items:start}.trust-line{gap:20px;justify-content:space-between;font-size:11px}.trust-line span+span:before{display:none}.cards.four,.cards.services,.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow{padding:18px}.input-row{gap:6px}.input-row>span{padding:10px 6px;font-size:9px}.diagram-footer{font-size:8px}.flow-core{padding:16px 10px;gap:10px}.flow-core strong{font-size:13px}.flow-core small{font-size:9px}.process{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{gap:30px}.contact-grid{gap:35px;grid-template-columns:.8fr 1.2fr}}
@media(max-width:650px){.new-page .wrap,.site-footer .wrap{width:calc(100% - 40px)}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;gap:45px}.new-page h1{font-size:38px;letter-spacing:-.045em}.hero .eyebrow{font-size:9px!important}.hero p{font-size:15px}.hero .hero-lead{font-size:17px}.hero .personal-note{font-size:10px}.new-page .actions{gap:12px}.new-page .actions .button{font-size:12px;padding:13px 15px;gap:12px}.workflow{padding:23px}.input-row>span{font-size:11px}.flow-core{padding:18px}.flow-core strong{font-size:15px}.flow-core small{font-size:10px}.diagram-footer{font-size:9px}.trust-line{flex-direction:column;gap:9px;margin-top:40px!important;padding:23px 0}.trust-line span:before{content:'+'!important;display:inline!important;margin-right:12px!important;color:#8ca9ce}.section{padding:60px 0}.new-page h2{font-size:29px;margin-bottom:28px}.cards,.cards.four,.cards.services,.cards.three{grid-template-columns:1fr}.cards.four{gap:27px}.new-page .card{padding:25px}.new-page .four .card{padding:20px 0 0}.service-card h3{min-height:0}.card-number{margin-bottom:24px}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.process{grid-template-columns:1fr;gap:18px}.process li{position:relative;padding:18px 0 0 40px}.process li>span{position:absolute;left:0;top:20px}.new-page .process h3{margin-top:0}.process p{margin-bottom:0}.profile-mark{width:100%;max-width:none;font-size:80px;padding:30px}.profile-mark small{margin-top:20px}.price strong{font-size:45px}.footer-grid{grid-template-columns:1fr;gap:30px}.site-footer{padding-top:45px}.footer-bottom{margin-top:30px!important;gap:15px;flex-wrap:wrap}.footer-bottom a{margin-left:0;margin-right:20px}.new-page .specialist-links{grid-template-columns:1fr}.contact-form{padding:20px}.new-page .intro{font-size:18px}.subhero{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.new-page h1,.new-page h2,.new-page h3{overflow-wrap:break-word;hyphens:auto}.site-header .brand-icon span{color:#6ca7ff}

/* Existing specialist content, without the former decorative rocket column. */
.service-hero{grid-template-columns:minmax(0,1fr)}

/* Editorial rhythm and restrained interaction, October 2026. */
.site-header .brand,.site-header .brand *,.site-header nav,.site-header nav *{animation:none;opacity:1}
.site-header .brand{flex-shrink:0}
.site-header .nav-shell{justify-content:space-between}
.new-page{line-height:1.75}
.new-page h1,.new-page h2{hyphens:none;text-wrap:balance;letter-spacing:-.04em}
.new-page h3{line-height:1.35;letter-spacing:-.025em;text-wrap:pretty}
.new-page p{max-width:72ch;margin:0 0 1.25rem;text-wrap:pretty}
.new-page p:last-child{margin-bottom:0}
.new-page h2{margin:0 0 32px}
.new-page h3{margin:0 0 14px}
.new-page p+h3{margin-top:32px}
.new-page .eyebrow{margin:0 0 18px;font-size:11px;line-height:1.6}
.new-page .section{padding:88px 0}
.new-page .section .wrap>p.intro{margin-top:-8px;margin-bottom:34px}
.new-page .cards+ p,.new-page .cards+ .button,.new-page .specialist-links+ p{margin-top:30px}
.new-page .cards h3{overflow-wrap:anywhere;hyphens:auto}
.new-page .cards.four{gap:32px}
.new-page .cards.four h3{font-size:19px}
.new-page .card p:empty{display:none}
.new-page .service-card h3{min-height:0;margin-bottom:18px}
.new-page .service-card{padding:32px;position:relative;overflow:hidden;border-top:2px solid #b2c9e8}
.new-page .card-number{margin-bottom:24px;font-size:13px}
.new-page .text-link{padding-top:28px}
.new-page .split{gap:64px}
.new-page .price{background:linear-gradient(135deg,#eaf2ff,#f7f9fc);border-color:#b6cce9;padding:36px}
.new-page .price h3{font-size:27px;max-width:19ch}
.new-page .price .button{margin-top:8px}
.new-page .process h3{margin:18px 0 12px}
.new-page .process p{margin:0}
.new-page .hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 90% 35%,#1e4160 0,transparent 58%),#101c2b}
.new-page .hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#b4d4ff07 1px,transparent 1px),linear-gradient(90deg,#b4d4ff07 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 25%,black)}
.new-page .hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:52px}
.new-page .hero h1{font-size:clamp(38px,4.05vw,58px);line-height:1.12;max-width:20ch;margin:22px 0 30px;overflow-wrap:normal}
.new-page .hero h1 span{background:linear-gradient(110deg,#a0c4ff,#b5e1e5);background-clip:text;-webkit-background-clip:text;color:transparent}
.new-page .hero-lead{line-height:1.65}
.new-page .workflow{border-color:#7796bc66;background:linear-gradient(145deg,#243c53dd,#142336ed);box-shadow:0 30px 70px #0003,0 1px 0 #ffffff15 inset}
.new-page .diagram-heading{font-size:10px;line-height:1.5;margin-bottom:28px}
.new-page .input-row>span{font-size:12px}
.new-page .flow-core small,.new-page .output-row small{font-size:12px;line-height:1.6;margin-top:7px}
.new-page .diagram-footer{font-size:10px;gap:12px;line-height:1.5}
.new-page .flow-core{background:linear-gradient(110deg,#28528488,#19395d88);border-color:#7ca9e1}
.new-page .personal-note{font-size:12px;line-height:1.65}
.new-page .trust-line{margin-top:48px!important;gap:28px}
.new-page .trust-line span+span:before{margin-right:24px}
.new-page .dark{background:radial-gradient(ellipse at 100% 100%,#234660 0,transparent 65%),#101c2b}
.new-page .profile-mark{background:linear-gradient(140deg,#e5edf9,#d6e6ed);border:1px solid #bdcfe4;position:relative;overflow:hidden}
.new-page .profile-mark:after{content:'';position:absolute;width:180px;height:180px;border:1px solid #799fc855;border-radius:34px;right:-60px;top:30px;transform:rotate(28deg);pointer-events:none}
.site-footer p{margin:18px 0 0;color:#aebed2}
.site-footer .footer-grid{gap:48px}
/* Isolate the legacy content from global resets and remove residual space decoration. */
body.service-page header+.container,body.profile-page header+.container{padding:48px;margin:32px auto 64px;border-radius:20px;background:linear-gradient(145deg,#17283d,#101c2b);box-shadow:none}
body.service-page header+.container:before,body.service-page header+.container:after,body.profile-page header+.container:before,body.profile-page header+.container:after{content:none!important;background-image:none!important}
body:not(.new-page) #content p{margin:0 0 20px;line-height:1.8;max-width:78ch}
body:not(.new-page) #content h1{line-height:1.2;margin:0 0 26px;text-wrap:balance}
body:not(.new-page) #content h2{line-height:1.3;margin:48px 0 20px;padding-top:0;padding-bottom:0;text-wrap:balance}
body:not(.new-page) #content h3{line-height:1.4;margin:28px 0 14px}
body:not(.new-page) #content .card h3{margin-top:0}
body:not(.new-page) #content .card p:last-child{margin-bottom:0}
body:not(.new-page) #content .service-hero{padding:0 0 36px;margin:0 0 36px;border-bottom:1px solid #ffffff20;grid-template-columns:minmax(0,1fr)}
body:not(.new-page) #content .service-hero+h2{margin-top:0}
body:not(.new-page) #content .service-hero-copy{max-width:none}
body:not(.new-page) #content .service-hero-copy>p{max-width:78ch}
body:not(.new-page) #content .service-metric{padding:20px}
body:not(.new-page) #content .service-metric span{color:#b4c5d8;line-height:1.6}
body:not(.new-page) #content>section:not(.service-hero){padding:32px 0}
body:not(.new-page) #content section>h2:first-child{margin-top:0}
body:not(.new-page) #content dd{margin-bottom:24px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .new-page .service-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
 .new-page .service-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px #16345b12;border-color:#5c8ece}
 .new-page .service-card .card-number>span,.new-page .button>span{transition:transform .25s ease}
 .new-page .service-card:hover .card-number>span,.new-page .button:hover>span{transform:translate(3px,-3px)}
 .new-page .button{transition:background .2s ease,box-shadow .2s ease}
 .new-page .button:hover{box-shadow:0 5px 20px #2774ce25}
}
@keyframes flow-travel{0%{transform:translateY(-5px);opacity:0}20%,70%{opacity:1}100%{transform:translateY(33px);opacity:0}}
@keyframes flow-confirm{0%,65%,100%{border-color:#6e9a8955;background:#72a18b0c}80%{border-color:#a4cfb9;background:#72a18b22}}
@keyframes section-enter{from{opacity:.4;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
 .new-page .workflow.is-flowing .connector:before{content:'';position:absolute;top:0;left:-2px;width:5px;height:9px;border-radius:5px;background:#b6d9ff;box-shadow:0 0 12px #78b8ff;animation:flow-travel 2.1s ease-in-out 2}
 .new-page .workflow.is-flowing .flow-core+.connector:before{animation-delay:.4s}
 .new-page .workflow.is-flowing .output-row{animation:flow-confirm 2.1s ease 2}
 .new-page .section.is-entering>.wrap{animation:section-enter .6s ease both}
}
@media(max-width:1100px){.new-page .hero-grid{gap:32px}.new-page .hero h1{font-size:44px}.new-page .cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.new-page .split{gap:40px}}
@media(max-width:900px){.new-page .hero-grid{grid-template-columns:1fr}.new-page .hero h1{max-width:22ch}.new-page .workflow{width:100%;max-width:620px}.new-page .cards.services{gap:20px}.new-page .service-card{padding:25px}.new-page .trust-line{flex-wrap:wrap}.new-page .trust-line span+span:before{display:none}body.service-page header+.container,body.profile-page header+.container{width:calc(100% - 40px);padding:32px}}
@media(max-width:650px){.new-page .section{padding:56px 0}.new-page h2{font-size:30px;line-height:1.2;margin-bottom:26px}.new-page .hero h1{font-size:38px;line-height:1.15;letter-spacing:-.04em}.new-page .cards.four{grid-template-columns:1fr;gap:30px}.new-page .cards.four h3{font-size:21px}.new-page .split{gap:32px}.new-page .price{padding:26px}.new-page .price h3{font-size:25px}.new-page .process h3{margin-top:0}.new-page .workflow{padding:20px}.new-page .diagram-heading{font-size:9px}.new-page .diagram-footer{font-size:9px}.new-page .input-row>span{font-size:11px}.new-page .flow-core small,.new-page .output-row small{font-size:11px}.new-page .trust-line{margin-top:36px!important}.site-footer .footer-grid{gap:30px}body.service-page header+.container,body.profile-page header+.container{padding:26px 20px;margin-top:20px}body:not(.new-page) #content h2{margin-top:36px}body:not(.new-page) #content .service-hero{padding-bottom:28px;margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.new-page .section.is-entering>.wrap{opacity:1;transform:none}.new-page .workflow .connector:before{display:none}}
/* Keep the shared header aligned across both CSS generations. */
.site-header #site-nav{flex:0 1 auto;margin-left:auto}
@media(max-width:900px){.site-header #site-nav{flex:1 0 100%;margin-left:0}.site-header .nav-shell{padding-top:12px;padding-bottom:12px;row-gap:12px}}
@media(max-width:420px){.site-header .brand{gap:9px;font-size:13px}.site-header .brand-icon{font-size:23px;letter-spacing:-2px;padding:3px 8px 6px}.site-header .nav-toggle{font-size:12px;padding:10px;gap:8px}.new-page .hero .actions{display:grid;grid-template-columns:1fr}.new-page .hero .actions .button{width:100%}.new-page .hero .personal-note{align-items:baseline;display:block}.new-page .hero .status-dot{margin-right:6px}}
/* Direct access to existing Shopware specialist content. */
.site-header .service-menu .shopware-menu-link{font-weight:700;color:#2466bd;border-bottom:1px solid #dce3eb;border-radius:0;margin-bottom:8px}
.new-page .hero .trust-line a{color:#c2dcff;text-decoration:underline;text-underline-offset:5px}
.new-page .shopware-overview .specialist-links{gap:0 32px}
.new-page .shopware-overview .specialist-links a{display:block;border-bottom:1px solid #dce3eb;padding:16px 0;line-height:1.6;font-size:15px}
.new-page .shopware-blog-link{margin-top:28px}
@media(min-width:901px) and (max-width:1200px){.site-header nav{gap:12px}.site-header .brand{font-size:13px;gap:8px}.site-header .brand-icon{font-size:23px}.site-header nav a,.site-header summary{font-size:12px}.site-header .compact{font-size:11px;padding:10px}.site-header .nav-shell{gap:12px}}
/* Full Shopware navigation: grouped, keyboard operable, scrollable on small screens. */
.site-header .nav-shell{position:relative}
.site-header .shopware-menu{position:static}
.site-header .shopware-panel{position:absolute;top:calc(100% - 4px);right:0;width:min(1020px,calc(100vw - 40px));max-height:calc(100dvh - 112px);overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #dce3eb;border-radius:14px;padding:24px;box-shadow:0 20px 60px #0003;color:#172231}
.site-header .shopware-menu-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #dce3eb}
.site-header .shopware-panel a{color:#172231;white-space:normal;font-size:14px;display:block;line-height:1.45;padding:11px 12px;border-radius:6px;min-height:42px}
.site-header .shopware-panel a:hover,.site-header .shopware-panel a:focus-visible{background:#edf3fb;color:#1d579f}
.site-header .shopware-menu-top a{color:#2466bd;font-weight:650}
.site-header .shopware-menu-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.site-header .shopware-menu-group p{color:#536174;font:700 11px/1.5 system-ui;letter-spacing:.08em;text-transform:uppercase;margin:0 12px 10px}
.new-page .shopware-process{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px}
.new-page .card p+p{margin-top:20px}
@media(max-width:900px){.site-header .shopware-panel{position:static;width:100%;max-height:none;overflow:visible;padding:18px;margin:8px 0 16px;box-shadow:none}.site-header .shopware-menu-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header .shopware-menu-top{flex-direction:column;gap:4px}.new-page .shopware-process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.site-header .shopware-menu-columns{grid-template-columns:1fr;gap:24px}.site-header .shopware-panel a{min-height:44px}.new-page .shopware-process{grid-template-columns:1fr}}
/* Service FAQs have their own section instead of crowding the experience column. */
.new-page .faq-list{max-width:900px;display:grid;gap:14px}
.new-page .faq-list .faq{padding:20px 24px;background:#f7f9fc}
.new-page .faq-list summary{line-height:1.5;min-height:28px;padding:4px 0;font-size:17px}
.new-page .faq-list p{margin:18px 0 0;max-width:76ch;color:#536174;font-size:16px}
.new-page .faq-list .faq[open]{border-color:#8badd7;background:#fff}
@media(max-width:650px){.new-page .faq-list .faq{padding:16px 18px}.new-page .faq-list summary{font-size:16px}}
/* Long-form service pages: readable chapters and a compact contents navigation. */
.new-page .service-contents{display:flex;gap:12px 26px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;border-bottom:1px solid #dce3eb}
.new-page .service-contents a{font-size:14px;line-height:1.5;padding:8px 0}
.new-page .service-author{font-size:14px;color:#536174;margin-top:28px}
.new-page .service-chapters{max-width:960px;display:grid;gap:32px}
.new-page .service-chapters article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:24px;padding-top:28px;border-top:1px solid #dce3eb}
.new-page .chapter-number{font:600 14px/1.6 system-ui;color:#2466bd;padding-top:3px}
.new-page .service-chapters h3{font-size:24px;margin-bottom:16px}
.new-page .service-chapters p{max-width:76ch;margin-bottom:0}
.new-page .service-results{padding-left:22px;margin:20px 0 0}
.new-page .service-results li{padding-left:6px;margin-bottom:16px;line-height:1.7}
@media(max-width:650px){.new-page .service-contents{gap:4px 20px}.new-page .service-chapters article{grid-template-columns:28px minmax(0,1fr);gap:14px}.new-page .service-chapters h3{font-size:21px}.new-page .service-author{font-size:13px}}

/* October 2026 audit: shared chrome, reading rhythm and accessible controls.
   Keep these component rules together: they bridge the original and new templates. */
:root { --focus-ring: #b96b08; }
body { -webkit-font-smoothing: antialiased; }
.site-header, footer.site-footer { text-align: left; }
.site-header { backdrop-filter: none; -webkit-backdrop-filter: none; }
.site-header .nav-shell { box-sizing: border-box; }
.site-header .brand { letter-spacing: -.015em; }
.site-header .brand small { letter-spacing: .16em; }
.site-header nav > a:not(.button), .site-header summary { min-height: 44px; }
.site-header nav > a:not(.button) { display: inline-flex; align-items: center; }
.site-header summary { border-radius: 5px; }
.site-header summary:after { transition: transform .18s ease; }
.site-header details[open] > summary:after { transform: rotate(180deg); }
.site-header nav a[aria-current="page"]:not(.button), .site-header summary.is-current { color: #fff; text-decoration: underline; text-decoration-color: #8ab8f5; text-underline-offset: 7px; }
.site-header nav .shopware-panel a[aria-current="page"]:not(.button), .site-header nav .service-menu a[aria-current="page"]:not(.button) { color: #164a8d; background: #eaf2fc; font-weight: 650; }
.site-header .service-menu { max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; }
.site-header .shopware-panel, .site-header .service-menu { scroll-padding: 14px; }
.site-header .shopware-panel a, .site-header .service-menu a { min-height: 44px; }
.site-header .shopware-menu-group p { text-align: left; }
.site-header .language { min-width: 28px; justify-content: center; }
:focus-visible { outline: 3px solid var(--focus-ring) !important; outline-offset: 4px !important; }
.site-header :focus-visible, .site-footer :focus-visible, .dark :focus-visible, .hero :focus-visible, body:not(.new-page) #content :focus-visible { outline-color: #ffc36e !important; }
#content:focus { outline: none; }
.skip-link { border-radius: 5px; font: 600 16px/1.5 system-ui; box-shadow: 0 4px 16px #0002; }

/* Text and surfaces: one alignment, comfortable measures, visible link affordances. */
.new-page .card p { font-size: 16px; line-height: 1.75; }
.new-page .card-number { color: #536b89; }
.new-page .cards h3 { overflow-wrap: break-word; }
.new-page .eyebrow, .new-page .tag { text-transform: uppercase; }
.new-page .section .wrap > h2 { max-width: 27ch; }
.new-page .service-chapters { max-width: 1040px; gap: 30px; }
.new-page .service-chapters article { padding-top: 30px; }
.new-page .service-chapters p { max-width: 74ch; }
.new-page .service-contents { gap: 8px 12px; padding-top: 20px; padding-bottom: 20px; }
.new-page .service-contents a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 15px; background: #f3f6fa; border: 1px solid #dce3eb; border-radius: 7px; text-decoration: none; font-weight: 550; }
.new-page .service-contents a:hover, .new-page .service-contents a:focus-visible { background: #eaf2fc; border-color: #aac3e4; }
.new-page .hero.subhero h1 { max-width: 25ch; }
.new-page .hero.subhero .intro { max-width: 65ch; }
.new-page .hero.subhero .button + p { margin-top: 20px; }
.new-page .dark .button + p { margin-top: 20px; }
.new-page .faq-list { max-width: 1000px; gap: 12px; }
.new-page .faq-list summary { display: flex; gap: 20px; align-items: center; justify-content: space-between; min-height: 44px; list-style: none; }
.new-page .faq-list summary::-webkit-details-marker { display: none; }
.new-page .faq-list summary:after { content: '+'; color: #2466bd; flex: 0 0 22px; font-size: 25px; font-weight: 400; text-align: center; }
.new-page .faq-list details[open] summary:after { content: '−'; }
.new-page .faq-list .faq { padding: 12px 24px; }
.new-page .faq-list .faq[open] { padding-bottom: 24px; }
.new-page .faq-list p { margin-top: 14px; }
.new-page .button, .site-header .button { font-weight: 650; }
.new-page .button.secondary:hover { background: #eaf2fc; color: #172231; border-color: #86a8d4; }
.new-page .hero .button.secondary:hover { background: #ffffff12; color: #fff; border-color: #aac9ef; }

/* Existing Shopware copy keeps its content; improve its controls and visual consistency. */
body:not(.new-page) #content { overflow-wrap: break-word; }
body:not(.new-page) #content h1 { font-weight: 700; letter-spacing: -.025em; }
body:not(.new-page) #content h2 { font-weight: 650; letter-spacing: -.02em; }
body:not(.new-page) #content h2:after { height: 2px; background: #719bd0; width: 40px; margin-top: 14px; }
body:not(.new-page) #content p a:not(.cta-btn), body:not(.new-page) #content li a, body:not(.new-page) #content dd a { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
body:not(.new-page) #content code { overflow-wrap: anywhere; }
body:not(.new-page) #content .service-kicker { color: #b6d4ff; background: #24517a55; border-color: #6089ba66; }
body:not(.new-page) #content .service-kicker:before { background: #9fc5fa; }
body:not(.new-page) #content .service-metric { border-radius: 10px; box-shadow: none; }
body:not(.new-page) #content a.cta-btn { display: inline-flex !important; align-items: center; justify-content: center; background: #2466bd !important; color: #fff !important; border: 1px solid #5c8dcb; border-radius: 8px !important; box-shadow: none !important; padding: 15px 24px !important; font-size: 16px !important; letter-spacing: 0; line-height: 1.5; min-height: 50px; max-width: 100%; }
body:not(.new-page) #content a.cta-btn:hover { background: #194e94 !important; box-shadow: 0 4px 18px #0002 !important; transform: none !important; }
body:not(.new-page) #content > p:has(> .cta-btn:only-child) { text-align: left; margin: 32px 0; }
body:not(.new-page) #content .faq-section { padding: 28px; border-color: #526c8b55; border-radius: 12px; }
body:not(.new-page) #content .faq-section:before { background: #6c97cd; }
body:not(.new-page) #content .faq-section dt { padding: 0; margin: 0; border-top: 1px solid #ffffff20; cursor: default; }
body:not(.new-page) #content .faq-section dt:first-child { border-top: 0; }
body:not(.new-page) #content .faq-section dt:before, body:not(.new-page) #content .faq-section dt:after { content: none; }
body:not(.new-page) #content .faq-toggle { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 52px; padding: 16px 0; border: 0; border-radius: 3px; background: transparent; color: #fff; font: 600 16px/1.55 system-ui; text-align: left; cursor: pointer; }
body:not(.new-page) #content .faq-toggle:after { content: '+'; font-size: 24px; font-weight: 400; color: #b2d1fb; flex: 0 0 20px; text-align: center; }
body:not(.new-page) #content .faq-toggle[aria-expanded="true"]:after { content: '−'; }
body:not(.new-page) #content .faq-section dd { max-width: 78ch; margin: 0 0 24px; padding-left: 0; border-left: 0; transition: none; }
body:not(.new-page) #content .faq-section dd[hidden] { display: none; }

/* Forms: legible labels, explained errors, and no horizontal jumps on validation. */
.new-page .contact-form { background: #f7f9fc; border-color: #cbd7e5; }
.new-page .contact-form .form-group { margin: 0 0 24px; }
.new-page .contact-form label { font-size: 15px; color: #172231; line-height: 1.55; }
.new-page .contact-form input:not([type="checkbox"]):not([type="radio"]), .new-page .contact-form select, .new-page .contact-form textarea { min-height: 50px; border-color: #8295ad; }
.new-page .contact-form textarea { min-height: 180px; }
.new-page .contact-form input::placeholder, .new-page .contact-form textarea::placeholder { color: #617085; opacity: 1; }
.new-page .contact-form :is(input,select,textarea)[aria-invalid="true"] { border: 2px solid #a52525; background: #fffafa; }
.new-page .contact-form :is(input,select,textarea):focus-visible { outline-color: #2466bd !important; outline-offset: 3px !important; }
.new-page .contact-form input[type="checkbox"], .new-page .contact-form input[type="radio"] { width: 20px; height: 20px; min-width: 20px; margin-top: 3px; accent-color: #2466bd; cursor: pointer; }
.new-page .contact-form .form-help { display: block; font-size: 14px; line-height: 1.6; color: #536174; margin: 8px 0 0; }
.new-page .contact-form .field-error { display: block; font-size: 14px; font-weight: 550; color: #9c2525; margin: 8px 0 0; line-height: 1.55; }
.new-page .contact-form .field-error[hidden] { display: none; }
.new-page .contact-steps { padding-left: 24px; margin: 24px 0; max-width: 54ch; }
.new-page .contact-steps li { padding-left: 7px; margin-bottom: 18px; }
.new-page .contact-steps li::marker { color: #2466bd; font-weight: 650; }
.new-page .contact-form #form-message:not(:empty) { padding: 18px; margin-top: 24px; font-size: 16px; line-height: 1.65; }
.new-page .contact-form #form-message.success { background: #eff8f1; color: #205733; border-color: #9ebca7; }
.new-page .contact-form #form-message.error { background: #fff3f2; color: #8b2121; border-color: #d7a1a1; }
.new-page .contact-form .button { min-height: 52px; }

/* The footer must not inherit the old template's centred, boxed presentation. */
footer.site-footer { padding: 56px 0 0; margin: 0; border-top: 1px solid #26364b; }
.site-footer .footer-grid { gap: 40px; }
.site-footer p { font-size: 14px; line-height: 1.75; margin: 16px 0 0; }
.site-footer strong { font-size: 14px; }
.site-footer .footer-grid > div > a:not(.footer-brand) { min-height: 30px; line-height: 1.7; padding-top: 4px; padding-bottom: 4px; margin: 4px 0; }
.site-footer .footer-bottom { font-size: 12px; }
.site-footer .footer-bottom a { display: inline-flex; align-items: center; min-height: 32px; }

@media (max-width: 1100px) {
  .site-header .nav-shell { width: calc(100% - 40px); }
  .site-header nav { gap: 11px; }
}
@media (max-width: 900px) {
  .site-header nav { padding: 2px 4px 16px; max-height: calc(100dvh - 100px); scroll-padding: 12px; }
  .site-header nav > a:not(.button), .site-header summary { min-height: 48px; padding: 12px 5px; }
  .site-header .language { justify-content: start; }
  .site-header .button.compact { margin-top: 10px; font-size: 14px; }
  .site-header .service-menu { max-height: none; overflow: visible; margin-top: 8px; }
  .new-page .service-contents { gap: 8px; }
  .site-footer .footer-grid { gap: 30px; }
}
@media (max-width: 650px) {
  .new-page .hero.subhero { padding-top: 38px; padding-bottom: 44px; }
  .new-page .hero.subhero h1 { font-size: clamp(32px,9.4vw,38px); line-height: 1.18; margin-top: 18px; margin-bottom: 24px; }
  .new-page .hero.subhero .intro { font-size: 18px; line-height: 1.7; }
  .new-page .hero.subhero .back-link { margin-bottom: 22px; }
  .new-page .card p { font-size: 16px; }
  .new-page .service-contents a { padding: 8px 12px; font-size: 13px; }
  .new-page .service-chapters article { padding-top: 24px; }
  .new-page .faq-list .faq { padding: 9px 18px; }
  .new-page .faq-list .faq[open] { padding-bottom: 20px; }
  .new-page .contact-form { padding: 24px 20px; }
  .new-page .contact-form .button { width: 100%; }
  .site-footer .footer-bottom { margin-top: 30px !important; }
  body:not(.new-page) #content .faq-section { padding: 20px 16px; }
  body:not(.new-page) #content .faq-toggle { font-size: 16px; gap: 14px; }
  body:not(.new-page) #content a.cta-btn { width: 100%; padding: 14px 18px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.new-page) #content a.cta-btn { transition: none !important; transform: none !important; }
}
@media (forced-colors: active) {
  .new-page .hero h1 span { color: CanvasText; -webkit-text-fill-color: CanvasText; }
  .new-page .button, .site-header .button, .new-page .service-card { border: 1px solid ButtonText; }
}

.site-header .shopware-panel :focus-visible, .site-header .service-menu :focus-visible { outline-color: var(--focus-ring) !important; }

/* Visible page hierarchy without affecting the primary navigation. */
.breadcrumbs { display: block; font: 13px/1.6 system-ui; margin: 0 0 24px; padding: 0; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; list-style: none; padding: 0; margin: 0; }
.breadcrumbs li { display: inline-flex; align-items: baseline; gap: 10px; padding: 0; margin: 0; color: #536174; }
.breadcrumbs li + li:before { content: '/'; color: #75859a; }
.breadcrumbs a { display: inline-block; padding: 4px 0; color: #2466bd; text-decoration: underline; text-underline-offset: 4px; }
.hero .breadcrumbs, body:not(.new-page) #content .breadcrumbs { color: #bdcde0; }
.hero .breadcrumbs li, body:not(.new-page) #content .breadcrumbs li { color: #bdcde0; }
.hero .breadcrumbs a, body:not(.new-page) #content .breadcrumbs a { color: #bed8fb; }
.hero-grid > .breadcrumbs { grid-column: 1 / -1; }
@media (max-width: 650px) { .breadcrumbs { margin-bottom: 20px; font-size: 12px; } }

/* New content combinations: supporting text must keep dark-section contrast. */
.new-page .dark .process p { color: #c6d3e3; }
.new-page .dark .process li > span { color: #a9ccff; }
.new-page .button + p { margin-top: 18px; }
.new-page .contact-form h2 { font-size: clamp(24px, 2.3vw, 30px); line-height: 1.3; margin-bottom: 14px; }
.new-page .contact-form > .form-help { margin-bottom: 24px; }

/* Archived guide endpoints retain readable consent and trust text. */
body:not(.new-page) .lp-trust-item,
body:not(.new-page) label[for="guide_consent"] { color: #b8c8da; font-size: 14px; }
body:not(.new-page) label[for="guide_consent"] a { text-decoration: underline; text-underline-offset: 3px; }
/* Match the original direct-child section selector so FAQ padding is preserved. */
body:not(.new-page) #content > section.faq-section { padding: 28px; }
@media (max-width: 650px) {
  body:not(.new-page) #content > section.faq-section { padding: 20px 16px; }
}

/* Start the contact flow with the form in the DOM and on narrow screens. */
@media (min-width: 651px) {
  .new-page .contact-grid > .contact-intro { grid-column: 1; grid-row: 1; }
  .new-page .contact-grid > .contact-form { grid-column: 2; grid-row: 1; }
}
/* The new project guides place author metadata on the dark hero. */
.new-page .hero .service-author { color: #c1cee0; }
.new-page .hero .service-author a { color: #bed8fb; }

/* Reserve the collapsed mobile menu before deferred interactions initialize. */
@media(max-width:900px){html.js .site-header #site-nav:not([data-ready]){display:none}}

/* Header hierarchy: readable navigation, clear chevrons and compact languages. */
.site-header .nav-shell { gap: 22px; }
.site-header #site-nav > a:not(.button),
.site-header #site-nav > details > summary { font-size: 16px; font-weight: 550; color: #e4ebf5; }
.site-header #site-nav > .button { font-size: 14px; padding: 12px 18px; }
.site-header #site-nav > details > summary { gap: 12px; }
.site-header #site-nav > details > summary::after {
  content: ''; display: block; flex: 0 0 10px; width: 10px; height: 10px;
  border: solid currentColor; border-width: 0 2px 2px 0;
  margin: -5px 3px 0 0; transform: rotate(45deg);
  transition: transform .18s ease, margin .18s ease;
}
.site-header #site-nav > details[open] > summary::after { transform: rotate(225deg); margin-top: 5px; }
.site-header .shopware-panel a, .site-header .service-menu a { font-size: 15px; }
.site-header .language-switch { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 2px; padding: 2px; border: 1px solid #8faed3; border-radius: 7px; background: #f1f6fd; font: 650 12px/1.2 system-ui; }
.site-header .language-switch a, .site-header .language-switch .language-current { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 30px; padding: 6px 8px; border-radius: 4px; white-space: nowrap; text-decoration: none; letter-spacing: .02em; }
.site-header .language-switch a { color: #123d74; background: transparent; }
.site-header .language-switch a:hover { color: #123d74; background: #d7e7fc; text-decoration: underline; text-underline-offset: 4px; }
.site-header .language-switch .language-current { color: #fff; background: #245faa; }
.site-header .language-switch a:focus-visible { outline-color: #123d74 !important; outline-offset: -3px !important; }
@media (min-width: 1401px) { .site-header #site-nav { gap: 22px; } }
@media (min-width: 901px) and (max-width: 1400px) {
  .site-header .nav-shell { display: grid; grid-template-columns: 1fr auto; gap: 4px 18px; padding: 12px 0; }
  .site-header .brand { grid-column: 1; grid-row: 1; font-size: 16px; }
  .site-header .language-switch { grid-column: 2; grid-row: 1; }
  .site-header #site-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-content: space-between; margin: 0; }
  .site-header .shopware-panel, .site-header .service-menu { max-height: calc(100dvh - 156px); }
  html { scroll-padding-top: 160px; }
}
@media (max-width: 900px) {
  html { scroll-padding-top: 170px; }
  .site-header .nav-shell { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; }
  .site-header .brand { grid-column: 1; grid-row: 1; }
  .site-header .nav-toggle { grid-column: 2; grid-row: 1; justify-self: end; }
  .site-header .language-switch { grid-column: 1 / -1; grid-row: 2; justify-self: end; }
  .site-header .language-switch a, .site-header .language-switch .language-current { min-width: 40px; min-height: 40px; }
  .site-header #site-nav { grid-column: 1 / -1; grid-row: 3; margin: 0; max-height: calc(100dvh - 170px); }
  .site-header #site-nav > a:not(.button), .site-header #site-nav > details > summary { font-size: 17px; }
}

/* Reference stories: distinguish role, practical task and relevant next step. */
.new-page .reference-card p + p { margin-top: 18px; }
.new-page .reference-card .reference-label, .new-page .reference-label { font-size: 12px; line-height: 1.5; font-weight: 650; color: #4c637e; margin: 0 0 14px; }
.new-page .reference-card .reference-client { font-size: 15px; font-weight: 650; color: #172231; margin: 0 0 18px; overflow-wrap: anywhere; }
.new-page .reference-card h3 { min-height: 0; }
.new-page .reference-card a { font-weight: 600; }
.new-page .reference-subheading { margin: 54px 0 26px; font-size: 26px; }
.new-page .reference-projects { gap: 48px; }
.new-page .reference-projects h4 { margin: 0 0 16px; font-size: 19px; }
.new-page .reference-list { margin: 0; }
.new-page .reference-list > div { padding: 18px 0; border-top: 1px solid #dce3eb; }
.new-page .reference-list dt { font-weight: 650; font-size: 16px; }
.new-page .reference-list dd { margin: 6px 0 0; font-size: 15px; line-height: 1.7; color: #536174; }
.new-page .reference-source { margin: 28px 0 0; font-size: 14px; line-height: 1.7; }
.new-page .reference-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 32px 0; }
.new-page .reference-comparison > div { padding: 30px; border: 1px solid #c5d4e6; border-radius: 14px; background: #f3f6fb; }
.new-page .reference-comparison > div:last-child { background: #eaf2fc; border-color: #9bb9e1; }
.new-page .reference-comparison p:last-child { margin-bottom: 0; }
@media(max-width:650px) { .new-page .reference-comparison { grid-template-columns: 1fr; } .new-page .reference-comparison > div { padding: 24px; } .new-page .reference-projects { gap: 32px; } }

/* Independent service landing pages: one offer, evidence and an inline enquiry. */
.service-landing .landing-hero-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 64px; align-items: center; }
.service-landing .landing-hero-copy { min-width: 0; }
.service-landing .hero.subhero h1 { font-size: clamp(36px,3.65vw,54px); max-width: 22ch; line-height: 1.13; text-wrap: pretty; }
.service-landing .hero .breadcrumbs { margin-bottom: 26px; }
.service-landing .hero .intro { font-size: 19px; line-height: 1.7; }
.service-landing .hero .landing-trust { margin: 22px 0 0; font-size: 13px; line-height: 1.7; color: #bed0e4; }
.service-landing .landing-outcomes { padding: 34px; border: 1px solid #58728e; border-radius: 18px; background: linear-gradient(145deg,#203a52,#142333); box-shadow: 0 24px 64px #0002; }
.service-landing .landing-outcomes h2 { font-size: 26px; line-height: 1.3; color: #fff; margin: 0 0 26px; }
.service-landing .landing-outcomes ol { margin: 0; padding: 0; list-style: none; }
.service-landing .landing-outcomes li { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 16px; padding: 22px 0; border-top: 1px solid #ffffff26; }
.service-landing .landing-outcomes li:last-child { padding-bottom: 0; }
.service-landing .landing-outcome-number { color: #a9cdff; font-size: 13px; padding-top: 4px; }
.service-landing .landing-outcomes h3 { font-size: 18px; color: #fff; margin-bottom: 8px; }
.service-landing .landing-outcomes p:not(.eyebrow) { font-size: 15px; line-height: 1.65; color: #cad7e7; margin: 0; }
.service-landing .landing-proof-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 32px; }
.service-landing .landing-proof-card { padding: 30px; border: 1px solid #526b87; background: #ffffff05; border-radius: 14px; }
.service-landing .landing-proof-card h3 { margin-bottom: 18px; font-size: 24px; }
.service-landing .landing-proof-card p:last-child { margin-bottom: 0; color: #cbd8e8; font-size: 16px; }
.service-landing .landing-proof-label { color: #aecfff; font-size: 13px; line-height: 1.6; font-weight: 600; }
.service-landing .landing-contact-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 56px; align-items: start; }
.service-landing .landing-contact-intro h3 { margin-top: 36px; }
.service-landing .landing-contact-intro > p:not(.intro):not(.eyebrow) { color: #536174; font-size: 15px; }
.service-landing .contact-form { background: #fff; box-shadow: 0 12px 40px #17223108; min-width: 0; }
.service-landing .landing-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.service-landing .landing-form-row > div { min-width: 0; }
.service-landing .contact-form #submitBtn { width: 100%; }
.service-landing .contact-form .muted { font-size: 13px; line-height: 1.65; }
.service-landing .landing-footer { padding-top: 30px; }
.service-landing .landing-footer-identity { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.service-landing .landing-footer .footer-bottom { margin-top: 24px !important; }
@media (max-width: 1050px) {
  .service-landing .landing-hero-grid { gap: 32px; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
  .service-landing .landing-outcomes { padding: 26px; }
  .service-landing .landing-contact-grid { gap: 32px; }
  .service-landing .landing-form-row { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 800px) {
  .service-landing .landing-hero-grid, .service-landing .landing-contact-grid { grid-template-columns: 1fr; gap: 36px; }
  .service-landing .hero.subhero h1 { max-width: 25ch; }
  .service-landing .landing-contact-intro .contact-steps { max-width: none; }
}
@media (max-width: 650px) {
  .service-landing .landing-proof-grid { grid-template-columns: 1fr; }
  .service-landing .landing-proof-card { padding: 24px; }
  .service-landing .landing-proof-card h3 { font-size: 22px; }
  .service-landing .landing-outcomes { padding: 24px; }
  .service-landing .landing-outcomes h2 { font-size: 24px; }
  .service-landing .hero.subhero h1 { font-size: clamp(32px,8.5vw,40px); }
  .service-landing .hero .landing-cta { width: 100%; }
  .service-landing .landing-footer-identity { flex-direction: column; gap: 8px; }
}
.service-landing .hero.subhero h1 { text-wrap: balance; }
.service-landing .hero.subhero h1 span { display: inline-block; text-wrap: balance; }

/* Original service illustrations and an authentic portrait: light assets, reserved space. */
.visual-studio { margin: 0; min-width: 0; position: relative; }
.visual-studio > img { display: block; width: 100%; height: auto; border-radius: 22px; box-shadow: 0 24px 65px #07132324; }
.visual-studio figcaption { margin: 13px 4px 0; color: #536174; font: 12px/1.6 system-ui; letter-spacing: .015em; }
.hero .visual-studio figcaption, .dark .visual-studio figcaption { color: #b9ccdf; }
.visual-hero-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 64px; align-items: center; }
.visual-hero-copy { min-width: 0; }
.new-page .visual-hero-copy h1 { font-size: clamp(36px,3.6vw,54px); }
.new-page .visual-hero-copy .intro { font-size: 19px; line-height: 1.7; }
.portrait-card { position: relative; margin: 0; padding: 16px; border-radius: 24px; background: #e5d6c7; transform: rotate(-2deg); box-shadow: 0 22px 60px #14283f17; max-width: 480px; }
.portrait-card > img { display: block; width: 100%; height: auto; border-radius: 14px; }
.portrait-card figcaption { padding: 20px 10px 10px; color: #24364b; font: 14px/1.6 system-ui; }
.portrait-card figcaption strong { display: block; font-size: 24px; letter-spacing: -.035em; margin-bottom: 6px; }
.portrait-card figcaption span { display: block; max-width: 34ch; }
.new-page .service-card { overflow: hidden; }
.new-page .service-card-art { display: block; width: calc(100% + 60px); max-width: none; height: auto; aspect-ratio: 600 / 360; object-fit: cover; object-position: center; margin: -30px -30px 27px; border-bottom: 1px solid #dce3eb; transition: transform .25s ease; }
.new-page .service-card:hover .service-card-art { transform: scale(1.025); }
.service-landing .section .visual-outcomes { margin: 38px 0 28px; padding: 28px 30px; background: #f2f6fb; border-color: #d5e1ed; box-shadow: none; }
.service-landing .section .visual-outcomes .eyebrow { color: #52647b; }
.service-landing .section .visual-outcomes h2 { color: #172231; font-size: 25px; margin-bottom: 24px; }
.service-landing .section .visual-outcomes ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.service-landing .section .visual-outcomes li { padding: 18px 0 0; border-color: #c5d4e4; gap: 10px; }
.service-landing .section .visual-outcomes h3 { color: #172231; font-size: 18px; }
.service-landing .section .visual-outcomes p:not(.eyebrow) { color: #536174; }
.service-landing .section .visual-outcomes .landing-outcome-number { color: #35669e; }
.legacy-service-art { float: right; width: 43%; margin: 0 0 28px 36px; }
main.container > h2 { clear: both; }
.site-footer a.company-link { display: inline; margin: 0; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.site-footer a.company-link:hover { color: #c5defe; }
@media (max-width: 1100px) { .visual-hero-grid { gap: 32px; } }
@media (max-width: 800px) {
 .visual-hero-grid { grid-template-columns: 1fr; gap: 38px; }
 .portrait-card { transform: none; max-width: 480px; width: 100%; }
 .service-landing .section .visual-outcomes ol { grid-template-columns: 1fr; gap: 18px; }
 .legacy-service-art { float: none; width: 100%; max-width: 580px; margin: 24px auto 32px; }
}
@media (prefers-reduced-motion: reduce) { .new-page .service-card-art { transition: none; } .new-page .service-card:hover .service-card-art { transform: none; } }
/* Real screenshots of the owner's own site, explicitly identified as an own project. */
.project-showcase { margin: 42px 0 0; padding: 36px; border: 1px solid #395572; border-radius: 22px; background: radial-gradient(ellipse at 70% 0%,#315a77,#14283c 70%); }
.project-showcase-images { display: flex; align-items: flex-end; gap: 26px; padding: 12px 0 22px; }
.project-showcase-images img { display: block; min-width: 0; height: auto; border: 1px solid #6b8198; border-radius: 12px; box-shadow: 0 16px 42px #06142255; }
.project-shot-desktop { width: calc(77% - 13px); }
.project-shot-mobile { width: calc(23% - 13px); }
.project-showcase figcaption { color: #d5e2ef; font: 14px/1.65 system-ui; }
.project-showcase figcaption strong { display: block; color: #fff; font-size: 18px; margin-bottom: 7px; }
.project-showcase figcaption span { display: block; max-width: 70ch; }
@media (max-width:650px) { .project-showcase { padding: 18px; } .project-showcase-images { gap: 10px; } .project-shot-desktop { width: calc(72% - 5px); } .project-shot-mobile { width: calc(28% - 5px); } }
/* Keep diagram labels intact in cards and readable on legacy dark backgrounds. */
.new-page .service-card-art { aspect-ratio: 600 / 460; object-fit: contain; }
body:not(.new-page) .legacy-service-art figcaption { color: #b9ccdf; }
