:root {
  --alp-green: #168a58;
  --alp-green-dark: #0b6240;
  --alp-green-soft: #eaf8f1;
  --alp-ink: #14211b;
  --alp-muted: #637069;
  --alp-surface: #f5f8f6;
  --alp-line: #dfe7e2;
  --alp-radius: 1.25rem;
  --alp-shadow: 0 20px 50px rgba(17, 55, 38, .10);
}

html { scroll-behavior: smooth; }
body { color: var(--alp-ink); background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: var(--alp-green-dark); }
a:hover { color: var(--alp-green); }
img { max-width: 100%; height: auto; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 2000; padding: .75rem 1rem; color: #fff; background: var(--alp-ink); border-radius: .75rem; }
.skip-link:focus { top: 1rem; }
.topbar { background: var(--alp-ink); color: #e8f3ed; font-size: .85rem; }
.topbar a { color: #fff; text-decoration: none; }
.site-header { position: sticky; top: 0; z-index: 1020; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(223,231,226,.88); backdrop-filter: blur(14px); }
.navbar { min-height: 76px; }
.navbar-brand img { width: 210px; height: auto; }
.navbar-toggler { border-color: var(--alp-line); padding: .55rem .7rem; }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(22,138,88,.18); }
.nav-link { color: var(--alp-ink); font-weight: 650; font-size: .94rem; border-radius: .65rem; padding: .55rem .7rem !important; }
.nav-link:hover, .nav-link.active { color: var(--alp-green-dark); background: var(--alp-green-soft); }
.btn { min-height: 46px; border-radius: .8rem; font-weight: 750; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; }
.btn-success { --bs-btn-bg: var(--alp-green); --bs-btn-border-color: var(--alp-green); --bs-btn-hover-bg: var(--alp-green-dark); --bs-btn-hover-border-color: var(--alp-green-dark); --bs-btn-active-bg: var(--alp-green-dark); }
.btn-outline-dark { --bs-btn-hover-bg: var(--alp-ink); --bs-btn-hover-border-color: var(--alp-ink); }

.home-hero { position: relative; min-height: 670px; display: flex; align-items: center; overflow: hidden; isolation: isolate; background: var(--alp-ink); }
.home-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url('/assets/hero-v2.webp') 62% center / cover no-repeat; }
.home-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(8,27,19,.96) 0%,rgba(8,27,19,.86) 37%,rgba(8,27,19,.25) 68%,rgba(8,27,19,.05) 100%); }
.hero-content { max-width: 690px; padding: 6rem 0; color: #fff; }
.eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1.2rem; padding: .48rem .75rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.10); color: #d8f7e8; font-size: .82rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.eyebrow-dot { width: .55rem; height: .55rem; border-radius: 50%; background: #5fe6a6; box-shadow: 0 0 0 .3rem rgba(95,230,166,.15); }
.home-hero h1 { max-width: 680px; margin-bottom: 1.35rem; font-size: clamp(2.45rem,5.8vw,5rem); line-height: .98; letter-spacing: -.055em; font-weight: 850; }
.home-hero .lead { max-width: 610px; color: #dce8e1; font-size: clamp(1.06rem,1.8vw,1.26rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.hero-actions .btn-outline-light { background: rgba(255,255,255,.07); }
.hero-trust { display: flex; flex-wrap: wrap; gap: .7rem 1.35rem; margin-top: 2rem; color: #eef7f2; font-size: .9rem; font-weight: 650; }
.hero-trust span::before { content: "✓"; color: #5fe6a6; margin-right: .45rem; font-weight: 900; }

.trust-strip { position: relative; z-index: 3; margin-top: -44px; }
.trust-panel { background: #fff; border: 1px solid var(--alp-line); border-radius: var(--alp-radius); box-shadow: var(--alp-shadow); overflow: hidden; }
.trust-item { padding: 1.25rem 1rem; }
.trust-item + .trust-item { border-left: 1px solid var(--alp-line); }
.trust-value { display: block; color: var(--alp-green-dark); font-size: 1.35rem; line-height: 1.15; font-weight: 850; }
.trust-label { color: var(--alp-muted); font-size: .84rem; font-weight: 650; }
.section-space { padding: 6rem 0; }
.section-soft { background: var(--alp-surface); }
.section-kicker { margin-bottom: .65rem; color: var(--alp-green); font-size: .78rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.section-title { max-width: 760px; margin-bottom: 1rem; font-size: clamp(2rem,4vw,3.2rem); line-height: 1.1; letter-spacing: -.04em; font-weight: 850; }
.section-intro { max-width: 720px; color: var(--alp-muted); font-size: 1.08rem; }

.service-card, .feature-card, .process-card, .location-card, .card { height: 100%; padding: 1.55rem; background: #fff; border: 1px solid var(--alp-line); border-radius: var(--alp-radius); box-shadow: 0 12px 35px rgba(17,55,38,.05); }
.service-card { position: relative; overflow: hidden; transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.service-card:hover { transform: translateY(-5px); border-color: rgba(22,138,88,.35); box-shadow: var(--alp-shadow); }
.service-icon, .step-no { width: 3rem; height: 3rem; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1.1rem; color: var(--alp-green-dark); background: var(--alp-green-soft); border-radius: .9rem; font-size: 1.25rem; font-weight: 900; }
.service-card h3, .feature-card h3, .process-card h3, .location-card h3, .card h3 { font-size: 1.18rem; font-weight: 800; }
.service-card p, .feature-card p, .process-card p, .location-card p, .card p { color: var(--alp-muted); }
.card-link { font-weight: 800; text-decoration: none; }
.card-link::after { content: " →"; transition: margin-left .2s ease; }
.card-link:hover::after { margin-left: .25rem; }
.process-card { position: relative; }
.step-no { color: #fff; background: var(--alp-green); border-radius: 50%; font-size: 1rem; }
.comparison-wrap { overflow: hidden; border-radius: var(--alp-radius); box-shadow: var(--alp-shadow); }
.comparison-wrap img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.comparison-caption { padding: 1rem 1.2rem; color: #fff; background: var(--alp-ink); }

.cta-band { position: relative; overflow: hidden; padding: clamp(2rem,6vw,4rem); color: #fff; background: linear-gradient(135deg,var(--alp-green-dark),var(--alp-green)); border-radius: calc(var(--alp-radius) + .5rem); box-shadow: var(--alp-shadow); }
.cta-band::after { content: ""; position: absolute; width: 260px; height: 260px; right: -80px; bottom: -130px; border: 46px solid rgba(255,255,255,.10); border-radius: 50%; }
.cta-band .btn-light { color: var(--alp-green-dark); }
.faq-wrap { max-width: 900px; margin-inline: auto; }
.accordion-item { margin-bottom: .8rem; border: 1px solid var(--alp-line) !important; border-radius: 1rem !important; overflow: hidden; }
.accordion-button { padding: 1.2rem 1.35rem; font-weight: 750; }
.accordion-button:not(.collapsed) { color: var(--alp-green-dark); background: var(--alp-green-soft); box-shadow: none; }
.accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(22,138,88,.16); }

main.container { padding-top: 2rem; padding-bottom: 2rem; }
main.container > .hero { height: 260px; margin-bottom: 1.4rem; overflow: hidden; border-radius: var(--alp-radius); background: var(--alp-surface); }
main.container > .hero img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 42%; }
.breadcrumb { margin: 1rem 0; font-size: .9rem; }
.breadcrumb a { text-decoration: none; }
.grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 1rem; }
.card { margin-bottom: 1rem; }
.card > h1 { margin: 0 0 .6rem !important; font-size: clamp(2rem,4vw,3.2rem); line-height: 1.12; letter-spacing: -.04em; font-weight: 850; }
.card > h2 { font-size: 1.5rem; font-weight: 800; }
.muted { color: var(--alp-muted) !important; }
.clean { padding-left: 1.2rem; }
.clean li { margin-bottom: .45rem; }
.cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: .4rem; padding: .65rem 1rem; color: #fff; background: var(--alp-green); border-radius: .75rem; font-weight: 750; text-decoration: none; }
.cta:hover { color: #fff; background: var(--alp-green-dark); }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table { min-width: 560px; margin: 0; }
.table > :not(caption) > * > * { padding: .85rem .75rem; border-color: var(--alp-line); }
.table th { color: var(--alp-green-dark); background: var(--alp-green-soft); }

.site-footer { margin-top: 4rem; color: #dce8e1; background: var(--alp-ink); }
.footer-main { padding: 4rem 0 2.5rem; }
.footer-title { color: #fff; font-weight: 800; font-size: .93rem; }
.site-footer a { color: #dce8e1; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li { margin-bottom: .5rem; }
.footer-bottom { padding: 1.15rem 0; border-top: 1px solid rgba(255,255,255,.1); color: #aebdb5; font-size: .86rem; }
.footer-brand { filter: brightness(0) invert(1); opacity: .96; }
.floating-actions { position: fixed; right: 1rem; bottom: 1rem; z-index: 1030; display: flex; flex-direction: column; gap: .55rem; }
.floating-action { width: 3.25rem; height: 3.25rem; display: inline-flex; align-items: center; justify-content: center; color: #fff; border-radius: 50%; box-shadow: 0 12px 30px rgba(0,0,0,.2); text-decoration: none; font-size: 1.25rem; font-weight: 900; }
.floating-action:hover { color: #fff; transform: translateY(-2px); }
.floating-call { background: var(--alp-ink); }
.floating-wa { background: #19a966; }

@media (min-width:768px) { .grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width:992px) { .navbar-nav { gap: .15rem; } .grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .floating-actions { right: 1.5rem; bottom: 1.5rem; } }
@media (max-width:991.98px) { .navbar-collapse { padding: .85rem 0 1rem; } .navbar-nav { gap: .25rem; } .navbar .btn { width: 100%; margin-top: .5rem; } .home-hero { min-height: 620px; } .home-hero::before { background-position: 66% center; } .home-hero::after { background: linear-gradient(90deg,rgba(8,27,19,.94) 0%,rgba(8,27,19,.82) 56%,rgba(8,27,19,.3) 100%); } }
@media (max-width:767.98px) { .topbar { display:none; } .navbar { min-height:68px; } .navbar-brand img { width:178px; } .home-hero { min-height:650px; align-items:flex-end; } .home-hero::before { background-position:66% center; } .home-hero::after { background: linear-gradient(0deg,rgba(8,27,19,.98) 0%,rgba(8,27,19,.87) 55%,rgba(8,27,19,.32) 100%); } .hero-content { padding:5rem 0 3.5rem; } .home-hero h1 { font-size:clamp(2.45rem,13vw,3.7rem); } .hero-actions .btn { width:100%; } .trust-strip { margin-top:0; background:var(--alp-surface); padding-top:1rem; } .trust-item + .trust-item { border-left:0; border-top:1px solid var(--alp-line); } .section-space { padding:4rem 0; } main.container > .hero { height:190px; border-radius:1rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }
