/* ALP final layout. Scoped classes preserve the imported page content. */
:root{--alp-ink:#1d2833;--alp-red:#be2432;--alp-soft:#f3f5f5;--alp-edge:#dee4e7}
#alp-main{color:var(--alp-ink)}
.alp-finish,.alp-family-story{color:var(--alp-ink);font-size:18px;line-height:1.7}
.alp-finish h1,.alp-finish-hero h1{font-size:clamp(36px,4.3vw,64px);line-height:1.08;letter-spacing:-.035em;font-weight:700;margin:18px 0 24px;color:var(--alp-ink)}
.alp-finish h2{font-size:clamp(28px,3vw,42px);line-height:1.18;letter-spacing:-.025em;font-weight:650;margin:8px 0 24px}
.alp-finish h3{font-size:23px;line-height:1.3;font-weight:650;margin:14px 0}
.alp-finish p{margin:0 0 20px}
.alp-finish ul{list-style:disc;padding-left:24px;margin:20px 0}.alp-finish li{margin:9px 0}
.alp-finish-section{max-width:1320px;margin:0 auto;padding:70px 28px}
.alp-finish-start{padding-top:155px;padding-bottom:30px}
.alp-finish-hero{max-width:1440px;margin:0 auto;padding:145px 46px 65px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;align-items:center;color:var(--alp-ink)}
.alp-finish-hero>div,.alp-finish-hero>figure{min-width:0}
.alp-finish-hero figure{margin:0;position:relative}
.alp-form-hero{padding-bottom:30px}.alp-form-hero img{height:350px!important}.alp-form-hero h1{font-size:clamp(32px,3.6vw,52px)}
.alp-form-hero~div[id]{scroll-margin-top:100px}
.alp-finish-hero img{display:block;width:100%;height:590px;object-fit:cover;border-radius:22px;background:#edf0f1}
.alp-finish figcaption,.alp-finish-hero figcaption{font-size:14px;line-height:1.5;color:#596570;padding:12px 0}
.alp-finish-lead{font-size:clamp(18px,1.5vw,22px);line-height:1.65;max-width:940px}
.alp-finish-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 22px}
.alp-secondary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #b7c0c5;border-radius:8px;padding:12px 20px;font-size:16px;font-weight:650;line-height:1.4;color:var(--alp-ink);background:white;text-decoration:none}
.alp-secondary-cta:hover{background:#f0f3f3}
.alp-finish-small{font-size:14px!important;line-height:1.6;color:#586471}
.alp-finish-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:65px}
.alp-finish-tint{background:var(--alp-soft);border-radius:20px;margin-top:20px;margin-bottom:20px;padding:55px 40px}
.alp-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:30px}
.alp-feature-grid article{border-top:2px solid var(--alp-red);padding-top:20px}
.alp-step{font-size:15px;font-weight:700;color:var(--alp-red)}
.alp-text-link{font-size:16px;font-weight:650;color:var(--alp-red);text-decoration:underline;text-underline-offset:4px}
.alp-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;margin-top:32px}
.alp-project-card{border:1px solid var(--alp-edge);border-radius:18px;background:white;overflow:hidden}
.alp-project-card figure{margin:0;position:relative}
.alp-project-card figure>img{width:100%;height:440px;object-fit:cover;display:block}
.alp-project-card figcaption{padding:12px 24px;background:#f3f5f5}
.alp-project-card>div{padding:14px 24px 30px}
.alp-project-card h3 a{color:var(--alp-ink);text-decoration:none}
.alp-project-card h3 a:hover{color:var(--alp-red)}
.alp-project-card p{font-size:17px}
.alp-project-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px;align-items:start}
.alp-project-detail figure{margin:0;position:relative}
.alp-project-detail img{width:100%;height:auto;max-height:820px;object-fit:contain;display:block;border-radius:15px;background:#f0f2f3}
.alp-project-detail ul{list-style:disc;padding-left:23px;margin:0 0 24px}
.alp-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;padding:0;counter-reset:alp-step}
.alp-process li{counter-increment:alp-step}
.alp-process li:before{content:counter(alp-step,decimal-leading-zero);display:block;font-size:40px;line-height:1.3;font-weight:700;color:var(--alp-red);margin:15px 0}
.alp-process strong{font-size:22px}
.alp-process p{font-size:16px;margin-top:12px}
.alp-faq details{border-bottom:1px solid var(--alp-edge);padding:21px 0}
.alp-faq summary{font-size:20px;font-weight:650;cursor:pointer;padding-right:10px}
.alp-faq details p{max-width:1000px;margin:20px 0 8px}
.alp-finish-contact{display:flex;gap:35px;align-items:center;justify-content:space-between;border-top:1px solid var(--alp-edge)}
.alp-finish-contact>div{max-width:800px}
.alp-finish-contact .alp-cta{flex:none}
.alp-legal .alp-finish-section{max-width:1040px}
.alp-legal .alp-finish-section+div{padding-top:15px}
.alp-legal h2{font-size:28px;margin-top:36px}
.alp-legal a,.alp-form-privacy a{color:var(--alp-red);text-decoration:underline;text-underline-offset:3px}
.alp-legal dl{display:grid;grid-template-columns:220px minmax(0,1fr);margin:0 0 35px;gap:12px 24px}
.alp-legal dt{font-weight:650}.alp-legal dd{margin:0;overflow-wrap:anywhere}
.alp-family-story{border-top:1px solid var(--alp-edge);border-bottom:1px solid var(--alp-edge)}
.alp-family-story .alp-finish-split{gap:40px;margin-top:30px}
.alp-about-image{object-fit:cover!important;height:580px!important;max-height:none!important;border-radius:20px!important;object-position:center!important}
.alp-team-grid figure{position:relative}
.alp-photo-pair-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:min(100%,780px)!important;align-items:stretch!important;padding-left:0!important;padding-right:0!important}
.alp-photo-cell{width:100%;min-width:0;position:relative}
.alp-photo-why-panel{position:relative!important;isolation:isolate;background:#f2f4f5!important;color:#1d2833!important;border-radius:20px!important;margin:50px auto!important;max-width:1300px!important;height:auto!important}
.alp-why-photo{position:relative!important;inset:auto!important;height:400px!important;width:100%!important;margin-bottom:35px!important;border-radius:16px;background-size:cover!important;background-position:center!important}
.alp-process-proof{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.alp-photo-pair{position:relative!important;width:100%!important;max-width:none!important;min-height:440px!important;height:440px!important;margin:0!important;background-size:cover!important;background-position:center!important;border-radius:18px!important;box-shadow:none!important}
.alp-photo-card-bg{background-position:center!important;background-size:cover!important}
.alp-photo-zoom-button{display:inline-flex;align-items:center;gap:6px;background:#fff!important;color:#233140!important;border:1px solid #cad2d7!important;border-radius:7px!important;min-height:40px!important;padding:8px 12px!important;font-size:13px!important;font-weight:650!important;line-height:1.3!important;cursor:zoom-in;box-shadow:0 3px 12px #17212b14;position:relative;z-index:80;text-decoration:none!important;transform:none!important;margin-top:8px!important}
.alp-photo-pair .alp-photo-zoom-button{position:absolute;right:12px;bottom:12px}
[data-alp-zoom-src]:not(.alp-photo-pair)>.alp-photo-zoom-button{position:absolute;right:12px;bottom:12px}
.alp-photo-dialog{padding:20px;border:0;border-radius:14px;max-width:96vw;max-height:94vh;background:#16212c;color:white;width:min(1300px,96vw);box-shadow:0 20px 100px #0006}
.alp-photo-dialog::backdrop{background:#111d2bed}
.alp-photo-dialog:not([open]){display:none}
.alp-photo-dialog header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;font:16px/1.4 system-ui}
.alp-photo-dialog button{padding:10px 16px;background:#fff;color:#17212b;border:0;border-radius:6px;min-height:44px;cursor:pointer}
.alp-photo-dialog img{display:block;max-width:100%;width:100%;max-height:76vh;object-fit:contain;margin:auto;background:#101821}
.alp-photo-dialog p{font:14px/1.4 system-ui;margin:12px 0 0}
.alp-form-privacy{font-size:13px;line-height:1.5;color:#5d6874;margin:16px 0 0;width:100%;grid-column:1/-1}
.alp-form-page .alp-finish-start{padding-bottom:20px}.alp-form-page .alp-contact-grid{padding-top:15px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:50px;align-items:start}.alp-contact-grid>div{min-width:0}.alp-contact-grid h2{font-size:28px}.alp-contact-aside{background:#f1f4f5;border:1px solid #dde4e8;border-radius:15px;padding:30px;font-size:17px}.alp-contact-aside a{overflow-wrap:anywhere}.alp-contact-aside ul{font-size:16px}.alp-form-page .alp-native-form{margin-top:0;padding:0;border:0;box-shadow:none;background:white}
.alp-footer{position:relative;z-index:20;background:#17232e;color:#e5eaf0;padding:60px max(24px,calc((100vw - 1264px)/2)) 20px;margin-top:70px;font-size:16px;line-height:1.6}
.alp-footer a{color:inherit;text-decoration:none}.alp-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.alp-footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;padding-bottom:45px;border-bottom:1px solid #ffffff24}
.alp-footer-logo{display:inline-flex;align-items:center;gap:16px;background:white;border-radius:10px;padding:12px 18px;color:#17232e!important}
.alp-footer-logo img{width:110px;height:65px;object-fit:contain}
.alp-footer h2{font-size:27px;line-height:1.3;color:white;font-weight:650;margin:8px 0 18px}
.alp-footer h3{font-size:17px;color:white;font-weight:700;margin:0 0 16px}
.alp-footer p{margin:16px 0}.alp-footer-intro{max-width:550px}
.alp-footer-contact{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;font-weight:650}
.alp-footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:40px 0}
.alp-footer ul{list-style:none;margin:0;padding:0}.alp-footer li{margin:10px 0}
.alp-footer-areas{display:flex;flex-wrap:wrap;gap:10px}.alp-footer-areas a{border:1px solid #ffffff35;border-radius:6px;padding:7px 11px;font-size:14px}
.alp-footer-social{display:flex;flex-wrap:wrap;gap:18px;margin:25px 0;font-size:14px}
.alp-footer-bottom{padding-top:20px;border-top:1px solid #ffffff24;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;color:#c2cbd3;font-size:13px}
.alp-footer .alp-native-form,.alp-footer .alp-form{background:#fff;color:#17212b;border-radius:10px;padding:22px;box-shadow:none;margin:16px 0}
.alp-footer .alp-native-form label,.alp-footer .alp-form label{color:#17212b}
.alp-footer .alp-form-privacy{color:#53606c}.alp-footer .alp-form-privacy a{color:#ac1f2e}
.alp-footer .alp-form-notice{color:#17212b}
.alp-footer .alp-footer-download{font-size:14px;text-decoration:underline}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3a83d6;outline-offset:4px}
@media(min-width:1024px){.alp-service-hero{min-height:760px;margin-bottom:35px}}
@media(max-width:1023px){.alp-finish-hero{padding:112px 28px 45px;gap:28px}.alp-finish-hero img{height:480px}.alp-finish-hero h1{font-size:43px}.alp-finish-section{padding:50px 28px}.alp-finish-start{padding-top:115px}.alp-finish-split{gap:30px}.alp-feature-grid{gap:20px}.alp-photo-pair{height:390px!important;min-height:390px!important}.alp-footer-top{gap:30px}.alp-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.alp-process{grid-template-columns:repeat(2,minmax(0,1fr))}.alp-project-card figure>img{height:360px}}
@media(max-width:767px){.alp-finish-hero{grid-template-columns:1fr;padding:106px 20px 30px;gap:26px}.alp-finish-hero h1{font-size:39px}.alp-finish-hero img{height:420px}.alp-finish-section{padding:42px 20px}.alp-finish-start{padding-top:105px;padding-bottom:15px}.alp-finish-split,.alp-feature-grid,.alp-project-grid,.alp-project-detail,.alp-footer-top{grid-template-columns:1fr;gap:25px}.alp-finish-tint{border-radius:0}.alp-finish-contact{flex-direction:column;align-items:flex-start}.alp-finish h2{font-size:31px}.alp-finish-actions>*{width:100%;text-align:center}.alp-feature-grid article{padding-top:18px}.alp-project-card figure>img{height:420px}.alp-project-detail img{max-height:640px}.alp-faq summary{font-size:18px}.alp-about-image{height:380px!important}.alp-photo-pair{min-height:320px!important;height:320px!important}.alp-photo-pair-group{gap:10px!important}.alp-photo-pair .alp-photo-zoom-button{font-size:11px!important;right:6px;bottom:6px;padding:8px!important}.alp-legal dl{grid-template-columns:1fr;gap:4px}.alp-legal dd{margin-bottom:15px}.alp-footer{margin-top:35px;padding:40px 20px 22px}.alp-footer-top{gap:30px}.alp-footer-contact{flex-direction:column}.alp-footer-columns{gap:25px 18px}.alp-footer-bottom{flex-direction:column}.alp-footer-logo{width:fit-content}.alp-photo-dialog{padding:12px;border-radius:8px}.alp-photo-dialog img{max-height:72vh}}
@media(prefers-reduced-motion:reduce){.alp-finish *,#alp-main video{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:767px){.alp-form-hero{padding-bottom:5px}.alp-form-hero>figure{display:none}.alp-form-hero h1{font-size:35px}.alp-form-hero .alp-finish-small{display:none}.alp-photo-pair-group{grid-template-columns:1fr!important}.alp-why-photo{height:340px!important}.alp-process-proof{grid-template-columns:1fr}}
@media(max-width:1023px){.alp-form-page .alp-contact-grid{grid-template-columns:1fr;gap:35px}}


/* Six complete geographic sectors; numbers remain readable on mobile. */
.alp-copy .alp-map-svg text{font-size:22px;stroke-width:3px}.alp-copy .alp-map-svg tspan{font-size:14px}.alp-copy .alp-map-svg a:focus{outline:none}.alp-copy .alp-map-svg a:focus-visible path{stroke:#17212b;stroke-width:3px}
.alp-copy #alp-main [data-alp-photo-id]{filter:none!important;opacity:1!important}.alp-copy #alp-main video{width:100%;height:100%;object-fit:cover;display:block}
