/* FeliFix — rebuilt on the Handy Buddy (Elementor kit) design tokens */
:root{
  --primary:#1C3F95;
  --secondary:#04192A;
  --text:#3E4751;
  --accent:#F2B72F;
  --white:#FFFFFF;
  --meta:#5F676E;
  --white-trans:#FFFFFFD6;
  --bg:#F9F6EF;
  --border:#EDE8E2;
  --divider:#ADB7C0;
  --secondary-trans:#04192A82;
  --accent-trans:#F2B72FD9;
  --primary-trans:#1C3F95D4;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden;overflow-x:clip}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--white);font-size:16px;line-height:1.7}
h1,h2,h3,h4,h5{font-family:'Outfit',sans-serif;color:var(--secondary);line-height:1.2}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{max-width:1320px;width:92%;margin:0 auto;padding:0 16px}
.btn{display:inline-block;font-family:'Outfit',sans-serif;font-weight:600;background:var(--accent);color:var(--secondary);padding:14px 28px;border:none;border-radius:2px;cursor:pointer;font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:.25s}
.btn:hover{background:var(--primary);color:var(--white)}
.kicker{display:inline-flex;align-items:center;gap:8px;font-family:'Outfit',sans-serif;font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary)}
.kicker::before{content:"";width:14px;height:14px;background:var(--accent);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
section{padding:90px 0}
section[id],footer[id]{scroll-margin-top:140px}

/* header: white bar (info / centered logo / button) + blue nav strip */
header.site{position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(4,25,42,.12);background:var(--white)}
.hdr{background:var(--white);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:16px;padding-bottom:16px}
.hdr .info{display:flex;gap:26px;flex-wrap:wrap;font-size:14px;color:var(--text);font-family:'Inter',sans-serif;font-weight:600}
.hdr .info span,.hdr .info a{display:flex;align-items:center;gap:8px;color:inherit}
.hdr .info a:hover{color:var(--primary)}
.hdr .info i{color:var(--accent);font-style:normal}
.ic{display:inline-flex;align-items:center;color:var(--accent);font-style:normal;flex:none}
.ic svg{width:15px;height:15px}
footer ul li a{color:inherit}
footer ul li a:hover{color:var(--accent)}
.hdr .btn{justify-self:end;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:13px 24px}
.logo{display:block;text-align:center;font-family:'Outfit',sans-serif;font-weight:800;color:var(--secondary)}
.hdr .logo img{height:58px;width:auto;margin:0 auto}
footer .logo{text-align:left}
footer .logo img{height:52px;width:auto;display:inline-block}
nav.navbar{background:var(--primary)}
nav.navbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}
nav.navbar a{font-family:'Outfit',sans-serif;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--white);padding:14px 10px}
nav.navbar a:first-child{padding-left:0}
nav.navbar a:last-child{padding-right:0}
nav.navbar a:hover{color:var(--accent)}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--secondary);color:var(--white);min-height:calc(100vh - 140px);display:flex;align-items:center;padding:80px 0}
.hero .slides .s{position:absolute;inset:0;background:center 30%/cover no-repeat;opacity:0;transform:scale(1);transition:opacity 1.3s ease-in-out,transform 8s linear}
.hero .slides .s.active{opacity:1;transform:scale(1.07)}
.hero .slides .s1{background-image:url('assets/felifix-crew-drill.jpg')}
.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,42,.85) 15%,rgba(4,25,42,.40) 65%,rgba(4,25,42,.50))}
.hero .container{position:relative;z-index:1}
.hero .labels{display:flex;gap:34px;margin-bottom:24px;flex-wrap:wrap}
.hero .labels span{display:inline-flex;align-items:center;gap:9px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--white)}
.hero .labels span::before{content:"";width:8px;height:8px;background:var(--accent)}
.hero h1{color:var(--white);font-size:clamp(38px,5vw,64px);font-weight:700;max-width:680px}
.hero h1 em{font-style:normal;color:var(--white);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:1%;right:1%;bottom:-12px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 32' preserveAspectRatio='none'%3E%3Cpath d='M8 10 Q 180 28 352 10' fill='none' stroke='%23F2B72F' stroke-width='8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%}
.hero p{max-width:560px;margin:28px 0 36px;color:var(--white-trans);font-size:17px;line-height:1.75;border-left:3px solid var(--accent);padding-left:18px}
.hero .cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero .phone{font-family:'Outfit',sans-serif;font-weight:700;font-size:20px;color:var(--accent)}
.hero .phone i{color:var(--accent);font-style:normal;margin-right:8px}
.phone a{color:inherit}
nav.navbar a.active{color:var(--accent)}

