/* ===== SchutzPro – shared stylesheet ===== */

@font-face{font-family:'Manrope'; font-weight:600; src:url('../fonts/manrope-600.woff2') format('woff2'); font-display:swap;}
@font-face{font-family:'Manrope'; font-weight:700; src:url('../fonts/manrope-700.woff2') format('woff2'); font-display:swap;}
@font-face{font-family:'Manrope'; font-weight:800; src:url('../fonts/manrope-800.woff2') format('woff2'); font-display:swap;}
@font-face{font-family:'Inter'; font-weight:400; src:url('../fonts/inter-400.woff2') format('woff2'); font-display:swap;}
@font-face{font-family:'Inter'; font-weight:500; src:url('../fonts/inter-500.woff2') format('woff2'); font-display:swap;}
@font-face{font-family:'Inter'; font-weight:600; src:url('../fonts/inter-600.woff2') format('woff2'); font-display:swap;}
@font-face{font-family:'IBM Plex Mono'; font-weight:400; src:url('../fonts/ibm-plex-mono-400.woff2') format('woff2'); font-display:swap;}
@font-face{font-family:'IBM Plex Mono'; font-weight:500; src:url('../fonts/ibm-plex-mono-500.woff2') format('woff2'); font-display:swap;}

:root{
  --bg:#F4F6F9;
  --surface:#FFFFFF;
  --surface-2:#EAEEF3;
  --border:#DCE2EA;
  --navy:#0B2545;
  --navy-2:#123464;
  --text:#10192B;
  --muted:#5C6B82;
  --indigo:#2563EB;
  --indigo-dark:#1D4ED8;
  --indigo-light:#E8EFFE;
  --teal:#64748B;
  --teal-light:#F1F5F9;
  --radius:10px;
  --radius-sm:6px;
  --maxw:1180px;
  --shadow: 0 12px 32px rgba(11,37,69,0.10);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Manrope', sans-serif; font-weight:700; letter-spacing:-0.01em; color:var(--navy);}
.mono{font-family:'IBM Plex Mono', monospace;}
a{color:inherit;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
:focus-visible{outline:2px solid var(--indigo); outline-offset:3px;}
.accent{color:var(--indigo);}

/* ===== HEADER / NAV ===== */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 28px; max-width:var(--maxw); margin:0 auto; gap:20px;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Manrope'; font-weight:700; font-size:19px; text-decoration:none; color:var(--navy); flex-shrink:0;}
.brand svg{width:34px; height:34px;}

.navlinks{display:flex; align-items:center; gap:6px; font-size:14.5px; color:var(--muted);}
.navlinks > a, .nav-item > button{
  text-decoration:none; padding:10px 12px; border-radius:var(--radius-sm);
  background:none; border:none; font:inherit; color:var(--muted); cursor:pointer;
  display:flex; align-items:center; gap:5px; transition:color .15s, background .15s;
}
.navlinks > a:hover, .nav-item > button:hover, .nav-item.open > button{color:var(--navy); background:var(--surface-2);}
.nav-item{position:relative;}
.nav-item > button svg{width:13px; height:13px; transition:transform .15s;}
.nav-item.open > button svg{transform:rotate(180deg);}

.dropdown{
  position:absolute; top:calc(100% + 8px); left:0;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); min-width:280px; padding:8px; z-index:110;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .15s, transform .15s, visibility .15s;
}
.dropdown.open{opacity:1; visibility:visible; transform:translateY(0);}
@media (hover:hover){
  .nav-item:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
}
.dropdown a{display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:var(--radius-sm); text-decoration:none; color:var(--text); font-size:14px;}
.dropdown a:hover{background:var(--surface-2);}
.dropdown a small{color:var(--muted); font-size:12px; font-weight:400;}
.dropdown a strong{font-weight:600; font-size:14px;}

.cta-btn{
  background:var(--indigo); color:#fff; font-weight:600; font-size:14.5px;
  padding:11px 20px; border-radius:var(--radius-sm); text-decoration:none;
  border:none; cursor:pointer; transition:background .15s, transform .15s;
  font-family:'Inter'; display:inline-block; white-space:nowrap;
}
.cta-btn:hover{background:var(--indigo-dark); transform:translateY(-1px);}
.btn-ghost{
  border:1px solid var(--border); color:var(--navy); padding:10px 20px; border-radius:var(--radius-sm);
  text-decoration:none; font-size:14.5px; transition:border-color .15s, background .15s; display:inline-block;
}
.btn-ghost:hover{border-color:var(--indigo); background:var(--indigo-light);}

.navtoggle{display:none; background:none; border:none; color:var(--navy); cursor:pointer; padding:6px;}
.navtoggle svg{width:26px; height:26px;}

/* ===== MOBILE MENU ===== */
.mobile-menu{
  display:none; position:fixed; inset:0; z-index:200; background:var(--surface);
  padding:20px 24px; overflow-y:auto;
}
.mobile-menu.open{display:block;}
.mobile-menu-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:24px;}
.mobile-menu a{display:block; padding:14px 4px; text-decoration:none; color:var(--navy); font-size:17px; border-bottom:1px solid var(--border);}
.mobile-sub a{padding-left:16px; font-size:15px; color:var(--muted);}
.mobile-menu .cta-btn{margin-top:20px; width:100%; text-align:center;}

