:root{
--red:#da383a;
--red-600:#c62c2e;
--red-700:#a72022;
--red-100:#fbe5e5;
--red-50:#fdf3f3;
--navy:#1a396c;
--navy-500:#24488f;
--navy-600:#2c56a3;
--navy-700:#122a51;
--navy-800:#0d1f3d;
--navy-100:#e7edf7;
--navy-50:#f3f6fc;
--bg:#f7f9fd;
--surface:#ffffff;
--ink:#16233c;
--muted:#5d6b86;
--line:#e6ebf4;
--ok:#2e9e6b;
--font-display:'Sora','Arial Black',sans-serif;
--font-body:'Inter','Helvetica Neue',Arial,sans-serif;
--ease:cubic-bezier(.16,1,.3,1);
--shadow-sm:0 6px 20px -14px rgba(26,57,108,.20);
--shadow-lg:0 26px 54px -22px rgba(26,57,108,.32);
}
html{scroll-behavior:smooth}
body{
margin:0;color:var(--ink);background:var(--bg);
font-family:var(--font-body);-webkit-font-smoothing:antialiased;
overflow-x:hidden
}
a{color:inherit}
img{display:block;max-width:100%}
::selection{background:rgba(218,56,58,.18);color:var(--navy-800)}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#c9d3e4;border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:#aebbd2}

.az-container{width:min(1180px,92vw);margin:0 auto}
.az-accent{color:var(--red)}

