:root{--pink:#E5097F;--blue:#0090D6;--ink:#16202b;--blush:#FFF1F7;--mist:#EAF6FC;--bs-body-font-family:'DM Sans',system-ui,sans-serif;--bs-body-color:var(--ink)}
h1,h2,h3,.brand{font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-.02em}
h1{font-weight:800;font-size:clamp(2.2rem,6vw,4.1rem);line-height:1.04}
h2{font-weight:800;font-size:clamp(1.7rem,4vw,2.6rem)}
a:focus-visible,button:focus-visible,.form-control:focus-visible,.form-select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.text-pink{color:var(--pink)}.text-blue{color:#0077b3}
.brand{font-weight:800;font-size:1.6rem;text-decoration:none;color:var(--pink)}.brand span{color:var(--blue)}
.btn-pink{background:var(--pink);border-color:var(--pink);color:#fff;font-weight:700;border-radius:50rem;padding:.75rem 1.6rem}
.btn-pink:hover,.btn-pink:focus{background:#c40769;border-color:#c40769;color:#fff}
.btn-line{border:2px solid var(--blue);color:#0077b3;font-weight:700;border-radius:50rem;padding:.7rem 1.6rem}
.btn-line:hover{background:var(--blue);color:#fff}
.hero{background:linear-gradient(180deg,var(--blush),#fff);padding:4rem 0 3rem;overflow:hidden}
.camera{width:100%;max-width:500px;height:auto}
.camera .beat{transform-origin:center;transform-box:fill-box;animation:beat 2.4s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.pill{display:inline-block;background:var(--mist);color:#005f8c;font-weight:700;border-radius:50rem;padding:.35rem 1rem;font-size:.9rem}
section{scroll-margin-top:70px}.band{padding:4.2rem 0}.band-mist{background:var(--mist)}
.prose{max-width:46rem}.prose p{line-height:1.75}
.svc{border-top:2px solid var(--ink);padding:1.2rem 0}.svc h3{font-size:1.3rem;font-weight:800;margin:0 0 .3rem}.svc p{margin:0;color:#44515f}
.area{display:inline-block;border:2px solid var(--blue);border-radius:50rem;padding:.3rem .9rem;margin:.25rem;font-weight:500;background:#fff}
.shot{position:relative;margin:0;border-radius:1.25rem;overflow:hidden;height:100%;min-height:190px;background:var(--mist)}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1rem .9rem;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(22,32,43,.75))}
.ph{border-radius:1.25rem;min-height:190px;height:100%;display:flex;align-items:flex-end;padding:1rem;color:#fff;font-weight:700}
.ph.a{background:linear-gradient(160deg,#E5097F,#ff7ab8)}.ph.b{background:linear-gradient(160deg,#0077b3,#4fc3f7)}.ph.c{background:linear-gradient(160deg,#16202b,#4a5b6e)}.ph.d{background:linear-gradient(160deg,#ff7ab8,#0090D6)}.tall{min-height:390px}
.step{display:flex;gap:1rem;margin-bottom:1.3rem}
.step i{flex:0 0 2.6rem;height:2.6rem;border-radius:50%;background:var(--pink);color:#fff;font-style:normal;font-weight:800;display:grid;place-items:center}
.accordion-button:not(.collapsed){background:var(--blush);color:var(--ink)}
.form-card{background:#fff;border:2px solid var(--blue);border-radius:1.5rem;padding:2rem}
.form-control,.form-select{padding:.75rem 1rem;border-radius:.8rem}
.map{border:0;width:100%;height:320px;border-radius:1.25rem}
footer{background:var(--ink);color:#cfd8e3}footer a{color:#fff}
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:flex;box-shadow:0 -4px 16px rgba(0,0,0,.15)}
.mobile-bar a{flex:1;text-align:center;padding:.9rem;font-weight:700;color:#fff;text-decoration:none}
@media(max-width:991.98px){body{padding-bottom:56px}}
@media(prefers-reduced-motion:reduce){.camera .beat{animation:none}}
