.app-banner{position:relative;border-radius:2rem;background:#17202a;box-shadow:0 30px 70px rgba(23,32,42,.18)}
.store-button{display:flex;min-width:180px;align-items:center;gap:.75rem;border-radius:.9rem;background:white;padding:.7rem 1rem;color:#17202a;transition:.3s}.store-button:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.2)}.store-button small,.store-button strong{display:block}.store-button small{font-size:.55rem;letter-spacing:.08em}.store-button strong{font:800 1rem Manrope}.store-symbol{font-size:1.55rem;color:#0f8f7a}
.app-visual{position:relative;display:grid;min-height:420px;place-items:center;padding:2rem}.phone-card{z-index:1;width:min(100%,280px);border:8px solid #34404d;border-radius:2rem;background:#f7faf9;padding:1.2rem;box-shadow:0 28px 60px rgba(0,0,0,.32);transform:rotate(3deg);transition:.5s}.app-banner:hover .phone-card{transform:rotate(0) translateY(-6px)}.phone-top{display:flex;align-items:center;gap:.6rem}.phone-top img{height:2rem;width:2rem}.phone-top span{font-size:.75rem;font-weight:800}.phone-top b{margin-left:auto;color:#0f8f7a}.phone-label{margin-top:1.8rem;color:#64748b;font-size:.65rem}.mini-job{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;border-radius:1rem;background:white;padding:1rem;box-shadow:0 8px 25px rgba(23,32,42,.08)}.mini-job small,.mini-job strong{display:block}.mini-job small,.mini-job>span{color:#0f8f7a;font-size:.6rem;font-weight:800}.mini-job strong{font-size:.7rem}.mini-progress{height:5px;margin:1.2rem 0;border-radius:9px;background:#dfe7e5}.mini-progress i{display:block;height:100%;width:66%;border-radius:9px;background:#0f8f7a}.phone-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.phone-actions>span{display:grid;place-items:center;border-radius:.7rem;background:#baf4e8;padding:.6rem;color:#0f8f7a}.phone-actions small{font-size:.52rem;font-weight:800}.app-chip{position:absolute;z-index:2;border-radius:999px;background:white;padding:.65rem 1rem;font-size:.68rem;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.2);animation:float 4s ease-in-out infinite}.chip-one{left:7%;top:27%;color:#0f8f7a}.chip-two{right:5%;bottom:25%}
.site-footer{background:#111a22;color:#94a3b8}.footer-grid{display:grid;gap:2.5rem}.footer-brand p{margin-top:1rem;max-width:330px;font-size:.85rem;line-height:1.7}.footer-contact{display:flex;flex-direction:column;gap:.4rem;margin-top:1.4rem;color:#baf4e8;font-size:.82rem;font-weight:700}.footer-column h3{margin-bottom:1.1rem;color:white;font:800 .82rem Manrope;letter-spacing:.08em;text-transform:uppercase}.footer-column ul{display:flex;flex-direction:column;gap:.75rem;font-size:.82rem}.footer-column a,.footer-contact a{display:inline-block;transition:.25s}.footer-column a:hover,.footer-contact a:hover{color:#baf4e8;transform:translateX(4px)}.footer-bottom{display:flex;flex-direction:column;gap:.5rem;margin-top:3rem;border-top:1px solid rgba(255,255,255,.09);padding-top:1.5rem;font-size:.72rem}.service-icon,.process-art{transition:.35s}.service-card:hover .service-icon,.process-card:hover .process-art{transform:rotate(-6deg) scale(1.08);background:#0f8f7a}
@media(min-width:640px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-bottom{flex-direction:row;justify-content:space-between}}@media(min-width:1024px){.footer-grid{grid-template-columns:1.5fr repeat(4,1fr)}}@media(max-width:480px){.app-visual{min-height:350px;padding:1rem}.app-chip{display:none}.store-button{width:100%}}
@media(max-width:639px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;row-gap:2.5rem}.footer-brand{grid-column:1/-1}.footer-column h3{margin-bottom:.9rem}.footer-column ul{gap:.65rem}.footer-column a{line-height:1.4}.footer-bottom{margin-top:2.5rem}}
@media(max-width:359px){.footer-grid{column-gap:1rem}.footer-column h3{font-size:.72rem}.footer-column ul{font-size:.76rem}}

/* Consistent interactive states */
.faq{border-radius:1rem;padding-left:1rem;padding-right:1rem;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,border-color .3s ease}.faq:hover{border-color:rgba(15,143,122,.35);background:#fff;box-shadow:0 12px 30px rgba(23,32,42,.07);transform:translateX(5px)}.faq:hover summary{color:#0f8f7a}.faq summary{transition:color .25s ease}.faq summary svg{transition:transform .3s ease}.faq:hover summary svg{transform:scale(1.15)}.faq[open] summary svg{transform:rotate(45deg)}
.testimonial{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.testimonial:hover{transform:translateY(-6px);border-color:#baf4e8;box-shadow:0 22px 48px rgba(23,32,42,.09)}
.contact-line{border-radius:1rem;padding:.55rem;transition:background-color .25s ease,transform .25s ease}.contact-line:hover{background:rgba(255,255,255,.1);transform:translateX(5px)}.contact-line>span{transition:transform .3s ease,background-color .3s ease}.contact-line:hover>span{transform:rotate(-6deg) scale(1.08);background:rgba(255,255,255,.2)}
#contactForm{transition:box-shadow .35s ease}#contactForm:hover{box-shadow:inset 0 0 0 1px rgba(15,143,122,.12)}
.price-card a,.service-card a,#faq>div>div>a{display:inline-flex;align-items:center;gap:.4rem;transition:color .25s ease,transform .25s ease}.price-card a:hover,.service-card a:hover,#faq>div>div>a:hover{color:#f3b63f;transform:translateX(5px)}.service-card a:hover{color:#17202a}
.story-btn:focus-visible,.store-button:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.faq summary:focus-visible,.footer-column a:focus-visible{outline:3px solid rgba(243,182,63,.7);outline-offset:3px}
@media(hover:none){.faq:hover,.testimonial:hover,.contact-line:hover{transform:none}}

/* Modern booking form */
#contactForm{position:relative;font-family:"DM Sans",sans-serif;background:linear-gradient(145deg,#fff 0%,#fbfffe 100%);transition:transform .4s ease,box-shadow .4s ease}
#contactForm:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(23,32,42,.12),inset 0 0 0 1px rgba(15,143,122,.1)}
#contactForm>div:first-child p:first-child{font-family:"Manrope",sans-serif;font-size:1.7rem;line-height:1.2;letter-spacing:-.035em}
#contactForm>div:first-child p:last-child{font-size:.92rem;line-height:1.65;color:#64748b}
#contactForm label{position:relative;margin-bottom:1.35rem;color:#273746;font-family:"Manrope",sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.015em;transition:color .25s ease}
#contactForm label:hover{color:#0f8f7a}
#contactForm input,#contactForm textarea{margin-top:.55rem;border:1px solid #d7e3df;border-radius:1rem;background:#f8fcfb;padding:.95rem 1.05rem;color:#17202a;font-family:"DM Sans",sans-serif;font-size:.95rem;font-weight:500;box-shadow:inset 0 1px 2px rgba(23,32,42,.025);transition:border-color .25s ease,background-color .25s ease,box-shadow .25s ease,transform .25s ease}
#contactForm input::placeholder,#contactForm textarea::placeholder{color:#94a3b8;font-weight:500}
#contactForm input:hover,#contactForm textarea:hover{border-color:rgba(15,143,122,.48);background:#fff;box-shadow:0 8px 22px rgba(15,143,122,.06);transform:translateY(-1px)}
#contactForm input:focus,#contactForm textarea:focus{border-color:#0f8f7a;background:#fff;box-shadow:0 0 0 4px rgba(15,143,122,.1),0 10px 25px rgba(23,32,42,.06);transform:translateY(-1px)}
#contactForm textarea{min-height:125px;resize:vertical;line-height:1.6}
#contactForm .btn-primary{min-height:56px;border-radius:1rem;font-family:"Manrope",sans-serif;font-size:.93rem;letter-spacing:-.01em}
#contactForm .btn-primary:hover{background:#17202a;color:#fff;box-shadow:0 16px 32px rgba(23,32,42,.22)}
@media(max-width:639px){#contactForm:hover{transform:none}#contactForm>div:first-child p:first-child{font-size:1.5rem}#contactForm input,#contactForm textarea{font-size:16px}}