/* ---------- Header ---------- */
.az-topbar{background:var(--navy);color:#e7edf7;font:500 12px/1 var(--font-body);position:relative;z-index:60}
.az-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;flex-wrap:wrap}
.az-topbar a{color:#fff;text-decoration:none;transition:color .3s}
.az-topbar a:hover{color:#ff9d9f}
.az-topbar-left,.az-topbar-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.az-topbar .sep{opacity:.4}
.az-topbar-ico{display:inline-block;width:14px;height:14px;margin-right:7px;vertical-align:-2px;fill:var(--red)}
.az-header{
position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);
backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
transition:box-shadow .35s,border-color .35s
}
body.is-scrolled .az-header{border-bottom-color:transparent;box-shadow:0 12px 32px -20px rgba(26,57,108,.35)}
.az-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 0}
.az-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy-800)}
.az-logo-mark{width:44px;height:44px;flex:none;animation:azPop .9s var(--ease) .05s both}
.az-logo-img{height:48px;width:auto;display:block;flex:none}
.az-footer-brand .az-logo-img{height:54px;background:#fff;border-radius:14px;padding:10px 16px;box-shadow:0 14px 34px -20px rgba(0,0,0,.6)}
@keyframes azPop{from{opacity:0;transform:scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}
.az-logo-text{font:700 21px/1.05 var(--font-display);letter-spacing:-.02em;display:flex;flex-direction:column}
.az-logo-text small{font:600 10px/1 var(--font-body);letter-spacing:.28em;color:var(--muted);text-transform:uppercase;margin-top:5px}
.az-nav{display:flex;align-items:center;gap:6px}
.az-nav a{font:600 14px/1 var(--font-body);color:var(--muted);text-decoration:none;padding:11px 16px;border-radius:40px;transition:color .3s,background .3s;position:relative}
.az-nav a:hover{color:var(--navy)}
.az-nav a.active{color:var(--navy-800);background:var(--navy-50)}
.az-nav .az-nav-cta{background:var(--red);color:#fff;padding:12px 22px;border-radius:40px;box-shadow:0 10px 22px -10px rgba(218,56,58,.6);margin-left:8px}
.az-nav .az-nav-cta:hover{background:var(--red-700);color:#fff}
.az-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:10px;cursor:pointer}
.az-burger span{width:24px;height:2px;border-radius:2px;background:var(--navy-800);transition:transform .35s var(--ease),opacity .3s}
body.nav-open .az-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .az-burger span:nth-child(2){opacity:0}
body.nav-open .az-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Buttons ---------- */
.az-btn{
display:inline-flex;align-items:center;justify-content:center;gap:10px;
padding:16px 30px;border-radius:999px;font:600 15px/1 var(--font-body);
text-decoration:none;border:1px solid transparent;cursor:pointer;
transition:transform .3s var(--ease),box-shadow .3s,background .3s,border-color .3s,color .3s
}
.az-btn svg{width:18px;height:18px}
.az-btn-primary{background:var(--red);color:#fff;box-shadow:0 14px 28px -12px rgba(218,56,58,.65)}
.az-btn-primary:hover{background:var(--red-700);transform:translateY(-2px)}
.az-btn-navy{background:var(--navy);color:#fff;box-shadow:0 14px 28px -12px rgba(26,57,108,.6)}
.az-btn-navy:hover{background:var(--navy-700);transform:translateY(-2px)}
.az-btn-outline{background:var(--surface);color:var(--navy);border-color:#cdd8ea}
.az-btn-outline:hover{border-color:var(--navy);transform:translateY(-2px)}
.az-btn-light{background:#fff;color:var(--navy-800)}
.az-btn-light:hover{background:var(--red-50);transform:translateY(-2px)}

/* ---------- Hero (home) ---------- */
.az-hero{position:relative;overflow:hidden;padding:clamp(48px,6vw,80px) 0 clamp(64px,8vw,110px)}
.az-hero::before{content:'';position:absolute;top:-22%;right:-14%;width:56vw;height:56vw;border-radius:50%;background:radial-gradient(circle,rgba(218,56,58,.12) 0%,transparent 62%)}
.az-hero::after{content:'';position:absolute;bottom:-34%;left:-12%;width:48vw;height:48vw;border-radius:50%;background:radial-gradient(circle,rgba(26,57,108,.14) 0%,transparent 62%)}
.az-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,72px);align-items:center}
.az-hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--red);background:var(--red-50);border:1px solid var(--red-100);padding:10px 18px;border-radius:999px;margin-bottom:26px}
.az-hero-eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(218,56,58,.5);animation:azPulse 2s infinite}
@keyframes azPulse{70%{box-shadow:0 0 0 9px rgba(218,56,58,0)}100%{box-shadow:0 0 0 0 rgba(218,56,58,0)}}
.az-hero-title{font:800 clamp(40px,6vw,72px)/1.02 var(--font-display);letter-spacing:-.035em;color:var(--navy-800);margin:0}
.az-hero-title .grad{background:linear-gradient(96deg,var(--red) 0%,var(--red-600) 46%,var(--navy-600) 115%);-webkit-background-clip:text;background-clip:text;color:transparent}
.az-hero-sub{color:var(--muted);font-size:17px;line-height:1.7;max-width:520px;margin:26px 0 34px}
.az-hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.az-hero-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.az-chip{display:inline-flex;align-items:center;gap:9px;font:500 13px/1 var(--font-body);color:var(--navy-700);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:10px 16px;box-shadow:var(--shadow-sm)}
.az-chip svg{width:15px;height:15px;fill:var(--ok)}
.az-hero-media{position:relative;z-index:2}
.az-hero-frame{position:relative;border-radius:30px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/4.4}
.az-hero-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.01)}
.az-hero-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(200deg,rgba(255,255,255,0) 40%,rgba(13,31,61,.28) 100%)}
.az-hero-badge{position:absolute;z-index:3;background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);padding:16px 20px;display:flex;align-items:center;gap:14px}
.az-hero-badge .b-ico{width:42px;height:42px;border-radius:13px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.az-hero-badge .b-ico svg{width:20px;height:20px;fill:#fff}
.az-hero-badge .b-num{font:700 18px/1 var(--font-display);color:var(--navy-800)}
.az-hero-badge .b-lbl{font:500 11px/1.3 var(--font-body);color:var(--muted);margin-top:4px}
.az-badge-1{left:-26px;top:36px;animation:azFloat 6s ease-in-out infinite}
.az-badge-2{right:-18px;bottom:44px;animation:azFloat 7s ease-in-out -2s infinite}
@keyframes azFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}

/* ---------- Section base ---------- */
.az-section{padding:clamp(70px,9vw,120px) 0;position:relative}
.az-section-alt{background:var(--surface)}
.az-section-navy{background:var(--navy-800);color:#e7edf7}
.az-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px 40px;margin-bottom:clamp(40px,5vw,64px);flex-wrap:wrap}
.az-label{display:inline-flex;align-items:center;gap:12px;font:600 12px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:18px}
.az-label::before{content:'';width:26px;height:2px;background:var(--red)}
.az-h2{font:700 clamp(28px,4.4vw,50px)/1.08 var(--font-display);letter-spacing:-.025em;color:var(--navy-800);margin:0}
.az-h2 em{font-style:normal;color:var(--red)}
.az-sub{color:var(--muted);font-size:16px;line-height:1.7;max-width:520px;margin:18px 0 0}
.az-link-more{display:inline-flex;align-items:center;gap:9px;font:600 14px/1 var(--font-body);color:var(--navy);text-decoration:none;white-space:nowrap;transition:gap .3s}
.az-link-more svg{width:17px;height:17px;stroke:var(--red)}
.az-link-more:hover{gap:14px}

/* ---------- Cards / grid ---------- */
.az-grid{display:grid;gap:clamp(18px,2.4vw,30px)}
.az-grid-4{grid-template-columns:repeat(4,1fr)}
.az-grid-3{grid-template-columns:repeat(3,1fr)}
.az-grid-2{grid-template-columns:repeat(2,1fr)}
.az-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow-sm);transition:transform .45s var(--ease),box-shadow .45s,border-color .45s;position:relative;overflow:hidden}
.az-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg);border-color:#d3def0}
.az-card-ico{width:56px;height:56px;border-radius:16px;background:var(--navy-50);color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:background .4s,color .4s,transform .4s var(--ease)}
.az-card-ico svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.az-card:hover .az-card-ico{background:var(--red);color:#fff;transform:scale(1.06) rotate(-4deg)}
.az-card h3{font:700 19px/1.25 var(--font-display);color:var(--navy-800);margin:0 0 12px;letter-spacing:-.01em}
.az-card p{color:var(--muted);font-size:14.5px;line-height:1.7;margin:0}
.az-card-num{position:absolute;top:22px;right:26px;font:700 14px/1 var(--font-display);color:#d8e0ee}

/* ---------- About / stats ---------- */
.az-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center}
.az-media{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg)}
.az-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.az-media:hover img{transform:scale(1.05)}
.az-media::after{content:'';position:absolute;inset:0;background:linear-gradient(200deg,rgba(255,255,255,0) 45%,rgba(13,31,61,.22) 100%)}
.az-media-frame{aspect-ratio:4/3}
.az-media-tag{position:absolute;z-index:3;left:22px;bottom:22px;background:rgba(13,31,61,.85);backdrop-filter:blur(6px);color:#fff;font:600 12px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;padding:12px 18px;border-radius:999px}
.az-about-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.az-about-list li{display:flex;gap:13px;align-items:flex-start;color:var(--ink);font-size:15px;line-height:1.55}
.az-about-list svg{width:21px;height:21px;flex:none;fill:var(--ok);margin-top:1px}
.az-stats{background:linear-gradient(115deg,var(--navy-800) 0%,var(--navy-700) 55%,var(--navy) 100%);border-radius:28px;padding:clamp(30px,4vw,56px) clamp(26px,4vw,60px);margin-top:clamp(50px,6vw,80px);position:relative;overflow:hidden}
.az-stats::before{content:'';position:absolute;top:-60%;right:-10%;width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(218,56,58,.35) 0%,transparent 65%)}
.az-stats-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.az-stat{display:flex;flex-direction:column;gap:8px}
.az-stat-num{font:800 clamp(34px,4vw,56px)/1 var(--font-display);letter-spacing:-.02em;color:#fff}
.az-stat-num sup{font-size:.55em;color:#ffb3b5;vertical-align:super}
.az-stat-lbl{font:500 12px/1.4 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#aebce0}

/* ---------- Steps ---------- */
.az-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px);counter-reset:step}
.az-step{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:34px 32px;position:relative;box-shadow:var(--shadow-sm);transition:transform .45s var(--ease),box-shadow .45s}
.az-step:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.az-step-num{font:800 44px/1 var(--font-display);color:transparent;-webkit-text-stroke:1.5px #cdd8ea;margin-bottom:20px;display:block}
.az-step h3{font:700 19px/1.25 var(--font-display);color:var(--navy-800);margin:0 0 12px}
.az-step p{color:var(--muted);font-size:14.5px;line-height:1.7;margin:0}

/* ---------- Opening hours ---------- */
.az-hours{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(28px,4vw,56px);box-shadow:var(--shadow-sm)}
.az-hours-table{width:100%;border-collapse:collapse}
.az-hours-table td{padding:13px 8px;font-size:15px;border-bottom:1px dashed var(--line)}
.az-hours-table td:last-child{text-align:right;font-weight:600;color:var(--navy-800)}
.az-hours-table tr:last-child td{border-bottom:0}
.az-hours-note{display:flex;gap:14px;align-items:flex-start;margin-top:20px;color:var(--muted);font-size:14px;line-height:1.6}
.az-hours-note svg{width:20px;height:20px;fill:var(--red);flex:none;margin-top:2px}

/* ---------- Team ---------- */
.az-team-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .45s var(--ease),box-shadow .45s}
.az-team-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.az-team-photo{position:relative;aspect-ratio:1/1.08;overflow:hidden}
.az-team-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.az-team-card:hover .az-team-photo img{transform:scale(1.06)}
.az-team-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(185deg,transparent 55%,rgba(13,31,61,.55) 100%)}
.az-team-role{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff;font:600 11px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;background:var(--red);padding:9px 14px;border-radius:999px}
.az-team-body{padding:22px 24px 24px}
.az-team-body h3{font:700 20px/1.2 var(--font-display);color:var(--navy-800);margin:0 0 4px;letter-spacing:-.01em}
.az-team-body .t-sub{font:600 13px/1 var(--font-body);color:var(--red);margin:0 0 12px}
.az-team-body p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.az-team-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.az-team-tags span{font:500 11px/1 var(--font-body);color:var(--navy);background:var(--navy-50);border:1px solid var(--navy-100);padding:7px 12px;border-radius:999px}

/* ---------- Page hero (inner pages) ---------- */
.az-page-hero{position:relative;overflow:hidden;background:linear-gradient(150deg,#fff 0%,var(--navy-50) 70%);padding:clamp(64px,8vw,96px) 0 clamp(48px,6vw,72px)}
.az-page-hero::before{content:'';position:absolute;top:-30%;right:-8%;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(218,56,58,.10) 0%,transparent 60%)}
.az-page-hero::after{content:'';position:absolute;bottom:-40%;left:-10%;width:40vw;height:40vw;border-radius:50%;background:radial-gradient(circle,rgba(26,57,108,.12) 0%,transparent 62%)}
.az-page-hero-inner{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto}
.az-page-title{font:800 clamp(38px,5.6vw,64px)/1.04 var(--font-display);letter-spacing:-.03em;color:var(--navy-800);margin:0}
.az-page-title em{font-style:normal;color:var(--red)}
.az-page-sub{color:var(--muted);font-size:17px;line-height:1.7;max-width:600px;margin:22px auto 0}
.az-breadcrumb{display:inline-flex;gap:9px;align-items:center;font:600 12px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:9px 16px;border-radius:999px;margin-bottom:26px}
.az-breadcrumb a{text-decoration:none;color:var(--red)}
.az-breadcrumb span{opacity:.5}

/* ---------- Services detail rows ---------- */
.az-svc-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px);align-items:center;padding:clamp(30px,4vw,52px) 0;border-bottom:1px solid var(--line)}
.az-svc-row:first-child{border-top:1px solid var(--line)}
.az-svc-media{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3}
.az-svc-media img{width:100%;height:100%;object-fit:cover}
.az-svc-media::after{content:'';position:absolute;inset:0;background:linear-gradient(200deg,rgba(255,255,255,0) 50%,rgba(13,31,61,.25) 100%)}
.az-svc-media .az-media-tag{left:auto;right:20px;top:20px;bottom:auto}
.az-svc-body .az-h2{font-size:clamp(24px,3.4vw,38px)}
.az-svc-body p{color:var(--muted);font-size:15.5px;line-height:1.75;margin:18px 0 0}
.az-svc-list{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.az-svc-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55;color:var(--ink)}
.az-svc-list svg{width:20px;height:20px;flex:none;fill:var(--ok);margin-top:2px}

/* ---------- CTA band ---------- */
.az-cta{position:relative;overflow:hidden;background:linear-gradient(118deg,var(--red) 0%,var(--red-600) 50%,var(--red-700) 100%);border-radius:30px;padding:clamp(40px,6vw,72px) clamp(26px,5vw,72px);color:#fff;text-align:center}
.az-cta::before{content:'';position:absolute;top:-70%;right:-12%;width:40%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16) 0%,transparent 62%)}
.az-cta::after{content:'';position:absolute;bottom:-80%;left:-8%;width:44%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(13,31,61,.4) 0%,transparent 62%)}
.az-cta-inner{position:relative;z-index:2}
.az-cta h2{font:700 clamp(26px,4vw,46px)/1.1 var(--font-display);letter-spacing:-.02em;margin:0}
.az-cta p{font-size:16px;line-height:1.7;color:rgba(255,255,255,.9);max-width:560px;margin:16px auto 30px}
.az-cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* ---------- Contact ---------- */
.az-contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:start}
.az-contact-cards{display:grid;gap:18px}
.az-contact-card{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s}
.az-contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.az-contact-ico{width:50px;height:50px;border-radius:14px;background:var(--navy-50);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none}
.az-contact-ico svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.az-contact-card h3{font:700 16px/1.2 var(--font-display);color:var(--navy-800);margin:0 0 8px}
.az-contact-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.az-contact-card a{color:var(--navy);font-weight:600;text-decoration:none}
.az-contact-card a:hover{color:var(--red)}

