:root{
  --white:#fff;
  --ink:#0c1b2d;
  --navy:#0a2540;
  --blue:#0e63b6;
  --blue-2:#2f80d1;
  --ice:#f4f9ff;
  --ice-2:#edf5fc;
  --line:rgba(12,27,45,.10);
  --text:#536274;
  --muted:#7b8a9a;
  --green:#1c8b63;
  --yellow:#f3b51b;
  --red:#d94b46;
  --radius-sm:14px;
  --radius:22px;
  --radius-lg:34px;
  --shadow:0 24px 70px rgba(10,37,64,.08);
  --shell:min(100% - clamp(32px,6vw,132px), 1480px);
  --shell-wide:min(100% - clamp(32px,5vw,104px), 1620px);
  --section-y:clamp(78px,8vw,154px);
  --section-y-tight:clamp(54px,5.8vw,112px);
  --gap:clamp(24px,3.2vw,54px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,textarea,select{font:inherit}
::selection{background:rgba(14,99,182,.15)}
.page{overflow:hidden;background:#fff}.shell{width:var(--shell);margin-inline:auto}.shell-wide{width:var(--shell-wide);margin-inline:auto}.narrow{max-width:820px}.center{text-align:center;margin-inline:auto}.section{padding-block:var(--section-y)}.section-tight{padding-block:var(--section-y-tight)}.eyebrow{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--blue);margin-bottom:14px}.h1,.h2,.h3{letter-spacing:-.048em;line-height:1.02;margin:0;color:var(--ink);font-weight:800}.h1{font-size:clamp(3.1rem,6.4vw,6.9rem);max-width:820px}.h2{font-size:clamp(2.15rem,3.9vw,4.85rem);max-width:990px}.h3{font-size:clamp(1.45rem,1.8vw,2.1rem);letter-spacing:-.035em;line-height:1.08}.lead{font-size:clamp(1.04rem,1.08vw,1.22rem);line-height:1.72;color:var(--text);margin:24px 0 0;max-width:710px}.accent{color:#126fbe}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:800;letter-spacing:-.01em;transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:white;box-shadow:0 18px 40px rgba(14,99,182,.18)}.btn-primary:hover{background:#0758a8}.btn-soft{background:#fff;color:var(--navy);border-color:rgba(12,27,45,.12)}.btn-soft:hover{border-color:rgba(14,99,182,.28);color:var(--blue)}.btn-link{height:auto;padding:0;border:0;color:var(--blue);font-weight:850}.btn-link:hover{transform:none}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(12,27,45,.07)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px;width:var(--shell-wide);margin-inline:auto}.brand{display:flex;align-items:center;min-width:max-content}.brand-logo{display:flex;flex-direction:column;gap:3px;line-height:1}.brand-word{font-family:"Montserrat Alternates",Manrope,ui-sans-serif,sans-serif;font-weight:800;letter-spacing:.08em;font-size:clamp(1.35rem,1.55vw,1.72rem);color:#1496d2;line-height:.9;text-transform:uppercase}.brand-sub{font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:#22364f;font-weight:800;line-height:1}.site-footer .brand-word{color:#fff}.site-footer .brand-sub{color:#b9d0e4}.footer-brand .brand-logo{margin-bottom:14px}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{padding:13px 14px;border-radius:999px;color:#34465a;font-size:.95rem;font-weight:760}.nav-link:hover,.nav-link.active{background:var(--ice);color:var(--blue)}.nav-cta{display:flex;align-items:center;gap:12px}.phone-pill{height:46px;border-radius:999px;background:var(--navy);color:#fff;padding:0 18px;display:flex;align-items:center;gap:9px;font-weight:850}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--navy)}.mega{position:absolute;left:50%;top:82px;transform:translateX(-50%) translateY(-8px);width:min(100% - 64px,980px);background:rgba(255,255,255,.98);border:1px solid rgba(12,27,45,.09);border-radius:28px;box-shadow:0 40px 90px rgba(10,37,64,.14);padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease}.mega.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mega-item{display:block;padding:18px;border-radius:20px}.mega-item:hover{background:var(--ice)}.mega-item strong{display:block;font-weight:900;color:var(--ink)}.mega-item span{display:block;color:var(--text);font-size:.9rem;line-height:1.45;margin-top:5px}.mobile-panel{display:none}
.hero{position:relative;min-height:clamp(720px,92vh,980px);display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 36%,rgba(255,255,255,.54) 58%,rgba(255,255,255,.08) 100%),url('../img/hero-service.webp');background-size:cover;background-position:center right;padding-top:112px}.hero::after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 80%);pointer-events:none}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,430px);align-items:center;gap:clamp(40px,6vw,108px);width:var(--shell-wide);margin-inline:auto}.hero-copy{max-width:850px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-proof{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:38px}.rating{display:flex;align-items:center;gap:12px}.stars{letter-spacing:1px;color:var(--yellow);font-size:.88rem}.proof-item{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:700}.proof-icon{width:38px;height:38px;border-radius:50%;background:rgba(14,99,182,.09);display:grid;place-items:center;color:var(--blue)}
.hero-panel{background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(248,252,255,.97));border:1px solid rgba(14,99,182,.06);box-shadow:0 24px 58px rgba(10,37,64,.08);border-radius:32px;padding:14px}.panel-title{padding:18px 18px 12px;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.service-list{display:grid;gap:3px}.service-link{display:grid;grid-template-columns:46px 1fr 26px;align-items:center;gap:14px;padding:15px 16px;border-radius:21px;transition:background .22s ease,transform .22s ease}.service-link:hover{background:#fff;transform:translateX(3px)}.service-icon{width:46px;height:46px;border-radius:15px;background:rgba(14,99,182,.08);color:var(--blue);display:grid;place-items:center}.service-link strong{display:block;font-weight:900;color:var(--ink);letter-spacing:-.025em}.service-link span{display:block;color:var(--text);font-size:.88rem;margin-top:2px}.service-arrow{color:var(--blue);opacity:.75}.emergency{margin-top:9px;border-radius:24px;background:linear-gradient(135deg,#0a2540,#123e68);color:#fff;padding:20px}.emergency .mini{display:flex;align-items:center;gap:8px;color:#bfd9ee;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.emergency strong{display:block;margin-top:12px;font-size:1.15rem}.emergency span{display:block;margin-top:4px;color:#d8eafa;font-size:.92rem}.emergency a{margin-top:18px;display:inline-flex;color:#fff;font-weight:900;border-bottom:1px solid rgba(255,255,255,.3)}
.trust-strip{background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:var(--line)}.trust-card{background:#fff;padding:34px 28px;text-align:center}.trust-card .num{font-size:clamp(2rem,3vw,3.6rem);font-weight:950;letter-spacing:-.08em;color:var(--navy);line-height:.9}.trust-card p{margin:12px auto 0;max-width:190px;color:var(--text);line-height:1.45;font-weight:650}.trust-card small{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.orient{background:#fff}.orient-head{text-align:center;margin-inline:auto;max-width:860px}.pathways{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pathway{padding:34px;border:1px solid var(--line);border-radius:28px;background:#fff;min-height:310px;display:flex;flex-direction:column;justify-content:space-between;transition:.24s ease}.pathway:hover{border-color:rgba(14,99,182,.22);transform:translateY(-3px);box-shadow:var(--shadow)}.pathway-kicker{color:var(--blue);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.pathway h3{font-size:clamp(1.55rem,2vw,2.15rem);line-height:1.05;letter-spacing:-.05em;margin:20px 0 16px}.pathway p{color:var(--text);line-height:1.65;margin:0}.pathway a{margin-top:30px;color:var(--blue);font-weight:900}
.editorial{background:linear-gradient(180deg,#f7fbff,#fff)}.split{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(42px,6vw,108px);align-items:center}.split.reverse{grid-template-columns:1.04fr 1fr}.photo-frame{border-radius:34px;overflow:hidden;min-height:clamp(420px,40vw,640px);box-shadow:0 30px 80px rgba(10,37,64,.10);background:#e8eef5}.photo-frame img{width:100%;height:100%;object-fit:cover}.copy-block .lead{max-width:660px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px;max-width:610px}.stat-mini{padding:24px 18px;border-top:1px solid rgba(14,99,182,.16);text-align:center}.stat-mini strong{font-size:clamp(2rem,2.5vw,3.2rem);letter-spacing:-.08em;line-height:1;color:var(--blue)}.stat-mini span{display:block;margin-top:8px;color:var(--text);font-weight:720;line-height:1.35}.consult{background:#f4f9ff}.feature-box{margin-top:38px;background:#fff;border:1px solid rgba(12,27,45,.08);border-radius:30px;padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.feature{padding:26px 20px;text-align:center}.feature svg{margin:0 auto 14px;color:var(--blue);width:28px;height:28px}.feature strong{display:block;font-weight:900;letter-spacing:-.02em}.feature span{display:block;margin-top:8px;color:var(--text);font-size:.92rem;line-height:1.45}.services{background:#fff}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:58px}.section-top.right{text-align:right}.service-lines{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px minmax(220px,340px) 1fr 120px;gap:clamp(20px,3vw,52px);align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}.service-row svg{color:var(--blue);width:30px;height:30px}.service-row h3{font-size:clamp(1.35rem,1.6vw,2rem);line-height:1.1;margin:0;letter-spacing:-.04em}.service-row p{color:var(--text);line-height:1.6;margin:0;max-width:620px}.service-row a{color:var(--blue);font-weight:900;white-space:nowrap}.process{background:radial-gradient(circle at 18% 8%,rgba(93,154,207,.18),transparent 38%),linear-gradient(180deg,#071f38,#0a2540);color:white}.process .h2{color:#fff}.process .eyebrow{color:#9dc7ea}.process .accent{color:#c9e8ff}.process .lead{color:#c6d7e7}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:64px}.process-step{position:relative;min-height:330px;padding:34px 28px;border:1px solid rgba(255,255,255,.10);border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.035));overflow:hidden}.process-step::before{content:attr(data-step);position:absolute;right:18px;top:0;font-size:clamp(5rem,8vw,8.5rem);font-weight:800;letter-spacing:-.08em;color:rgba(255,255,255,.055);line-height:1}.process-step h3{position:relative;margin-top:128px;font-size:1.45rem;color:#fff}.process-step p{position:relative;color:#c8d9e8;line-height:1.62;margin:14px 0 0}.clean-dna{background:#fff}.dna-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(38px,6vw,96px);align-items:start}.dna-list{display:grid;gap:0;border-top:1px solid var(--line)}.dna-item{display:grid;grid-template-columns:74px 1fr;gap:22px;padding:30px 0;border-bottom:1px solid var(--line)}.dna-no{height:52px;width:52px;border-radius:50%;background:var(--ice);display:grid;place-items:center;color:var(--blue);font-weight:950}.dna-item h3{margin:0;font-size:1.35rem;letter-spacing:-.035em}.dna-item p{margin:8px 0 0;color:var(--text);line-height:1.6}.region{background:#f6faff}.region-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:38px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.region-map{min-height:430px;background:#dfeaf4}.region-copy{padding:clamp(36px,5vw,72px)}.city-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.city-tags a{padding:10px 14px;border-radius:999px;background:var(--ice);color:var(--navy);font-weight:760;font-size:.92rem}.partners{background:#fff}.logo-row{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--line);margin-top:34px}.logo-row span{display:grid;place-items:center;min-height:96px;background:#fff;color:#8b98a6;font-weight:950;letter-spacing:.04em}.contact{background:linear-gradient(180deg,#f7fbff,#fff)}.contact-wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6vw,100px);align-items:start}.form{background:#fff;border:1px solid var(--line);border-radius:34px;padding:clamp(26px,3vw,46px);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.82rem;font-weight:850;color:var(--navy)}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(12,27,45,.13);border-radius:16px;padding:14px 15px;background:#fff;outline:0;color:var(--ink)}.field textarea{min-height:126px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(14,99,182,.55);box-shadow:0 0 0 4px rgba(14,99,182,.08)}.form-note{margin-top:16px;color:var(--muted);font-size:.88rem;line-height:1.55}.site-footer{background:var(--navy);color:#fff;padding:74px 0 30px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:38px}.footer-grid p,.footer-grid a{color:#c6d7e7;line-height:1.7}.footer-grid h3{font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 18px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.11);margin-top:52px;padding-top:24px;color:#adc2d6;font-size:.9rem}.cookie{position:fixed;z-index:80;left:50%;bottom:22px;transform:translateX(-50%);width:min(100% - 28px,900px);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 80px rgba(10,37,64,.18);padding:18px;display:none;align-items:center;justify-content:space-between;gap:20px}.cookie.show{display:flex}.cookie p{margin:0;color:var(--text);line-height:1.5;font-size:.94rem}.sub-hero{padding-top:160px;padding-bottom:88px;background:linear-gradient(180deg,#f6faff,#fff)}.sub-layout{display:grid;grid-template-columns:1fr .9fr;gap:clamp(38px,6vw,96px);align-items:center}.sub-card{background:#fff;border:1px solid var(--line);border-radius:34px;padding:clamp(30px,4vw,54px);box-shadow:var(--shadow)}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.check{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px}.faq{background:#fff}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);padding:26px 0}.faq-item strong{display:block;font-size:1.15rem}.faq-item p{color:var(--text);line-height:1.65;margin:10px 0 0;max-width:760px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.in-view{opacity:1;transform:none}
@media (min-width:1800px){:root{--shell:min(100% - 180px,1520px);--shell-wide:min(100% - 160px,1680px)}}
@media (max-width:1120px){.nav-links,.nav-cta{display:none}.menu-toggle{display:grid;place-items:center}.mobile-panel{position:fixed;inset:82px 18px auto 18px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:18px;display:none;z-index:60}.mobile-panel.is-open{display:grid;gap:6px}.mobile-panel a{padding:16px;border-radius:18px;font-weight:800}.mobile-panel a:hover{background:var(--ice)}.hero{min-height:auto;padding:140px 0 80px;background-position:center}.hero-inner{grid-template-columns:1fr}.hero-panel{max-width:620px}.trust-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.pathways{grid-template-columns:1fr}.split,.split.reverse,.dna-grid,.region-card,.contact-wrap,.sub-layout{grid-template-columns:1fr}.section-top,.section-top.right{text-align:left;align-items:start;flex-direction:column}.service-row{grid-template-columns:50px 1fr;gap:18px}.service-row p,.service-row a{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.logo-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){:root{--shell:min(100% - 30px,1480px);--shell-wide:min(100% - 30px,1620px);--section-y:72px;--section-y-tight:56px}.nav{height:72px}.brand-word{font-size:1.2rem}.brand-sub{font-size:.54rem;letter-spacing:.34em}.hero{padding-top:112px;background-image:linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.84)),url('../img/hero-service.webp')}.h1{font-size:clamp(2.85rem,13vw,4.35rem)}.h2{font-size:clamp(2rem,10vw,3.1rem)}.hero-actions{align-items:stretch;flex-direction:column}.btn{width:100%}.hero-proof{gap:16px;flex-direction:column;align-items:flex-start}.service-link{grid-template-columns:42px 1fr 20px}.trust-grid,.stats-row,.feature-box,.process-grid,.check-grid,.form-grid{grid-template-columns:1fr}.trust-card{padding:28px 18px}.photo-frame{min-height:340px;border-radius:26px}.feature-box{gap:0}.service-row{padding:28px 0}.process-step{min-height:270px}.process-step h3{margin-top:108px}.logo-row{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.cookie{display:none!important}}

/* v14 logo + typography polish */
.brand:hover .brand-word{color:#0e86c7}.site-header .brand{padding-right:8px}.site-footer .brand{display:inline-flex}.process .narrow{max-width:880px}.process .narrow .h2{max-width:850px}.stars{color:#efb51b}.service-row h3,.pathway h3,.dna-item h3,.process-step h3{font-weight:800}
@media (max-width:420px){.brand-word{font-size:1.05rem}.brand-sub{font-size:.48rem;letter-spacing:.3em}.nav{gap:12px}}


/* v15 logo + business polish */
.brand-logo{display:inline-flex;align-items:center}
.brand-logo-img{display:block;height:44px;width:auto}
.footer-brandmark .brand-logo-img{height:46px}
.site-header .brand{padding-block:6px}
.site-header .brand:hover{opacity:.96}
.site-footer .footer-brand p{max-width:30ch}
.nav{height:86px}
.hero-proof{margin-top:38px}
.process .eyebrow{color:#94c3e5}
.process .accent{color:#dceaf5}
.process .h2{max-width:15ch}
.process .lead{max-width:700px}
.process-step{border-color:rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025))}
.section-top .btn-soft{border-color:rgba(14,99,182,.12)}
@media (max-width:720px){.brand-logo-img{height:34px}.footer-brandmark .brand-logo-img{height:36px}.nav{height:74px}}


/* v17 art-direction correction: original logo, reduced color noise, cleaner trust block */
:root{
  --shell:min(100% - clamp(40px,7vw,158px), 1380px);
  --shell-wide:min(100% - clamp(40px,6.6vw,150px), 1520px);
  --section-y:clamp(76px,7.2vw,138px);
  --section-y-tight:clamp(48px,4.6vw,92px);
}

/* real wordmark crop: do not clip it */
.brand,
.brand-logo{
  overflow:visible !important;
}
.brand-logo{
  display:inline-flex !important;
  align-items:center;
  justify-content:flex-start;
  line-height:1;
}
.brand-logo-img{
  display:block;
  width:auto;
  height:clamp(42px,3.15vw,58px);
  max-width:210px;
  object-fit:contain;
  object-position:left center;
}
.site-header .brand{
  padding-block:10px;
  min-height:68px;
  display:flex;
  align-items:center;
}
.footer-brandmark .brand-logo-img{
  height:clamp(44px,3.2vw,62px);
  max-width:220px;
}
.nav{
  height:92px;
}

/* slightly tighter, more businesslike large-screen layout */
.h1{font-size:clamp(3rem,5.45vw,6rem);max-width:760px}
.h2{font-size:clamp(2.08rem,3.35vw,4.18rem)}
.hero{min-height:clamp(680px,87vh,890px)}
.hero-inner{grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:clamp(38px,5vw,86px)}
.hero-panel{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,252,255,.88));border-color:rgba(255,255,255,.72);box-shadow:0 22px 64px rgba(10,37,64,.095)}
.service-link:hover{background:rgba(234,245,255,.78)}

/* trust block: one disciplined blue system, no green/yellow/orange number mix */
.trust-strip{background:#fff}
.trust-grid{
  border:0;
  gap:0;
  border-radius:32px;
  overflow:hidden;
  background:linear-gradient(135deg,#0a3767 0%,#0e63b6 100%);
  box-shadow:0 24px 70px rgba(10,37,64,.12);
}
.trust-card{
  background:transparent;
  color:#fff;
  padding:36px 30px;
  text-align:center;
  position:relative;
}
.trust-card + .trust-card{border-left:1px solid rgba(255,255,255,.14)}
.trust-card small{
  color:rgba(232,246,255,.76);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.trust-card .num{
  color:#dceeff;
  text-shadow:none;
  font-size:clamp(2rem,3vw,3.45rem);
}
.trust-card p{
  color:rgba(255,255,255,.86);
  margin:12px auto 0;
  max-width:190px;
}
.trust-card::after{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.05);
  pointer-events:none;
}

/* keep only small warm accent where it belongs */
.stars{color:#f3b51b}

.process .accent{color:#e4f2ff}
.process .eyebrow{color:#9cc7e9}
.process .h2{max-width:780px}
.process-step::before{color:rgba(255,255,255,.052)}

@media (min-width:1800px){
  :root{
    --shell:min(100% - 220px,1400px);
    --shell-wide:min(100% - 210px,1540px);
  }
  .hero{min-height:850px}
}

@media (max-width:1120px){
  .brand-logo-img{height:44px;max-width:184px}
  .nav{height:82px}
  .trust-card + .trust-card{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
}

@media (max-width:720px){
  .brand-logo-img{height:38px;max-width:160px}
  .footer-brandmark .brand-logo-img{height:40px}
  .nav{height:76px}
  .trust-grid{border-radius:26px}
  .trust-card{padding:28px 20px}
}


/* v18 safe-art-direction polish: protected logo, lighter trust blue, subtle section depth */
.brand-logo-img{
  height:clamp(46px,3.35vw,62px) !important;
  max-width:230px !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:translateY(1px);
}
.footer-brandmark .brand-logo-img{
  height:clamp(48px,3.35vw,64px) !important;
  max-width:238px !important;
  transform:none;
}
.site-header .brand{
  min-height:76px;
  padding-block:12px;
}
.nav{height:94px}

/* lighter, more premium trust module */
.trust-grid{
  background:
    radial-gradient(circle at 12% 10%, rgba(255,255,255,.20), transparent 32%),
    linear-gradient(135deg,#1374bd 0%,#0e5fa3 58%,#0b4f8b 100%) !important;
  box-shadow:0 22px 58px rgba(11,79,139,.17) !important;
}
.trust-card .num{
  color:#eef8ff !important;
  opacity:.96;
}
.trust-card small{
  color:rgba(245,251,255,.74) !important;
}
.trust-card p{
  color:rgba(255,255,255,.88) !important;
}

/* give white sections more designed presence without making them busy */
.orient{
  background:
    linear-gradient(180deg,#fff 0%,#fff 58%,#f7fbff 100%) !important;
}
.orient-head{
  position:relative;
}
.orient-head::after{
  content:"";
  display:block;
  width:74px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(14,99,182,.16),rgba(14,99,182,.55),rgba(14,99,182,.16));
  margin:28px auto 0;
}
.pathway{
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  border-color:rgba(12,27,45,.07) !important;
}
.pathway::before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,rgba(14,99,182,.32),transparent);
  opacity:.65;
}
.pathway{position:relative;overflow:hidden}

/* editorial sections: a little more air and crafted separation */
.editorial{
  background:
    linear-gradient(180deg,#f8fbff 0%,#fff 42%,#fff 100%) !important;
}
.consult{
  background:
    radial-gradient(circle at 82% 18%,rgba(14,99,182,.08),transparent 34%),
    linear-gradient(180deg,#f4f9ff,#f8fbff) !important;
}
.feature-box{
  border-color:rgba(12,27,45,.065) !important;
}
.feature{
  border-radius:22px;
}
.feature:hover{
  background:#f7fbff;
}

/* services get a fine blue reading line without adding box clutter */
.service-lines{
  border-top-color:rgba(14,99,182,.12) !important;
}
.service-row{
  border-bottom-color:rgba(12,27,45,.075) !important;
}
.service-row svg{
  background:#f3f9ff;
  border:1px solid rgba(14,99,182,.10);
  border-radius:18px;
  padding:9px;
  width:48px !important;
  height:48px !important;
}
.service-row:hover{
  background:linear-gradient(90deg,rgba(244,249,255,.95),rgba(255,255,255,0)) !important;
}

/* process title/color harmony */
.process{
  background:
    radial-gradient(circle at 18% 8%,rgba(76,145,204,.18),transparent 38%),
    linear-gradient(180deg,#08233d,#0a2540) !important;
}
.process .accent{color:#d8ecff !important}
.process-step{
  border-color:rgba(255,255,255,.09) !important;
}

/* keep huge screens a touch more controlled */
@media (min-width:1800px){
  :root{
    --shell:min(100% - 230px,1390px);
    --shell-wide:min(100% - 220px,1530px);
  }
  .brand-logo-img{height:60px !important}
  .hero{min-height:840px}
}

@media (max-width:1120px){
  .brand-logo-img{height:48px !important;max-width:206px !important}
  .nav{height:84px}
}
@media (max-width:720px){
  .brand-logo-img{height:40px !important;max-width:174px !important}
  .footer-brandmark .brand-logo-img{height:42px !important}
  .nav{height:76px}
}


/* v19: more color through surfaces, less shadow; unify hero emergency with trust-blue */
:root{
  --sharif-blue-light:#1676bd;
  --sharif-blue-main:#0f64a8;
  --sharif-blue-deep:#0a4f8d;
  --sharif-surface-blue:#eef8ff;
  --sharif-surface-blue-2:#e6f3ff;
}

/* refine logo scale one step: calmer in header, more protected */
.brand-logo-img{
  height:clamp(44px,3.05vw,58px) !important;
  max-width:224px !important;
}
.footer-brandmark .brand-logo-img{
  height:clamp(46px,3.1vw,60px) !important;
  max-width:230px !important;
}
.site-header .brand{min-height:72px}

/* hero: make emergency CTA part of the same color language as the trust block */
.emergency{
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.24), transparent 36%),
    linear-gradient(135deg,var(--sharif-blue-light) 0%,var(--sharif-blue-main) 54%,var(--sharif-blue-deep) 100%) !important;
  box-shadow:none !important;
  border:1px solid rgba(255,255,255,.26);
}
.emergency .mini,
.emergency span{
  color:rgba(255,255,255,.82) !important;
}
.emergency strong,
.emergency a{
  color:#fff !important;
}
.emergency .dot{
  background:#e5f4ff !important;
  box-shadow:0 0 0 5px rgba(255,255,255,.14);
}

/* overall: reduce shadow-heavy impression */
.hero-panel,
.photo-frame,
.feature-box,
.region-card,
.form,
.sub-card{
  box-shadow:0 18px 52px rgba(10,37,64,.065) !important;
}
.pathway{
  box-shadow:none !important;
  border-color:rgba(14,99,182,.10) !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
}
.pathway:hover{
  box-shadow:none !important;
  transform:translateY(-2px);
  border-color:rgba(14,99,182,.20) !important;
}

/* orientation: one deliberate color surface instead of more shadows */
.pathway-accent{
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.20), transparent 36%),
    linear-gradient(135deg,#1171b7 0%,#0f64a8 58%,#0b4f8b 100%) !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#fff;
}
.pathway-accent .pathway-kicker{
  color:rgba(255,255,255,.74) !important;
}
.pathway-accent h3{
  color:#fff;
}
.pathway-accent p{
  color:rgba(255,255,255,.84);
}
.pathway-accent strong{
  color:#fff;
}
.pathway-accent::before{
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent) !important;
}

/* reflect the same lighter blue quietly in other white sections */
.orient{
  background:
    linear-gradient(180deg,#fff 0%,#fff 48%,#f1f8ff 100%) !important;
}
.services{
  background:
    linear-gradient(180deg,#fff 0%,#fff 70%,#f7fbff 100%) !important;
}
.service-row:hover{
  padding-inline:0 !important;
  background:linear-gradient(90deg,rgba(238,248,255,.95),rgba(255,255,255,0)) !important;
}
.service-row svg{
  background:var(--sharif-surface-blue) !important;
  border-color:rgba(15,100,168,.12) !important;
}
.feature-box{
  background:
    linear-gradient(180deg,#fff,#fbfdff) !important;
}
.feature:hover{
  background:var(--sharif-surface-blue) !important;
}
.dna-no{
  background:linear-gradient(135deg,#eef8ff,#dfefff) !important;
  color:var(--sharif-blue-main) !important;
}

/* keep the hero-panel white-blue but avoid hard card feeling */
.hero-panel{
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(240,248,255,.88)) !important;
  border-color:rgba(15,100,168,.10) !important;
}
.service-link{
  border-color:rgba(15,100,168,.06) !important;
}
.service-link:hover{
  background:var(--sharif-surface-blue) !important;
}

/* trust module slightly less heavy and more aligned with emergency */
.trust-grid{
  background:
    radial-gradient(circle at 12% 10%, rgba(255,255,255,.20), transparent 32%),
    linear-gradient(135deg,#1676bd 0%,#0f64a8 58%,#0b4f8b 100%) !important;
}
.trust-card .num{color:#f0f9ff !important}

/* small, tasteful title accents, no extra colors */
.accent{color:#0f64a8}
.process .accent{color:#d8ecff !important}

@media (min-width:1800px){
  .brand-logo-img{height:56px !important}
}
@media (max-width:720px){
  .brand-logo-img{height:38px !important}
}


/* v20 final finesse: process image stage + lighter micro-animations */
:root{
  --blue-tint:#e9f4ff;
  --blue-tint-2:#f4f9ff;
}

/* cleaner micro motion */
.nav-link,.phone-pill,.btn,.pathway,.service-row,.feature,.trust-card,.logo-row span,.city-tags a{transition:all .28s ease}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--blue),transparent);transform:scaleX(0);transform-origin:center;transition:transform .28s ease;opacity:.9}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.btn:hover{transform:translateY(-2px)}
.phone-pill:hover{transform:translateY(-2px);background:#0a2239}
.city-tags a:hover{background:#dff0ff}
.photo-frame img{transition:transform .65s ease}
.photo-frame:hover img{transform:scale(1.025)}
.feature{transition:background .28s ease, transform .28s ease}
.feature:hover{transform:translateY(-2px)}

/* process section reconcepted with background image */
.process{position:relative;overflow:hidden;background:#0a2540 !important}
.process::before{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg, rgba(7,24,40,.88) 0%, rgba(7,24,40,.74) 34%, rgba(7,24,40,.78) 100%),
  radial-gradient(circle at 16% 18%, rgba(79,147,205,.22), transparent 34%),
  url('../img/hero-service.webp') center center / cover no-repeat;opacity:1}
.process::after{content:"";position:absolute;inset:auto 0 0 0;height:160px;background:linear-gradient(180deg, rgba(10,37,64,0), rgba(10,37,64,.28));pointer-events:none}
.process .shell{position:relative;z-index:1}
.process .narrow{padding:clamp(28px,3.4vw,42px) clamp(26px,3.5vw,44px);border-radius:32px;backdrop-filter:blur(10px);background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 60px rgba(0,0,0,.14)}
.process .lead{max-width:640px}
.process-grid{margin-top:32px}
.process-step{backdrop-filter:blur(10px);background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;border:1px solid rgba(255,255,255,.14) !important;box-shadow:none !important}
.process-step::before{color:rgba(255,255,255,.06) !important}
.process-step h3{margin-top:120px}
.process-step p{max-width:22ch}
.process-step:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.22) !important}

/* more color by surface, less by shadow */
.section-top .btn-soft{background:var(--blue-tint);border-color:rgba(14,99,182,.08)}
.pathway{box-shadow:none !important}
.pathway:nth-child(2){background:linear-gradient(180deg,#f5faff,#eef7ff) !important}
.feature-box{box-shadow:none !important;background:linear-gradient(180deg,#fff,#fafdff) !important}
.feature{border:1px solid rgba(14,99,182,.07)}
.feature:hover{background:#eef7ff}
.service-row{position:relative}
.service-row::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,rgba(14,99,182,.11),rgba(14,99,182,.03))}
.service-row:hover svg{background:#e4f2ff !important;border-color:rgba(15,100,168,.18) !important}
.dna-item{transition:transform .25s ease}
.dna-item:hover{transform:translateX(4px)}
.region-card{overflow:hidden}
.region-copy{background:linear-gradient(180deg,#ffffff 0%, #f7fbff 100%)}
.form{box-shadow:none !important;background:linear-gradient(180deg,#fff,#fbfdff)}
.logo-row{box-shadow:none}
.logo-row span:hover{background:#f3f9ff;color:#5c6b79}

/* big screens: a bit more restraint */
@media (min-width:1800px){
  :root{--shell:min(100% - 240px,1380px);--shell-wide:min(100% - 230px,1520px)}
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(330px,390px)}
}

@media (max-width:1120px){
  .process .narrow{border-radius:28px}
}

@media (max-width:720px){
  .nav-link::after{display:none}
  .process .narrow{padding:24px 22px;border-radius:24px}
  .process-grid{margin-top:20px}
  .process-step h3{margin-top:98px}
}


/* v21 holistic final polish: finished-page rhythm, stronger copy support, calmer trust */
:root{
  --surface-warm:#fbfdff;
  --surface-blue-soft:#eef7ff;
  --blue-final:#1169ad;
  --blue-final-deep:#0b4f8b;
}

/* Global readability and final rhythm */
.h1,.h2{letter-spacing:-.055em}
.lead{color:#4d5d6f}
.eyebrow{letter-spacing:.14em}
.section{position:relative}
.shell{position:relative}

/* Editorial partner section: less dead, more trust without clutter */
.editorial .split{align-items:center}
.editorial .photo-frame{position:relative}
.editorial .photo-frame::before{
  content:"Top bewertet";
  position:absolute;
  left:22px;
  top:22px;
  z-index:2;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.62);
  color:#0a2540;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
}
.editorial .photo-frame::after{
  content:"★★★★★";
  position:absolute;
  left:22px;
  top:66px;
  z-index:2;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
  color:#f3b51b;
  letter-spacing:2px;
  font-size:.82rem;
  border:1px solid rgba(255,255,255,.62);
}
.editorial-proof{
  margin-top:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:20px 22px;
  border-radius:26px;
  background:linear-gradient(135deg,#f3f9ff,#fff);
  border:1px solid rgba(14,99,182,.09);
}
.editorial-proof strong{display:block;margin-top:4px;color:#0a2540;font-weight:900;letter-spacing:-.02em}
.editorial-proof p{margin:5px 0 0;color:#536274;line-height:1.45;font-size:.94rem;max-width:390px}
.editorial-proof a{color:var(--blue-final);font-weight:900;white-space:nowrap}
.stats-box{
  margin-top:22px;
  padding:10px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(14,99,182,.08);
  gap:0;
}
.stats-box .stat-mini{
  border-top:0;
  border-left:1px solid rgba(14,99,182,.08);
  padding:22px 18px;
}
.stats-box .stat-mini:first-child{border-left:0}
.stats-box .stat-mini strong{
  color:var(--blue-final);
  font-size:clamp(1.75rem,2.1vw,2.65rem)
}
.stats-box .stat-mini span{font-size:.94rem}

/* Orientation: remove shadow feeling and use composed surfaces */
.pathways{align-items:stretch}
.pathway{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:310px;
  box-shadow:none !important;
}
.pathway:not(.pathway-accent){
  background:linear-gradient(180deg,#fff,#f7fbff) !important;
}
.pathway:nth-child(2){
  background:linear-gradient(180deg,#eef7ff,#f7fbff) !important;
}
.pathway-accent{
  background:
    radial-gradient(circle at 86% 12%,rgba(255,255,255,.17),transparent 35%),
    linear-gradient(135deg,#1472b8,#0f64a8 55%,#0c548f) !important;
}

/* Services: more finished, less empty */
.service-row{
  grid-template-columns:70px minmax(260px,360px) minmax(0,1fr) 136px;
}
.service-row h3{color:#0a2540}
.service-row p{max-width:680px}
.service-row a{font-size:.94rem}

/* Process: premium editorial stage */
.process .narrow{
  max-width:860px;
}
.process .h2{
  max-width:760px;
}
.process-grid{
  gap:20px;
}
.process-step{
  min-height:320px;
}
.process-step h3{
  font-size:1.55rem;
}
.process-step p{
  font-size:.98rem;
}

/* Clean-DNA: slightly stronger section authority */
.clean-dna{
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.dna-list{
  background:#fff;
  border:1px solid rgba(14,99,182,.08);
  border-radius:30px;
  padding:8px 26px;
}
.dna-item:last-child{border-bottom:0}

/* Region and partners continuity */
.region-card{
  border-color:rgba(14,99,182,.08) !important;
}
.partners{
  background:linear-gradient(180deg,#fff,#f8fbff);
}

/* Contact: stronger final conversion without noise */
.contact-wrap{
  align-items:center;
}
.contact .form{
  border-color:rgba(14,99,182,.09);
}
.form-note{
  border-top:1px solid rgba(14,99,182,.08);
  padding-top:14px;
}

/* reveal: slightly more premium and lighter */
.reveal{transform:translateY(14px)}
.reveal.in-view{transform:none}

/* responsive refinements */
@media (max-width:1120px){
  .stats-box .stat-mini{border-left:0;border-top:1px solid rgba(14,99,182,.08)}
  .stats-box .stat-mini:first-child{border-top:0}
  .editorial-proof{align-items:flex-start;flex-direction:column}
  .service-row{grid-template-columns:54px 1fr}
}

@media (max-width:720px){
  .editorial .photo-frame::before,
  .editorial .photo-frame::after{
    left:16px;
  }
  .editorial-proof{padding:18px;border-radius:22px}
  .stats-box{padding:0}
  .process-step{min-height:270px}
  .service-row{grid-template-columns:52px 1fr}
}


/* v22 copy-tone polish: confident handcrafted language, calmer service pages */
.sub-hero .h1{
  max-width:820px;
}
.sub-card{
  background:
    radial-gradient(circle at 90% 10%, rgba(14,99,182,.08), transparent 34%),
    linear-gradient(180deg,#fff,#f7fbff);
}
.check{
  box-shadow:none !important;
  background:linear-gradient(180deg,#fff,#fbfdff);
  border-color:rgba(14,99,182,.08);
}
.check strong{
  color:#0a2540;
  letter-spacing:-.02em;
}
.check p{
  color:#536274;
  line-height:1.62;
}
.faq-item strong{
  color:#0a2540;
}
.contact .h2{
  max-width:820px;
}
.editorial-proof{
  background:linear-gradient(135deg,#eef7ff,#fff);
}


/* v23 legal polish: harmonized impressum/datenschutz */
.legal-hero{
  background:
    radial-gradient(circle at 80% 14%, rgba(17,105,173,.10), transparent 32%),
    linear-gradient(180deg,#f7fbff 0%,#fff 100%);
}
.legal-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,430px);
  gap:clamp(34px,5vw,86px);
  align-items:center;
}
.legal-intro .h1{
  max-width:820px;
}
.legal-card{
  border-radius:34px;
  padding:clamp(28px,3.6vw,46px);
  border:1px solid rgba(14,99,182,.10);
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.legal-card-blue{
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.18), transparent 34%),
    linear-gradient(135deg,#1676bd,#0f64a8 58%,#0b4f8b);
  color:#fff;
}
.legal-card span{
  display:block;
  font-size:.78rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:900;
  opacity:.78;
  margin-bottom:16px;
}
.legal-card strong{
  display:block;
  font-size:clamp(1.45rem,1.7vw,2rem);
  letter-spacing:-.04em;
  line-height:1.05;
  margin-bottom:18px;
}
.legal-card p{
  color:inherit;
  opacity:.88;
  line-height:1.65;
  margin:14px 0 0;
}
.legal-section{
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.legal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.legal-panel{
  background:linear-gradient(180deg,#fff,#fbfdff);
  border:1px solid rgba(14,99,182,.085);
  border-radius:30px;
  padding:clamp(28px,3vw,42px);
}
.legal-panel h2{
  margin:0 0 18px;
  font-size:clamp(1.45rem,1.8vw,2.2rem);
  letter-spacing:-.045em;
  line-height:1.08;
  color:#0a2540;
  font-weight:850;
}
.legal-panel p{
  margin:14px 0 0;
  color:#536274;
  line-height:1.7;
}
.legal-panel strong{
  color:#0a2540;
}
.legal-panel a{
  color:#0f64a8;
  font-weight:800;
}
.legal-note{
  background:linear-gradient(180deg,#eef7ff,#f8fbff);
  border-color:rgba(14,99,182,.14);
}
.legal-muted{
  color:#6d7d8e;
}
@media (max-width:980px){
  .legal-layout,.legal-grid{
    grid-template-columns:1fr;
  }
}


/* v24 final legal + image-fit cleanup */
.photo-frame{
  background:transparent !important;
  line-height:0;
  display:block;
  position:relative;
}
.photo-frame img{
  display:block;
  width:100%;
  height:clamp(420px,40vw,620px) !important;
  min-height:0 !important;
  object-fit:cover;
  object-position:center;
  border-radius:inherit;
}
.editorial .photo-frame img{
  object-position:center;
}
.consult .photo-frame img{
  object-position:center;
}
.sub-hero{
  padding-top:150px;
  padding-bottom:clamp(70px,7vw,112px);
}
.legal-hero .h1{
  max-width:760px;
}
.legal-intro .lead{
  max-width:640px;
}
.legal-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.legal-panel{
  min-height:100%;
  box-shadow:none !important;
}
.legal-panel h2{
  max-width:18ch;
}
.legal-panel p{
  font-size:.98rem;
}
.legal-card{
  box-shadow:none !important;
}
.legal-section{
  padding-top:clamp(56px,5.8vw,96px);
}
.legal-panel:nth-child(1),
.legal-panel:nth-child(2),
.legal-panel:nth-child(3){
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.legal-panel:nth-child(2){
  border-color:rgba(14,99,182,.13);
}
.legal-panel:nth-child(3){
  background:linear-gradient(180deg,#eef7ff,#f8fbff);
}

/* calmer final section widths and title rhythm */
.section-top{
  margin-bottom:clamp(40px,4.4vw,64px);
}
.h2{
  text-wrap:balance;
}
.lead{
  text-wrap:pretty;
}

/* remove residual artificial blue edge on image sections */
.photo-frame::before,
.photo-frame::after{
  pointer-events:none;
}

/* mobile/legal */
@media (max-width:1180px){
  .legal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .photo-frame img{
    height:340px !important;
  }
  .legal-grid{grid-template-columns:1fr}
  .legal-panel h2{max-width:none}
  .sub-hero{padding-top:118px}
}


/* v25 service-page rebuild + title system */
:root{--title-max:15.5ch;--copy-max:66ch;--surface-blue:#eef7ff;--surface-blue-2:#f6fbff;--deep-blue:#0e63b6;--deep-blue-2:#0b4f8b}
.h1,.h2,.h3{color:var(--ink)}
.h1{max-width:var(--title-max);letter-spacing:-.06em;line-height:.96;font-size:clamp(3.1rem,5.3vw,5.85rem)}
.h2{max-width:18ch;letter-spacing:-.055em;line-height:1.02;font-size:clamp(2.18rem,3.45vw,4.1rem)}
.sub-hero .lead,.service-story .lead,.calc-copy .lead,.contact .lead,.faq-item p{max-width:var(--copy-max)}
.section{padding-block:var(--section-y)}
.section-tight{padding-block:clamp(28px,3.6vw,54px)}
.section-top{margin-bottom:clamp(34px,4vw,56px)}

.service-hero{background:linear-gradient(180deg,#f7fbff,#fff)}
.service-hero-layout{align-items:end}
.service-proof{background:#fff}
.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:14px;border:1px solid rgba(14,99,182,.08);border-radius:30px;background:linear-gradient(180deg,#fff,#f8fbff)}
.proof-item{padding:24px 20px;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(14,99,182,.06)}
.proof-item strong{display:block;font-size:1.08rem;letter-spacing:-.03em;color:var(--navy)}
.proof-item p{margin:8px 0 0;color:var(--text);line-height:1.58}

.service-story{background:linear-gradient(180deg,#fff,#f9fcff)}
.service-story .split{align-items:center}
.benefit-list{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px;max-width:640px}
.benefit-list li{position:relative;padding-left:34px;color:var(--text);line-height:1.62}
.benefit-list li::before{content:"";position:absolute;left:0;top:10px;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--deep-blue),var(--deep-blue-2));box-shadow:0 0 0 6px rgba(14,99,182,.08)}

.service-scope{background:#fff}
.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.scope-card{padding:30px 28px;border-radius:28px;border:1px solid rgba(14,99,182,.08);background:linear-gradient(180deg,#fff,#fbfdff)}
.scope-card strong{display:block;font-size:1.18rem;letter-spacing:-.03em;color:var(--navy)}
.scope-card p{margin:10px 0 0;color:var(--text);line-height:1.62}

.calc-section{background:linear-gradient(180deg,#f4f9ff,#fff)}
.calc-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:start}
.calc-points{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px;max-width:620px}
.calc-points li{padding-left:28px;position:relative;color:var(--text);line-height:1.6}
.calc-points li::before{content:"•";position:absolute;left:0;top:-1px;font-size:1.3rem;color:var(--blue)}
.calc-card{padding:clamp(24px,3vw,40px);border-radius:30px;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(14,99,182,.08);display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc-card .field.full{grid-column:1/-1}
.calc-result{grid-column:1/-1;padding:22px;border-radius:22px;background:linear-gradient(135deg,#eef7ff,#f9fcff);border:1px solid rgba(14,99,182,.10)}
.calc-result strong{display:block;font-size:1.08rem;color:var(--navy)}
.calc-result p{margin:8px 0 0;color:var(--text);line-height:1.58}

.faq{background:#fff}
.faq .h2{max-width:19ch}
.faq-list{margin-top:10px}

.contact .form-note{color:var(--text)}

/* image fit cleanup for all section images */
.photo-frame{background:#dfe9f3;overflow:hidden}
.photo-frame img{display:block;width:100%;height:100%;min-height:clamp(420px,40vw,620px);object-fit:cover;object-position:center}

@media (max-width:1120px){
  .proof-strip,.scope-grid,.calc-wrap{grid-template-columns:1fr}
  .calc-card{grid-template-columns:1fr}
}
@media (max-width:720px){
  .proof-item,.scope-card{padding:24px 20px}
  .benefit-list{margin-top:22px}
  .photo-frame img{min-height:340px}
}


/* v26 final harmony polish */
:root{
  --section-gap: clamp(42px,4.5vw,72px);
  --title-tight: 14.8ch;
  --title-wide: 17.5ch;
}

/* stronger global title rhythm */
.h1{max-width:var(--title-tight)}
.h2{max-width:var(--title-wide); line-height:1.01}
.eyebrow{margin-bottom:14px}
.section-top{margin-bottom:clamp(36px,4.3vw,60px)}
.copy-block .lead,.section-top .lead,.orient-head .lead,.narrow .lead{max-width:62ch}

/* Homepage: introduce more designed asymmetry instead of centered blocks */
.intro-grid{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:clamp(26px,4vw,54px);
  align-items:start;
}
.intro-grid .eyebrow{
  grid-column:1;
  align-self:start;
  padding-top:12px;
}
.intro-grid .h2,
.intro-grid .lead{
  grid-column:2;
}
.orient-head{max-width:none; margin-bottom:clamp(30px,4vw,56px)}
.orient-head .lead.center{margin-left:0; text-align:left}
.orient .pathways{margin-top:10px}

/* editorial / consult become calmer and more premium */
.editorial,.consult,.services,.clean-dna,.region,.contact{
  position:relative;
}
.editorial::before,.consult::before,.services::before,.clean-dna::before,.region::before,.contact::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(14,99,182,.09), transparent);
}
.editorial .shell,.consult .shell{position:relative}
.editorial .copy-block,.consult .copy-block{padding-top:12px}

/* services intro should feel more intentional, not flipped awkwardly */
.services-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  text-align:left !important;
  gap:clamp(20px,3vw,40px);
}
.services-intro > div{max-width:780px}
.services-intro .btn{justify-self:start}
.service-lines{position:relative}
.service-lines::before{
  content:"";
  position:absolute;
  left:0; top:-12px;
  width:84px; height:3px; border-radius:999px;
  background:linear-gradient(90deg,var(--deep-blue),rgba(14,99,182,.12));
}
.service-row{padding-block:36px}
.service-row h3{max-width:14ch}

/* process heading slightly offset for better art direction */
.process-intro{margin-left:clamp(0px,6vw,88px); max-width:820px}
.process-grid{margin-top:46px}

/* section images sit quieter and cleaner */
.photo-frame{border-radius:32px; background:#eef4f8}
.photo-frame img{object-position:center center}
.editorial .photo-frame{margin-top:clamp(6px,1vw,18px)}
.consult .photo-frame{margin-bottom:clamp(6px,1vw,18px)}

/* contact and region more balanced */
.region-card{box-shadow:none !important}
.region-copy .h2{max-width:15.5ch}
.contact-wrap{align-items:center}
.contact .h2{max-width:15.5ch}

/* service pages: less mechanical, more composed */
.service-story .copy-block,.service-scope .section-top,.calc-wrap,.faq .section-top,.contact-wrap{position:relative}
.service-story .copy-block::before,.service-scope .section-top > div::before,.calc-copy::before,.faq .section-top > div::before,.contact-wrap > div::before{
  content:"";
  display:block;
  width:72px; height:3px; border-radius:999px;
  background:linear-gradient(90deg,var(--deep-blue),rgba(14,99,182,.16));
  margin-bottom:18px;
}
.service-story .copy-block .eyebrow,.service-scope .section-top .eyebrow,.calc-copy .eyebrow,.faq .section-top .eyebrow,.contact-wrap .eyebrow{margin-bottom:10px}
.service-scope{background:linear-gradient(180deg,#fff 0%,#f9fcff 100%)}
.calc-section{background:linear-gradient(180deg,#f3f8ff 0%,#fff 100%)}
.faq{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.scope-grid,.proof-strip{gap:18px}
.proof-item,.scope-card,.calc-card,.faq-list,.form{box-shadow:none !important}

/* nicer responsive behavior */
@media (max-width:1120px){
  .intro-grid{grid-template-columns:1fr}
  .intro-grid .eyebrow,.intro-grid .h2,.intro-grid .lead{grid-column:auto}
  .services-intro{grid-template-columns:1fr}
  .services-intro .btn{justify-self:start}
  .process-intro{margin-left:0}
}
@media (max-width:720px){
  .eyebrow{margin-bottom:10px}
  .photo-frame{border-radius:26px}
  .service-lines::before{width:62px}
  .process-grid{margin-top:28px}
}


/* v27 technical SEO + final structure polish */
.pseudo-h3{
  display:block;
  font-size:clamp(1.35rem,1.6vw,2rem);
  line-height:1.1;
  margin:0;
  letter-spacing:-.04em;
  font-weight:800;
  color:var(--navy);
}
.pathway .pseudo-h3{
  font-size:clamp(1.55rem,2vw,2.15rem);
  line-height:1.05;
  letter-spacing:-.05em;
  margin:20px 0 16px;
}
.pathway-accent .pseudo-h3{
  color:#fff;
}
.process-title{
  position:relative;
  margin-top:120px;
  font-size:1.55rem;
  color:#fff;
}
.dna-title{
  margin:0;
  font-size:1.35rem;
  letter-spacing:-.035em;
}
.footer-heading{
  font-size:.88rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 18px;
  font-weight:850;
}
.share-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  border-top:1px solid rgba(255,255,255,.11);
  margin-top:44px;
  padding-top:24px;
}
.share-links span{
  color:#adc2d6;
  font-weight:800;
  margin-right:4px;
}
.share-links a{
  color:#d8e8f7;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  padding:9px 13px;
  font-size:.9rem;
}
.share-links a:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.site-footer .footer-grid h3{display:none}
.process-step h3,.service-row h3,.dna-item h3{display:none}
@media(max-width:720px){
  .share-links{align-items:flex-start;flex-direction:column}
  .process-title{margin-top:98px}
}

/* v29 experience direction: cinematic hero, businesslike orientation, responsive restraint */
:root{
  --v29-ink:#081b2e;
  --v29-blue:#0e63b6;
  --v29-line:rgba(8,27,46,.105);
  --v29-soft:#f6faff;
}

/* HERO: weniger übergroß auf XL/XXL, mehr Bühne, bessere Bild-/Overlay-Regie */
.hero{
  isolation:isolate;
  min-height:clamp(690px,84vh,880px) !important;
  padding-top:clamp(118px,8vw,150px) !important;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.985) 0%,rgba(255,255,255,.94) 30%,rgba(255,255,255,.64) 51%,rgba(255,255,255,.14) 78%,rgba(7,24,40,.18) 100%),
    radial-gradient(circle at 76% 34%,rgba(14,99,182,.20),transparent 31%),
    url('../img/hero-service.webp') !important;
  background-position:center right !important;
  background-size:cover !important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(7,24,40,.06),transparent 26%,rgba(7,24,40,.10)),
    radial-gradient(circle at 58% 18%,rgba(255,255,255,.38),transparent 24%);
  mix-blend-mode:multiply;
  opacity:.72;
}
.hero::after{
  height:220px !important;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 76%) !important;
  z-index:1;
}
.hero-inner{
  z-index:2 !important;
  grid-template-columns:minmax(0,1fr) minmax(310px,390px) !important;
  gap:clamp(38px,4.8vw,82px) !important;
}
.hero-copy{max-width:760px !important}
.hero .h1{
  font-size:clamp(2.85rem,4.55vw,5.05rem) !important;
  line-height:.975 !important;
  max-width:760px !important;
  letter-spacing:-.061em !important;
}
.hero .lead{
  font-size:clamp(1rem,.98vw,1.13rem) !important;
  line-height:1.68 !important;
  max-width:640px !important;
  margin-top:22px !important;
}
.hero-actions{margin-top:28px !important}
.hero-proof{margin-top:30px !important;gap:20px !important}
.hero-panel{
  border-radius:28px !important;
  padding:12px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,251,255,.78)) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 26px 70px rgba(6,27,48,.13) !important;
  backdrop-filter:blur(18px);
}
.service-link{border-radius:18px !important;padding:13px 14px !important}
.emergency{border-radius:20px !important;background:linear-gradient(135deg,#082139,#0f4f84) !important}

/* ORIENTIERUNG: weg von Marketing-Karten, hin zu seriösem Entscheidungsboard */
.orient{
  background:
    radial-gradient(circle at 9% 12%,rgba(14,99,182,.055),transparent 28%),
    linear-gradient(180deg,#fff 0%,#f8fbff 100%) !important;
}
.orient-head::after{display:none !important}
.orient-head .h2{max-width:17.4ch !important}
.orient .pathways{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:clamp(24px,3vw,42px) !important;
  border:1px solid var(--v29-line);
  border-radius:34px;
  overflow:hidden;
  background:#fff;
  box-shadow:none !important;
}
.pathway,
.pathway:nth-child(2),
.pathway.pathway-accent{
  min-height:auto !important;
  display:grid !important;
  grid-template-columns:minmax(150px,210px) minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:clamp(18px,3vw,48px) !important;
  padding:clamp(26px,3vw,38px) clamp(24px,3.4vw,48px) !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:var(--v29-ink) !important;
  box-shadow:none !important;
  transform:none !important;
}
.pathway + .pathway{border-top:1px solid var(--v29-line) !important}
.pathway::before{
  left:0 !important;
  right:auto !important;
  top:0 !important;
  bottom:0 !important;
  width:3px !important;
  height:auto !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,transparent,rgba(14,99,182,.36),transparent) !important;
  opacity:.75 !important;
}
.pathway:hover{background:#f8fbff !important;box-shadow:none !important}
.pathway-kicker{margin:0 !important;color:#0d5f9d !important}
.pathway .pseudo-h3{margin:0 0 8px !important;color:var(--v29-ink) !important;font-size:clamp(1.22rem,1.5vw,1.62rem) !important;max-width:none !important}
.pathway p{max-width:68ch !important;line-height:1.62 !important;color:#536274 !important}
.pathway strong{white-space:nowrap;color:var(--v29-blue) !important;font-size:.95rem !important}

/* EDITORIAL: Schnell/Zuverlässig/Persönlich als komplette Bildbühne statt rechtes Foto */
.editorial-stage{
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(6,22,38,.88) 0%,rgba(6,22,38,.78) 42%,rgba(6,22,38,.54) 72%,rgba(6,22,38,.30) 100%),
    radial-gradient(circle at 22% 24%,rgba(60,147,220,.28),transparent 32%),
    url('../img/van-team.webp') center center / cover no-repeat !important;
  color:#fff;
}
.editorial-stage::before{background:linear-gradient(90deg,rgba(255,255,255,.10),transparent,rgba(255,255,255,.08)) !important;opacity:.6}
.editorial-stage .split{
  display:block !important;
  max-width:780px;
  margin-inline:0;
}
.editorial-stage .copy-block{
  padding:clamp(28px,4vw,54px) !important;
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.075));
  border:1px solid rgba(255,255,255,.17);
  backdrop-filter:blur(14px);
  box-shadow:none !important;
}
.editorial-stage .eyebrow{color:#b9ddfb !important}
.editorial-stage .h2,
.editorial-stage .accent{color:#fff !important;max-width:13.8ch !important}
.editorial-stage .lead{color:rgba(236,246,255,.88) !important;max-width:62ch !important}
.editorial-stage .photo-frame{display:none !important}
.editorial-stage .editorial-proof,
.editorial-stage .stats-box{
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:none !important;
}
.editorial-stage .editorial-proof strong,
.editorial-stage .editorial-proof p,
.editorial-stage .editorial-proof a,
.editorial-stage .stat-mini span{color:rgba(255,255,255,.88) !important}
.editorial-stage .stats-box .stat-mini{border-color:rgba(255,255,255,.14) !important}
.editorial-stage .stat-mini strong{color:#d7ecff !important}

/* Allgemeine Business-Korrektur: weniger App-Schatten, präzisere Kanten */
.pathway,.feature-box,.service-row,.dna-list,.region-card,.form,.proof-item,.scope-card,.calc-card,.faq-list{
  box-shadow:none !important;
}
.btn{border-radius:18px !important;height:50px !important}
.phone-pill{border-radius:18px !important}
.nav-link{border-radius:16px !important}
.feature-box,.form,.dna-list,.region-card,.logo-row{border-radius:28px !important}
.services{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important}
.service-lines{border-top-color:rgba(8,27,46,.12) !important}
.service-row{grid-template-columns:60px minmax(220px,330px) minmax(0,1fr) 128px !important}
.service-row:hover{background:linear-gradient(90deg,rgba(14,99,182,.035),transparent) !important}

@media (min-width:1800px){
  .hero{min-height:820px !important}
  .hero .h1{font-size:4.85rem !important}
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(300px,370px) !important}
}
@media (max-width:1120px){
  .hero{min-height:auto !important;padding:128px 0 74px !important;background-position:center right !important}
  .hero-inner{grid-template-columns:1fr !important}
  .hero-panel{max-width:650px !important}
  .pathway,.pathway:nth-child(2),.pathway.pathway-accent{grid-template-columns:1fr !important;gap:12px !important}
  .pathway strong{white-space:normal !important}
  .editorial-stage .split{max-width:100%}
  .service-row{grid-template-columns:52px 1fr !important}
}
@media (max-width:720px){
  .hero{
    padding-top:108px !important;
    background-image:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 58%,rgba(255,255,255,.80) 100%),url('../img/hero-service.webp') !important;
  }
  .hero .h1{font-size:clamp(2.38rem,10.8vw,3.45rem) !important;line-height:1 !important}
  .hero .lead{font-size:1rem !important;line-height:1.62 !important}
  .hero-panel{border-radius:24px !important}
  .service-link{grid-template-columns:40px 1fr 18px !important}
  .orient .pathways{border-radius:26px !important}
  .pathway,.pathway:nth-child(2),.pathway.pathway-accent{padding:24px 20px !important}
  .editorial-stage{background-position:center !important}
  .editorial-stage .copy-block{padding:24px 20px !important;border-radius:26px !important}
  .editorial-stage .h2{max-width:14.6ch !important}
  .stats-box{grid-template-columns:1fr !important}
  .service-row{grid-template-columns:46px 1fr !important;gap:14px !important;padding-block:28px !important}
}

/* v30 hero de-clutter: service panel moved below, hero becomes true cinematic stage */
.hero-minimal{
  min-height:clamp(610px,78vh,790px) !important;
  padding-top:clamp(122px,7.6vw,148px) !important;
  padding-bottom:clamp(92px,10vh,132px) !important;
  align-items:center !important;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.985) 0%,rgba(255,255,255,.94) 31%,rgba(255,255,255,.55) 55%,rgba(9,26,42,.18) 82%,rgba(9,26,42,.36) 100%),
    radial-gradient(circle at 74% 30%,rgba(14,99,182,.24),transparent 28%),
    linear-gradient(180deg,rgba(6,22,38,.04),rgba(6,22,38,.20)),
    url('../img/hero-service.webp') !important;
  background-position:center right !important;
}
.hero-minimal::before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 38%,rgba(8,27,46,.14) 100%),
    radial-gradient(circle at 17% 22%,rgba(14,99,182,.06),transparent 29%),
    linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 42%,transparent 100%) !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}
.hero-minimal::after{
  height:170px !important;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 82%) !important;
}
.hero-minimal .hero-inner{
  display:block !important;
  width:var(--shell-wide) !important;
}
.hero-minimal .hero-copy{
  max-width:690px !important;
}
.hero-minimal .h1{
  max-width:680px !important;
  font-size:clamp(2.7rem,4.25vw,4.75rem) !important;
  line-height:.99 !important;
  letter-spacing:-.056em !important;
}
.hero-minimal .lead{
  max-width:560px !important;
  margin-top:20px !important;
  font-size:clamp(1rem,.92vw,1.08rem) !important;
  line-height:1.66 !important;
}
.hero-minimal .hero-actions{margin-top:30px !important}

.hero-choice{
  position:relative;
  z-index:3;
  padding-top:0 !important;
  padding-bottom:clamp(46px,5vw,76px) !important;
  background:linear-gradient(180deg,#fff 0%,#f9fcff 100%);
}
.hero-choice .shell{margin-top:clamp(-48px,-4vw,-28px)}
.choice-board{
  display:grid;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  gap:clamp(18px,2.2vw,34px);
  align-items:center;
  padding:clamp(18px,2vw,26px);
  border:1px solid rgba(8,27,46,.10);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 70px rgba(8,27,46,.075);
  backdrop-filter:blur(16px);
}
.choice-intro{padding:6px clamp(4px,1vw,12px)}
.choice-intro .eyebrow{margin-bottom:8px}
.choice-intro p{margin:0;color:#536274;line-height:1.55;font-size:.96rem;max-width:28ch}
.choice-links{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.choice-link{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  min-height:82px;
  padding:14px 12px;
  border:1px solid rgba(8,27,46,.08);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  color:var(--ink);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.choice-link:hover{transform:translateY(-2px);border-color:rgba(14,99,182,.22);background:#fff}
.choice-link strong{display:block;font-weight:900;letter-spacing:-.02em;font-size:.98rem;line-height:1.05}
.choice-link small{display:block;color:#64748b;font-weight:750;font-size:.78rem;line-height:1.25;margin-top:4px}
.choice-link .service-icon{width:42px;height:42px;border-radius:14px}
.choice-link .service-arrow{font-weight:900;color:var(--blue-final,#0e63b6)}
.choice-emergency{
  background:linear-gradient(135deg,#071d33,#0e4d80) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
}
.choice-emergency small,.choice-emergency .service-arrow{color:rgba(255,255,255,.82) !important}
.choice-emergency .service-icon{background:rgba(255,255,255,.12);color:#d7ecff}

/* v30: after removing the old trust strip, orientation needs a softer opening rhythm */
.orient{padding-top:clamp(70px,7vw,118px) !important}

@media (min-width:1800px){
  .hero-minimal{min-height:760px !important}
  .hero-minimal .h1{font-size:4.5rem !important}
  .hero-minimal .lead{font-size:1.06rem !important}
  .choice-board{grid-template-columns:300px 1fr}
}
@media (max-width:1280px){
  .choice-board{grid-template-columns:1fr}
  .choice-intro{display:flex;align-items:end;justify-content:space-between;gap:20px}
  .choice-intro p{max-width:46ch}
  .choice-links{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:920px){
  .hero-minimal{padding-top:120px !important;padding-bottom:98px !important;background-position:center right !important}
  .hero-minimal .hero-copy{max-width:620px !important}
  .hero-choice .shell{margin-top:-34px}
  .choice-intro{display:block}
  .choice-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .hero-minimal{
    min-height:auto !important;
    padding-top:104px !important;
    padding-bottom:74px !important;
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 52%,rgba(255,255,255,.78) 100%),
      url('../img/hero-service.webp') !important;
  }
  .hero-minimal .h1{font-size:clamp(2.25rem,10.4vw,3.22rem) !important;line-height:1.02 !important}
  .hero-minimal .lead{font-size:1rem !important;line-height:1.58 !important;max-width:34rem !important}
  .hero-choice{padding-bottom:52px !important}
  .hero-choice .shell{margin-top:-20px}
  .choice-board{border-radius:24px;padding:14px;box-shadow:0 14px 44px rgba(8,27,46,.065)}
  .choice-links{grid-template-columns:1fr;gap:7px}
  .choice-link{min-height:72px;border-radius:18px;padding:12px}
}

/* v31 experience-direction: lighter hero, trust-led intro, toned board, planner tool, stronger homepage motion */
.hero-breathing{
  min-height: clamp(760px, 92vh, 980px) !important;
  padding-top: 132px !important;
  padding-bottom: 128px !important;
  background-image:
    linear-gradient(96deg, rgba(255,255,255,.985) 0%, rgba(255,255,255,.95) 34%, rgba(255,255,255,.56) 60%, rgba(255,255,255,.08) 100%),
    url('../img/hero-service.webp') !important;
  background-position: center right !important;
}
.hero-breathing::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(14,99,182,.12), transparent 34%),
    radial-gradient(circle at 76% 24%, rgba(255,255,255,.22), transparent 30%);
  opacity:.85;
  animation: heroFloat 16s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes heroFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(0,-12px,0) scale(1.02)}}
.hero-breathing .hero-inner{grid-template-columns:minmax(0,1fr) !important; width:var(--shell) !important}
.hero-breathing .hero-copy{max-width:700px !important}
.hero-breathing .h1{font-size:clamp(2.95rem,4.55vw,5rem) !important; max-width:11.4ch !important; line-height:.98 !important}
.hero-breathing .hero-lead-refined{max-width:58ch !important; margin-top:20px !important; font-size:clamp(1rem,1.02vw,1.12rem) !important; line-height:1.74 !important}
.hero-rating{display:flex; align-items:center; gap:12px; margin-top:22px; color:#456173; font-weight:760; flex-wrap:wrap}
.hero-rating .stars{font-size:.98rem; letter-spacing:.12em}
.hero-bullets{display:grid; gap:10px; margin-top:20px; max-width:620px}
.hero-bullet{display:flex; align-items:flex-start; gap:10px; color:#294153; line-height:1.55}
.hero-bullet svg{width:18px; height:18px; color:var(--blue-final,#0e63b6); margin-top:3px; flex:0 0 auto}
.hero-breathing .hero-actions{margin-top:34px !important}

.hero-choice .shell{margin-top:clamp(-64px,-4vw,-34px) !important}
.choice-board-toned{
  background:linear-gradient(135deg,#0f5c99 0%,#0d497b 62%,#0a355d 100%) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  box-shadow:0 28px 70px rgba(8,27,46,.16) !important;
  grid-template-columns:300px 1fr !important;
  gap:22px !important;
}
.choice-title{margin:0; color:#fff; font-size:clamp(1.5rem,2vw,2.05rem); letter-spacing:-.04em; line-height:1.02; font-weight:850}
.choice-board-toned .choice-intro p{color:rgba(236,246,255,.82) !important; margin-top:10px; max-width:27ch}
.choice-board-toned .choice-intro .eyebrow{color:#bdddf7 !important}
.choice-board-toned .choice-link{background:rgba(255,255,255,.96) !important; border-color:rgba(255,255,255,.1) !important; min-height:82px !important}
.choice-board-toned .choice-link:hover{background:#fff !important; transform:translateY(-3px) !important}
.choice-board-toned .choice-link strong{font-size:1rem !important}
.choice-board-toned .choice-link small{font-size:.76rem !important}
.choice-board-toned .choice-link .service-icon{background:rgba(14,99,182,.09) !important}

.trust-intro{
  background:linear-gradient(180deg,#ffffff 0%, #f7fbff 100%) !important;
}
.trust-intro-grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(32px,5vw,74px); align-items:start}
.trust-copy .h2{max-width:14ch !important}
.plain-points{display:grid; gap:13px; margin-top:28px}
.plain-point{display:flex; align-items:flex-start; gap:12px; color:#344b5d; line-height:1.62}
.plain-point svg{width:18px; height:18px; color:var(--blue-final,#0e63b6); margin-top:4px; flex:0 0 auto}
.signature-block{margin-top:28px; padding-top:22px; border-top:1px solid rgba(12,27,45,.1)}
.signature-block p{margin:0; font-size:1rem; line-height:1.72; color:#455f73; max-width:56ch}
.signature-meta{display:flex; flex-direction:column; gap:3px; margin-top:16px}
.signature-meta strong{font-weight:900; color:var(--ink)}
.signature-meta span{color:#678095; font-size:.94rem}
.trust-stage{
  background:linear-gradient(180deg,#ffffff 0%, #f4f9fd 100%);
  border:1px solid rgba(12,27,45,.08);
  border-radius:30px;
  padding:clamp(28px,3vw,38px);
  box-shadow:0 24px 56px rgba(10,37,64,.07);
}
.trust-stage-top{display:grid; gap:12px}
.trust-stage-top strong{font-size:clamp(1.26rem,1.55vw,1.7rem); letter-spacing:-.035em; line-height:1.18; color:var(--ink)}
.trust-stage-list{display:grid; gap:0; margin-top:24px; border-top:1px solid rgba(12,27,45,.08)}
.trust-stage-list div{display:grid; grid-template-columns:52px 1fr; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid rgba(12,27,45,.08)}
.trust-stage-list small{font-size:.76rem; color:var(--blue-final,#0e63b6); text-transform:uppercase; font-weight:900; letter-spacing:.12em}
.trust-stage-list span{color:#456173; font-weight:760}

.editorial-stage{background-position:center center !important}
.editorial-stage .copy-block{max-width:720px !important}
.editorial-stage .editorial-proof{margin-top:24px !important; align-items:flex-end !important}
.editorial-points{display:grid; gap:10px; margin-top:22px}
.editorial-point{display:flex; align-items:flex-start; gap:10px; color:rgba(241,247,252,.92); line-height:1.56}
.editorial-point svg{width:18px; height:18px; color:#ffffff; margin-top:3px; flex:0 0 auto}
.editorial-stage .stats-box{display:none !important}

.planner{background:#fff !important}
.planner-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr); gap:clamp(34px,5vw,76px); align-items:start}
.planner .h2{max-width:13.5ch !important}
.compact-points{margin-top:22px}
.calc-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(12,27,45,.08);
  border-radius:30px;
  padding:clamp(22px,2.5vw,34px);
  box-shadow:0 26px 60px rgba(10,37,64,.08);
}
.calc-card-head strong{display:block; font-size:clamp(1.15rem,1.5vw,1.45rem); font-weight:900; letter-spacing:-.03em; color:var(--ink)}
.calc-card-head p{margin:8px 0 0; color:#5e7486; line-height:1.62}
.calc-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px; margin-bottom:18px}
.calc-card .field label{font-size:.8rem; text-transform:none}
.calc-card .field select{min-height:54px; background:#fff}
.calc-result{
  margin-top:16px;
  padding:18px 20px;
  border-radius:20px;
  background:#eef6fc;
  color:#284257;
}
.calc-result strong{display:block; font-weight:900; color:var(--ink)}
.calc-result p{margin:8px 0 0; line-height:1.58}

/* better motion rhythm across homepage and subpages */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1)}
.reveal.in-view{opacity:1; transform:none}
.choice-link,.service-row,.pathway,.process-step,.dna-item,.city-tags a,.logo-row span,.feature,.calc-card,.form{transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease}
.service-row:hover,.process-step:hover,.pathway:hover,.calc-card:hover{transform:translateY(-2px)}

@media (min-width:1400px){
  .hero-breathing .hero-copy{max-width:760px !important}
  .hero-breathing .h1{font-size:clamp(3.1rem,4.1vw,4.75rem) !important}
  .hero-choice .shell{margin-top:-78px !important}
}
@media (max-width:1180px){
  .choice-board-toned{grid-template-columns:1fr !important}
  .trust-intro-grid,.planner-grid{grid-template-columns:1fr}
}
@media (max-width:980px){
  .hero-breathing{padding-top:122px !important; padding-bottom:98px !important; min-height:auto !important}
  .hero-breathing .h1{font-size:clamp(2.45rem,8vw,4rem) !important}
  .choice-links{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .calc-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hero-breathing{padding-top:114px !important; padding-bottom:72px !important; background-position:62% center !important}
  .hero-breathing .hero-copy{max-width:100% !important}
  .hero-breathing .h1{font-size:clamp(2.18rem,10.5vw,3.05rem) !important; max-width:12.2ch !important}
  .hero-rating{gap:8px; font-size:.92rem}
  .hero-bullets{gap:8px}
  .hero-choice .shell{margin-top:-16px !important}
  .choice-board-toned{padding:16px !important; border-radius:24px !important}
  .choice-links{grid-template-columns:1fr !important}
  .choice-title{font-size:1.34rem}
  .trust-stage,.calc-card{border-radius:24px}
  .editorial-stage .copy-block{padding:22px 18px !important}
}

/* v32 grid + cinematic system correction
   Ziel: weniger Baukasten, stärkere Bühne, einheitlicher Rand-/Grid-Rhythmus, weniger Aufzählungslook. */
:root{
  --edge-fluid:clamp(24px,7.4vw,168px);
  --edge-wide:clamp(24px,8.8vw,210px);
  --shell:min(calc(100% - (var(--edge-fluid) * 2)),1320px) !important;
  --shell-wide:min(calc(100% - (var(--edge-wide) * 2)),1480px) !important;
  --section-y:clamp(84px,8.5vw,152px) !important;
  --section-y-tight:clamp(48px,5.5vw,92px) !important;
  --blue-deep:#082f55;
  --blue-stage:#0c5f9d;
}
.shell,.shell-wide{width:var(--shell) !important;margin-inline:auto !important}
.shell-wide{width:var(--shell-wide) !important}
.section{padding-block:var(--section-y) !important}
.section-tight{padding-block:var(--section-y-tight) !important}

/* Cinematic hero: one stage, not stacked blocks */
.hero-cinematic{
  min-height:clamp(780px,96vh,1020px) !important;
  padding:clamp(118px,10vw,152px) 0 clamp(44px,5vw,68px) !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  background-image:
    linear-gradient(96deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 32%, rgba(255,255,255,.38) 58%, rgba(255,255,255,.05) 100%),
    linear-gradient(180deg, rgba(4,24,43,.10), rgba(4,24,43,.20)),
    url('../img/hero-service.webp') !important;
  background-size:cover !important;
  background-position:center right !important;
  background-attachment:fixed;
}
.hero-cinematic::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 19% 27%, rgba(18,111,190,.16), transparent 30%),
    linear-gradient(115deg, rgba(255,255,255,.20), transparent 52%),
    radial-gradient(circle at 78% 24%, rgba(255,255,255,.18), transparent 34%) !important;
  opacity:.95 !important;
  animation:heroDrift 18s cubic-bezier(.4,0,.2,1) infinite alternate !important;
  pointer-events:none !important;
}
.hero-cinematic::after{
  content:"" !important;
  position:absolute !important;
  inset:auto 0 0 !important;
  height:220px !important;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 86%) !important;
  pointer-events:none !important;
}
.hero-depth{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.34),transparent 60%),
    repeating-linear-gradient(90deg, rgba(14,99,182,.05) 0 1px, transparent 1px 120px);
  transform:translate3d(0,var(--parallax-y,0px),0);
  opacity:.42;
  mix-blend-mode:multiply;
  pointer-events:none;
}
@keyframes heroDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(0,-14px,0) scale(1.025)}}
.hero-cinematic .hero-inner{
  width:var(--shell-wide) !important;
  display:grid !important;
  grid-template-columns:minmax(0,680px) !important;
  align-content:end !important;
  gap:clamp(34px,4vw,58px) !important;
  z-index:2 !important;
}
.hero-cinematic .hero-copy{max-width:650px !important}
.hero-cinematic .eyebrow{font-size:.73rem !important;letter-spacing:.16em !important;color:#0e63b6 !important;margin-bottom:16px !important}
.hero-cinematic .h1{
  font-size:clamp(2.85rem,4.8vw,5.15rem) !important;
  line-height:.965 !important;
  letter-spacing:-.068em !important;
  max-width:10.8ch !important;
}
.hero-cinematic .accent{color:#0b67af !important}
.hero-cinematic .lead{
  max-width:52ch !important;
  margin-top:20px !important;
  font-size:clamp(1rem,.98vw,1.1rem) !important;
  line-height:1.68 !important;
  color:#3f586b !important;
}
.hero-cinematic .hero-actions{margin-top:28px !important;gap:12px !important}
.btn-ghost-light{background:rgba(255,255,255,.62);border-color:rgba(12,27,45,.12);color:#0a2540;backdrop-filter:blur(16px)}
.btn-ghost-light:hover{background:#fff;border-color:rgba(14,99,182,.24);color:#0e63b6}

.hero-choice-integrated{
  width:min(100%,1120px);
  border-radius:28px;
  padding:16px;
  background:linear-gradient(135deg,rgba(8,47,85,.92),rgba(12,95,157,.86));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 28px 76px rgba(8,27,46,.20);
  backdrop-filter:blur(16px);
}
.choice-kicker{display:flex;align-items:center;gap:12px;margin:0 0 12px 4px;color:#dceeff;font-size:.79rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.choice-kicker .stars{color:#f4bf32;font-size:.8rem;letter-spacing:.08em}
.choice-links-compact{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:8px !important}
.hero-choice-integrated .choice-link{
  min-height:76px !important;
  padding:12px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  grid-template-columns:38px 1fr 18px !important;
  gap:10px !important;
  box-shadow:none !important;
}
.hero-choice-integrated .choice-link:hover{
  transform:translateY(-3px) !important;
  background:#fff !important;
  border-color:rgba(255,255,255,.5) !important;
}
.hero-choice-integrated .service-icon{width:38px !important;height:38px !important;border-radius:13px !important;background:rgba(14,99,182,.085) !important}
.hero-choice-integrated .choice-link strong{font-size:.93rem !important;line-height:1.05 !important}
.hero-choice-integrated .choice-link small{font-size:.72rem !important;line-height:1.2 !important;margin-top:3px !important;color:#64748b !important}
.hero-choice-integrated .service-arrow{font-size:.96rem !important;color:#0e63b6 !important}
.hero-choice{display:none !important}

/* Alternating composition rhythm */
.section-centered .trust-copy{text-align:center;max-width:880px;margin-inline:auto}
.section-centered .trust-copy .h2{max-width:17ch !important;margin-inline:auto}
.section-centered .trust-copy .lead{margin-inline:auto;max-width:68ch !important}
.section-centered .plain-points{max-width:720px;margin-inline:auto;text-align:left}
.trust-intro-grid{grid-template-columns:1fr !important;gap:clamp(30px,4vw,58px) !important}
.trust-stage{max-width:920px;margin-inline:auto;box-shadow:none !important;background:linear-gradient(180deg,#f8fbff,#fff) !important}
.soft-list div{grid-template-columns:24px 1fr !important}
.soft-list svg{width:18px;height:18px;color:#0e63b6}
.soft-list small{display:none !important}

/* Editorial: leave air, not another checklist */
.editorial-stage{min-height:clamp(540px,54vw,760px) !important;display:flex;align-items:center;background-position:center !important}
.editorial-stage .split{display:block !important;width:var(--shell) !important;margin-inline:auto !important}
.editorial-stage .copy-block{
  max-width:min(650px,100%) !important;
  margin-left:auto !important;
  padding:clamp(28px,4vw,56px) !important;
  border-radius:30px !important;
  background:linear-gradient(180deg,rgba(6,31,55,.58),rgba(6,31,55,.42)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:none !important;
  backdrop-filter:blur(8px) !important;
}
.editorial-stage .h2{max-width:13.4ch !important}
.editorial-stage .lead{max-width:52ch !important}
.editorial-stage .editorial-proof{display:none !important}
.editorial-stage .photo-frame{display:none !important}

/* Remove numbered Baukasten feeling in process */
.process-clean{background:linear-gradient(180deg,#071f38,#0b2949) !important}
.process-clean .narrow{text-align:center;margin-inline:auto}
.process-clean .h2{max-width:16ch !important;margin-inline:auto}
.process-clean .lead{margin-inline:auto;max-width:62ch !important}
.process-clean .process-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:0 !important;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}
.process-clean .process-step{min-height:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;padding:34px 28px !important}
.process-clean .process-step + .process-step{border-left:1px solid rgba(255,255,255,.13) !important}
.process-clean .process-step::before{display:none !important}
.process-clean .process-step .pseudo-h3{color:#fff !important;margin:0 0 10px !important;font-size:1.18rem !important;letter-spacing:-.03em}
.process-clean .process-step p{margin:0 !important;color:#c6d7e7 !important;line-height:1.6 !important}

/* Global spacing refinements */
.section-top{display:grid !important;grid-template-columns:minmax(0,1fr) auto;align-items:end !important;gap:clamp(24px,4vw,72px) !important;margin-bottom:clamp(42px,5vw,78px) !important}
.services-intro > div{max-width:720px !important}
.service-row{grid-template-columns:54px minmax(180px,300px) 1fr 116px !important;padding:clamp(28px,3.2vw,44px) 0 !important}
.service-row:hover{background:transparent !important;transform:none !important}
.planner-grid{grid-template-columns:minmax(0,.86fr) minmax(340px,1.14fr) !important}
.calc-card{box-shadow:none !important;border-color:rgba(12,27,45,.09) !important}
.region-card,.form{box-shadow:none !important}

@media (min-width:1800px){
  :root{--edge-fluid:clamp(120px,10vw,240px);--edge-wide:clamp(130px,9.5vw,230px)}
  .hero-cinematic .h1{font-size:5.05rem !important}
  .hero-choice-integrated{width:min(100%,1180px)}
}
@media (max-width:1280px){
  .choice-links-compact{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .hero-cinematic .hero-inner{grid-template-columns:minmax(0,1fr) !important}
  .process-clean .process-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .process-clean .process-step:nth-child(odd){border-left:0 !important}
  .process-clean .process-step:nth-child(n+3){border-top:1px solid rgba(255,255,255,.13) !important}
}
@media (max-width:980px){
  :root{--edge-fluid:clamp(20px,5.8vw,48px);--edge-wide:clamp(20px,5.8vw,48px)}
  .hero-cinematic{background-attachment:scroll;min-height:auto !important;padding-top:124px !important;padding-bottom:44px !important}
  .hero-cinematic .h1{font-size:clamp(2.45rem,8.8vw,4rem) !important;max-width:11.2ch !important}
  .choice-links-compact{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .editorial-stage .copy-block{margin-left:0 !important}
  .planner-grid{grid-template-columns:1fr !important}
  .section-top{grid-template-columns:1fr !important}
  .service-row{grid-template-columns:42px 1fr !important;gap:16px !important}
  .service-row p,.service-row a{grid-column:2 !important}
}
@media (max-width:640px){
  :root{--edge-fluid:20px;--edge-wide:20px;--section-y:72px !important}
  .hero-cinematic{padding-top:112px !important;background-position:64% center !important}
  .hero-cinematic .h1{font-size:clamp(2.15rem,10.4vw,3.02rem) !important}
  .hero-cinematic .lead{font-size:.98rem !important;line-height:1.6 !important}
  .hero-cinematic .hero-actions{flex-direction:column;align-items:stretch !important}
  .hero-cinematic .btn{width:100%}
  .hero-choice-integrated{padding:12px;border-radius:22px}
  .choice-links-compact{grid-template-columns:1fr !important;gap:7px !important}
  .hero-choice-integrated .choice-link{min-height:66px !important}
  .section-centered .trust-copy{text-align:left}
  .section-centered .trust-copy .h2,.section-centered .trust-copy .lead{margin-inline:0}
  .process-clean .process-grid{grid-template-columns:1fr !important}
  .process-clean .process-step + .process-step{border-left:0 !important;border-top:1px solid rgba(255,255,255,.13) !important}
  .editorial-stage{min-height:0 !important;padding-block:72px !important}
  .editorial-stage .copy-block{padding:24px 20px !important;border-radius:24px !important}
  .calc-grid{grid-template-columns:1fr !important}
}

@media (prefers-reduced-motion:reduce){
  .hero-cinematic::before{animation:none !important}
  .hero-depth{transform:none !important}
}

/* v33 award-spacing-system: disciplined grid, cinematic hero, less component-baukasten */
:root{
  --edge-mobile:20px;
  --edge-tablet:clamp(28px,4.8vw,64px);
  --edge-desktop:clamp(72px,7.2vw,148px);
  --edge-xxl:clamp(128px,10vw,240px);
  --grid-max:1440px;
  --grid-reading:1120px;
  --grid-narrow:760px;
  --section-air:clamp(92px,8.6vw,168px);
  --section-air-tight:clamp(58px,5.2vw,100px);
  --section-air-wide:clamp(118px,10vw,196px);
}
.shell,
.shell-wide{
  width:min(calc(100% - (var(--edge-tablet) * 2)), var(--grid-max)) !important;
  margin-inline:auto !important;
}
.section{padding-block:var(--section-air) !important}
.section-tight{padding-block:var(--section-air-tight) !important}
.h1{font-size:clamp(2.8rem,4.05vw,4.75rem) !important;line-height:.98 !important;letter-spacing:-.062em !important}
.h2{font-size:clamp(2.1rem,3.1vw,3.95rem) !important;line-height:1.02 !important;letter-spacing:-.058em !important;max-width:15ch !important}
.lead{font-size:clamp(1rem,1.02vw,1.13rem) !important;line-height:1.74 !important;max-width:62ch !important}
.eyebrow{font-size:.72rem !important;letter-spacing:.15em !important;margin-bottom:16px !important}

@media (min-width:1200px){
  .shell,.shell-wide{width:min(calc(100% - (var(--edge-desktop) * 2)), var(--grid-max)) !important}
}
@media (min-width:1800px){
  .shell,.shell-wide{width:min(calc(100% - (var(--edge-xxl) * 2)), 1500px) !important}
  .section{padding-block:clamp(126px,8vw,190px) !important}
}
@media (max-width:760px){
  .shell,.shell-wide{width:calc(100% - (var(--edge-mobile) * 2)) !important}
  .section{padding-block:72px !important}
  .section-tight{padding-block:46px !important}
}

/* Hero: fewer objects, more cinematic negative space */
.hero-cinematic{
  min-height:clamp(760px,92vh,960px) !important;
  padding:clamp(138px,12vh,172px) 0 clamp(66px,8vh,100px) !important;
  align-items:center !important;
  background-image:
    linear-gradient(90deg,rgba(3,18,31,.33),rgba(3,18,31,.06) 44%,rgba(3,18,31,.40) 100%),
    linear-gradient(98deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 31%,rgba(255,255,255,.45) 58%,rgba(255,255,255,.06) 100%),
    url('../img/hero-service.webp') !important;
  background-position:center right !important;
  background-size:cover !important;
}
.hero-cinematic::before{
  background:
    radial-gradient(circle at 18% 26%,rgba(14,99,182,.13),transparent 31%),
    linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.62) 100%) !important;
  opacity:.95 !important;
}
.hero-depth{opacity:.58 !important;filter:blur(.2px)}
.hero-cinematic .hero-inner{
  width:min(calc(100% - (var(--edge-tablet) * 2)), var(--grid-max)) !important;
  display:grid !important;
  grid-template-columns:minmax(0, min(640px, 48vw)) minmax(360px, 520px) !important;
  gap:clamp(58px,8vw,130px) !important;
  align-items:end !important;
}
.hero-cinematic .hero-copy{max-width:640px !important;padding-bottom:clamp(72px,8vh,118px) !important}
.hero-cinematic .h1{max-width:10.8ch !important;font-size:clamp(3.05rem,4.25vw,4.95rem) !important}
.hero-cinematic .hero-lead-refined{max-width:46ch !important;margin-top:18px !important;color:#42586a !important}
.hero-actions{gap:20px !important;margin-top:30px !important}
.hero-text-link{display:inline-flex;align-items:center;color:#183047;font-weight:900;text-decoration:none;border-bottom:1px solid rgba(24,48,71,.22);padding-bottom:4px;transition:color .25s ease,border-color .25s ease,transform .25s ease}
.hero-text-link:hover{color:var(--blue-final,#0e63b6);border-color:rgba(14,99,182,.45);transform:translateX(3px)}
.btn{border-radius:16px !important;min-height:50px !important;padding-inline:22px !important}
.btn-primary{box-shadow:0 18px 42px rgba(14,99,182,.18) !important}

/* Hero integrated choice: rail, not a box section */
.hero-choice-integrated{
  align-self:end !important;
  width:100% !important;
  max-width:520px !important;
  background:linear-gradient(150deg,rgba(8,40,68,.88),rgba(9,67,111,.82)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:28px !important;
  padding:16px !important;
  box-shadow:0 30px 70px rgba(5,23,40,.20) !important;
  backdrop-filter:blur(18px) !important;
}
.choice-kicker{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px;color:rgba(235,247,255,.78);text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.7rem}
.choice-links-compact{display:grid !important;grid-template-columns:1fr !important;gap:6px !important}
.choice-links-compact .choice-link{
  min-height:58px !important;
  grid-template-columns:36px 1fr 18px !important;
  padding:9px 12px !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}
.choice-links-compact .choice-link:hover{transform:translateX(4px) !important;background:#fff !important;border-color:rgba(255,255,255,.2) !important}
.choice-links-compact .service-icon{width:36px !important;height:36px !important;border-radius:12px !important}
.choice-links-compact .choice-link strong{font-size:.94rem !important;line-height:1 !important}
.choice-links-compact .choice-link small{display:none !important}
.choice-links-compact .service-arrow{font-size:.95rem !important;opacity:.65 !important}

/* Section rhythm: alternate composition, not left-left-left */
.section-centered .trust-copy{text-align:center;margin-inline:auto;grid-column:1/-1;max-width:850px !important}
.section-centered .trust-copy .h2,.section-centered .trust-copy .lead{margin-inline:auto !important}
.section-centered .plain-points{grid-template-columns:repeat(3,1fr);max-width:960px;margin-inline:auto;gap:28px;text-align:left}
.section-centered .trust-stage{display:none !important}
.signature-block{max-width:620px;margin-inline:auto !important;text-align:left}
.trust-intro-grid{display:block !important}
.trust-intro{padding-top:var(--section-air-wide) !important}

.section-right-text .split{grid-template-columns:1.15fr .85fr !important;align-items:center !important;gap:clamp(64px,7vw,120px) !important}
.section-right-text .copy-block{grid-column:2;text-align:right;justify-self:end;max-width:560px !important;padding:clamp(32px,4vw,60px) !important}
.section-right-text .copy-block .h2,.section-right-text .copy-block .lead{margin-left:auto !important}
.section-right-text .photo-frame{grid-column:1;grid-row:1;min-height:clamp(520px,42vw,680px) !important}
.minimal-link{display:inline-flex;margin-top:26px;color:#fff;font-weight:900;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:5px}
.editorial-stage .editorial-proof,.editorial-stage .stats-box,.editorial-points{display:none !important}
.editorial-stage .lead{max-width:48ch !important}

/* Planner has purpose, but must breathe */
.planner-grid{grid-template-columns:minmax(0, .72fr) minmax(420px, .92fr) !important;gap:clamp(74px,8vw,136px) !important;align-items:center !important}
.planner .calc-copy{max-width:560px !important}
.calc-card{box-shadow:none !important;border-radius:28px !important;padding:clamp(28px,3vw,42px) !important}
.calc-grid{gap:18px !important;margin-block:26px 22px !important}
.calc-result{border-radius:18px !important}

/* Services: wider grid with serious row rhythm */
.services .section-top{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;align-items:end !important;margin-bottom:clamp(52px,5.2vw,84px) !important}
.service-lines{border-top:1px solid rgba(12,27,45,.10) !important}
.service-row{grid-template-columns:48px minmax(220px,320px) minmax(320px,1fr) auto !important;padding:clamp(32px,3.3vw,48px) 0 !important;gap:clamp(28px,4vw,68px) !important;border-bottom:1px solid rgba(12,27,45,.10) !important;box-shadow:none !important}
.service-row:hover{transform:none !important;background:linear-gradient(90deg,rgba(14,99,182,.035),transparent 58%) !important}

/* Process: no huge numbers, more spatial calm */
.process-clean{background:linear-gradient(180deg,#071f38,#0a2540) !important}
.process-clean .process-intro{max-width:820px !important;margin-inline:auto !important;text-align:center !important}
.process-clean .process-intro .h2,.process-clean .process-intro .lead{margin-inline:auto !important;max-width:18ch !important}
.process-clean .process-intro .lead{max-width:64ch !important}
.process-clean .process-grid{grid-template-columns:repeat(4,1fr) !important;gap:clamp(16px,2vw,26px) !important;margin-top:clamp(46px,5vw,72px) !important}
.process-clean .process-step{min-height:250px !important;border-radius:26px !important;padding:30px 26px !important;background:rgba(255,255,255,.045) !important;box-shadow:none !important}
.process-clean .process-step::before{display:none !important}
.process-clean .process-step .pseudo-h3{margin-top:0 !important;color:#fff !important;font-size:1.24rem !important}
.process-clean .process-step p{margin-top:88px !important;color:#c8d9e8 !important}

/* Clean DNA: icons instead of serial-number component */
.dna-grid{grid-template-columns:minmax(0,.82fr) minmax(420px,1fr) !important;gap:clamp(68px,8vw,128px) !important;align-items:center !important}
.dna-no{border-radius:16px !important;background:#eef6fc !important}
.dna-no svg{width:20px;height:20px;color:var(--blue-final,#0e63b6)}
.dna-list{border-color:rgba(12,27,45,.1) !important}
.dna-item{padding:clamp(24px,2.4vw,34px) 0 !important;grid-template-columns:58px 1fr !important}

/* Region/contact: stronger grid containment */
.region-card{border-radius:32px !important;box-shadow:none !important}
.contact-wrap{grid-template-columns:minmax(0,.74fr) minmax(460px,1fr) !important;gap:clamp(72px,8vw,140px) !important}
.form{box-shadow:none !important;border-radius:28px !important}
.logo-row{box-shadow:none !important}

@media (min-width:1200px){
  .hero-cinematic .hero-inner{width:min(calc(100% - (var(--edge-desktop) * 2)), var(--grid-max)) !important}
}
@media (min-width:1800px){
  .hero-cinematic .hero-inner{width:min(calc(100% - (var(--edge-xxl) * 2)), 1500px) !important}
  .hero-cinematic{min-height:940px !important}
}
@media (max-width:1180px){
  .hero-cinematic .hero-inner{grid-template-columns:1fr !important;align-items:start !important;gap:36px !important}
  .hero-cinematic .hero-copy{padding-bottom:0 !important;max-width:620px !important}
  .hero-choice-integrated{max-width:720px !important}
  .section-centered .plain-points{grid-template-columns:1fr !important;max-width:660px}
  .section-right-text .split,.planner-grid,.dna-grid,.contact-wrap{grid-template-columns:1fr !important;gap:44px !important}
  .section-right-text .copy-block{grid-column:auto;text-align:left;justify-self:start;padding:28px !important}
  .section-right-text .copy-block .h2,.section-right-text .copy-block .lead{margin-left:0 !important}
  .section-right-text .photo-frame{grid-column:auto;grid-row:auto}
  .process-clean .process-grid{grid-template-columns:repeat(2,1fr) !important}
  .service-row{grid-template-columns:46px 1fr !important}
  .service-row p,.service-row a{grid-column:2 !important}
}
@media (max-width:760px){
  .hero-cinematic{min-height:auto !important;padding:116px 0 48px !important;background-position:62% center !important}
  .hero-cinematic .hero-inner{width:calc(100% - 40px) !important;gap:28px !important}
  .hero-cinematic .h1{font-size:clamp(2.25rem,11vw,3.12rem) !important;max-width:11.5ch !important}
  .hero-cinematic .hero-lead-refined{font-size:.98rem !important;line-height:1.62 !important;max-width:34ch !important}
  .hero-actions{gap:14px !important;margin-top:24px !important}
  .hero-choice-integrated{border-radius:22px !important;padding:12px !important;background:rgba(8,40,68,.90) !important}
  .choice-links-compact .choice-link{min-height:56px !important}
  .section-right-text .copy-block{padding:22px !important;border-radius:22px !important}
  .calc-grid{grid-template-columns:1fr !important}
  .process-clean .process-grid{grid-template-columns:1fr !important}
  .process-clean .process-step p{margin-top:42px !important}
  .services .section-top{grid-template-columns:1fr !important;gap:20px !important}
}


/* V38 global navigation + subpage refinement */
:root{
  --nav-float-top:14px;
  --nav-height-final:72px;
  --nav-safe-final:104px;
}
.site-header{
  background:transparent !important;
  border-bottom:0 !important;
  backdrop-filter:none !important;
  pointer-events:none;
  padding-top:var(--nav-float-top);
}
.site-header .nav{
  pointer-events:auto;
  height:var(--nav-height-final) !important;
  width:min(100% - clamp(28px,6vw,112px), 1500px) !important;
  padding:0 14px 0 18px;
  border-radius:24px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(12,27,45,.075);
  box-shadow:0 18px 58px rgba(7,31,52,.085);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.site-header .brand{min-height:0 !important;padding-block:0 !important}
.site-header .brand-logo-img{height:clamp(36px,2.6vw,48px) !important;max-width:198px !important}
.nav-links{
  padding:5px;
  border-radius:18px;
  background:rgba(237,245,251,.58);
  gap:2px !important;
}
.nav-link{
  padding:10px 12px !important;
  border-radius:14px !important;
  font-size:.91rem !important;
}
.nav-link::after{display:none !important}
.nav-link:hover,.nav-link.active{
  background:#fff;
  color:#0b5a83;
}
.nav-cta{gap:8px !important}
.nav-cta .btn,
.phone-pill{
  height:42px !important;
  border-radius:15px !important;
  padding-inline:15px !important;
}
.phone-pill{background:#0a2540;color:#fff}
.menu-toggle{
  width:44px;
  height:44px;
  border-radius:15px;
  border:1px solid rgba(12,27,45,.09);
  background:#fff;
}
.mega{
  pointer-events:auto;
  top:calc(var(--nav-float-top) + var(--nav-height-final) + 10px) !important;
  border-radius:24px !important;
  box-shadow:0 24px 72px rgba(7,31,52,.12) !important;
}
.mobile-panel{
  pointer-events:auto;
  inset:calc(var(--nav-float-top) + var(--nav-height-final) + 10px) clamp(14px,4vw,24px) auto clamp(14px,4vw,24px) !important;
  border-radius:24px !important;
}

/* Subpages: account for floating nav and make spacing more consistent */
.sub-hero{
  padding-top:calc(var(--nav-safe-final) + 56px) !important;
}
.service-hero{
  min-height:clamp(520px,62vh,700px);
}
.service-proof{
  padding-top:clamp(46px,4vw,70px) !important;
}
.service-story,
.service-scope,
.calc-section,
.faq,
.contact.section{
  padding-top:clamp(78px,7vw,118px) !important;
  padding-bottom:clamp(78px,7vw,118px) !important;
}
.proof-strip,
.scope-grid,
.faq-list,
.calc-wrap,
.contact-wrap{
  gap:clamp(18px,2vw,28px) !important;
}
.scope-card,
.proof-item,
.faq-item,
.calc-card,
.form{
  border-radius:26px !important;
}
@media (max-width:1120px){
  :root{--nav-float-top:10px;--nav-height-final:68px;--nav-safe-final:92px}
  .site-header .nav{
    width:min(100% - 24px, 1500px) !important;
    border-radius:22px;
    padding:0 12px 0 14px;
  }
  .sub-hero{padding-top:calc(var(--nav-safe-final) + 42px) !important}
}
@media (max-width:720px){
  :root{--nav-float-top:8px;--nav-height-final:64px;--nav-safe-final:82px}
  .site-header .nav{
    width:min(100% - 20px, 1500px) !important;
    border-radius:20px;
  }
  .site-header .brand-logo-img{height:34px !important;max-width:152px !important}
  .sub-hero{padding-top:calc(var(--nav-safe-final) + 34px) !important}
  .service-story,
  .service-scope,
  .calc-section,
  .faq,
  .contact.section{
    padding-top:72px !important;
    padding-bottom:72px !important;
  }
}


/* V39 global nav: no floating box, softer native header */
.site-header{
  background:rgba(255,255,255,.84) !important;
  border-bottom:1px solid rgba(12,27,45,.065) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
  pointer-events:auto !important;
  padding-top:0 !important;
}
.site-header .nav{
  height:76px !important;
  width:min(100% - clamp(26px,5.8vw,112px), 1520px) !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.nav-links{
  padding:5px !important;
  border-radius:18px !important;
  background:rgba(237,245,251,.72) !important;
  gap:2px !important;
}
.nav-link{
  border-radius:14px !important;
  padding:10px 13px !important;
}
.nav-link:hover,.nav-link.active{
  background:#fff !important;
  color:#0b5a83 !important;
}
.nav-cta .btn,
.phone-pill{
  height:42px !important;
  border-radius:15px !important;
}
.mega{
  top:86px !important;
  border-radius:24px !important;
}
.mobile-panel{
  inset:86px clamp(14px,4vw,24px) auto clamp(14px,4vw,24px) !important;
}
@media (max-width:1120px){
  .site-header .nav{height:70px !important;width:min(100% - 24px,1520px) !important}
  .mega{top:80px !important}
  .mobile-panel{inset:80px 14px auto 14px !important}
}
@media (max-width:720px){
  .site-header .nav{height:66px !important;width:min(100% - 20px,1520px) !important}
  .mega{top:76px !important}
  .mobile-panel{inset:76px 10px auto 10px !important}
}


/* V43 unified DNA: premium business system with minimal orange accent */
:root{
  --dna-ink:#101820;
  --dna-text:#465866;
  --dna-blue:#0b5a83;
  --dna-deep:#062e49;
  --dna-ice:#f4f9fd;
  --dna-line:rgba(16,24,32,.075);
  --dna-orange:#f97316;
  --dna-orange-soft:rgba(249,115,22,.10);
  --dna-shadow:0 20px 58px rgba(6,46,73,.065);
}
.btn,
.h35-btn,
button,
.phone-pill{
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
}
.btn-primary,
.h35-btn-primary{
  background:var(--dna-blue) !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(11,90,131,.16) !important;
}
.btn-primary:hover,
.h35-btn-primary:hover{
  background:#08466a !important;
  transform:translateY(-2px);
}
.btn-primary::after,
.h35-btn-primary::after{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--dna-orange);
  margin-left:2px;
}
.btn-soft,
.h35-btn-link{
  border-color:rgba(16,24,32,.14) !important;
}
.phone-pill{
  background:var(--dna-deep) !important;
  color:#fff !important;
}
.phone-pill::before{
  color:var(--dna-orange);
}
.eyebrow,
.h35-eyebrow{
  color:var(--dna-blue) !important;
}
.accent{
  color:var(--dna-blue) !important;
}
.service-hero .accent,
.sub-hero .accent{
  color:var(--dna-orange) !important;
}
.nav-link:hover,
.nav-link.active{
  color:var(--dna-blue) !important;
}
.nav-link.active{
  box-shadow:inset 0 -2px 0 var(--dna-orange);
}
.mega-item:hover,
.mobile-panel a:hover{
  background:var(--dna-ice) !important;
}
.sub-hero{
  background:
    radial-gradient(circle at 86% 18%, rgba(11,90,131,.08), transparent 32%),
    linear-gradient(180deg,#f7fbff 0%,#ffffff 100%) !important;
}
.sub-hero .h1{
  color:var(--dna-ink) !important;
}
.sub-hero .lead{
  color:var(--dna-text) !important;
}
.proof-strip,
.scope-card,
.calc-card,
.faq-item,
.form{
  border-color:var(--dna-line) !important;
  box-shadow:none !important;
}
.proof-strip,
.calc-card,
.form{
  box-shadow:var(--dna-shadow) !important;
}
.proof-item strong,
.scope-card strong,
.faq-item strong,
.calc-card strong{
  color:var(--dna-ink);
}
.scope-card:hover,
.faq-item:hover,
.proof-item:hover{
  border-color:rgba(11,90,131,.18) !important;
}
.calc-section{
  background:
    radial-gradient(circle at 14% 10%, rgba(11,90,131,.055), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 100%) !important;
}
.faq{
  background:#fff !important;
}
.contact.section{
  background:
    linear-gradient(180deg,#f7fbff 0%,#ffffff 100%) !important;
}
.field input:focus,
.field select:focus,
.field textarea:focus,
.h35-form input:focus,
.h35-form select:focus,
.h35-form textarea:focus{
  border-color:rgba(249,115,22,.42) !important;
  box-shadow:0 0 0 4px rgba(249,115,22,.08) !important;
}
@media (max-width:720px){
  .btn-primary::after,
  .h35-btn-primary::after{display:none}
}


/* V44 clean business DNA pass */
:root{
  --v44-ink:#0f1720;
  --v44-text:#435361;
  --v44-blue:#0b5a83;
  --v44-deep:#062e49;
  --v44-ice:#f6fbff;
  --v44-line:rgba(15,23,32,.072);
  --v44-orange:#f97316;
}

/* Unify radii and surface behavior across home + service pages */
.sub-card,
.proof-strip,
.proof-item,
.scope-card,
.calc-card,
.faq-item,
.form,
.photo-frame{
  border-radius:24px !important;
}
.proof-strip,
.scope-card,
.calc-card,
.faq-item,
.form,
.sub-card{
  border-color:var(--v44-line) !important;
}
.sub-card,
.calc-card,
.form{
  background:linear-gradient(180deg,#fff,#f8fcff) !important;
  box-shadow:0 18px 54px rgba(6,46,73,.055) !important;
}
.proof-strip{
  background:linear-gradient(135deg,#fff,#f7fbff) !important;
}

/* Reduce mixed decorative behavior */
.scope-card strong{
  letter-spacing:-.02em;
}
.scope-card strong,
.proof-item strong,
.faq-item strong{
  color:var(--v44-ink) !important;
}
.benefit-list li::marker,
.calc-points li::marker{
  color:var(--v44-orange);
}
.sub-hero .hero-actions{
  gap:12px !important;
}
.sub-hero .btn-primary,
.contact.section .btn-primary,
.calc-card .btn-primary{
  background:var(--v44-blue) !important;
  box-shadow:0 14px 34px rgba(11,90,131,.14) !important;
}
.sub-hero .btn-primary:hover,
.contact.section .btn-primary:hover,
.calc-card .btn-primary:hover{
  background:#08496d !important;
}
.sub-hero .btn-soft{
  background:#fff !important;
  border-color:var(--v44-line) !important;
}
.sub-card svg{
  color:var(--v44-blue) !important;
}
.section-top .btn-soft{
  background:#fff !important;
}

/* More consistent subpage hero composition */
.service-hero-layout{
  gap:clamp(34px,5vw,86px) !important;
}
.sub-hero .h1{
  max-width:13ch !important;
}
.service-story .split{
  gap:clamp(42px,6vw,96px) !important;
}
.service-story .photo-frame{
  box-shadow:0 20px 58px rgba(6,46,73,.065) !important;
}
@media (max-width:720px){
  .sub-card,
  .proof-strip,
  .scope-card,
  .calc-card,
  .faq-item,
  .form,
  .photo-frame{
    border-radius:20px !important;
  }
}


/* V45 sanitary business additions */
.h45-sani-cases,
.h45-sani-effort{
  background:linear-gradient(180deg,#fff,#f7fbff);
}
.h45-case-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.6vw,22px);
}
.h45-case-card{
  min-height:210px;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,32,.075);
}
.h45-case-card strong{
  display:block;
  color:#0f1720;
  font-weight:900;
  letter-spacing:-.02em;
}
.h45-case-card p{
  margin:10px 0 0;
  color:#465866;
  line-height:1.62;
}
.h45-effort-mini{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:26px;
  background:linear-gradient(180deg,#fff,#f8fcff);
  border:1px solid rgba(15,23,32,.075);
  box-shadow:0 18px 54px rgba(6,46,73,.055);
}
.h45-effort-mini div{
  padding:18px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(15,23,32,.06);
}
.h45-effort-mini strong{
  display:block;
  color:#0f1720;
}
.h45-effort-mini span{
  display:block;
  margin-top:7px;
  color:#465866;
}
@media(max-width:980px){
  .h45-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .h45-case-grid{grid-template-columns:1fr}
}


/* V46 CTA + service page final polish */
.service-hero .hero-actions .btn-primary,
.contact.section .btn-primary,
.calc-card .btn-primary{
  position:relative;
  overflow:hidden;
}
.service-hero .hero-actions .btn-primary::after,
.contact.section .btn-primary::after,
.calc-card .btn-primary::after{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--v44-orange,#f97316);
  margin-left:4px;
}
.contact.section .form{
  position:relative;
  overflow:hidden;
}
.contact.section .form::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--v44-blue,#0b5a83),var(--v44-orange,#f97316));
}
.service-proof + .service-story{
  padding-top:clamp(82px,7vw,118px) !important;
}
.h45-sani-cases .section-top,
.h45-sani-effort .copy-block{
  max-width:900px;
}


/* V47 Sanitär Landingpage Final */
.sani-landing-hero{
  background:
    radial-gradient(circle at 84% 14%, rgba(11,90,131,.08), transparent 32%),
    linear-gradient(180deg,#f7fbff 0%,#ffffff 100%) !important;
}
.sani-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:clamp(36px,6vw,96px);
  align-items:center;
}
.sani-hero-copy .h1{
  max-width:12.6ch !important;
}
.sani-hero-card{
  padding:clamp(26px,3.2vw,42px);
  border-radius:28px;
  background:
    radial-gradient(circle at 86% 10%, rgba(249,115,22,.09), transparent 28%),
    linear-gradient(180deg,#fff,#f7fbff);
  border:1px solid rgba(15,23,32,.075);
  box-shadow:0 22px 62px rgba(6,46,73,.065);
}
.sani-card-top{
  display:flex;
  align-items:center;
  gap:10px;
  color:#0b5a83;
  font-weight:900;
  margin-bottom:32px;
}
.sani-card-top svg{width:25px;height:25px;color:#f97316}
.sani-hero-card h2{
  margin:0;
  font-size:clamp(1.65rem,2.1vw,2.45rem);
  line-height:1.04;
  letter-spacing:-.05em;
  color:#0f1720;
}
.sani-hero-card p{
  margin:16px 0 0;
  color:#465866;
  line-height:1.66;
}
.sani-mini-proof{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
}
.sani-mini-proof span{
  padding:9px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,32,.075);
  font-weight:800;
  color:#465866;
}
.sani-signal-strip{
  background:#fff;
}
.sani-signals{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(15,23,32,.075);
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 16px 46px rgba(6,46,73,.045);
}
.sani-signals div{
  padding:clamp(20px,2vw,28px);
  border-right:1px solid rgba(15,23,32,.06);
}
.sani-signals div:last-child{border-right:0}
.sani-signals strong{
  display:block;
  color:#0f1720;
  font-weight:900;
}
.sani-signals span{
  display:block;
  margin-top:8px;
  color:#465866;
  line-height:1.56;
}
.sani-problem-stage{
  background:
    radial-gradient(circle at 84% 8%, rgba(11,90,131,.07), transparent 32%),
    linear-gradient(180deg,#fff,#f7fbff);
}
.sani-problem-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.5vw,22px);
}
.sani-problem-card{
  min-height:260px;
  padding:clamp(24px,2.5vw,34px);
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(15,23,32,.075);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 14px 40px rgba(6,46,73,.035);
}
.sani-problem-card svg{
  width:28px;
  height:28px;
  color:#0b5a83;
  margin-bottom:auto;
}
.sani-problem-card strong{
  display:block;
  margin-top:34px;
  color:#0f1720;
  font-size:clamp(1.15rem,1.35vw,1.45rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.sani-problem-card p{
  margin:12px 0 0;
  color:#465866;
  line-height:1.62;
}
.sani-problem-card-dark{
  background:linear-gradient(135deg,#062e49,#0b5a83);
  color:#fff;
}
.sani-problem-card-dark svg{color:#f97316}
.sani-problem-card-dark strong{color:#fff}
.sani-problem-card-dark p{color:rgba(238,248,255,.82)}
.sani-method{
  background:#fff;
}
.sani-method-grid{
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);
  gap:clamp(38px,6vw,98px);
  align-items:center;
}
.sani-method-image{
  min-height:clamp(390px,40vw,620px);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 22px 62px rgba(6,46,73,.065);
}
.sani-method-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(.98);
}
.sani-method-list{
  display:grid;
  gap:12px;
  margin-top:30px;
}
.sani-method-list div{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid rgba(15,23,32,.075);
}
.sani-method-list strong{
  color:#f97316;
  font-size:.9rem;
  letter-spacing:.08em;
}
.sani-method-list span{
  color:#465866;
  font-weight:780;
}
.sani-scope{
  background:linear-gradient(180deg,#fff,#f7fbff);
}
.sani-scope-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.5vw,22px);
}
.sani-scope-card{
  min-height:260px;
  padding:clamp(24px,2.4vw,34px);
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(15,23,32,.075);
}
.sani-scope-card span{
  display:inline-flex;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(11,90,131,.075);
  color:#0b5a83;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.sani-scope-card strong{
  display:block;
  margin-top:28px;
  color:#0f1720;
  font-size:clamp(1.35rem,1.65vw,1.8rem);
  line-height:1.08;
  letter-spacing:-.04em;
}
.sani-scope-card p{
  margin:12px 0 0;
  color:#465866;
  line-height:1.62;
}
.sani-effort{
  background:#fff;
}
.sani-effort-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(36px,6vw,92px);
  align-items:start;
}
.sani-effort-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.sani-effort-panel div{
  min-height:150px;
  padding:24px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f8fcff);
  border:1px solid rgba(15,23,32,.075);
}
.sani-effort-panel strong{
  display:block;
  color:#0f1720;
}
.sani-effort-panel span{
  display:block;
  margin-top:9px;
  color:#465866;
  line-height:1.58;
}
.sani-check{
  background:linear-gradient(180deg,#fff,#f7fbff) !important;
}
.sani-faq{
  background:#fff !important;
}
.sani-contact{
  background:linear-gradient(180deg,#f7fbff,#fff) !important;
}
.sani-contact-note{
  margin-top:24px;
  padding:18px 20px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(15,23,32,.075);
  color:#465866;
}
.sani-contact-note strong{color:#0f1720}
.sani-contact .form{
  box-shadow:0 20px 58px rgba(6,46,73,.06) !important;
}
@media(max-width:1020px){
  .sani-hero-grid,
  .sani-method-grid,
  .sani-effort-grid{
    grid-template-columns:1fr;
  }
  .sani-problem-grid,
  .sani-scope-grid,
  .sani-effort-panel{
    grid-template-columns:1fr 1fr;
  }
  .sani-signals{
    grid-template-columns:1fr;
  }
  .sani-signals div{
    border-right:0;
    border-bottom:1px solid rgba(15,23,32,.06);
  }
  .sani-signals div:last-child{border-bottom:0}
}
@media(max-width:680px){
  .sani-problem-grid,
  .sani-scope-grid,
  .sani-effort-panel{
    grid-template-columns:1fr;
  }
  .sani-hero-card,
  .sani-problem-card,
  .sani-scope-card,
  .sani-effort-panel div{
    border-radius:22px;
  }
  .sani-method-image{
    min-height:300px;
    border-radius:22px;
  }
}


/* V48 Sanitär UI Polish: stronger integration, better overlays, fixed CTA rhythm */
.sani-landing-hero{
  position:relative;
  overflow:hidden;
}
.sani-landing-hero::before{
  content:"";
  position:absolute;
  inset:clamp(94px,8vw,132px) clamp(20px,6vw,112px) clamp(22px,4vw,58px);
  border-radius:34px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 48%,rgba(255,255,255,.18) 100%),
    radial-gradient(circle at 84% 20%,rgba(11,90,131,.13),transparent 32%),
    url('../img/van-team.webp') center right/cover;
  z-index:0;
  box-shadow:0 26px 76px rgba(6,46,73,.075);
}
.sani-landing-hero > .shell{
  position:relative;
  z-index:1;
}
.sani-hero-card{
  backdrop-filter:blur(10px);
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,251,255,.90)) !important;
}
.sani-signal-strip{
  padding-top:clamp(42px,4vw,68px) !important;
}
.sani-problem-stage{
  position:relative;
  background:
    radial-gradient(circle at 12% 18%,rgba(11,90,131,.055),transparent 32%),
    linear-gradient(180deg,#fff 0%,#f7fbff 100%) !important;
}
.sani-problem-card{
  position:relative;
  overflow:hidden;
  min-height:245px !important;
  box-shadow:none !important;
}
.sani-problem-card::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-52px;
  width:140px;
  height:140px;
  border-radius:999px;
  background:rgba(11,90,131,.045);
  pointer-events:none;
}
.sani-problem-card svg,
.sani-problem-card strong,
.sani-problem-card p{
  position:relative;
  z-index:1;
}
.sani-problem-card:hover{
  border-color:rgba(11,90,131,.20) !important;
  transform:translateY(-2px);
  transition:transform .22s ease,border-color .22s ease;
}
.sani-problem-card-dark::after{
  background:rgba(255,255,255,.08);
}
.sani-action-band{
  background:linear-gradient(180deg,#f7fbff,#fff);
}
.sani-action-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(24px,4vw,64px);
  align-items:center;
  padding:clamp(28px,4vw,48px);
  border-radius:28px;
  background:
    radial-gradient(circle at 90% 18%,rgba(249,115,22,.08),transparent 24%),
    linear-gradient(135deg,#062e49,#0b5a83);
  color:#fff;
  box-shadow:0 22px 64px rgba(6,46,73,.11);
}
.sani-action-inner .eyebrow{
  color:rgba(235,247,255,.86) !important;
}
.sani-action-inner h2{
  margin:0;
  max-width:700px;
  font-size:clamp(1.65rem,2.35vw,2.65rem);
  line-height:1.04;
  letter-spacing:-.05em;
  color:#fff;
}
.sani-action-inner p{
  max-width:640px;
  margin:12px 0 0;
  color:rgba(238,248,255,.78);
  line-height:1.62;
}
.sani-action-buttons{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.sani-action-buttons .btn-primary{
  background:#f97316 !important;
  box-shadow:none !important;
}
.sani-action-buttons .btn-soft{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
}
.sani-method{
  padding-top:clamp(86px,8vw,132px) !important;
}
.sani-method-image{
  position:relative;
}
.sani-method-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(6,46,73,.02),rgba(6,46,73,.20)),
    radial-gradient(circle at 78% 16%,rgba(249,115,22,.10),transparent 24%);
  pointer-events:none;
}
.sani-scope-card{
  position:relative;
  overflow:hidden;
}
.sani-scope-card::after{
  content:"";
  position:absolute;
  right:-38px;
  top:-38px;
  width:118px;
  height:118px;
  border-radius:999px;
  background:rgba(249,115,22,.045);
}
.sani-scope-card > *{
  position:relative;
  z-index:1;
}
.sani-effort-panel div{
  position:relative;
  overflow:hidden;
}
.sani-effort-panel div::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#0b5a83;
  opacity:.72;
}
.sani-effort-panel div:first-child::before{
  background:#f97316;
}
.sani-contact .btn-primary{
  background:#0b5a83 !important;
}
.sani-contact .btn-primary:hover{
  background:#08496d !important;
}
.sani-contact-note{
  border-color:rgba(249,115,22,.16) !important;
}
@media(max-width:1020px){
  .sani-landing-hero::before{
    inset:82px 12px 18px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.82)),
      url('../img/van-team.webp') center/cover;
  }
  .sani-action-inner{
    grid-template-columns:1fr;
  }
  .sani-action-buttons{
    justify-content:flex-start;
  }
}
@media(max-width:680px){
  .sani-landing-hero::before{
    border-radius:24px;
  }
  .sani-action-inner{
    border-radius:22px;
    padding:26px 20px;
  }
  .sani-action-buttons .btn{
    width:100%;
  }
}


/* V49 UX/CSS System Pass — award-level services + calmer forms */

/* Remove old service-stage remnants on home when V49 services are present */
.home-v46 .h40-service-stage,
.home-v46 .h39-service-slider{
  display:none !important;
}

/* Services: controlled Swiper experience */
.h49-services{
  background:
    radial-gradient(circle at 12% 12%, rgba(11,90,131,.055), transparent 30%),
    linear-gradient(180deg,#fff 0%,#f7fbff 100%) !important;
}
.h49-service-experience{
  display:grid;
  grid-template-columns:minmax(220px,.28fr) minmax(0,1fr);
  gap:clamp(18px,2.2vw,28px);
  align-items:stretch;
  border-radius:32px;
  padding:clamp(14px,1.6vw,22px);
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(247,251,254,.96));
  border:1px solid rgba(15,23,32,.075);
  box-shadow:0 22px 64px rgba(6,46,73,.06);
}
.h49-service-side{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
}
.h49-service-counter{
  padding:18px 18px 8px;
  color:#0b5a83;
  font-weight:900;
  letter-spacing:-.055em;
  font-size:clamp(2rem,3vw,3.35rem);
}
.h49-service-counter small{
  font-size:1rem;
  color:#748492;
  letter-spacing:0;
  margin-left:3px;
}
.h49-service-tabs{
  display:grid;
  gap:8px;
  padding:8px;
  border-radius:24px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(15,23,32,.06);
}
.h49-service-tabs button{
  display:grid;
  grid-template-columns:28px 1fr;
  align-items:center;
  gap:11px;
  min-height:56px;
  padding:12px 13px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:#0f1720;
  font-weight:850;
  text-align:left;
  letter-spacing:-.02em;
  transition:background .22s ease, color .22s ease, transform .22s ease;
}
.h49-service-tabs button:hover{
  background:#fff;
  transform:translateX(2px);
}
.h49-service-tabs button.is-active{
  background:#062e49;
  color:#fff;
}
.h49-service-tabs button.is-active::after{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:#f97316;
  justify-self:end;
  grid-column:2;
  grid-row:1;
}
.h49-service-tabs svg{
  width:20px;
  height:20px;
  color:currentColor;
}
.h49-swiper-wrap{
  min-width:0;
  display:grid;
  grid-template-rows:1fr auto;
  gap:14px;
}
.h49-service-swiper{
  width:100%;
  min-height:clamp(420px,36vw,560px);
  border-radius:26px;
  overflow:hidden;
}
.h49-service-slide{
  height:auto;
  display:grid !important;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1fr);
  gap:0;
  background:#fff;
  border:1px solid rgba(15,23,32,.07);
  border-radius:26px;
  overflow:hidden;
}
.h49-slide-media{
  position:relative;
  min-height:inherit;
  overflow:hidden;
  background:#edf5fb;
}
.h49-slide-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(6,46,73,.03),rgba(6,46,73,.28)),
    radial-gradient(circle at 78% 16%,rgba(249,115,22,.10),transparent 24%);
  pointer-events:none;
}
.h49-slide-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(.98);
  transform:scale(1.015);
}
.h49-slide-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:inherit;
  padding:clamp(30px,4.4vw,62px);
}
.h49-kicker{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:8px;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(11,90,131,.075);
  color:#0b5a83;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:clamp(22px,3vw,40px);
}
.h49-kicker::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:#f97316;
}
.h49-slide-copy h3{
  margin:0;
  max-width:11.5ch;
  color:#0f1720;
  font-size:clamp(2.15rem,3.85vw,4.8rem);
  line-height:.92;
  letter-spacing:-.075em;
  text-wrap:balance;
}
.h49-slide-copy p{
  max-width:52ch;
  margin:clamp(18px,2vw,24px) 0 0;
  color:#465866;
  line-height:1.68;
  font-size:clamp(1rem,1.03vw,1.12rem);
}
.h49-slide-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:clamp(24px,3vw,36px);
}
.h49-link-primary,
.h49-link-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 17px;
  border-radius:15px;
  font-weight:900;
  text-decoration:none;
}
.h49-link-primary{
  background:#0b5a83;
  color:#fff;
}
.h49-link-primary::after{
  content:"";
  width:6px;
  height:6px;
  margin-left:9px;
  border-radius:999px;
  background:#f97316;
}
.h49-link-secondary{
  background:#fff;
  color:#0f1720;
  border:1px solid rgba(15,23,32,.10);
}
.h49-link-primary:hover,
.h49-link-secondary:hover{
  transform:translateY(-2px);
}
.h49-service-slide-dark{
  background:#062e49;
}
.h49-service-slide-dark .h49-slide-copy{
  background:linear-gradient(135deg,#062e49,#0b5a83);
}
.h49-service-slide-dark .h49-slide-copy h3,
.h49-service-slide-dark .h49-link-secondary{
  color:#fff;
}
.h49-service-slide-dark .h49-slide-copy p{
  color:rgba(238,248,255,.82);
}
.h49-service-slide-dark .h49-kicker{
  background:rgba(255,255,255,.12);
  color:#fff;
}
.h49-service-slide-dark .h49-link-primary{
  background:#f97316;
}
.h49-service-slide-dark .h49-link-primary::after{
  background:#fff;
}
.h49-service-slide-dark .h49-link-secondary{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
}
.h49-service-controls{
  display:grid;
  grid-template-columns:46px 1fr 46px;
  gap:12px;
  align-items:center;
}
.h49-service-controls button{
  width:46px;
  height:46px;
  border-radius:15px;
  border:1px solid rgba(15,23,32,.10);
  background:#fff;
  color:#0f1720;
  font-weight:900;
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}
.h49-service-controls button:hover{
  transform:translateY(-2px);
  background:#f7fbff;
  border-color:rgba(11,90,131,.20);
}
.h49-progress{
  height:3px;
  border-radius:999px;
  background:rgba(15,23,32,.08);
  overflow:hidden;
}
.h49-progress span{
  display:block;
  height:100%;
  width:100%;
  transform-origin:left center;
  transform:scaleX(.2);
  background:linear-gradient(90deg,#0b5a83,#f97316);
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}

/* Calmer contact/form system: remove colorful box feeling */
.h35-contact .h35-form,
.contact.section .form,
.sani-contact .form{
  background:linear-gradient(180deg,#fff,#f9fcff) !important;
  border:1px solid rgba(15,23,32,.075) !important;
  box-shadow:0 18px 54px rgba(6,46,73,.052) !important;
}
.h35-form::before,
.contact.section .form::before{
  height:3px !important;
  background:linear-gradient(90deg,#0b5a83 0%,#0b5a83 72%,#f97316 72%,#f97316 100%) !important;
  opacity:.92;
}
.field label,
.h35-form label{
  color:#0f1720 !important;
}
.field input,
.field select,
.field textarea,
.h35-form input,
.h35-form select,
.h35-form textarea{
  background:#fff !important;
  border-color:rgba(15,23,32,.10) !important;
}
.field input:focus,
.field select:focus,
.field textarea:focus,
.h35-form input:focus,
.h35-form select:focus,
.h35-form textarea:focus{
  border-color:rgba(11,90,131,.38) !important;
  box-shadow:0 0 0 4px rgba(11,90,131,.075) !important;
}

/* More premium motion, only on useful elements */
.h49-service-experience,
.h35-form,
.form,
.sani-problem-card,
.sani-scope-card,
.h45-effort-list div{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.sani-problem-card:hover,
.sani-scope-card:hover,
.h45-effort-list div:hover{
  box-shadow:0 18px 48px rgba(6,46,73,.055);
}

/* Responsive */
@media(max-width:1120px){
  .h49-service-experience{
    grid-template-columns:1fr;
  }
  .h49-service-tabs{
    display:flex;
    overflow:auto;
    scroll-snap-type:x mandatory;
  }
  .h49-service-tabs button{
    flex:0 0 auto;
    min-width:156px;
    scroll-snap-align:start;
  }
  .h49-service-counter{
    padding:0 4px;
  }
}
@media(max-width:860px){
  .h49-service-slide{
    grid-template-columns:1fr;
  }
  .h49-slide-media{
    min-height:260px;
  }
  .h49-service-swiper{
    min-height:auto;
  }
}
@media(max-width:640px){
  .h49-service-experience{
    padding:12px;
    border-radius:24px;
  }
  .h49-service-tabs button{
    min-width:142px;
    min-height:52px;
  }
  .h49-slide-copy{
    padding:26px 20px;
  }
  .h49-slide-copy h3{
    font-size:clamp(2rem,11vw,3.1rem);
  }
  .h49-service-controls{
    grid-template-columns:42px 1fr 42px;
  }
  .h49-service-controls button{
    width:42px;
    height:42px;
  }
}



.h49-services .h49-service-experience,
.h49-service-experience,
.h40-service-stage{
  display:none !important;
}

.h50-services{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 8%, rgba(11,90,131,.08), transparent 32%),
    linear-gradient(180deg,#fff 0%,#f7fbff 100%) !important;
}

.h50-service-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,440px);
  gap:clamp(28px,5vw,82px);
  align-items:end;
  margin-bottom:clamp(32px,4vw,58px);
}

.h50-service-head h2{
  margin:0;
  max-width:640px;
  color:#0f1720;
  font-size:clamp(2.05rem,3vw,3.35rem);
  line-height:1.02;
  letter-spacing:-.058em;
}

.h50-service-head p{
  margin:0 0 4px;
  color:#465866;
  line-height:1.68;
}

.h50-service-swiper-wrap{
  position:relative;
  width:min(100vw - var(--h35-gutter, 72px), 1560px);
  margin-inline:auto;
}

.h50-service-swiper{
  overflow:visible !important;
  width:100%;
}

.h50-service-slide{
  position:relative;
  height:clamp(520px,58vw,690px) !important;
  border-radius:34px;
  overflow:hidden;
  background:#062e49;
  isolation:isolate;
  box-shadow:0 26px 76px rgba(6,46,73,.12);
  transform:translateZ(0);
}

.h50-service-swiper.is-static-scroll .swiper-wrapper{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:12px;
}

.h50-service-swiper.is-static-scroll .h50-service-slide{
  flex:0 0 min(88vw, 980px);
  scroll-snap-align:start;
}

.h50-service-slide{
  transition:transform .32s ease, box-shadow .32s ease, opacity .32s ease;
}

.h50-service-slide.swiper-slide-active{
  box-shadow:0 34px 92px rgba(6,46,73,.16);
}

.h50-service-slide:not(.swiper-slide-active){
  opacity:.82;
}

.h50-service-slide img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.86) contrast(.98);
  transform:scale(1.035);
  transition:transform .8s cubic-bezier(.22,.61,.36,1), filter .8s ease;
}

.h50-service-slide.swiper-slide-active img{
  transform:scale(1.0);
  filter:saturate(.92) contrast(1);
}

.h50-slide-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,46,73,.88) 0%,rgba(6,46,73,.66) 38%,rgba(6,46,73,.18) 74%,rgba(6,46,73,.08) 100%),
    radial-gradient(circle at 20% 18%,rgba(255,255,255,.14),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(249,115,22,.12),transparent 22%);
  z-index:1;
}

.h50-service-slide-priority .h50-slide-shade{
  background:
    linear-gradient(90deg,rgba(6,46,73,.86) 0%,rgba(6,46,73,.62) 42%,rgba(6,46,73,.12) 78%),
    radial-gradient(circle at 86% 18%,rgba(249,115,22,.18),transparent 24%);
}

.h50-service-slide-dark .h50-slide-shade{
  background:
    linear-gradient(90deg,rgba(4,24,38,.93) 0%,rgba(6,46,73,.78) 45%,rgba(6,46,73,.24) 82%),
    radial-gradient(circle at 84% 16%,rgba(249,115,22,.16),transparent 24%);
}

.h50-slide-content{
  position:relative;
  z-index:2;
  height:100%;
  width:min(100%, 640px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(32px,4.4vw,70px);
  color:#fff;
}

.h50-slide-content span{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:9px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.9);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}

.h50-slide-content span::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:#f97316;
}

.h50-slide-content h3{
  margin:clamp(22px,3vw,38px) 0 0;
  max-width:10.8ch;
  font-size:clamp(2.7rem,5vw,5.8rem);
  line-height:.9;
  letter-spacing:-.085em;
  color:#fff;
  text-wrap:balance;
}

.h50-slide-content p{
  margin:clamp(18px,2vw,24px) 0 0;
  max-width:52ch;
  color:rgba(238,248,255,.84);
  font-size:clamp(1rem,1.05vw,1.16rem);
  line-height:1.68;
}

.h50-slide-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:clamp(24px,3vw,36px);
}

.h50-slide-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:15px;
  font-weight:900;
  text-decoration:none;
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.h50-slide-actions a:first-child{
  background:#f97316;
  color:#fff;
}

.h50-slide-actions a:first-child::after{
  content:"";
  width:6px;
  height:6px;
  margin-left:9px;
  border-radius:999px;
  background:#fff;
}

.h50-slide-actions a:last-child{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
}

.h50-slide-actions a:hover{
  transform:translateY(-2px);
}

.h50-service-ui{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  gap:14px;
  align-items:center;
  margin-top:clamp(18px,2.2vw,28px);
  max-width:760px;
}

.h50-service-ui button{
  width:48px;
  height:48px;
  border-radius:16px;
  border:1px solid rgba(15,23,32,.10);
  background:#fff;
  color:#0f1720;
  font-weight:900;
  box-shadow:0 10px 30px rgba(6,46,73,.045);
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.h50-service-ui button:hover{
  transform:translateY(-2px);
  background:#f7fbff;
  border-color:rgba(11,90,131,.22);
}

.h50-pagination{
  display:flex;
  align-items:center;
  gap:8px;
}

.h50-pagination .swiper-pagination-bullet{
  width:36px;
  height:3px;
  border-radius:999px;
  background:rgba(15,23,32,.16);
  opacity:1;
  margin:0 !important;
  transition:width .25s ease, background .25s ease;
}

.h50-pagination .swiper-pagination-bullet-active{
  width:64px;
  background:linear-gradient(90deg,#0b5a83,#f97316);
}


.h35-contact .h35-form,
.contact.section .form,
.sani-contact .form{
  background:#fff !important;
  border-color:rgba(15,23,32,.075) !important;
  box-shadow:0 18px 52px rgba(6,46,73,.052) !important;
}

.h35-form::before,
.contact.section .form::before{
  background:#0b5a83 !important;
  opacity:.85 !important;
}

@media(max-width:1120px){
  .h50-service-head{
    grid-template-columns:1fr;
  }
  .h50-service-head p{
    max-width:620px;
  }
}

@media(max-width:760px){
  .h50-service-swiper-wrap{
    width:min(100% - 24px, 1560px);
  }
  .h50-service-slide{
    height:560px !important;
    border-radius:26px;
  }
  .h50-slide-content{
    padding:28px 22px;
  }
  .h50-slide-content h3{
    font-size:clamp(2.35rem,12vw,3.6rem);
  }
  .h50-slide-shade{
    background:
      linear-gradient(180deg,rgba(6,46,73,.18) 0%,rgba(6,46,73,.88) 100%),
      radial-gradient(circle at 82% 14%,rgba(249,115,22,.16),transparent 26%);
  }
  .h50-service-ui{
    grid-template-columns:44px 1fr 44px;
  }
  .h50-service-ui button{
    width:44px;
    height:44px;
  }
  .h50-pagination .swiper-pagination-bullet{
    width:24px;
  }
  .h50-pagination .swiper-pagination-bullet-active{
    width:46px;
  }
}


/* V52 Badplaner mobile experience pass
   Ziel: Bad-Seite mobil ruhiger, touch-freundlicher und ohne Desktop-Quetschung. */
.page-bad{
  overflow-x:hidden;
}
.page-bad .calc-card[data-calculator="bad"]{
  display:grid;
  gap:16px;
}
.page-bad .calc-card[data-calculator="bad"] .btn{
  justify-content:center;
}
.page-bad .calc-card[data-calculator="bad"] .calc-result{
  scroll-margin-top:96px;
}
.page-bad .service-page-bad .sub-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.page-bad .service-page-bad .sub-card::after{
  content:"";
  position:absolute;
  inset:auto 22px 22px auto;
  width:88px;
  height:88px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(249,115,22,.12),transparent 68%);
  pointer-events:none;
  z-index:-1;
}
@media (max-width:900px){
  .page-bad .service-hero-layout{
    align-items:start !important;
  }
  .page-bad .service-proof{
    padding-top:34px !important;
  }
  .page-bad .proof-strip{
    padding:10px !important;
  }
  .page-bad .proof-item{
    padding:18px 16px !important;
    border-radius:18px !important;
    background:#fff;
  }
}
@media (max-width:720px){
  .page-bad .sub-hero{
    padding-top:112px !important;
    padding-bottom:48px !important;
  }
  .page-bad .service-hero{
    min-height:auto !important;
  }
  .page-bad .service-hero-layout{
    gap:22px !important;
  }
  .page-bad .sub-hero .h1{
    max-width:100% !important;
    font-size:clamp(2.18rem,10.5vw,3rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.065em !important;
  }
  .page-bad .sub-hero .lead{
    max-width:35rem !important;
    font-size:1rem !important;
    line-height:1.62 !important;
    margin-top:18px !important;
  }
  .page-bad .sub-hero .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:24px !important;
  }
  .page-bad .sub-hero .hero-actions .btn{
    min-height:52px !important;
  }
  .page-bad .service-page-bad .sub-card{
    padding:22px !important;
    border-radius:22px !important;
    background:linear-gradient(180deg,#fff,#f8fcff) !important;
  }
  .page-bad .service-page-bad .sub-card svg,
  .page-bad .service-page-bad .sub-card i{
    width:32px !important;
    height:32px !important;
  }
  .page-bad .service-page-bad .sub-card .h3{
    margin-top:14px !important;
    font-size:1.28rem !important;
    line-height:1.14 !important;
    letter-spacing:-.04em !important;
  }
  .page-bad .service-page-bad .sub-card .lead{
    margin-top:10px !important;
    font-size:.96rem !important;
    line-height:1.56 !important;
  }
  .page-bad .service-story,
  .page-bad .service-scope,
  .page-bad .calc-section,
  .page-bad .faq,
  .page-bad .contact.section{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }
  .page-bad .service-story .split{
    gap:28px !important;
  }
  .page-bad .service-story .photo-frame{
    min-height:260px !important;
    border-radius:22px !important;
  }
  .page-bad .section-top{
    gap:18px !important;
    margin-bottom:26px !important;
  }
  .page-bad .scope-grid,
  .page-bad .proof-strip,
  .page-bad .faq-list{
    gap:10px !important;
  }
  .page-bad .scope-card,
  .page-bad .faq-item{
    padding:20px 18px !important;
    border-radius:20px !important;
  }
  .page-bad .calc-wrap{
    gap:26px !important;
  }
  .page-bad .calc-copy .h2{
    max-width:100% !important;
    font-size:clamp(2rem,9.4vw,2.75rem) !important;
  }
  .page-bad .calc-points{
    display:grid;
    gap:10px;
    margin-top:20px !important;
    padding-left:1.1rem;
  }
  .page-bad .calc-card[data-calculator="bad"]{
    gap:14px !important;
    padding:20px !important;
    border-radius:22px !important;
  }
  .page-bad .calc-card[data-calculator="bad"] .field{
    gap:7px !important;
  }
  .page-bad .calc-card[data-calculator="bad"] label{
    font-size:.86rem !important;
    color:#0f1720 !important;
  }
  .page-bad .calc-card[data-calculator="bad"] select{
    min-height:56px !important;
    border-radius:15px !important;
    padding:0 42px 0 14px !important;
    font-size:1rem !important;
    line-height:1.25 !important;
    appearance:none;
    background-image:linear-gradient(45deg,transparent 50%,#0b5a83 50%),linear-gradient(135deg,#0b5a83 50%,transparent 50%);
    background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;
    background-size:6px 6px,6px 6px;
    background-repeat:no-repeat;
  }
  .page-bad .calc-card[data-calculator="bad"] .btn{
    min-height:54px !important;
    margin-top:2px !important;
    white-space:normal !important;
    text-align:center !important;
  }
  .page-bad .calc-card[data-calculator="bad"] .calc-result{
    margin-top:2px !important;
    padding:16px !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#eef6fc,#fff) !important;
  }
  .page-bad .calc-card[data-calculator="bad"] .calc-result p{
    font-size:.95rem !important;
  }
  .page-bad .contact-wrap{
    gap:26px !important;
  }
  .page-bad .form{
    padding:22px !important;
    border-radius:22px !important;
  }
}
@media (max-width:420px){
  .page-bad .shell,
  .page-bad .shell-wide{
    width:calc(100% - 28px) !important;
  }
  .page-bad .sub-hero .h1{
    font-size:clamp(2.04rem,10.8vw,2.62rem) !important;
  }
  .page-bad .sub-hero .lead,
  .page-bad .calc-card[data-calculator="bad"] .calc-result p{
    font-size:.94rem !important;
  }
  .page-bad .service-page-bad .sub-card,
  .page-bad .calc-card[data-calculator="bad"],
  .page-bad .form{
    padding:18px !important;
  }
}
