/* Full viewport, safe areas and fluid content for browser and installed iPhone/iPad views. */
html{min-height:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
body>main{flex:1;min-width:0;width:100%}
.wrap{max-width:none;width:auto;margin-inline:0;padding-inline:max(clamp(16px,2.5vw,40px),env(safe-area-inset-left)) max(clamp(16px,2.5vw,40px),env(safe-area-inset-right))}
.wrap>*,main section>*,.g2>*,.g3>*,.g4>*{min-width:0}
img,video,canvas,iframe{max-width:100%}
input,select,textarea{max-width:100%;min-width:0}
h1,h2,h3,p,a,button{overflow-wrap:anywhere}
button,a,input,select,textarea{touch-action:manipulation}
footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
@media(max-width:1024px){input,select,textarea{font-size:16px}h1{font-size:clamp(28px,5vw,52px)}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}
@media(display-mode:standalone){body{min-height:100dvh}}

.top{padding-top:env(safe-area-inset-top)}
.hero-img{min-width:0}.hero-img img{width:100%;height:auto}
@media(min-width:981px) and (max-width:1180px){.top .wrap{flex-wrap:wrap;padding-block:8px}.nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.tools{margin-inline-start:auto}}
@media(max-width:600px){.cta{display:flex;flex-wrap:wrap}.cta .btn{max-width:100%}.top .wrap{gap:10px}.logo img{max-width:calc(100vw - 150px);height:auto;max-height:54px}}

@media(max-width:480px){.contact-row{flex-wrap:wrap}.contact-row>div{min-width:0;flex:1}.contact-row>.btn{flex-basis:100%;justify-content:center}.contact-row .app{flex-shrink:0}}