.az-form-wrap{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(26px,4vw,42px);box-shadow:var(--shadow-sm)}
.az-form-title{font:700 24px/1.2 var(--font-display);color:var(--navy-800);margin:0 0 6px}
.az-form-sub{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 26px}
.az-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.az-field{display:flex;flex-direction:column;gap:8px}
.az-field-full{grid-column:1/-1}
.az-field label{font:600 13px/1 var(--font-body);color:var(--navy-800)}
.az-field input,.az-field select,.az-field textarea{
font:400 15px/1.4 var(--font-body);color:var(--ink);
border:1px solid #d3ddea;border-radius:13px;padding:14px 16px;background:var(--bg);
transition:border-color .3s,box-shadow .3s;width:100%;box-sizing:border-box;outline:none
}
.az-field textarea{min-height:130px;resize:vertical}
.az-field input:focus,.az-field select:focus,.az-field textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(218,56,58,.12)}
.az-field-hint{font:500 11px/1.4 var(--font-body);color:var(--muted)}
.az-form-ok{display:none;grid-column:1/-1;align-items:center;gap:12px;background:#eefaf3;border:1px solid #bfe6cf;color:#1e7a4a;border-radius:13px;padding:16px 18px;font-size:14.5px;line-height:1.5}
.az-form-ok svg{width:22px;height:22px;fill:var(--ok);flex:none}
.az-form-ok.is-visible{display:flex;animation:azOk .5s var(--ease)}
@keyframes azOk{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Anfahrt / map ---------- */
.az-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.4vw,44px);align-items:stretch}
.az-map{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);min-height:380px;border:1px solid var(--line)}
.az-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.az-map-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(26px,3.4vw,40px);box-shadow:var(--shadow-sm)}
.az-map-card h3{font:700 21px/1.2 var(--font-display);color:var(--navy-800);margin:0 0 8px}
.az-map-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:16px}
.az-map-list li{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;line-height:1.6;color:var(--ink)}
.az-map-list svg{width:20px;height:20px;fill:var(--navy);flex:none;margin-top:2px}