/* why choose us */
.why{background:var(--bg)}
.why .container{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:stretch}
.why h2{font-size:clamp(28px,3vw,40px);margin:14px 0 18px}
.why .lede{margin-bottom:34px}
.feature{display:flex;gap:18px;margin-bottom:26px}
.feature .ico{flex:0 0 52px;height:52px;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:22px}
.feature h3{font-size:19px;margin-bottom:6px}
.feature p{font-size:15px;color:var(--meta)}
.why .imgwrap{position:relative}
.why .imgwrap img{border-radius:8px;box-shadow:0 20px 50px rgba(4,25,42,.18);width:100%;height:100%;object-fit:cover;object-position:50% 0}
.badge{position:absolute;left:-26px;bottom:0;background:var(--primary);color:var(--white);padding:22px 26px;border-radius:8px;text-align:center;border-bottom:5px solid var(--accent);box-shadow:0 14px 34px rgba(4,25,42,.22)}
.badge b{display:block;font-family:'Outfit',sans-serif;font-size:34px;color:var(--accent)}
.badge span{font-family:'Outfit',sans-serif;font-size:14px}

/* services */
.services .head{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:50px;align-items:end}
.services h2{font-size:clamp(28px,3vw,40px);margin-top:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.card:hover{box-shadow:0 18px 44px rgba(4,25,42,.14);transform:translateY(-4px)}
.card img{height:210px;object-fit:cover;width:100%}
.card .body{padding:26px;flex:1;display:flex;flex-direction:column;gap:12px}
.card h3{font-size:22px}
.card p{font-size:15px;color:var(--meta);flex:1}
.card a{font-family:'Outfit',sans-serif;font-weight:600;color:var(--primary);font-size:15px}
.card a:hover{color:var(--secondary);text-decoration:underline}
.midcta{margin-top:50px;display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap}
.midcta .phone{font-family:'Outfit',sans-serif;font-weight:700;font-size:20px;color:var(--secondary)}
.midcta .phone i{color:var(--accent);font-style:normal;margin-right:6px}

/* process */
.process{background:var(--bg)}
.process .head{text-align:center;max-width:760px;margin:0 auto 56px}
.process .head .kicker{padding-right:22px}
.process h2{font-size:clamp(28px,3vw,40px);margin:14px 0 18px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:38px 26px 30px;position:relative;text-align:center}
.step .ribbon{position:absolute;top:0;left:22px;background:var(--primary);color:var(--white);font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;padding:7px 12px 9px;clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%)}
.step img{width:58px;height:58px;object-fit:contain;margin:4px auto 18px}
.step h3{font-size:19px;margin-bottom:8px}
.step p{font-size:14px;color:var(--meta)}

/* clients */
.clients{padding:56px 0;border-bottom:1px solid var(--border)}
.clients p.t{text-align:center;font-family:'Outfit',sans-serif;font-weight:600;color:var(--secondary);margin-bottom:34px;font-size:18px}
.logos{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;opacity:.65}
.logos img{height:42px;width:auto;filter:grayscale(1)}

