*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:#141210;background:#FAF6F0;-webkit-font-smoothing:antialiased;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit} :root{
--p:#E8522A;--y:#F5C842;--g:#1E4D35;
--noir:#141210;--creme:#FAF6F0;--gris:#7A7065;
--p2:#F7B89C;--p3:#FDF0EA;
--g2:#2A6B4A;--g3:#E8F0EC;
} .site-header{
position:sticky;top:0;z-index:9999;
background:#fff;
border-bottom:1px solid rgba(0,0,0,.05);
}
.header-inner{
max-width:1280px;margin:0 auto;
display:flex;align-items:center;justify-content:space-between;
padding:12px 40px;
}
.nav-logo{
display:flex;align-items:center;gap:10px;
font-family:'Fraunces',serif;font-weight:700;font-size:1.1rem;
color:var(--noir);text-decoration:none;
}
.logo-orb{
width:36px;height:36px;border-radius:50%;
background:var(--p);color:#fff;
display:flex;align-items:center;justify-content:center;
font-size:1.1rem;
} .header-nav{display:flex;align-items:center;gap:8px}
.header-nav ul{list-style:none;display:flex;align-items:center;gap:0}
.header-nav ul li a{
padding:8px 16px;font-size:.9rem;font-weight:500;
color:var(--noir);border-radius:8px;transition:all .2s;
}
.header-nav ul li a:hover{background:var(--p3);color:var(--p)}
.header-nav ul li.menu-item-has-children{position:relative}
.header-nav ul li.menu-item-has-children > a::after{content:'';display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;margin-left:6px;vertical-align:middle;opacity:.5}
.header-nav .sub-menu{
display:none;position:absolute;top:100%;left:0;
background:#fff;border-radius:12px;padding:8px 0;min-width:280px;
box-shadow:0 8px 30px rgba(0,0,0,.1);z-index:100;
}
.header-nav li.menu-item-has-children:hover > .sub-menu{display:block}
.header-nav .sub-menu .sub-menu{top:0;left:auto;right:100%;border-radius:12px}
.header-nav .sub-menu li a{display:block;padding:10px 20px;font-size:.88rem;white-space:nowrap}
.header-nav .sub-menu li a:hover{background:var(--p3)} .header-nav li.menu-cta > a{
background:var(--p) !important;color:#fff !important;
padding:10px 22px !important;border-radius:100px !important;
font-weight:700 !important;font-size:.85rem;
box-shadow:0 4px 15px rgba(232,82,42,.3);transition:all .3s;
}
.header-nav li.menu-cta > a:hover{background:var(--noir) !important;transform:translateY(-2px)} .header-social{display:flex;align-items:center;gap:12px;margin-left:16px}
.header-social a{color:var(--gris);font-size:1.2rem;transition:color .2s}
.header-social a:hover{color:var(--p)}
.header-social svg{width:22px;height:22px;fill:currentColor} .site-footer{
background:var(--noir);color:rgba(255,255,255,.6);
padding:40px 40px 24px;text-align:center;
}
.footer-inner{max-width:960px;margin:0 auto}
.footer-nav ul{list-style:none;display:flex;justify-content:center;gap:24px;margin-bottom:16px}
.footer-nav ul li a{color:rgba(255,255,255,.6);font-size:.85rem;transition:color .2s}
.footer-nav ul li a:hover{color:#fff}
.footer-social{display:flex;justify-content:center;gap:16px;margin-bottom:16px}
.footer-social a{
display:inline-flex;align-items:center;justify-content:center;
width:36px;height:36px;border-radius:50%;
background:rgba(255,255,255,.1);transition:background .3s;
}
.footer-social a:hover{background:rgba(255,255,255,.2)}
.footer-social a svg{width:18px;height:18px;fill:rgba(255,255,255,.6)}
.footer-copy{font-size:.78rem;color:rgba(255,255,255,.35)}
.footer-copy a{color:rgba(255,255,255,.5)} .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--noir);margin:5px 0;transition:all .3s}
@media(max-width:900px){
.menu-toggle{display:block}
.header-nav{
display:none;position:absolute;top:100%;left:0;right:0;
background:#fff;padding:20px;flex-direction:column;
box-shadow:0 8px 30px rgba(0,0,0,.1);
}
.header-nav.open{display:flex}
.header-nav ul{flex-direction:column;width:100%}
.header-nav ul li a{display:block;padding:12px 16px}
.header-nav .sub-menu{position:static;box-shadow:none;padding-left:16px;display:block}
.header-social{margin:16px 0 0;justify-content:center}
.header-inner{padding:12px 20px}
.site-footer{padding:30px 20px 20px}
}