/* layout.css: header, nav, footer, section containers, grids */
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.8rem var(--gutter);background:rgba(6,12,32,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand img{height:42px;width:auto}
#site-nav{display:flex;gap:1.6rem}
#site-nav a{color:var(--ivory);text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent}
#site-nav a:hover,#site-nav a[aria-current]{border-color:var(--gold)}
.menu-toggle{display:none}
.header-cta{white-space:nowrap}
.section{max-width:var(--page);margin:0 auto;padding:4.5rem 5vw}
.section-tint{max-width:none;background:var(--navy);padding-inline:var(--gutter)}
.grid{display:grid;gap:2rem}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.split-flip img{order:2}
.split img{width:100%;max-width:340px;justify-self:center;border-radius:var(--radius)}
.center{text-align:center;min-height:55vh;display:grid;justify-items:center;align-content:center}
.site-footer{background:var(--navy);padding:3rem var(--gutter);display:grid;gap:1.2rem;justify-items:start;border-top:1px solid var(--line);color:var(--mute)}
.footer-logo{height:46px;width:auto}
@media(max-width:800px){
.menu-toggle{display:block;background:none;color:var(--ivory);border:1px solid var(--gold);border-radius:8px;padding:.45rem .9rem;font:inherit;cursor:pointer}
#site-nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:.2rem;background:var(--deep);padding:.6rem 5vw 1rem;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.35);
clip-path:inset(0 0 100% 0);opacity:0;visibility:hidden;transform:translateY(-8px);
transition:clip-path .85s cubic-bezier(.22,.8,.3,1),opacity .6s ease,transform .85s cubic-bezier(.22,.8,.3,1),visibility 0s linear .85s}
#site-nav.open{clip-path:inset(0 0 0 0);opacity:1;visibility:visible;transform:none;transition-delay:0s}
#site-nav a{padding:.7rem 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(-6px);transition:opacity .45s ease,transform .6s cubic-bezier(.22,.8,.3,1)}
#site-nav.open a{opacity:1;transform:none}
#site-nav.open a:nth-child(1){transition-delay:.25s}#site-nav.open a:nth-child(2){transition-delay:.35s}#site-nav.open a:nth-child(3){transition-delay:.45s}
#site-nav.open a:nth-child(4){transition-delay:.55s}#site-nav.open a:nth-child(5){transition-delay:.65s}#site-nav.open a:nth-child(6){transition-delay:.75s}
.menu-toggle::after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:.6em;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:translateY(-.15em) rotate(45deg);transition:transform .6s ease}
.menu-toggle[aria-expanded="true"]::after{transform:translateY(.1em) rotate(-135deg)}
.split{grid-template-columns:1fr}.split-flip img{order:0}}

/* Mobile header: logo left, Menu + Book a free call tucked on the right */
@media(max-width:800px){
.site-header{gap:.5rem;padding:.7rem 4vw}
.brand{order:1;min-width:0}
.brand img{height:34px;width:auto}
.menu-toggle{order:2;margin-left:auto;display:inline-flex;align-items:center;white-space:nowrap;padding:.4rem .7rem;font-size:.9rem;line-height:1.2}
.menu-toggle::after{margin-left:.45em}
.site-header .header-cta{order:3;display:inline-block;padding:.5rem .85rem;font-size:.85rem;line-height:1.2;white-space:nowrap}
}
@media(max-width:370px){
.brand img{height:28px}
.menu-toggle{padding:.35rem .55rem;font-size:.82rem}
.site-header .header-cta{padding:.45rem .6rem;font-size:.78rem}
}

/* Footer social icons */
.social{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem;margin:0;padding:0}
.social a{display:grid;place-items:center;width:46px;height:46px;border:1.5px solid var(--gold);border-radius:50%;color:var(--gold);transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease}
.social a:hover,.social a:focus-visible{background:var(--gold);color:var(--deep);transform:translateY(-3px);box-shadow:0 8px 22px rgba(214,168,74,.35)}