/* dark cta */
.darkcta{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 130% at 50% 55%,#11304b 0%,#0a2438 45%,var(--secondary) 80%);color:var(--white);padding:100px 0}
.darkcta .van-glow{position:absolute;top:-60px;left:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;filter:blur(60px) saturate(1.15);opacity:.34}
.darkcta .van{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:102%;width:auto;opacity:.6;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent)}
.darkcta .container{position:relative;z-index:1}
.darkcta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,42,.45),transparent 42%,transparent 72%,rgba(4,25,42,.35))}
.darkcta .van,.darkcta .van-glow{z-index:0}
.darkcta .container{z-index:2}
.darkcta .container{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.darkcta h2{color:var(--white);font-size:32px;max-width:560px;text-shadow:0 2px 24px rgba(4,25,42,.85),0 1px 3px rgba(4,25,42,.6)}
.darkcta .right{text-align:right}
.darkcta .phone{display:block;font-family:'Outfit',sans-serif;font-weight:700;font-size:24px;color:var(--accent);margin-bottom:14px}
.darkcta small{display:block;color:var(--white-trans);margin-bottom:14px;font-family:'Outfit',sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:12px}

/* about */
.about .container{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.about h2{font-size:clamp(28px,3vw,40px);margin:14px 0 18px}
.about ul{list-style:none;margin:26px 0 34px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.about ul li{font-weight:500;color:var(--secondary);display:flex;gap:10px;align-items:flex-start;font-size:15px}
.about ul li::before{content:"✓";color:var(--white);background:var(--accent);flex:0 0 22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.about .imgwrap img{border-radius:8px;box-shadow:0 20px 50px rgba(4,25,42,.18)}

/* principles */
.principles{background:var(--bg);padding-top:70px;padding-bottom:70px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pcard{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;padding:34px 30px}
.pcard h3{font-size:21px;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.pcard h3 i{font-style:normal;color:var(--primary)}
.pcard p{font-size:15px;color:var(--meta)}

/* counters (about page) */
.counters{background:var(--primary);padding:60px 0}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;color:var(--white)}
.cgrid b{font-family:'Outfit',sans-serif;font-size:44px;color:var(--accent);display:block}
.cgrid span{font-family:'Outfit',sans-serif;font-size:16px}

/* team */
.team .head{max-width:700px;margin:0 0 50px}
.team h2{font-size:clamp(28px,3vw,38px);margin:14px 0 16px}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tcard{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden;text-align:center}
.tcard img{height:260px;width:100%;object-fit:cover}
.tcard .body{padding:20px}
.tcard h4{font-size:19px}
.tcard span{font-size:14px;color:var(--meta)}

/* testimonials */
.testi{background:var(--secondary)}
.testi .head{max-width:700px;margin:0 0 50px}
.testi .head .kicker{color:var(--accent)}
.testi h2{color:var(--white);font-size:clamp(28px,3vw,36px);margin-top:14px}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.quote{background:#0A2438;border-radius:8px;padding:30px;color:var(--white-trans);font-size:15px}
.quote header{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.quote header .av{width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--secondary);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:700}
.quote h4{color:var(--white);font-size:16px}
.quote span{font-size:13px;color:var(--divider)}

/* booking / request your services */
.booking{background:linear-gradient(var(--secondary-trans),rgba(4,25,42,.93)),url('assets/felifix-tools-bg.jpg') center/cover;color:var(--white);padding:100px 0}
.booking .container{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.booking h2{color:var(--white);font-size:clamp(28px,3.2vw,42px);margin-bottom:26px}
.booking h2 em{font-style:normal;color:var(--accent)}
.booking .checks{list-style:none;margin-bottom:34px}
.booking .checks li{display:flex;gap:12px;align-items:center;margin-bottom:14px;color:var(--white-trans);font-weight:500}
.booking .checks li::before{content:"✓";color:var(--secondary);background:var(--accent);flex:0 0 22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.booking .areas{color:var(--white-trans);margin:-10px 0 26px;font-size:15px}
.booking .areas b{color:var(--accent);font-weight:600}
.booking .phonechip{display:inline-flex;align-items:center;gap:14px;background:var(--primary);border-radius:6px;padding:16px 24px;border-bottom:4px solid var(--accent)}
.booking .phonechip b{font-family:'Outfit',sans-serif;font-size:22px;color:var(--accent)}
.booking .phonechip span{font-family:'Outfit',sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--white-trans)}
.bform{background:#0A2438;border:1px solid #FFFFFF21;border-radius:10px;padding:38px}
.bform h3{color:var(--white);font-family:'Outfit',sans-serif;font-size:24px;margin-bottom:24px}
.bform .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bform input,.bform select{width:100%;padding:14px;border-radius:5px;border:1px solid #FFFFFF3B;background:#FFFFFF3B;color:var(--white);font-family:'Inter',sans-serif;font-size:16px}
.bform input::placeholder{color:var(--divider)}
.bform select{color:var(--divider)}
.bform select option{color:var(--secondary)}
.bform input:focus,.bform select:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:#FFFFFF8C;background:#FFFFFF8C;color:var(--secondary)}
.bform .full{grid-column:1/-1}
.bform button{grid-column:1/-1;margin-top:6px}

.principles--flush{padding-top:0;background:var(--white)}
.why--tight{padding-top:70px}

/* trust strip */
.trust{background:var(--secondary);padding:56px 0}
.tgrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.titem{display:flex;gap:14px;align-items:flex-start}
.tic{flex:0 0 40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0A2438;border-radius:8px;color:var(--accent)}
.tic svg{width:22px;height:22px}
.titem h3{color:var(--white);font-size:16px;margin-bottom:6px}
.titem p{color:var(--divider);font-size:13.5px;line-height:1.6}

/* legal pages */
.legal .container{max-width:840px}
.legal .updated{color:var(--meta);font-size:14px;margin-bottom:28px}
.legal h2{font-size:22px;margin:34px 0 10px}
.legal p,.legal li{color:var(--text);font-size:16px}
.legal ul,.legal ol{margin:10px 0 10px 22px}
.legal li{margin-bottom:8px}
.legal a{color:var(--primary);font-weight:500}
.legal a:hover{color:var(--accent)}
.legal .note{margin-top:22px;color:var(--meta)}
.legal .bform{margin-top:30px}
.bform textarea{width:100%;padding:14px;border-radius:5px;border:1px solid #FFFFFF3B;background:#FFFFFF3B;color:var(--white);font-family:'Inter',sans-serif;font-size:16px;resize:vertical}
.bform textarea::placeholder{color:var(--divider)}
.bform textarea:focus{outline:2px solid var(--accent);outline-offset:2px;background:#FFFFFF8C;color:var(--secondary)}

/* page banner (about page) */
.banner{background:linear-gradient(var(--secondary-trans),var(--secondary-trans)),url('assets/felifix-tools-bg.jpg') center/cover;color:var(--white);padding:90px 0;text-align:center}
.banner h1{color:var(--white);font-size:44px}
.banner p{color:var(--accent);font-family:'Outfit',sans-serif;font-weight:600;margin-top:8px}

/* footer */
footer{background:var(--secondary);color:var(--white-trans);padding:80px 0 0;font-size:15px}
.fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px}
footer h4{color:var(--white);font-size:18px;margin-bottom:18px}
footer .logo{color:var(--white)}
footer p.tagline{margin-top:14px}
footer ul{list-style:none}
footer ul li{margin-bottom:12px;display:flex;gap:10px;align-items:flex-start}
footer ul li i{color:var(--accent);font-style:normal}
.newsletter form{display:flex;margin-top:14px;border-radius:4px;overflow:hidden}
.newsletter input{flex:1;padding:13px 14px;font-size:16px;border:1px solid #FFFFFF3B;background:#FFFFFF3B;color:var(--white);font-family:'Inter',sans-serif}
.newsletter input::placeholder{color:var(--divider)}
.newsletter button{background:var(--accent);border:none;padding:0 20px;font-family:'Outfit',sans-serif;font-weight:600;cursor:pointer}
.socials{display:flex;gap:12px;margin-top:20px}
.socials a{width:38px;height:38px;border:1px solid #FFFFFF3B;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:14px;font-family:'Outfit',sans-serif}
.socials a:hover{background:var(--accent);color:var(--secondary);border-color:var(--accent)}
.fbottom{border-top:1px solid #FFFFFF21;padding:22px 0}
.fbottom .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fbottom a{margin-left:22px}
.fbottom a:hover{color:var(--accent)}

/* mobile call button (hidden on desktop) */
.call-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:var(--accent);color:var(--secondary);border-radius:4px}

/* hamburger (hidden on desktop) */
.menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:var(--primary);border:none;border-radius:4px;cursor:pointer;padding:10px}
.menu-btn span{display:block;height:2.5px;width:100%;background:var(--white);border-radius:2px;transition:.25s}
body.nav-open .menu-btn span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.nav-open .menu-btn span:nth-child(2){opacity:0}
body.nav-open .menu-btn span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media (max-width:960px){
  .why .imgwrap img{height:auto;aspect-ratio:4/3}
  .hdr{grid-template-columns:auto 1fr auto auto;gap:10px;padding-right:28px}
  .call-btn{display:flex}
  .logos{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px;justify-items:center;align-items:center}
  .logos img{height:32px}
  .hdr .info{display:none}
  .hdr .logo{justify-self:start}
  .logo{text-align:left}
  .hdr .logo img{height:44px}
  .hdr .btn{justify-self:end;padding:11px 14px;font-size:12px}
  .menu-btn{display:flex}
  nav.navbar .container{display:none}
  body.nav-open nav.navbar .container{display:flex;flex-direction:column;align-items:stretch;padding:8px 16px 14px}
  body.nav-open nav.navbar a{padding:13px 4px;border-bottom:1px solid #FFFFFF21;font-size:14px}
  body.nav-open nav.navbar a:last-child{border-bottom:none}
  .why .container,.about .container,.booking .container{grid-template-columns:1fr}
  .cards,.tgrid,.pgrid{grid-template-columns:1fr 1fr}
  .steps,.cgrid{grid-template-columns:1fr 1fr}
  .services .head{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:40px}
  .quotes{grid-template-columns:1fr}
}
@media (max-width:700px){
  .darkcta{display:flex;flex-direction:column;padding:70px 0 0}
  .darkcta .van-glow{display:none}
  .darkcta::after{display:none}
  .darkcta .container{order:1}
  .darkcta .van{order:2;position:static;transform:none;height:auto;width:100%;opacity:1;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%);mask-image:linear-gradient(180deg,transparent,#000 22%);
    margin-top:34px}
}
@media (max-width:600px){
  .container{width:100%;padding:0 18px}
  section{padding:60px 0}
  .why a.btn,.about a.btn{display:block;width:fit-content;margin-left:auto;margin-right:auto}
  .darkcta .right{text-align:center;width:100%}
  .darkcta h2{text-align:center}
  .booking .phonechip{display:flex;width:fit-content;margin:0 auto}
  .booking .areas{text-align:center}
  .booking .checks{display:table;margin-left:auto;margin-right:auto;margin-bottom:34px}
  .booking h2{text-align:center}
  footer .fgrid > div:first-child{text-align:center}
  footer .fgrid > div:first-child .logo{text-align:center}
  .socials{justify-content:center}
  .hdr{grid-template-columns:auto 1fr auto;padding:14px 28px 14px 18px}
  .hdr .btn{display:none}
  .call-btn{justify-self:end}
  .socials a{width:44px;height:44px}
  .hdr .logo img{height:40px}
  .logos{grid-template-columns:1fr 1fr;gap:28px 18px}
  .logos img{height:28px;max-width:100%;object-fit:contain}
  .clients{padding:46px 0}
  .clients p.t{font-size:16px;margin-bottom:26px}
  .fgrid{grid-template-columns:1fr;gap:30px;padding-bottom:36px}
  footer{padding-top:56px}
  footer .logo img{height:44px}
  .newsletter form{max-width:420px}
  .hero{min-height:calc(100svh - 108px);padding:60px 0}
  .hero h1{font-size:34px}
  .hero p{font-size:16px}
  .hero .cta{gap:18px}
  .cards,.tgrid,.pgrid,.steps,.cgrid,.fgrid{grid-template-columns:1fr}
  .badge{left:10px}
  .bform{padding:26px 20px}
  .bform .grid{grid-template-columns:1fr}
  .booking{padding:70px 0}
  .banner{padding:60px 0}
  .banner h1{font-size:34px}
  .fbottom .container{flex-direction:column;gap:10px}
  .fbottom a{margin-left:0;margin-right:18px}
}
