/* Alfa Services layout polish.
   Deliberately contains no palette, background, gradient, or shadow overrides. */
:root{
  --polish-radius:24px;
  --polish-ease:cubic-bezier(.22,1,.36,1);
}

html:not(.native-customer-app) h1,
html:not(.native-customer-app) h2,
.service-hero h1,.directory-hero h1,.gallery-hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  letter-spacing:-.045em;
  text-wrap:balance;
}

html:not(.native-customer-app) .section-heading p,
.service-hero .lead,.directory-hero .lead,.gallery-hero .lead{
  text-wrap:pretty;
}

html:not(.native-customer-app) .nav-links>a:not(.btn),
.desktop-nav a{
  position:relative;
}

html:not(.native-customer-app) .hero{
  min-height:min(860px,calc(100vh - 90px));
  display:grid;
  align-items:center;
  padding-top:clamp(54px,7vw,96px);
}

html:not(.native-customer-app) .hero-grid{
  gap:clamp(38px,6vw,88px);
}

html:not(.native-customer-app) .hero-copy{
  position:relative;
}

html:not(.native-customer-app) .hero h1{
  max-width:760px;
  font-size:clamp(3rem,6.4vw,6rem);
  line-height:.96;
  letter-spacing:-.058em;
}

html:not(.native-customer-app) .hero-copy>p{
  max-width:610px;
}

html:not(.native-customer-app) .hero-story-caption{
  border-radius:12px;
}

html:not(.native-customer-app) .btn{
  border-radius:12px;
  transition:transform .25s var(--polish-ease),box-shadow .25s ease,background-color .25s ease,border-color .25s ease;
}

html:not(.native-customer-app) .btn:hover{
  transform:translateY(-3px);
}

html:not(.native-customer-app) .trust-list{
  overflow:hidden;
  margin-top:clamp(34px,5vw,62px);
  border-radius:20px;
}

html:not(.native-customer-app) .trust-list li{
  min-height:94px;
}

html:not(.native-customer-app) .section{
  padding-block:clamp(82px,10vw,138px);
}

html:not(.native-customer-app) .section-heading{
  max-width:790px;
  margin-bottom:clamp(38px,5vw,58px);
}

html:not(.native-customer-app) .section-heading h2{
  font-size:clamp(2.4rem,5vw,4.65rem);
  line-height:1;
}

html:not(.native-customer-app) .kicker{
  gap:12px;
  letter-spacing:.16em;
}

html:not(.native-customer-app) .kicker:before{
  width:38px;
  height:2px;
}

html:not(.native-customer-app) .services-grid{
  gap:22px;
}

html:not(.native-customer-app) .service-card{
  position:relative;
  min-height:310px;
  overflow:hidden;
  padding:31px;
  border-radius:var(--polish-radius);
  isolation:isolate;
}

html:not(.native-customer-app) .service-card:hover{
  transform:translateY(-8px);
}

html:not(.native-customer-app) .service-icon,
html:not(.native-customer-app) .service-card:nth-child(2n) .service-icon{
  width:56px;
  height:56px;
  margin-bottom:28px;
  border-radius:16px;
}

html:not(.native-customer-app) .service-card h3{
  font-size:1.32rem;
}

html:not(.native-customer-app) .service-card>a{
  margin-top:22px;
}

html:not(.native-customer-app) .service-card>a svg{
  transition:transform .25s var(--polish-ease);
}

html:not(.native-customer-app) .service-card>a:hover svg{
  transform:translateX(5px);
}

html:not(.native-customer-app) .gallery-preview-card,
.gallery-card{
  border-radius:22px;
}

html:not(.native-customer-app) .gallery-preview-card span{
  z-index:2;
  border-radius:12px;
}

html:not(.native-customer-app) .why-copy h2{
  font-size:clamp(2.5rem,4.7vw,4.4rem);
}

html:not(.native-customer-app) .why-list{
  gap:18px;
}

html:not(.native-customer-app) .why-list article{
  padding:28px;
  border-radius:20px;
  transition:transform .3s var(--polish-ease),box-shadow .3s ease,border-color .3s ease;
}

html:not(.native-customer-app) .why-list article:hover{
  transform:translateX(8px);
}

html:not(.native-customer-app) .why-list article>b,
html:not(.native-customer-app) .why-list article:nth-child(2)>b{
  border-radius:16px;
}

html:not(.native-customer-app) .process-grid{
  gap:18px;
}

html:not(.native-customer-app) .booking-card,
html:not(.native-customer-app) .tracking-card{
  border-radius:26px;
}

html:not(.native-customer-app) .field input,
html:not(.native-customer-app) .field select,
html:not(.native-customer-app) .field textarea,
html:not(.native-customer-app) .tracking-form input{
  border-radius:12px;
}

html:not(.native-customer-app) .contact-panel,
html:not(.native-customer-app) .map-card{
  border-radius:26px;
}

html:not(.native-customer-app) .faq-section details{
  overflow:hidden;
  border-radius:16px;
}

html:not(.native-customer-app) .cta-box{
  border-radius:28px;
}

.service-hero h1,.directory-hero h1,.gallery-hero h1{
  font-size:clamp(3rem,6.5vw,6.2rem);
  line-height:.96;
}

.facts,.related-grid>a,.directory-grid article,.faq-list details{
  border-radius:20px;
}

.related-grid>a:hover,.directory-grid article:hover{
  transform:translateY(-7px);
}

.gallery-card{
  overflow:hidden;
}

.gallery-card:hover{
  transform:translateY(-8px);
}

.footer-signoff strong,.copyright.footer-signoff strong{
  letter-spacing:.17em;
}

@media(max-width:960px){
  html:not(.native-customer-app) .hero{min-height:auto}
  html:not(.native-customer-app) .hero-copy{max-width:820px}
  html:not(.native-customer-app) .service-card{min-height:290px}
}

@media(max-width:720px){
  html:not(.native-customer-app) .section{padding-block:74px}
  html:not(.native-customer-app) .hero{padding-top:38px}
  html:not(.native-customer-app) .hero h1{font-size:clamp(2.75rem,13vw,4.25rem)}
  html:not(.native-customer-app) .hero-art{min-height:365px}
  html:not(.native-customer-app) .trust-list{border-radius:17px}
  html:not(.native-customer-app) .service-card{min-height:0;padding:26px;border-radius:20px}
  html:not(.native-customer-app) .why-list article:hover{transform:translateY(-4px)}
  html:not(.native-customer-app) .booking-card,
  html:not(.native-customer-app) .tracking-card,
  html:not(.native-customer-app) .contact-panel,
  html:not(.native-customer-app) .map-card{border-radius:20px}
  .service-hero h1,.directory-hero h1,.gallery-hero h1{font-size:clamp(2.7rem,13vw,4.5rem)}
}

@media(prefers-reduced-motion:reduce){
  html:not(.native-customer-app) .service-card>a svg,
  html:not(.native-customer-app) .why-list article{transition:none!important}
}
