/* Mosh Americas additions on top of the original 73 Agency styles (styles.css). */
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--violet);color:var(--violet-foreground);padding:10px 14px;border-radius:999px;font-size:13px;font-weight:600}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
html{scroll-padding-top:80px}
h1,h2,#top p:first-of-type{text-wrap:balance}

/* Header: show the menu button up to 1024px (desktop nav only appears at lg) */
.menu-toggle .ic-close{display:none}
.menu-toggle[aria-expanded="true"] .ic-open{display:none}
.menu-toggle[aria-expanded="true"] .ic-close{display:block}
.mobile-nav[hidden]{display:none}
@media (width>=48rem) and (width<64rem){.menu-toggle{display:inline-flex!important;margin-left:12px}.mobile-nav{display:block}.header-actions{display:flex;align-items:center}}
@media (width>=64rem){.menu-toggle,.mobile-nav{display:none!important}}
.brand-mark{display:block;flex:none}

/* Select: muted until a value is chosen */
select.has-value{color:var(--foreground)}

/* Form validation + states */
.field-err{display:none;margin-top:6px;font-size:12px;color:var(--destructive)}
label.bad .field-err{display:block}
label.bad input,label.bad textarea,label.bad select{border-color:color-mix(in oklab,var(--destructive) 70%,transparent)}
.form-alert{display:none;margin-top:16px;border-radius:12px;border:1px solid color-mix(in oklab,var(--destructive) 50%,transparent);padding:10px 14px;font-size:13px;color:var(--foreground)}
.form-alert.show{display:block}
.enquiry button[type=submit][disabled]{opacity:.6;cursor:progress}
.enquiry-done{display:none}
.enquiry.is-done>*:not(.enquiry-done){display:none!important}
.enquiry.is-done .enquiry-done{display:block}
.enquiry-done .tick{width:52px;height:52px;border-radius:50%;background:var(--violet);color:var(--violet-foreground);display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.enquiry-done h3{font-family:var(--font-display);font-size:34px;line-height:1.1;margin:0 0 12px}
.enquiry-done p{color:var(--muted-foreground);font-size:15px;line-height:1.7;margin:0 0 24px;max-width:440px}
.enquiry-done .row{display:flex;flex-wrap:wrap;gap:12px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}

/* Floating WhatsApp */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:45;width:56px;height:56px;border-radius:50%;background:var(--violet);color:var(--violet-foreground);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 34px oklch(0% 0 0/.5),0 0 60px -18px oklch(65% .18 295/.6);transition:transform .2s}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:27px;height:27px}
body.menu-open .wa-float,body.menu-open .cookie{display:none}

/* Cookie notice */
.cookie{position:fixed;left:22px;bottom:22px;z-index:46;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px 16px;display:flex;gap:14px;align-items:center;font-size:12px;line-height:1.6;color:var(--muted-foreground);box-shadow:0 12px 34px oklch(0% 0 0/.5)}
.cookie[hidden]{display:none}
.cookie a{color:var(--foreground);text-decoration:underline;text-decoration-color:var(--violet);text-underline-offset:3px}
.cookie button{flex:none;border-radius:999px;border:1px solid var(--border);padding:6px 14px;font-size:12px;font-weight:600;color:var(--foreground);background:transparent;cursor:pointer}
.cookie button:hover{background:var(--accent)}

/* Legal page */
.legal{max-width:760px;margin:0 auto;padding:130px 24px 90px}
.legal .kicker{font-size:12px;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--violet)}
.legal h1{font-family:var(--font-display);font-size:clamp(44px,7vw,64px);line-height:1.05;margin:18px 0 10px}
.legal .updated{color:var(--muted-foreground);font-size:13px;margin:0 0 40px}
.legal h2{font-family:var(--font-display);font-size:28px;margin:40px 0 10px}
.legal p,.legal li{color:var(--muted-foreground);font-size:15px;line-height:1.85}
.legal ul{padding-left:20px;list-style:disc}
.legal a{color:var(--foreground);text-decoration:underline;text-decoration-color:var(--violet);text-underline-offset:3px}

@media (width<48rem){
  .wa-float{right:16px;bottom:16px;width:52px;height:52px}
  .cookie{left:16px;right:84px;bottom:16px;max-width:none}
}
