@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Playfair+Display:wght@700&display=swap');

:root{
  --bg:#050505;
  --bg2:#0b0b0b;
  --card:#11110f;
  --card2:#17150f;
  --gold:#ffd13b;
  --gold2:#d99b16;
  --gold3:#8f650d;
  --text:#f6f3eb;
  --muted:#b7b2a7;
  --line:rgba(255,209,59,.25);
  --whiteLine:rgba(255,255,255,.08);
  --green:#25d366;
  --shadow:0 24px 80px rgba(0,0,0,.45);
  --radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 72% 5%, rgba(255,196,35,.08), transparent 25%),
    radial-gradient(circle at 12% 45%, rgba(255,196,35,.05), transparent 22%),
    var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 36px));margin-inline:auto}
.section{padding:92px 0;position:relative}
.top-glow{position:fixed;inset:0 0 auto;height:150px;background:linear-gradient(180deg,rgba(255,190,25,.04),transparent);pointer-events:none;z-index:0}

.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(16px);
  background:rgba(5,5,5,.84);
  border-bottom:1px solid rgba(255,209,59,.18);
}
.nav-wrap{min-height:78px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand img{width:52px;height:52px;border-radius:14px;box-shadow:0 0 32px rgba(255,190,20,.14)}
.brand strong{display:block;font-size:17px;letter-spacing:.06em;color:#f5c943}
.brand span{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:1px}
.nav-links{display:flex;gap:28px;margin-left:auto}
.nav-links a{font-size:14px;color:#d8d4ca;position:relative}
.nav-links a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--gold);transition:.25s}
.nav-links a:hover:after{width:100%}
.nav-book{margin-left:12px}
.menu-toggle{display:none;background:transparent;border:0;width:42px;height:42px;padding:8px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:#f0e7cf;margin:6px 0;border-radius:5px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 22px;border-radius:14px;border:1px solid transparent;
  font-weight:800;transition:.25s ease;cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn-gold{
  color:#1a1400;
  background:linear-gradient(180deg,#ffe58b 0%,#f9bf2b 52%,#dc9414 100%);
  box-shadow:0 12px 32px rgba(224,157,25,.22),inset 0 1px rgba(255,255,255,.65);
}
.btn-whatsapp{border-color:rgba(37,211,102,.55);background:rgba(37,211,102,.07);color:#ecfff3}
.btn-whatsapp:hover{background:rgba(37,211,102,.12)}
.wa-dot{color:var(--green);font-size:23px;line-height:0}
.arrow{font-size:20px}

.hero{padding-top:82px;padding-bottom:82px;overflow:hidden}
.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,190,22,.08),transparent 65%);right:-180px;top:-160px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:64px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.27em;color:#e9b935;margin:0 0 14px;text-transform:uppercase}
.hero h1,.section-heading h2,.app-copy h2,.booking-copy h2{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(42px,6vw,72px);
  line-height:1.02;
  letter-spacing:-.03em;
}
.hero h1 span{display:block;color:#f5cb58}
.hero-text{font-size:18px;color:var(--muted);max-width:620px;margin:26px 0 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px}
.trust-row div{display:flex;align-items:center;gap:8px;color:#d9d4c8;font-size:13px}
.trust-row b{display:grid;place-items:center;min-width:30px;height:30px;border:1px solid rgba(255,208,57,.35);border-radius:50%;color:var(--gold);font-size:12px}

.hero-image-frame{
  position:relative;border:1px solid rgba(255,209,59,.26);border-radius:28px;overflow:hidden;
  box-shadow:var(--shadow);background:#0a0906;
}
.hero-image-frame img{width:100%;height:auto;display:block;object-fit:contain}
.hero-image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,rgba(0,0,0,.45) 100%)}
.hero-badge{position:absolute;left:22px;right:22px;bottom:18px;display:flex;align-items:center;gap:12px}
.hero-badge img{width:58px;height:58px;border-radius:16px}
.hero-badge span{display:block;font-weight:900;letter-spacing:.08em;color:#f4c94e}
.hero-badge small{display:block;color:#c5bda9;margin-top:2px}

.stats-strip{border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(255,194,30,.05),rgba(255,255,255,.01),rgba(255,194,30,.04))}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:26px 0}
.stats-grid div{padding:0 24px;border-right:1px solid rgba(255,255,255,.08)}
.stats-grid div:last-child{border-right:0}
.stats-grid strong{display:block;color:#f1c64e;font-size:17px}
.stats-grid span{display:block;color:var(--muted);font-size:12px;margin-top:4px}

.section-heading{text-align:center;max-width:760px;margin:0 auto 46px}
.section-heading h2,.app-copy h2,.booking-copy h2{font-size:clamp(34px,4vw,52px)}
.section-heading p:last-child{color:var(--muted);margin:13px auto 0;max-width:620px}

.cards{display:grid;gap:18px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.service-card,.why-card{
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
  border:1px solid rgba(255,208,59,.22);border-radius:20px;padding:26px 24px;
  min-height:230px;transition:.28s ease;position:relative;overflow:hidden;
}
.service-card:after,.why-card:after{content:"";position:absolute;inset:auto -30% -55% auto;width:150px;height:150px;background:radial-gradient(circle,rgba(255,193,28,.09),transparent 65%)}
.service-card:hover,.why-card:hover{transform:translateY(-5px);border-color:rgba(255,208,59,.5);box-shadow:0 18px 50px rgba(0,0,0,.32)}
.service-icon{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,205,51,.45);color:#f8c83c;font-weight:900;font-size:22px;margin-bottom:24px;
}
.service-card h3,.why-card h3{margin:0 0 10px;font-size:18px}
.service-card p,.why-card p{margin:0;color:var(--muted);font-size:14px}
.alt-section{background:linear-gradient(180deg,rgba(255,255,255,.008),rgba(255,201,36,.024),rgba(255,255,255,.008))}
.why-card{text-align:center;min-height:auto}
.why-card>div{font-size:34px;margin-bottom:13px}
.compact-cards .why-card{padding-top:30px;padding-bottom:30px}

.app-section{padding-top:50px}
.app-panel{
  display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:center;
  border:1px solid rgba(255,205,51,.30);border-radius:28px;padding:38px;
  background:linear-gradient(110deg,rgba(243,174,24,.06),rgba(255,255,255,.015));
  box-shadow:var(--shadow);
}
.app-icon-wrap img{border-radius:34px;box-shadow:0 18px 58px rgba(255,177,17,.12)}
.app-copy p:not(.eyebrow){color:var(--muted);max-width:680px}
.app-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.app-tags span{font-size:12px;padding:8px 11px;border:1px solid rgba(255,206,52,.24);border-radius:999px;color:#e9e1ce;background:rgba(255,206,52,.03)}

.booking-section{background:radial-gradient(circle at 80% 50%,rgba(255,187,20,.06),transparent 24%)}
.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.booking-copy p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:480px}
.contact-mini{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.contact-mini a{color:#ead7a0}
.booking-form{
  padding:28px;border:1px solid rgba(255,205,51,.22);border-radius:22px;
  background:linear-gradient(180deg,#11100d,#0b0b0a);
}
.booking-form label{display:block;color:#d9d3c5;font-size:13px;font-weight:700;margin-bottom:14px}
.booking-form input,.booking-form textarea{
  width:100%;margin-top:7px;color:#fff;background:#090909;border:1px solid rgba(255,255,255,.12);
  border-radius:12px;padding:13px 14px;outline:none;transition:.2s;
}
.booking-form input:focus,.booking-form textarea:focus{border-color:#c99726;box-shadow:0 0 0 3px rgba(255,201,50,.06)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.full{width:100%}
.form-note{text-align:center;color:#8e8a80;font-size:11px;margin:11px 0 0}

.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.contact-card{
  display:flex;align-items:center;gap:14px;padding:19px 17px;border:1px solid rgba(255,205,51,.23);
  border-radius:16px;background:#0d0d0b;min-height:88px;transition:.2s;
}
a.contact-card:hover{border-color:rgba(255,205,51,.5);transform:translateY(-3px)}
.contact-icon{font-size:24px;color:#f2c64c;width:34px;text-align:center}
.contact-icon.whatsapp{color:var(--green)}
.contact-card small{display:block;color:var(--muted);margin-bottom:3px}
.contact-card strong{display:block;font-size:13px;word-break:break-word}

.floating-whatsapp{
  position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:8px;
  background:#1cad54;border:1px solid rgba(255,255,255,.25);padding:13px 17px;border-radius:999px;
  color:white;box-shadow:0 14px 36px rgba(0,0,0,.35);font-size:13px;
}
.floating-whatsapp span{font-size:20px}

footer{border-top:1px solid rgba(255,207,54,.18);background:#030303;padding:28px 0 34px}
.footer-grid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
.footer-brand img{width:48px;height:48px}
.footer-links{display:flex;justify-content:center;gap:22px;color:#c7c1b5;font-size:12px}
footer p{color:#777269;font-size:11px;margin:0}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width:980px){
  .nav-links{position:absolute;top:78px;left:18px;right:18px;display:none;flex-direction:column;background:#0b0b0b;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .menu-toggle{display:block;margin-left:auto}
  .nav-book{display:none}
  .hero-grid,.booking-grid{grid-template-columns:1fr;gap:40px}
  .hero-copy{text-align:center}
  .hero-text{margin-inline:auto}
  .hero-actions,.trust-row{justify-content:center}
  .hero-visual{max-width:720px;margin-inline:auto;width:100%}
  .cards.four,.contact-grid{grid-template-columns:repeat(2,1fr)}
  .app-panel{grid-template-columns:190px 1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid div:nth-child(2){border-right:0}
  .stats-grid div:nth-child(-n+2){padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.07)}
}
@media (max-width:660px){
  .section{padding:68px 0}
  .container{width:min(100% - 24px,1180px)}
  .brand strong{font-size:14px}
  .brand span{font-size:8px}
  .brand img{width:46px;height:46px}
  .hero{padding-top:52px}
  .hero h1{font-size:44px}
  .hero-text{font-size:16px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%}
  .cards.four,.contact-grid,.stats-grid,.app-panel,.form-row{grid-template-columns:1fr}
  .service-card{min-height:auto}
  .app-panel{padding:24px}
  .app-icon-wrap{max-width:190px;margin-inline:auto}
  .stats-grid div{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.07);padding:14px 0!important;margin:0!important}
  .stats-grid div:last-child{border-bottom:0}
  .booking-form{padding:20px}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-brand{justify-content:center}
  .footer-links{flex-wrap:wrap}
  .floating-whatsapp b{display:none}
  .floating-whatsapp{width:54px;height:54px;padding:0;justify-content:center}
}


/* v1.1.0 light/dark mode + Perth imagery */
:root{
  --page-bg:#050505;
  --page-bg-2:#0b0b0b;
  --surface:#11110f;
  --surface-2:#17150f;
  --heading:#f6f3eb;
  --body:#b7b2a7;
  --nav-bg:rgba(5,5,5,.84);
  --input-bg:#090909;
  --soft-border:rgba(255,255,255,.08);
}

html[data-theme="light"]{
  --page-bg:#f7f5ef;
  --page-bg-2:#ffffff;
  --surface:#ffffff;
  --surface-2:#f0ece2;
  --heading:#17130a;
  --body:#615b50;
  --nav-bg:rgba(255,255,255,.90);
  --input-bg:#ffffff;
  --soft-border:rgba(55,45,20,.12);
  --text:#17130a;
  --muted:#6a6459;
  --card:#ffffff;
  --card2:#f0ece2;
  --whiteLine:rgba(55,45,20,.10);
  color-scheme:light;
}

html[data-theme="dark"]{color-scheme:dark}

body{
  background:
    radial-gradient(circle at 72% 5%, rgba(255,196,35,.08), transparent 25%),
    radial-gradient(circle at 12% 45%, rgba(255,196,35,.05), transparent 22%),
    var(--page-bg);
  color:var(--heading);
  transition:background .25s ease,color .25s ease;
}
.site-header{background:var(--nav-bg)}
.nav-links a{color:var(--heading)}
.service-card,.why-card,.contact-card,.booking-form{background:var(--surface)}
.booking-form input,.booking-form textarea{background:var(--input-bg);color:var(--heading)}
.alt-section{background:linear-gradient(180deg,transparent,rgba(255,201,36,.035),transparent)}
footer{background:var(--page-bg-2)}
.hero-text,.section-heading p:last-child,.booking-copy p:not(.eyebrow),.app-copy p:not(.eyebrow),
.service-card p,.why-card p{color:var(--body)}

.theme-toggle{
  min-height:42px;padding:0 12px;border-radius:999px;display:flex;align-items:center;gap:7px;
  border:1px solid rgba(255,205,51,.28);background:var(--surface);color:var(--heading);
  cursor:pointer;font-weight:800;font-size:12px;transition:.2s ease;
}
.theme-toggle:hover{border-color:rgba(255,205,51,.65);transform:translateY(-1px)}
.theme-icon{font-size:17px}

.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.image-card{padding:0;min-height:330px;overflow:hidden}
.image-card>img{width:100%;height:150px;object-fit:cover;border-bottom:1px solid rgba(255,205,51,.18)}
.service-body{padding:20px}
.image-card .service-icon{width:42px;height:42px;margin:-43px 0 15px;background:var(--surface);position:relative;z-index:2}
.image-card h3{margin-bottom:8px}

.perth-section{background:linear-gradient(180deg,transparent,rgba(255,193,30,.035),transparent)}
.perth-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.perth-photo{position:relative;border-radius:26px;overflow:hidden;border:1px solid rgba(255,205,51,.26);box-shadow:var(--shadow)}
.perth-photo img{width:100%;height:auto;display:block;object-fit:contain;background:#050505}
.perth-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 72%,rgba(0,0,0,.45))}
.perth-caption{position:absolute;left:22px;bottom:18px;z-index:2;font-weight:900;color:#fff;letter-spacing:.04em}
.perth-copy h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,4vw,52px);margin:0 0 16px}
.perth-copy>p:not(.eyebrow){color:var(--body);font-size:16px}
.perth-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 28px}
.perth-facts div{border:1px solid rgba(255,205,51,.18);border-radius:15px;padding:15px;background:var(--surface)}
.perth-facts b{display:block;color:#d7a824;margin-bottom:4px}
.perth-facts span{display:block;color:var(--body);font-size:12px}

@media (max-width:1100px){
  .service-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:980px){
  .theme-toggle{margin-left:auto}
  .perth-grid{grid-template-columns:1fr}
  .perth-photo img{height:380px}
}
@media (max-width:720px){
  .service-grid{grid-template-columns:1fr 1fr}
  .theme-label{display:none}
}
@media (max-width:520px){
  .service-grid{grid-template-columns:1fr}
  .perth-facts{grid-template-columns:1fr}
  .perth-photo img{height:280px}
}


/* v1.4.0 exact separate images + full-fit no-crop fix */
.hero-visual{align-self:start}
.hero-image-frame{
  padding:0;
  background:#050505;
}
.hero-image-frame img,
.perth-photo img{
  max-width:100%;
  max-height:none;
}
.perth-photo{
  background:#050505;
}
@media (min-width:981px){
  .hero-image-frame img{
    min-height:auto;
  }
  .perth-photo img{
    min-height:auto;
  }
}


/* v1.5.0 premium UI/UX bundle */
.site-header.scrolled .nav-wrap{min-height:64px}
.site-header.scrolled .brand img{width:44px;height:44px}
.site-header,.nav-wrap,.brand img{transition:.25s ease}

.hero-mini-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.hero-mini-strip span{font-size:11px;padding:7px 10px;border-radius:999px;background:rgba(255,202,45,.05);border:1px solid rgba(255,202,45,.16);color:var(--body)}

.fleet-section{background:linear-gradient(180deg,transparent,rgba(255,193,30,.025),transparent)}
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fleet-card{overflow:hidden;border:1px solid rgba(255,205,51,.2);border-radius:22px;background:var(--surface);transition:.25s ease}
.fleet-card:hover{transform:translateY(-6px);border-color:rgba(255,205,51,.48);box-shadow:var(--shadow)}
.fleet-art{height:210px;overflow:hidden;background:#050505}
.fleet-art img{width:100%;height:100%;object-fit:cover}
.fleet-art-alt img{object-position:center}
.fleet-art-corporate img{object-position:center}
.fleet-content{padding:22px}
.fleet-kicker{display:block;color:#d8a72b;font-size:10px;font-weight:900;letter-spacing:.16em;margin-bottom:8px}
.fleet-content h3{margin:0 0 9px;font-size:21px}
.fleet-content p{margin:0;color:var(--body);font-size:14px}
.fleet-specs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.fleet-specs span{font-size:11px;padding:7px 9px;border-radius:10px;background:rgba(255,205,51,.04);border:1px solid rgba(255,205,51,.14)}
.text-link{color:#e7b52f;font-size:13px;font-weight:800}

.estimate-shell{display:grid;grid-template-columns:1fr 440px;gap:50px;align-items:center;border:1px solid rgba(255,205,51,.22);border-radius:28px;padding:38px;background:linear-gradient(120deg,rgba(255,193,30,.05),rgba(255,255,255,.012))}
.estimate-copy h2,.faq-intro h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,4vw,52px);margin:0 0 15px}
.estimate-copy>p{color:var(--body)}
.estimate-points{padding:0;list-style:none;margin:20px 0 0;color:var(--body)}
.estimate-points li{margin:8px 0}
.estimate-card{padding:22px;border-radius:20px;background:var(--surface);border:1px solid rgba(255,205,51,.18)}
.estimate-card label{display:block;font-size:12px;font-weight:800;color:var(--body);margin-bottom:14px}
.estimate-card input,.estimate-card select{width:100%;margin-top:7px;padding:12px 13px;border-radius:12px;border:1px solid var(--soft-border);background:var(--input-bg);color:var(--heading);outline:none}
.estimate-result{margin-top:14px;padding:16px;border-radius:14px;background:rgba(255,205,51,.04);border:1px solid rgba(255,205,51,.15)}
.estimate-result span,.estimate-result small{display:block;color:var(--body);font-size:11px}
.estimate-result strong{display:block;color:#e9b72f;font-size:24px;margin:5px 0}

.proof-section{background:linear-gradient(180deg,rgba(255,255,255,.005),rgba(255,198,25,.025),rgba(255,255,255,.005))}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.proof-card{padding:26px;border-radius:20px;background:var(--surface);border:1px solid rgba(255,205,51,.18)}
.proof-card span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,205,51,.08);color:#dfac28;font-weight:900;margin-bottom:16px}
.proof-card h3{margin:0 0 8px}
.proof-card p{margin:0;color:var(--body);font-size:14px}

.faq-grid{display:grid;grid-template-columns:340px 1fr;gap:50px;align-items:start}
.faq-intro>p:not(.eyebrow){color:var(--body);margin-bottom:22px}
.faq-list{display:grid;gap:10px}
.faq-item{border:1px solid rgba(255,205,51,.17);border-radius:16px;background:var(--surface);padding:0 18px}
.faq-item summary{cursor:pointer;font-weight:800;padding:18px 0;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";float:right;color:#d8aa2e;font-size:20px}
.faq-item[open] summary:after{content:"−"}
.faq-item p{margin:0 0 18px;color:var(--body);font-size:14px}

.whatsapp-widget{position:fixed;right:22px;bottom:22px;z-index:80}
.whatsapp-widget .floating-whatsapp{position:static}
.whatsapp-pop{position:absolute;right:0;bottom:68px;width:270px;padding:17px;border-radius:18px;background:#0c140e;border:1px solid rgba(37,211,102,.35);box-shadow:var(--shadow);display:none}
.whatsapp-pop.show{display:block;animation:waPop .25s ease}
.whatsapp-pop strong,.whatsapp-pop span{display:block}
.whatsapp-pop strong{margin-bottom:5px}
.whatsapp-pop span{font-size:12px;color:#bfc8c1;margin-bottom:12px}
.whatsapp-pop a{display:inline-block;font-size:12px;font-weight:800;color:#fff;background:#1cad54;border-radius:10px;padding:9px 11px}
.wa-close{position:absolute;right:9px;top:7px;background:transparent;border:0;color:#aaa;font-size:18px;cursor:pointer}
@keyframes waPop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.mobile-action-bar{display:none}
@media(max-width:980px){
  .fleet-grid{grid-template-columns:1fr 1fr}
  .estimate-shell{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
}
@media(max-width:660px){
  body{padding-bottom:66px}
  .fleet-grid,.proof-grid{grid-template-columns:1fr}
  .estimate-shell{padding:22px}
  .mobile-action-bar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:95;background:rgba(5,5,5,.96);border-top:1px solid rgba(255,205,51,.2);backdrop-filter:blur(14px)}
  .mobile-action-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;font-size:14px;color:#ddd}
  .mobile-action-bar a span{font-size:10px;margin-top:2px}
  .mobile-action-bar .primary-mobile{background:linear-gradient(180deg,#ffd95e,#e7a512);color:#161000;font-weight:900}
  .whatsapp-widget{bottom:76px}
}


/* v1.5.1 estimator visibility + single WhatsApp cleanup */
.btn-estimate{
  border-color:rgba(255,205,51,.38);
  background:rgba(255,205,51,.05);
  color:#efc44a;
}
.btn-estimate:hover{
  background:rgba(255,205,51,.10);
  border-color:rgba(255,205,51,.68);
}
.estimate-section{
  scroll-margin-top:88px;
  position:relative;
}
.estimate-section:before{
  content:"FARE ESTIMATE";
  position:absolute;
  top:28px;
  left:50%;
  transform:translateX(-50%);
  font-size:10px;
  letter-spacing:.25em;
  font-weight:900;
  color:rgba(232,180,42,.30);
}
.single-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:80;
}
@media(max-width:660px){
  .single-whatsapp{display:none}
}


/* v1.6.0 Android/iOS app visuals + PWA install */
.app-panel-premium{
  grid-template-columns:340px 1fr;
}
.app-device-stage{
  position:relative;
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.phone-mock{
  position:absolute;
  width:168px;
  height:330px;
  border-radius:30px;
  padding:10px;
  background:linear-gradient(145deg,#2f2f2f,#070707);
  border:1px solid rgba(255,205,51,.28);
  box-shadow:0 24px 55px rgba(0,0,0,.45);
}
.android-phone{transform:translateX(-58px) rotate(-5deg);z-index:1}
.ios-phone{transform:translateX(58px) rotate(6deg);z-index:2}
.phone-notch{
  position:absolute;
  top:11px;
  left:50%;
  transform:translateX(-50%);
  width:62px;
  height:14px;
  border-radius:999px;
  background:#050505;
  z-index:3;
}
.phone-screen{
  height:100%;
  border-radius:23px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,204,41,.11),transparent 35%),
    linear-gradient(180deg,#0b0b0b,#020202);
  overflow:hidden;
}
.phone-screen img{
  width:88px;
  height:88px;
  border-radius:24px;
  margin-bottom:18px;
  box-shadow:0 0 28px rgba(255,190,26,.18);
}
.phone-screen strong{color:#efc13c;font-size:12px;letter-spacing:.08em}
.phone-screen span{color:#a9a397;font-size:11px;margin-top:3px}
.phone-chip{
  margin-top:25px;
  border:1px solid rgba(255,205,51,.24);
  border-radius:999px;
  padding:7px 14px;
  color:#e4b52e!important;
  font-size:10px!important;
  font-weight:800;
}

.app-store-buttons{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:24px 0 10px;
}
.store-badge{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:205px;
  padding:11px 15px;
  border-radius:14px;
  border:1px solid rgba(255,205,51,.22);
  background:#080808;
  color:#fff;
  transition:.2s ease;
}
.store-badge:hover{transform:translateY(-2px);border-color:rgba(255,205,51,.5)}
.store-mark{font-size:25px;color:#f1c13c}
.store-badge small,.store-badge b,.store-badge em{display:block}
.store-badge small{font-size:8px;color:#aaa;letter-spacing:.08em}
.store-badge b{font-size:16px}
.store-badge em{font-style:normal;font-size:9px;color:#d1a72f;margin-top:2px}
.store-disabled{cursor:not-allowed;opacity:.84}

.pwa-install-box{
  margin-top:22px;
  padding:16px;
  display:flex;
  align-items:center;
  gap:14px;
  justify-content:space-between;
  border-radius:16px;
  border:1px solid rgba(255,205,51,.19);
  background:rgba(255,205,51,.035);
}
.pwa-install-box strong,.pwa-install-box span{display:block}
.pwa-install-box strong{font-size:14px}
.pwa-install-box span{font-size:11px;color:var(--body);margin-top:3px}
.pwa-ios-hint{font-size:10px!important;color:#d8ad34!important;max-width:240px}

.header-install{
  min-height:38px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,205,51,.27);
  background:rgba(255,205,51,.05);
  color:#e9ba36;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:980px){
  .app-panel-premium{grid-template-columns:1fr}
  .app-device-stage{min-height:350px}
}
@media(max-width:660px){
  .app-device-stage{min-height:320px}
  .phone-mock{width:145px;height:285px}
  .android-phone{transform:translateX(-46px) rotate(-4deg)}
  .ios-phone{transform:translateX(46px) rotate(5deg)}
  .phone-screen img{width:72px;height:72px}
  .app-store-buttons{flex-direction:column}
  .store-badge{width:100%}
  .pwa-install-box{align-items:flex-start;flex-direction:column}
  .header-install{display:none!important}
}


/* v1.6.1 PWA install visibility fix */
.header-install{display:inline-flex;align-items:center;justify-content:center}
.install-modal{
  position:fixed;
  inset:0;
  z-index:200;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px);
  display:grid;
  place-items:center;
  padding:20px;
}
.install-modal[hidden]{display:none!important}
.install-modal-card{
  width:min(420px,100%);
  background:var(--surface);
  border:1px solid rgba(255,205,51,.28);
  border-radius:22px;
  padding:26px;
  text-align:center;
  position:relative;
  box-shadow:var(--shadow);
}
.install-modal-card img{width:82px;height:82px;border-radius:22px;margin:0 auto 16px}
.install-modal-card h3{margin:0 0 8px;font-size:24px}
.install-modal-card p{color:var(--body);font-size:14px;margin:0 0 18px}
.install-modal-close{
  position:absolute;right:12px;top:10px;
  background:transparent;border:0;color:var(--body);
  font-size:24px;cursor:pointer;
}
@media(max-width:660px){
  .header-install{display:none}
}


/* v1.6.2 header containment + PWA visibility + version badges */
.site-header{
  overflow:visible;
}
.nav-wrap{
  width:min(1240px,calc(100% - 28px));
  min-width:0;
  flex-wrap:nowrap;
}
.brand{
  flex:0 0 auto;
}
.nav-links{
  min-width:0;
  flex:1 1 auto;
  justify-content:center;
  gap:16px;
}
.nav-links a{
  white-space:nowrap;
  font-size:12.5px;
}
.header-install,
.theme-toggle,
.nav-book{
  flex:0 0 auto;
  white-space:nowrap;
}
.nav-book{
  min-width:132px;
}
.theme-toggle{
  min-width:76px;
}

.version-badge{
  position:fixed;
  z-index:120;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(255,205,51,.25);
  background:rgba(5,5,5,.82);
  color:#d9ad35;
  backdrop-filter:blur(10px);
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  pointer-events:none;
}
.version-top{
  top:88px;
  right:14px;
}
.version-bottom{
  bottom:10px;
  left:10px;
}

.pwa-status{
  display:block;
  width:100%;
  color:var(--body);
  font-size:10px;
  margin-top:6px;
}
#pwaInstallBtn,
#headerInstallBtn{
  visibility:visible!important;
  opacity:1!important;
}

@media(max-width:1380px){
  .nav-wrap{gap:14px}
  .nav-links{gap:12px}
  .nav-links a{font-size:11.5px}
  .brand strong{font-size:15px}
  .brand span{font-size:8px}
  .nav-book{min-width:118px;padding:0 16px}
}
@media(max-width:1160px){
  .nav-links{display:none}
  .menu-toggle{display:block;margin-left:auto}
  .header-install{display:inline-flex}
  .nav-book{display:inline-flex}
}
@media(max-width:760px){
  .header-install{display:none!important}
  .nav-book{display:none}
  .theme-toggle{margin-left:0}
  .version-top{top:76px;right:8px}
  .version-bottom{bottom:72px;left:8px}
}


/* v1.7.0 image asset upgrade */
.image-card>img{
  height:190px;
  object-fit:contain;
  background:#050505;
}
.fleet-art{
  display:grid;
  place-items:center;
  background:#050505;
}
.fleet-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#050505;
}
.hero-image-frame,
.perth-photo,
.gallery-card{
  background:#050505;
}
.gallery-section{
  background:linear-gradient(180deg,rgba(255,193,30,.02),rgba(255,255,255,.005),rgba(255,193,30,.02));
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-card{
  margin:0;
  border:1px solid rgba(255,205,51,.18);
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.gallery-card img{
  width:100%;
  aspect-ratio:16/10;
  display:block;
  object-fit:contain;
  background:#050505;
}
.gallery-card figcaption{
  padding:14px 16px;
  color:var(--body);
  font-size:13px;
  font-weight:700;
  border-top:1px solid rgba(255,205,51,.12);
  background:rgba(255,205,51,.02);
}
@media (max-width:1100px){
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .gallery-grid{grid-template-columns:1fr}
  .image-card>img{height:220px}
}


/* v1.8.0 booking, airport, recruitment and support enhancements */
.airport-booking-section{background:linear-gradient(180deg,rgba(255,193,30,.035),rgba(255,255,255,.008));}
.manage-booking-section{background:rgba(255,205,51,.018);}
.driver-apply-section .app-panel{grid-template-columns:1fr;max-width:980px;margin:auto;}
.feature-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.feature-chips span,.check-row{border:1px solid rgba(255,205,51,.18);background:rgba(255,205,51,.04);border-radius:12px;padding:10px 12px;color:var(--body);}
.check-row{display:flex!important;align-items:center;gap:10px;font-size:13px;}
.check-row input{width:auto!important;min-width:auto!important;margin:0;}
.booking-form select,.estimate-card select{width:100%;}
@media(max-width:760px){.feature-chips{display:grid;grid-template-columns:1fr}.driver-apply-section .hero-actions{align-items:stretch}.driver-apply-section .hero-actions .btn{width:100%;justify-content:center}}

/* v1.8.1 responsive desktop header fix */
@media (max-width:1650px) and (min-width:1161px){
  .nav-wrap{width:min(1460px,calc(100% - 20px));gap:10px}
  .nav-links{gap:9px}
  .nav-links a{font-size:11.5px}
  .brand strong{font-size:15px}
  .brand span{font-size:8px}
  /* Duplicate Airport shortcut is already covered by Airport Booking. */
  .nav-links a:nth-child(7){display:none}
  .header-install{padding-left:13px;padding-right:13px;font-size:12px}
  .theme-toggle{min-width:70px}
  .nav-book{min-width:122px;padding-left:16px;padding-right:16px}
}
@media (max-width:1500px) and (min-width:1161px){
  /* Install remains available in the PWA/app section; keep the header uncluttered. */
  .header-install{display:none!important}
  .nav-links{gap:10px}
}
@media (max-width:1320px) and (min-width:1161px){
  /* Secondary destination shortcuts move out before the mobile menu breakpoint. */
  .nav-links a:nth-child(8),
  .nav-links a:nth-child(11){display:none}
}