/* ---------- Footer ---------- */
.az-footer{background:var(--navy-800);color:#c3cee4;padding:clamp(56px,7vw,84px) 0 0}
.az-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:clamp(28px,4vw,56px);padding-bottom:44px}
.az-footer h4{font:700 14px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 20px}
.az-footer a{color:#c3cee4;text-decoration:none;transition:color .3s}
.az-footer a:hover{color:#fff}
.az-footer-brand .az-logo{color:#fff;margin-bottom:18px}
.az-footer-brand p{font-size:14px;line-height:1.75;margin:0;max-width:300px}
.az-footer-col{display:flex;flex-direction:column;gap:13px;font-size:14.5px}
.az-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(255,255,255,.12);padding:22px 0;font:500 12.5px/1 var(--font-body);color:#8fa0c2}
.az-footer-bottom .az-legal{display:flex;gap:20px}
.az-footer-bottom .az-legal a{color:#8fa0c2}

/* ---------- Reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .95s var(--ease),transform .95s var(--ease);transition-delay:var(--d,0s);will-change:transform}
[data-reveal].is-in{opacity:1;transform:none}

/* ---------- Back to top ---------- */
.az-backtop{position:fixed;right:26px;bottom:26px;z-index:40;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s,transform .35s,border-color .3s;text-decoration:none}
body.is-scrolled .az-backtop{opacity:1;transform:none;pointer-events:auto}
.az-backtop:hover{border-color:var(--red);color:var(--red)}
.az-backtop svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

body.is-reduced *,
body.is-reduced *::before,
body.is-reduced *::after{animation:none !important;transition-duration:.01ms !important}
body.is-reduced [data-reveal]{opacity:1;transform:none}

@media (max-width:1020px){
.az-grid-4{grid-template-columns:1fr 1fr}
.az-grid-3{grid-template-columns:1fr 1fr}
.az-stats-grid{grid-template-columns:1fr 1fr}
.az-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
.az-topbar-left{display:none}
.az-topbar-inner{justify-content:center}
.az-nav{position:fixed;inset:0;top:0;z-index:80;background:rgba(255,255,255,.98);flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;pointer-events:none;transform:translateY(-14px);transition:opacity .4s,transform .4s}
body.nav-open .az-nav{opacity:1;pointer-events:auto;transform:none}
.az-nav a{font-size:19px}
.az-nav .az-nav-cta{margin-left:0;margin-top:10px}
.az-burger{display:flex;z-index:90;position:relative}
.az-hero-inner{grid-template-columns:1fr}
.az-hero-frame{aspect-ratio:16/11;max-width:560px;margin:0 auto}
.az-about-grid,.az-hours,.az-svc-row,.az-contact-grid,.az-map-grid{grid-template-columns:1fr}
.az-steps{grid-template-columns:1fr}
.az-badge-1{left:-8px}
.az-badge-2{right:-8px}
}
@media (max-width:620px){
.az-grid-4,.az-grid-3{grid-template-columns:1fr}
.az-stats-grid{grid-template-columns:1fr 1fr;gap:20px}
.az-form{grid-template-columns:1fr}
.az-footer-grid{grid-template-columns:1fr}
.az-footer-bottom{flex-direction:column;align-items:flex-start}
}
