
.ap-ha{--b:#21677c;--bd:#155466;--deep:#0d3e4c;--o:#ef8039;--od:#d8642b;--os:#fff1e8;--bg:#f4f7f8;--soft:#eaf5f7;--ink:#14242c;--mut:#60737c;--line:rgba(33,103,124,.16);--shadow:0 24px 70px rgba(13,62,76,.13);display:block;overflow:hidden;color:var(--ink);font-family:inherit;background:var(--bg)}
.ap-ha *{box-sizing:border-box}.ap-ha button,.ap-ha input,.ap-ha select{font:inherit}.ap-ha-wrap{width:min(1240px,calc(100% - 40px));margin:auto}
.ap-ha-hero{padding:66px 0 104px;background:radial-gradient(circle at 88% 5%,rgba(239,128,57,.14),transparent 26%),linear-gradient(180deg,#fff,#f7fafb)}
.ap-ha-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}.ap-ha-eyebrow,.ap-ha-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:15px;color:var(--od);font-size:12px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.ap-ha-eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
.ap-ha-title{max-width:760px;margin:0 0 23px;font-size:clamp(43px,5.4vw,78px);line-height:1.01;letter-spacing:-.066em}.ap-ha-title span{color:var(--b)}.ap-ha-lead{max-width:760px;margin:0;color:var(--mut);font-size:clamp(19px,2vw,23px);line-height:1.65}.ap-ha-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.ap-ha-badges span{padding:11px 16px;border:1px solid var(--line);border-radius:999px;background:#ffffffd1;color:var(--bd);font-size:14px;font-weight:850}
.ap-ha-hero-visual{position:relative;min-height:500px;overflow:hidden;border-radius:38px;background:linear-gradient(180deg,rgba(13,62,76,.03),rgba(13,62,76,.23)),var(--hero) center/cover no-repeat;box-shadow:var(--shadow)}.ap-ha-hero-card{position:absolute;inset:auto 24px 24px;padding:27px;border:1px solid rgba(33,103,124,.12);border-radius:26px;background:#fffffff2;backdrop-filter:blur(15px)}.ap-ha-hero-card strong{display:block;margin-bottom:9px;color:var(--bd);font-size:25px;line-height:1.14;letter-spacing:-.04em}.ap-ha-hero-card span{color:var(--mut);font-size:15px;line-height:1.6}
.ap-ha-app{display:grid;grid-template-columns:285px minmax(0,1fr);gap:28px;align-items:start;margin-top:-46px;padding-bottom:100px}.ap-ha-nav{position:sticky;top:110px;z-index:5;padding:25px;border:1px solid var(--line);border-radius:27px;background:#fffffff5;box-shadow:0 18px 48px rgba(13,62,76,.09);backdrop-filter:blur(12px)}
.ap-ha-nav-head{display:flex;justify-content:space-between;margin-bottom:14px;color:var(--mut);font-size:13px;font-weight:850}.ap-ha-nav-head strong{color:var(--bd)}.ap-ha-nav-progress{height:7px;margin-bottom:22px;overflow:hidden;border-radius:999px;background:var(--soft)}.ap-ha-nav-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--b),var(--o));transition:.3s}
.ap-ha-nav-item{display:grid;grid-template-columns:38px minmax(0,1fr) 10px;gap:11px;align-items:center;width:100%;padding:14px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--mut);text-align:left;cursor:pointer}.ap-ha-nav-item:disabled{opacity:.45;cursor:default}.ap-ha-nav-item:not(:disabled):hover,.ap-ha-nav-item.is-active{color:var(--bd)}.ap-ha-nav-num{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;background:var(--bg);font-size:11px;font-weight:950}.ap-ha-nav-item.is-active .ap-ha-nav-num,.ap-ha-nav-item.is-complete .ap-ha-nav-num{background:var(--os);color:var(--od)}.ap-ha-nav-item strong,.ap-ha-nav-item small{display:block}.ap-ha-nav-item strong{font-size:14px}.ap-ha-nav-item small{font-size:11px;line-height:1.35}.ap-ha-nav-item i{width:8px;height:8px;border-radius:50%;background:var(--line)}.ap-ha-nav-item.is-active i{background:var(--o);box-shadow:0 0 0 5px rgba(239,128,57,.12)}.ap-ha-nav-item.is-complete i{background:var(--b)}.ap-ha-nav-note{margin-top:18px;padding:14px;border-radius:15px;background:var(--bg);color:var(--mut);font-size:12px;line-height:1.55}
.ap-ha-shell{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:34px;background:#fff;box-shadow:var(--shadow)}.ap-ha-topbar{display:grid;grid-template-columns:120px minmax(0,1fr) 110px;align-items:center;min-height:76px;padding:15px 30px;border-bottom:1px solid var(--line)}.ap-ha-back{display:inline-flex;gap:8px;align-items:center;border:0;background:transparent;color:var(--bd);font-size:13px;font-weight:900;cursor:pointer}.ap-ha-back:disabled{opacity:.3}.ap-ha-topbar-center{text-align:center}.ap-ha-topbar-center span,.ap-ha-topbar-center strong{display:block}.ap-ha-section-label{color:var(--od);font-size:10px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.ap-ha-step-label{font-size:13px}.ap-ha-time{color:var(--mut);font-size:12px;text-align:right}.ap-ha-stage{min-height:650px;padding:54px}.ap-ha-panel{display:none;animation:fade .28s}.ap-ha-panel.is-active{display:block}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ap-ha-heading{max-width:800px;margin:0 0 17px;font-size:clamp(32px,4.3vw,52px);line-height:1.08;letter-spacing:-.05em}.ap-ha-copy{max-width:780px;margin:0;color:var(--mut);font-size:18px;line-height:1.72}.ap-ha-intro-grid,.ap-ha-choice-grid,.ap-ha-scale,.ap-ha-teaser-summary,.ap-ha-locked-report,.ap-ha-form-grid,.ap-ha-report-grid{display:grid;gap:14px}.ap-ha-intro-grid{grid-template-columns:repeat(3,1fr);margin:31px 0}.ap-ha-intro-grid div{padding:20px;border:1px solid var(--line);border-radius:19px;background:var(--bg)}.ap-ha-intro-grid strong,.ap-ha-intro-grid span{display:block}.ap-ha-intro-grid strong{margin-bottom:7px;color:var(--bd)}.ap-ha-intro-grid span{color:var(--mut);font-size:13px;line-height:1.5}
.ap-ha-notice{max-width:800px;margin-top:24px;padding:17px 19px;border:1px solid rgba(239,128,57,.26);border-radius:17px;background:var(--os);font-size:14px;line-height:1.6}.ap-ha-primary-action,.ap-ha-submit{display:inline-flex;gap:22px;align-items:center;justify-content:space-between;min-height:66px;margin-top:30px;padding:18px 27px 18px 31px;border:0;border-radius:999px;background:var(--o);color:#fff;font-weight:950;cursor:pointer;box-shadow:0 17px 35px rgba(239,128,57,.31)}.ap-ha-primary-action:hover,.ap-ha-submit:hover{background:var(--od);transform:translateY(-2px)}.ap-ha-primary-action span,.ap-ha-submit i{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:#ffffff33;font-style:normal}
.ap-ha-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}.ap-ha-choice-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ap-ha-choice{position:relative}.ap-ha-choice input{position:absolute;opacity:0}.ap-ha-choice>span{display:flex;min-height:96px;padding:20px 22px;flex-direction:column;justify-content:center;border:2px solid var(--line);border-radius:20px;background:#fff;cursor:pointer;transition:.2s}.ap-ha-choice>span:before{content:"";position:absolute;top:20px;right:20px;width:18px;height:18px;border:2px solid rgba(33,103,124,.28);border-radius:50%;box-shadow:inset 0 0 0 4px #fff}.ap-ha-choice strong,.ap-ha-choice small{display:block;padding-right:28px}.ap-ha-choice strong{margin-bottom:6px;font-size:17px}.ap-ha-choice small{color:var(--mut);font-size:13px;line-height:1.48}.ap-ha-choice input:checked+span{border-color:var(--b);background:var(--soft);box-shadow:0 13px 28px rgba(33,103,124,.11)}.ap-ha-choice input:checked+span:before{border-color:var(--b);background:var(--b)}.ap-ha-choice-compact>span{min-height:76px;align-items:center}.ap-ha-choice-compact>span:before{display:none}.ap-ha-choice-compact strong{padding:0;margin:0}
.ap-ha-scale{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:31px}.ap-ha-scale-choice>span{min-height:128px}.ap-ha-urgent{padding:35px;border:1px solid rgba(159,50,50,.22);border-radius:26px;background:#fff3f3}.ap-ha-urgent h2{margin:0 0 16px;color:#8f3030;font-size:clamp(31px,4vw,48px);line-height:1.1}.ap-ha-urgent p{color:#665252;font-size:17px;line-height:1.7}.ap-ha-urgent-actions,.ap-ha-report-cta>div:last-child{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ap-ha-button{display:inline-flex;min-height:58px;padding:17px 25px;align-items:center;justify-content:center;border:0;border-radius:999px;font-size:15px;font-weight:950;text-decoration:none!important}.ap-ha-button-primary{background:var(--o);color:#fff!important}.ap-ha-button-light{border:2px solid var(--line);background:#fff;color:var(--bd)!important}
.ap-ha-calibration-card{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:center;margin-top:30px;padding:25px;border:1px solid var(--line);border-radius:24px;background:var(--bg)}.ap-ha-play-main{display:flex;gap:15px;align-items:center;min-height:82px;padding:17px;border:0;border-radius:19px;background:var(--deep);color:#fff;text-align:left;cursor:pointer}.ap-ha-play-symbol{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:var(--o)}.ap-ha-play-main strong,.ap-ha-play-main small{display:block}.ap-ha-volume{display:grid;grid-template-columns:1fr auto;gap:10px}.ap-ha-volume input{grid-column:1/-1;width:100%;accent-color:var(--o)}.ap-ha-volume output{color:var(--od);font-weight:950}.ap-ha-response-button{min-height:59px;padding:15px 19px;border:2px solid var(--line);border-radius:17px;background:#fff;color:var(--bd);font-size:14px;font-weight:900;cursor:pointer}.ap-ha-response-button.is-primary{border-color:var(--b);background:var(--b);color:#fff}
.ap-ha-tone-card{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:center;margin:31px 0 20px;padding:24px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at 92% 8%,rgba(239,128,57,.16),transparent 28%),var(--bg)}.ap-ha-ear-visual{display:flex;width:86px;height:86px;align-items:center;justify-content:center;border-radius:50%;background:var(--deep);color:#fff}.ap-ha-ear-visual span{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border:2px solid #ffffff88;border-radius:50%;font-weight:950}.ap-ha-play-tone{display:inline-flex;gap:11px;align-items:center;width:max-content;padding:14px 20px;border:0;border-radius:999px;background:#fff;color:var(--bd);cursor:pointer}.ap-ha-play-tone span{color:var(--o)}.ap-ha-tone-card>small{grid-column:2;color:var(--mut)}.ap-ha-confirm-copy{margin-top:21px;padding:18px;border-radius:17px;background:var(--os)}.ap-ha-confirm-copy strong,.ap-ha-confirm-copy span{display:block}.ap-ha-confirm-copy strong{color:var(--od)}
.ap-ha-teaser-summary{grid-template-columns:repeat(3,1fr);margin:30px 0}.ap-ha-teaser-summary>div{padding:21px;border:1px solid var(--line);border-radius:20px;background:var(--bg)}.ap-ha-teaser-summary span,.ap-ha-teaser-summary strong{display:block}.ap-ha-teaser-summary span{color:var(--mut);font-size:12px}.ap-ha-teaser-summary strong{color:var(--bd);font-size:29px}.ap-ha-locked-report{grid-template-columns:repeat(3,1fr)}.ap-ha-locked-report>div{position:relative;min-height:180px;padding:22px;overflow:hidden;border:1px solid var(--line);border-radius:21px}.ap-ha-locked-report>div:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(180deg,#fff0,#fff 58%);backdrop-filter:blur(3px)}.ap-ha-lock{display:flex;width:31px;height:31px;margin-bottom:16px;align-items:center;justify-content:center;border-radius:50%;background:var(--soft);color:var(--b)}.ap-ha-locked-report p{color:var(--mut);font-size:13px;line-height:1.55}.ap-ha-unlock-box{margin-top:23px;padding:29px;border-radius:25px;background:radial-gradient(circle at 92% 8%,rgba(239,128,57,.35),transparent 25%),linear-gradient(135deg,var(--deep),var(--b));color:#fff}.ap-ha-unlock-box h3{margin:0 0 10px;font-size:clamp(27px,3.2vw,39px)}.ap-ha-unlock-box p{color:#ffffffd1}.ap-ha-unlock-box .ap-ha-primary-action{background:#fff;color:var(--bd);box-shadow:none}
.ap-ha-form{margin-top:30px}.ap-ha-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.ap-ha-field{display:flex;gap:8px;flex-direction:column}.ap-ha-field-full{grid-column:1/-1}.ap-ha-field label{font-size:13px;font-weight:900}.ap-ha-field input,.ap-ha-field select{min-height:58px;padding:14px 16px;border:2px solid var(--line);border-radius:15px;outline:0}.ap-ha-field input:focus,.ap-ha-field select:focus{border-color:var(--b);box-shadow:0 0 0 4px rgba(33,103,124,.09)}.ap-ha-consent{display:flex;gap:12px;align-items:flex-start;margin-top:20px;color:var(--mut);font-size:13px;line-height:1.55}.ap-ha-consent input{width:18px;height:18px;accent-color:var(--b)}.ap-ha-honeypot{position:absolute!important;left:-9999px!important}.ap-ha-form-error{display:none;margin-top:18px;padding:14px;border-radius:14px;background:#fff3f3;color:#8f3030}.ap-ha-form-error.is-visible{display:block}.ap-ha-submit{width:100%}
.ap-ha-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ap-ha-report-grid article{padding:27px;border:1px solid var(--line);border-radius:23px;background:#fff}.ap-ha-report-grid article>span{display:flex;width:38px;height:38px;margin-bottom:18px;align-items:center;justify-content:center;border-radius:50%;background:var(--os);color:var(--od);font-size:11px;font-weight:950}.ap-ha-report-grid h3{margin:0 0 10px}.ap-ha-report-grid p{margin:0;color:var(--mut);line-height:1.68}.ap-ha-report-recommendation{background:var(--soft)!important}.ap-ha-report-title{font-size:clamp(35px,4.7vw,57px);line-height:1.06;letter-spacing:-.055em}.ap-ha-report-intro{color:var(--mut);font-size:18px;line-height:1.72}.ap-ha-report-cta{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;margin-top:24px;padding:32px;border-radius:26px;background:radial-gradient(circle at 93% 10%,rgba(239,128,57,.36),transparent 27%),linear-gradient(135deg,var(--deep),var(--b));color:#fff}.ap-ha-report-cta h3{margin:0 0 10px;color:#fff;font-size:30px}.ap-ha-report-cta p{color:#ffffffd1}.ap-ha-report-cta>div:last-child{justify-content:flex-end}.ap-ha-report-link{width:100%;color:#fff!important;text-align:right}.ap-ha-report-legal{color:var(--mut);font-size:12px;line-height:1.6}.ap-ha-saved{padding:78px 0 95px}.ap-ha-saved-grid{margin-top:40px}
@media(max-width:1050px){.ap-ha-hero-grid,.ap-ha-app{grid-template-columns:1fr}.ap-ha-nav{position:relative;top:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ap-ha-nav-head,.ap-ha-nav-progress,.ap-ha-nav-note{grid-column:1/-1}.ap-ha-nav-item{grid-template-columns:32px 1fr;border:1px solid var(--line);border-radius:16px}.ap-ha-nav-item i,.ap-ha-nav-item small{display:none}}
@media(max-width:780px){.ap-ha-wrap{width:calc(100% - 24px)}.ap-ha-hero{padding:48px 0 80px}.ap-ha-title{font-size:43px}.ap-ha-hero-visual{min-height:390px}.ap-ha-app{margin-top:-32px}.ap-ha-nav{grid-template-columns:repeat(2,1fr);padding:17px}.ap-ha-topbar{grid-template-columns:75px 1fr;padding:13px 18px}.ap-ha-time{display:none}.ap-ha-stage{min-height:590px;padding:34px 22px}.ap-ha-heading{font-size:35px}.ap-ha-copy{font-size:16px}.ap-ha-intro-grid,.ap-ha-choice-grid,.ap-ha-choice-grid-3,.ap-ha-scale,.ap-ha-teaser-summary,.ap-ha-locked-report,.ap-ha-form-grid,.ap-ha-report-grid,.ap-ha-report-cta,.ap-ha-calibration-card{grid-template-columns:1fr}.ap-ha-field-full{grid-column:auto}.ap-ha-report-cta>div:last-child{justify-content:flex-start}.ap-ha-report-link{text-align:left}}
@media(max-width:520px){.ap-ha-nav{grid-template-columns:1fr}.ap-ha-nav-item small{display:block}.ap-ha-title{font-size:39px}.ap-ha-stage{padding:30px 18px}.ap-ha-heading{font-size:32px}.ap-ha-primary-action,.ap-ha-submit,.ap-ha-button{width:100%}.ap-ha-tone-card{grid-template-columns:1fr;text-align:center}.ap-ha-ear-visual,.ap-ha-play-tone{margin:auto}.ap-ha-tone-card>small{grid-column:auto}}

/* =========================================================
   ACCESSIBILITÀ E LEGGIBILITÀ — VERSIONE 2.1
   Dimensioni ottimizzate anche per utenti senior.
   ========================================================= */

.ap-ha .ap-ha-eyebrow,
.ap-ha .ap-ha-kicker {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.ap-ha .ap-ha-lead,
.ap-ha .ap-ha-copy,
.ap-ha .ap-ha-report-intro {
  font-size: 20px !important;
  line-height: 1.72 !important;
}

.ap-ha .ap-ha-choice strong {
  font-size: 19px !important;
  line-height: 1.35 !important;
}

.ap-ha .ap-ha-choice small {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.ap-ha .ap-ha-nav-head,
.ap-ha .ap-ha-back,
.ap-ha .ap-ha-step-label,
.ap-ha .ap-ha-time {
  font-size: 15px !important;
}

.ap-ha .ap-ha-section-label {
  font-size: 12px !important;
}

.ap-ha .ap-ha-nav-item strong {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

.ap-ha .ap-ha-nav-item small,
.ap-ha .ap-ha-nav-note {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.ap-ha .ap-ha-intro-grid strong,
.ap-ha .ap-ha-locked-report strong {
  font-size: 17px !important;
}

.ap-ha .ap-ha-intro-grid span,
.ap-ha .ap-ha-locked-report p,
.ap-ha .ap-ha-teaser-summary span,
.ap-ha .ap-ha-field label,
.ap-ha .ap-ha-consent,
.ap-ha .ap-ha-report-link,
.ap-ha .ap-ha-report-legal {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.ap-ha .ap-ha-teaser-summary strong {
  font-size: 32px !important;
}

.ap-ha .ap-ha-response-button,
.ap-ha .ap-ha-button,
.ap-ha .ap-ha-primary-action,
.ap-ha .ap-ha-submit {
  font-size: 17px !important;
  line-height: 1.35 !important;
}

.ap-ha .ap-ha-report-grid h3 {
  font-size: 23px !important;
  line-height: 1.3 !important;
}

.ap-ha .ap-ha-report-grid p {
  font-size: 17px !important;
  line-height: 1.72 !important;
}

.ap-ha .ap-ha-field input,
.ap-ha .ap-ha-field select {
  min-height: 62px !important;
  font-size: 17px !important;
}

/* Contrasto forzato nel riquadro di sblocco */
.ap-ha .ap-ha-unlock-box,
.ap-ha .ap-ha-unlock-box .ap-ha-kicker,
.ap-ha .ap-ha-unlock-box h3,
.ap-ha .ap-ha-unlock-box p {
  color: #ffffff !important;
}

.ap-ha .ap-ha-unlock-box h3 {
  font-size: clamp(31px, 3.4vw, 43px) !important;
  line-height: 1.22 !important;
}

.ap-ha .ap-ha-unlock-box p {
  font-size: 18px !important;
  line-height: 1.72 !important;
  opacity: 1 !important;
}

.ap-ha .ap-ha-unlock-box .ap-ha-kicker {
  opacity: 1 !important;
}

.ap-ha .ap-ha-unlock-box .ap-ha-primary-action {
  color: var(--bd) !important;
}

@media (max-width: 780px) {
  .ap-ha .ap-ha-lead,
  .ap-ha .ap-ha-copy,
  .ap-ha .ap-ha-report-intro {
    font-size: 18px !important;
  }

  .ap-ha .ap-ha-choice small {
    font-size: 15px !important;
  }

  .ap-ha .ap-ha-unlock-box h3 {
    font-size: 31px !important;
  }

  .ap-ha .ap-ha-unlock-box p {
    font-size: 17px !important;
  }
}

/* =========================================================
   RISPOSTE TEST SONORO — VERSIONE 2.2
   Nessuna risposta viene suggerita visivamente in partenza.
   ========================================================= */

.ap-ha .ap-ha-tone-panel .ap-ha-response-button,
.ap-ha .ap-ha-tone-panel .ap-ha-response-button.is-primary {
  min-height: 59px;
  border: 2px solid var(--ap-line) !important;
  background: #ffffff !important;
  color: var(--ap-blue-dark) !important;
  box-shadow: none !important;
}

.ap-ha .ap-ha-tone-panel .ap-ha-response-button:hover,
.ap-ha .ap-ha-tone-panel .ap-ha-response-button.is-primary:hover,
.ap-ha .ap-ha-tone-panel .ap-ha-response-button:focus-visible {
  border-color: var(--ap-blue) !important;
  background: var(--ap-soft) !important;
  color: var(--ap-blue-dark) !important;
  box-shadow: 0 10px 22px rgba(33,103,124,.09) !important;
}

.ap-ha .ap-ha-tone-panel .ap-ha-response-button:focus-visible {
  outline: 3px solid rgba(239,128,57,.24);
  outline-offset: 3px;
}

/* =========================================================
   CENTRI AUDIOPROGRESS E MAPPA — VERSIONE 2.3
   ========================================================= */

.ap-ha-centers-section {
  padding: 92px 0;
  border-top: 1px solid var(--line);
  background: #ffffff;
}

.ap-ha-centers-head {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 36px;
  align-items: end;
  margin-bottom: 40px;
}

.ap-ha-centers-head h2 {
  max-width: 760px;
  margin: 0 0 15px;
  color: var(--ink);
  font-size: clamp(36px, 4.8vw, 60px);
  line-height: 1.06;
  letter-spacing: -.055em;
}

.ap-ha-centers-head p {
  max-width: 760px;
  margin: 0;
  color: var(--mut);
  font-size: 19px;
  line-height: 1.72;
}

.ap-ha-centers-direct {
  display: grid;
  gap: 10px;
}

.ap-ha-centers-direct a {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  min-height: 66px;
  padding: 15px 19px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--bg);
  color: var(--bd) !important;
  text-decoration: none !important;
  transition: all .2s ease;
}

.ap-ha-centers-direct a:hover {
  border-color: rgba(33,103,124,.35);
  background: var(--soft);
  transform: translateY(-1px);
}

.ap-ha-centers-direct span {
  color: var(--mut);
  font-size: 14px;
  font-weight: 800;
}

.ap-ha-centers-direct strong {
  font-size: 17px;
  text-align: right;
}

.ap-ha-centers-layout {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 25px;
  align-items: stretch;
}

.ap-ha-centers-map {
  min-height: 660px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 30px;
  background:
    radial-gradient(circle at 85% 10%, rgba(239,128,57,.13), transparent 28%),
    var(--bg);
  box-shadow: 0 18px 45px rgba(13,62,76,.09);
  z-index: 1;
}

.ap-ha-map-fallback {
  display: flex;
  min-height: 660px;
  padding: 30px;
  align-items: center;
  justify-content: center;
  color: var(--mut);
  font-size: 17px;
  line-height: 1.65;
  text-align: center;
}

.ap-ha-map-marker-wrap {
  background: transparent;
  border: 0;
}

.ap-ha-map-marker {
  position: relative;
  display: block;
  width: 28px;
  height: 28px;
  border: 4px solid #fff;
  border-radius: 50% 50% 50% 0;
  background: var(--o);
  box-shadow: 0 8px 18px rgba(13,62,76,.25);
  transform: rotate(-45deg);
}

.ap-ha-map-marker::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
}

.ap-ha-map-popup {
  min-width: 190px;
  font-family: inherit;
}

.ap-ha-map-popup strong,
.ap-ha-map-popup span,
.ap-ha-map-popup a {
  display: block;
}

.ap-ha-map-popup strong {
  margin-bottom: 6px;
  color: #155466;
  font-size: 16px;
}

.ap-ha-map-popup span {
  margin-bottom: 10px;
  color: #60737c;
  line-height: 1.45;
}

.ap-ha-map-popup a {
  color: #d8642b;
  font-weight: 900;
  text-decoration: none;
}

.ap-ha-centers-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.ap-ha-center-card {
  padding: 23px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(13,62,76,.055);
}

.ap-ha-center-card > span {
  display: block;
  margin-bottom: 8px;
  color: var(--od);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ap-ha-center-card h3 {
  margin: 0 0 9px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.2;
}

.ap-ha-center-card p {
  min-height: 52px;
  margin: 0;
  color: var(--mut);
  font-size: 16px;
  line-height: 1.55;
}

.ap-ha-center-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 17px;
}

.ap-ha-center-actions a {
  display: inline-flex;
  min-height: 40px;
  padding: 9px 12px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--bg);
  color: var(--bd) !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
}

.ap-ha-center-actions a:hover {
  border-color: var(--b);
  background: var(--soft);
}

.ap-ha-centers-cta {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 28px;
  align-items: center;
  margin-top: 28px;
  padding: 32px;
  border-radius: 27px;
  background:
    radial-gradient(circle at 92% 8%, rgba(239,128,57,.36), transparent 28%),
    linear-gradient(135deg, var(--deep), var(--b));
  color: #fff;
}

.ap-ha-centers-cta span {
  display: block;
  margin-bottom: 8px;
  color: #ffd5bc;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ap-ha-centers-cta h3 {
  max-width: 720px;
  margin: 0;
  color: #fff;
  font-size: clamp(27px,3.5vw,42px);
  line-height: 1.13;
  letter-spacing: -.042em;
}

.ap-ha-centers-cta > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  justify-content: flex-end;
}

.ap-ha-centers-cta .ap-ha-button-light {
  border-color: #fff;
}

@media (max-width: 1040px) {
  .ap-ha-centers-head,
  .ap-ha-centers-layout,
  .ap-ha-centers-cta {
    grid-template-columns: 1fr;
  }

  .ap-ha-centers-map {
    min-height: 520px;
  }

  .ap-ha-centers-cta > div:last-child {
    justify-content: flex-start;
  }
}

@media (max-width: 700px) {
  .ap-ha-centers-section {
    padding: 68px 0;
  }

  .ap-ha-centers-grid {
    grid-template-columns: 1fr;
  }

  .ap-ha-centers-map,
  .ap-ha-map-fallback {
    min-height: 430px;
  }

  .ap-ha-centers-direct strong {
    font-size: 15px;
  }

  .ap-ha-center-card p {
    min-height: auto;
  }
}