/* ===== EYEBROW / SECTION HEAD ===== */
.eyebrow{
  font-family:'IBM Plex Mono'; font-size:12.5px; color:var(--indigo);
  letter-spacing:0.1em; text-transform:uppercase; margin-bottom:16px;
  display:flex; align-items:center; gap:8px;
}
.eyebrow::before{content:''; width:7px; height:7px; border-radius:50%; background:var(--teal); display:inline-block;}
.section-tag{font-family:'IBM Plex Mono'; font-size:12px; color:var(--indigo); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:10px;}
.section{padding:76px 0;}
.section-head{max-width:600px; margin-bottom:44px;}
.section h2{font-size:30px;}

/* ===== HERO (home) ===== */
.hero{
  background:linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%);
  padding:72px 0 68px; position:relative; overflow:hidden; color:#fff;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18); border-radius:999px; padding:7px 16px;
  font-family:'IBM Plex Mono'; font-size:12px; letter-spacing:0.04em; color:#CBD8F0;
  margin-bottom:22px;
}
.hero-badge svg{width:14px; height:14px; color:var(--indigo-light);}
.hero .eyebrow{color:#8FADE8;}
.hero .eyebrow::before{background:#8FADE8;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:start;}
h1.headline{font-size:46px; line-height:1.14; margin-bottom:20px; color:#fff;}
h1.headline .accent{color:#6FA0FF;}
.hero .sub{font-size:17px; color:#B9C6DE; max-width:560px; margin-bottom:32px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

/* ===== QUICK FINDER (hero) ===== */
.quick-finder{
  background:var(--surface); border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,0.25);
  padding:26px; color:var(--text);
}
.qf-eyebrow{font-family:'IBM Plex Mono'; font-size:11.5px; color:var(--indigo); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:6px;}
.qf-title{font-family:'Manrope'; font-weight:700; font-size:19px; color:var(--navy); margin-bottom:16px;}
.qf-progress-row{display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.qf-progress-bar{flex:1; height:6px; background:var(--surface-2); border-radius:999px; overflow:hidden;}
.qf-progress-fill{height:100%; background:linear-gradient(90deg, var(--indigo), #6FA0FF); border-radius:999px; transition:width .25s ease;}
.qf-progress-count{font-family:'IBM Plex Mono'; font-size:11.5px; color:var(--muted); white-space:nowrap;}
.qf-back-link{display:inline-flex; align-items:center; gap:5px; font-size:13px; color:var(--muted); background:none; border:none; cursor:pointer; margin-bottom:14px; padding:0; font-family:'Inter';}
.qf-back-link:hover{color:var(--indigo);}
.qf-back-link svg{width:14px; height:14px;}

.qf-service-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.qf-service-tile{
  display:flex; align-items:center; gap:12px; padding:14px; border-radius:12px;
  border:1.5px solid var(--border); background:var(--surface); cursor:pointer;
  transition:all .15s; text-align:left; font-family:'Inter'; width:100%;
}
.qf-service-tile:hover{border-color:var(--indigo); background:var(--indigo-light);}
.qf-service-tile .qf-tile-icon{
  width:38px; height:38px; border-radius:10px; background:var(--surface-2); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:var(--indigo);
}
.qf-service-tile .qf-tile-icon svg{width:20px; height:20px;}
.qf-service-tile span{font-size:13.5px; font-weight:600; color:var(--text); line-height:1.25;}

.qf-question{margin-bottom:22px;}
.qf-question-label{font-family:'Manrope'; font-weight:700; font-size:17px; color:var(--navy); margin-bottom:14px; line-height:1.3;}
.qf-question .radios, .qf-question .checks{display:flex; flex-wrap:wrap; gap:10px;}
.qf-question input[type="number"], .qf-question input[type="text"], .qf-question select{
  width:100%; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:12px 14px; font-family:'Inter'; font-size:15px; color:var(--text);
}
.qf-question input:focus, .qf-question select:focus{border-color:var(--indigo); outline:none;}

.qf-contact-fields .field{margin-bottom:14px;}
.qf-error{background:#FEECEC; border:1px solid #E8A0A0; color:#B42318; font-size:13px; padding:10px 12px; border-radius:var(--radius-sm); margin-bottom:14px;}
.qf-success{background:var(--teal-light); border:1px solid var(--indigo); color:var(--navy); font-size:14px; padding:16px; border-radius:var(--radius-sm);}

.qf-nav{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:6px;}
.qf-nav-spacer{flex:1;}
.qf-btn-back{
  background:none; border:1px solid var(--border); color:var(--muted); padding:11px 18px;
  border-radius:var(--radius-sm); font-family:'Inter'; font-size:14px; cursor:pointer; transition:border-color .15s;
}
.qf-btn-back:hover{border-color:var(--indigo); color:var(--indigo);}
.qf-btn-next{
  background:var(--indigo); color:#fff; border:none; padding:11px 22px; border-radius:var(--radius-sm);
  font-family:'Inter'; font-weight:600; font-size:14px; cursor:pointer; transition:background .15s;
}
.qf-btn-next:hover{background:var(--indigo-dark);}

@media (max-width:900px){
  .qf-service-grid{grid-template-columns:1fr 1fr;}
  .quick-finder{padding:20px;}
}
@media (max-width:520px){
  .qf-service-grid{grid-template-columns:1fr;}
}
.hero-ctas .btn-ghost{border-color:rgba(255,255,255,0.35); color:#fff;}
.hero-ctas .btn-ghost:hover{background:rgba(255,255,255,0.08); border-color:#fff;}

/* ===== PAGE HERO (service / kontakt / legal) ===== */
.page-hero{background:var(--navy); color:#fff; padding:64px 0 56px;}
.page-hero .eyebrow{color:var(--teal);}
.page-hero .eyebrow::before{background:var(--teal);}
.page-hero h1{color:#fff; font-size:38px; margin-bottom:14px;}
.page-hero p{color:#B8C0D6; max-width:600px; font-size:16px;}
.breadcrumb{font-family:'IBM Plex Mono'; font-size:12px; color:#8B94AE; margin-bottom:18px;}
.breadcrumb a{color:#B8C0D6; text-decoration:none;}
.breadcrumb a:hover{color:#fff;}

/* ===== SERVICES GRID (home) ===== */
.services{background:var(--bg); padding:76px 0;}
.svc-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;}
.svc-card{
  padding:30px 26px; border-radius:16px; border:1px solid var(--border); background:var(--surface);
  box-shadow:0 2px 10px rgba(24,27,34,0.05);
  transition:transform .18s, box-shadow .18s, border-color .18s;
  text-decoration:none; color:inherit; display:block;
}
.svc-card:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--indigo);}
.svc-icon-wrap{
  width:52px; height:52px; border-radius:13px; background:var(--indigo-light);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.svc-num{font-family:'IBM Plex Mono'; font-size:11.5px; color:var(--muted); margin-bottom:6px; letter-spacing:0.05em;}
.svc-icon{width:26px; height:26px; margin:0; color:var(--indigo);}
.svc-card h3{font-size:18px; margin-bottom:8px;}
.svc-card p{font-size:14.5px; color:var(--muted); margin-bottom:14px;}
.svc-spec{font-family:'IBM Plex Mono'; font-size:11.5px; color:var(--muted); border-top:1px dashed var(--border); padding-top:10px;}
.svc-link{font-size:13.5px; font-weight:600; color:var(--indigo); display:flex; align-items:center; gap:5px;}
.svc-link svg{width:14px; height:14px;}

/* ===== CTA BANNER (home, bottom) ===== */
.cta-banner{
  background:var(--navy); border-radius:20px; padding:52px 48px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px;
}
.cta-banner h2{color:#fff; font-size:26px; margin-bottom:8px;}
.cta-banner p{color:#B8C0D6; font-size:15px;}
.cta-banner-btn{background:var(--teal); flex-shrink:0;}
@media (max-width:900px){
  .cta-banner{padding:32px 26px; text-align:left;}
  .cta-banner h2{font-size:21px;}
  .cta-banner-btn{width:100%; text-align:center;}
}

/* ===== WHY GRID ===== */
.why-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;}
.why-item{padding:24px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);}
.why-item .num{font-family:'IBM Plex Mono'; color:var(--teal); font-size:13px; margin-bottom:10px;}
.why-item h3{font-size:16px; margin-bottom:6px;}
.why-item p{font-size:13.5px; color:var(--muted);}

/* ===== SERVICE DETAIL PAGE ===== */
.page-hero-icon{
  width:56px; height:56px; border-radius:14px; background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.page-hero-icon svg{width:28px; height:28px; color:#fff;}
.detail-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.feature-list{list-style:none; margin-top:20px;}
.feature-list li{display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; font-size:15px;}
.feature-list svg{width:20px; height:20px; flex-shrink:0; margin-top:2px; color:var(--teal);}
.spec-box{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:22px; margin-top:24px;}
.spec-box h3{font-size:14px; text-transform:uppercase; letter-spacing:0.05em; color:var(--muted); margin-bottom:12px; font-family:'IBM Plex Mono'; font-weight:500;}
.spec-row{display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed var(--border); font-size:14px;}
.spec-row:last-child{border-bottom:none;}
.spec-row span:first-child{color:var(--muted);}

/* ===== PRICE ESTIMATE ===== */
.price-estimate{background:var(--indigo-light); border:1.5px solid var(--indigo); border-radius:var(--radius); padding:18px 20px; margin-bottom:24px; display:none;}
.pe-label{font-family:'IBM Plex Mono'; font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--indigo-dark); margin-bottom:6px;}
.pe-value{font-family:'Manrope'; font-weight:700; font-size:26px; color:var(--navy);}
.pe-note{font-size:12px; color:var(--muted); margin-top:6px;}

/* ===== WHATSAPP FLOAT ===== */
.whatsapp-float{
  position:fixed; bottom:24px; right:24px; width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(15,24,48,0.28); z-index:150; text-decoration:none;
  transition:transform .15s;
}
.whatsapp-float:hover{transform:scale(1.08);}
@media (max-width:900px){.whatsapp-float{bottom:18px; right:18px; width:52px; height:52px;}}

/* ===== FORM ===== */
.form-card{background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:32px; box-shadow:var(--shadow);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
.field label{font-size:13px; color:var(--muted); font-family:'IBM Plex Mono';}
.field input, .field select, .field textarea{
  background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:11px 13px; color:var(--text); font-family:'Inter'; font-size:14.5px;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--indigo); outline:none;}
.field textarea{resize:vertical; min-height:80px;}
fieldset{border:none; background:var(--surface-2); border-radius:var(--radius); padding:22px 22px 8px; margin-bottom:24px;}
fieldset legend{float:left; width:100%; font-family:'Manrope'; font-weight:600; font-size:16.5px; color:var(--navy); padding:0 0 14px;}

/* Numbered project questions (CSS counters, no markup change needed) */
fieldset.project-fieldset{counter-reset:qnum;}
fieldset.project-fieldset > .field{
  counter-increment:qnum; position:relative; padding-left:44px; margin-bottom:24px;
}
fieldset.project-fieldset > .field::before{
  content:counter(qnum); position:absolute; left:0; top:0;
  width:28px; height:28px; border-radius:50%; background:var(--indigo); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Manrope'; font-weight:700; font-size:13px;
}
fieldset.project-fieldset > .field > label{font-size:14.5px; font-weight:600; color:var(--text); margin-bottom:8px; font-family:'Inter';}

.pq-progress{margin:-4px 0 22px; clear:both;}
.pq-progress-bar{height:7px; background:var(--border); border-radius:999px; overflow:hidden;}
.pq-progress-fill{height:100%; width:0%; background:linear-gradient(90deg, var(--indigo), var(--teal)); border-radius:999px; transition:width .3s ease;}
.pq-progress-count{font-size:12px; color:var(--muted); margin-top:7px; font-family:'IBM Plex Mono';}

.checks{display:flex; flex-wrap:wrap; gap:10px;}
.radios{display:flex; flex-wrap:wrap; gap:10px;}
.check-item, .radio-item{
  display:flex; align-items:center; gap:8px; font-size:14px; position:relative;
  border:1.5px solid var(--border); background:var(--surface); border-radius:999px;
  padding:10px 18px; cursor:pointer; transition:all .15s;
}
.check-item:hover, .radio-item:hover{border-color:var(--indigo);}
.check-item input, .radio-item input{width:15px; height:15px; accent-color:var(--indigo); flex-shrink:0;}
.radio-item:has(input:checked){background:var(--indigo); border-color:var(--indigo); color:#fff; font-weight:600; transform:translateY(-1px); box-shadow:0 6px 14px rgba(255,106,43,0.25);}
.radio-item:has(input:checked) input{accent-color:#fff;}
.check-item:has(input:checked){background:var(--indigo-light); border-color:var(--indigo); font-weight:600; transform:translateY(-1px);}
.field-hint{font-size:12.5px; color:var(--muted); margin-top:-8px; margin-bottom:16px;}
.consent{display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--muted); margin-bottom:22px;}
.consent input{margin-top:3px; accent-color:var(--indigo);}
.submit-row{display:flex; gap:12px; align-items:center; flex-wrap:wrap;}
.form-msg{margin-top:16px; padding:14px 16px; border-radius:var(--radius-sm); font-size:14px; display:none;}
.form-msg.ok{display:block; background:var(--teal-light); border:1px solid var(--teal); color:var(--navy);}
.trust-line{display:flex; gap:10px; align-items:flex-start; margin-bottom:14px; font-size:14px; color:var(--text);}
.trust-line svg{width:18px; height:18px; flex-shrink:0; margin-top:2px; color:var(--teal);}

/* ===== LEGAL PAGES ===== */
.legal-box{max-width:720px;}
.legal-box h2{font-size:24px; margin-bottom:20px;}
.legal-box h3{font-size:15px; color:var(--indigo); margin:22px 0 8px;}
.legal-box p{font-size:14.5px; color:var(--muted); margin-bottom:10px;}
.legal-box p strong{color:var(--text);}
.legal-box a{color:var(--indigo); text-decoration:none;}
.legal-note{margin-top:20px; padding:12px 14px; background:var(--surface-2); border:1px dashed var(--border); border-radius:var(--radius-sm); font-size:12.5px; color:var(--muted);}

/* ===== FOOTER ===== */
footer{background:var(--navy); color:#B8C0D6; padding:48px 0 30px; margin-top:0;}
.foot-grid{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:32px; padding-bottom:28px; border-bottom:1px solid #26314F; margin-bottom:20px;}
.foot-brand{display:flex; align-items:center; gap:10px; font-family:'Manrope'; font-weight:700; color:#fff; font-size:17px;}
.foot-brand svg{width:26px; height:26px;}
.foot-col h4{font-family:'IBM Plex Mono'; font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:#8B94AE; margin-bottom:12px; font-weight:500;}
.foot-col a{display:block; text-decoration:none; color:#B8C0D6; font-size:14px; margin-bottom:8px;}
.foot-col a:hover{color:#fff;}
.foot-cols{display:flex; gap:56px; flex-wrap:wrap;}
.foot-bottom{font-size:12.5px; color:#7A84A0; font-family:'IBM Plex Mono'; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.foot-bottom a{color:#7A84A0; text-decoration:none;}
.foot-bottom a:hover{color:#fff;}

/* ===== RESPONSIVE ===== */
@media (max-width: 900px){
  .navlinks{display:none;}
  .navtoggle{display:block;}
  .nav .cta-btn{display:none;}
  .nav{padding:14px 20px;}
  .wrap{padding:0 20px;}
  .section{padding:48px 0;}
  .hero{padding:40px 0 28px;}
  .hero-grid{grid-template-columns:1fr; gap:28px;}
  h1.headline{font-size:28px;}
  .sub{font-size:15.5px;}
  .hero-ctas{flex-direction:column; align-items:stretch;}
  .hero-ctas .cta-btn, .hero-ctas .btn-ghost{text-align:center;}
  .page-hero{padding:44px 0 38px;}
  .page-hero h1{font-size:26px;}
  .section h2{font-size:24px;}
  .svc-grid{grid-template-columns:1fr; gap:16px;}
  .svc-card{padding:24px 22px;}
  .why-grid{grid-template-columns:1fr 1fr; gap:14px;}
  .why-item{padding:18px;}
  .detail-grid{grid-template-columns:1fr; gap:32px;}
  .form-card{padding:22px;}
  .form-row{grid-template-columns:1fr;}
  .checks{grid-template-columns:1fr;}
  .checks .check-item{width:100%;}
  .foot-grid{flex-direction:column; gap:24px;}
  .foot-cols{gap:32px;}
}

@media (max-width: 520px){
  .why-grid{grid-template-columns:1fr;}
  h1.headline{font-size:25px;}
}
