/* ============ GALO SHARED DESIGN SYSTEM ============ */
/* typography: Century Gothic only (with geometric fallbacks) */
:root{
  --ff:"Century Gothic","CenturyGothic","AppleGothic","URW Gothic L","Questrial","Didact Gothic",sans-serif;
  /* light theme */
  --bg:#FBF6EE; --sec:#F0E8D5; --panel:#FFFFFF; --panel2:#F2E9D6;
  --ink:#2A1A0C; --muted:#6F5B43; --line:rgba(42,26,12,.16);
  --gold:#C9A14B; --goldL:#E3C778; --goldD:#8a6a1f; --goldBtn:#DBBA6A;
  --dark:#1E1207; --dark2:#241608; --creamtx:#F4EAD8;
  --shadow:0 10px 30px rgba(40,25,8,.10); --shadowL:0 30px 60px rgba(40,25,8,.18);
  --wa:#25D366;
}
html[data-theme="dark"]{
  --bg:#140C04; --sec:#1E1307; --panel:#241608; --panel2:#2A1B0C;
  --ink:#F4EAD8; --muted:#C0AA87; --line:rgba(227,199,120,.22);
  --goldD:#E3C778;
  --shadow:0 10px 30px rgba(0,0,0,.45); --shadowL:0 30px 60px rgba(0,0,0,.55);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ff);background:var(--bg);color:var(--ink);overflow-x:hidden;transition:background .5s,color .5s}
a{color:inherit;text-decoration:none}
img{max-width:100%}
::selection{background:var(--goldBtn);color:#241608}

/* brand typography rules — lowercase display, uppercase micro, italic accents */
.lc{text-transform:lowercase}
h1,h2,h3,.h1,.h2,.h3{text-transform:lowercase;font-weight:700;letter-spacing:-.01em}
.kk,.kicker,.tagup{text-transform:uppercase}
em,.it{font-style:italic;font-weight:400}

/* scroll progress */
#sprog{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--gold),var(--goldL));box-shadow:0 0 12px rgba(201,161,75,.7)}

/* custom cursor (desktop) */
#curdot{position:fixed;width:8px;height:8px;border-radius:50%;background:var(--gold);z-index:300;pointer-events:none;transform:translate(-50%,-50%);transition:transform .15s}
#curring{position:fixed;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--gold);opacity:.55;z-index:300;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s,height .25s,opacity .25s}
body.hovl #curring{width:56px;height:56px;opacity:.9}
@media(pointer:coarse){#curdot,#curring{display:none}}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;transition:.4s}
.nav.scrolled{background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(14px);box-shadow:var(--shadow)}
.nav .logo img{height:44px;display:block;transition:.3s}
html[data-theme="dark"] .nav .logo img.lgt{display:none}
html[data-theme="light"] .nav .logo img.dkt,html:not([data-theme]) .nav .logo img.dkt{display:none}
.nav ul{display:flex;gap:32px;list-style:none;font-weight:700;font-size:13.5px;text-transform:lowercase;letter-spacing:.04em}
.nav ul a{position:relative;padding:4px 0}
.nav ul a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--gold);transition:.32s}
.nav ul a:hover::after,.nav ul a.on::after{width:100%}
.navr{display:flex;gap:10px;align-items:center}

/* theme toggle */
.tswitch{width:58px;height:30px;border-radius:999px;border:1.5px solid var(--line);background:var(--panel);position:relative;cursor:pointer;transition:.3s;flex:none}
.tswitch::after{content:"☀";position:absolute;top:2px;left:3px;width:23px;height:23px;border-radius:50%;background:linear-gradient(140deg,var(--goldL),var(--gold));display:grid;place-items:center;font-size:12px;color:#241608;transition:.35s cubic-bezier(.6,0,.3,1.4)}
html[data-theme="dark"] .tswitch::after{left:29px;content:"☾"}

/* pills */
.pill{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:999px;font-weight:700;font-size:13.5px;transition:.3s;cursor:pointer;border:none;font-family:var(--ff);text-transform:lowercase;letter-spacing:.03em}
.pill:hover{transform:translateY(-3px)}
.pill.darkp{background:var(--dark2);color:#F8F1E2;box-shadow:0 10px 26px rgba(36,22,8,.3)}
html[data-theme="dark"] .pill.darkp{background:var(--goldBtn);color:#241608}
.pill.goldp{background:var(--goldBtn);color:#241608;box-shadow:0 10px 26px rgba(219,186,106,.35)}
.pill.outp{border:1.5px solid var(--line);color:var(--ink);background:transparent}
.pill.wap{background:var(--wa);color:#fff}
.pill .wic{width:17px;height:17px;flex:none}

/* nav over dark hero — high contrast until scrolled */
.nav.ondark:not(.scrolled){color:#F4EAD8}
.nav.ondark:not(.scrolled) ul a{color:#F4EAD8}
.nav.ondark:not(.scrolled) .burger{color:#F4EAD8}
.nav.ondark:not(.scrolled) .logo img.lgt{display:none}
.nav.ondark:not(.scrolled) .logo img.dkt{display:block!important}
.nav.ondark:not(.scrolled) .tswitch{background:rgba(244,234,216,.12);border-color:rgba(244,234,216,.35)}
.nav.ondark:not(.scrolled) .pill.outp{border-color:rgba(244,234,216,.4);color:#F4EAD8}

/* burger + mobile nav */
.burger{display:none;background:none;border:none;font-size:26px;color:var(--ink);cursor:pointer}
@media(max-width:960px){.nav ul{display:none}.burger{display:block}.nav .hidem{display:none}}
.mnav{position:fixed;inset:0;background:rgba(20,12,4,.97);z-index:150;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;font-size:24px;color:#F4EAD8;transform:translateY(-100%);transition:.5s cubic-bezier(.7,0,.3,1);text-transform:lowercase;font-weight:700}
.mnav.open{transform:none}

/* kickers & headings */
.kk{display:flex;align-items:center;gap:12px;justify-content:center;font-size:11px;letter-spacing:.34em;font-weight:700;color:var(--goldD);margin-bottom:24px}
.kk::before,.kk::after{content:"";width:32px;height:1.5px;background:var(--gold);opacity:.7}
.kk.left{justify-content:flex-start}.kk.left::after{display:none}
.h2{font-size:clamp(34px,4.6vw,58px);line-height:1.06;text-align:center}
.h2.left{text-align:left}
.gold{color:var(--gold)}
.lead{font-size:16.5px;line-height:1.75;color:var(--muted);max-width:600px;margin:18px auto 0;text-align:center}
.lead.left{margin:18px 0 0;text-align:left}
.ctr{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}

/* sections */
.sec{max-width:1244px;margin:16px auto;border-radius:28px;padding:96px 64px;position:relative;overflow:hidden;background:var(--sec);transition:background .5s}
.sec.darkc{background:var(--dark);color:var(--creamtx)}
.sec.darkc .lead{color:#C9B79C}
.sec.darkc .kk{color:#C8A65E}
.sec.darkc .gold{color:var(--goldL)}
.plain{max-width:1244px;margin:16px auto;padding:80px 40px;position:relative}
@media(max-width:900px){.sec{padding:64px 26px;border-radius:22px}.plain{padding:60px 20px}}

/* marquee */
.mqsec{max-width:1244px;margin:16px auto;background:var(--dark);border-radius:24px;overflow:hidden;padding:22px 0;transform:rotate(-.5deg)}
.mqtrack{display:flex;white-space:nowrap;width:max-content;animation:mq 30s linear infinite}
.mqtrack span{font-size:22px;color:#EBDDC2;font-weight:700;display:inline-flex;align-items:center;text-transform:lowercase}
.mqtrack span em{font-style:italic;font-weight:400;color:var(--goldL);margin-left:6px}
.mqtrack span::after{content:"✦";color:var(--gold);margin:0 30px;font-size:14px}
@keyframes mq{to{transform:translateX(-50%)}}

/* reveal */
.rv{opacity:0;transform:translateY(38px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* tilt base */
.tilt{transform-style:preserve-3d;will-change:transform;position:relative}
.tilt .glare{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,244,214,.35),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:5}
.tilt:hover .glare{opacity:1}

/* whatsapp float — real icon */
.waf{position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 30px rgba(37,211,102,.45);transition:.3s;animation:wapulse 2.6s infinite}
.waf:hover{transform:scale(1.12) rotate(6deg)}
.waf svg{width:30px;height:30px;fill:#fff}
.wic svg{width:17px;height:17px;fill:currentColor;display:block}
@keyframes wapulse{0%,100%{box-shadow:0 12px 30px rgba(37,211,102,.45)}50%{box-shadow:0 12px 30px rgba(37,211,102,.45),0 0 0 14px rgba(37,211,102,.12)}}

/* whatsapp chat popup */
.wachat{position:fixed;right:22px;bottom:92px;z-index:170;width:min(340px,90vw);background:var(--bg);border-radius:20px;overflow:hidden;box-shadow:0 30px 70px rgba(20,12,4,.4);border:1px solid var(--line);transform:translateY(16px) scale(.96);opacity:0;pointer-events:none;transition:.35s cubic-bezier(.5,0,.2,1.3)}
.wachat.open{transform:none;opacity:1;pointer-events:auto}
.wachat .wh{background:#075E54;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px}
.wachat .wh img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid rgba(255,255,255,.5);background:#F0E8D5}
.wachat .wh b{display:block;font-size:14.5px;text-transform:lowercase}
.wachat .wh i{font-style:italic;font-size:11px;opacity:.85}
.wachat .wh button{margin-left:auto;background:none;border:none;color:#fff;font-size:18px;cursor:pointer}
.wachat .wb{padding:14px;background:radial-gradient(circle at 30% 20%,rgba(201,161,75,.09),transparent 60%),var(--sec)}
.wachat .bub{background:var(--panel);border-radius:4px 14px 14px 14px;padding:11px 13px;font-size:13px;line-height:1.55;color:var(--ink);box-shadow:var(--shadow);margin-bottom:12px;max-width:88%}
.wachat .bub i{font-style:italic;display:block;font-size:10px;color:var(--muted);margin-top:4px}
.wachat .qr{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.wachat .qr a{font-size:12px;font-weight:700;border:1.5px solid #25D366;color:#128C4B;border-radius:999px;padding:7px 14px;transition:.25s;text-transform:lowercase;background:var(--panel)}
html[data-theme="dark"] .wachat .qr a{color:#7BE3A6}
.wachat .qr a:hover{background:#25D366;color:#fff;transform:translateY(-2px)}
.wachat .wrow{display:flex;gap:8px}
.wachat input{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:11px 16px;font-family:var(--ff);font-size:13px;background:var(--panel);color:var(--ink);outline:none}
.wachat input:focus{border-color:#25D366}
.wachat .snd{width:42px;height:42px;border-radius:50%;background:#25D366;border:none;cursor:pointer;display:grid;place-items:center;flex:none;transition:.25s}
.wachat .snd:hover{transform:scale(1.1)}
.wachat .snd svg{width:20px;height:20px;fill:#fff}

/* job & franchise lightbox switcher — pinned flush to the RIGHT edge */
.sidetabs{position:fixed;right:0;left:auto;top:50%;transform:translateY(-50%);z-index:95;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.sidetabs button{writing-mode:vertical-rl;text-orientation:mixed;background:var(--dark2);color:#E3C778;border:none;border-radius:12px 0 0 12px;padding:20px 11px;font-family:var(--ff);font-weight:700;font-size:12px;letter-spacing:.2em;cursor:pointer;transition:.3s;text-transform:lowercase;box-shadow:-6px 0 20px rgba(20,12,4,.25);margin-right:0}
.sidetabs button:hover{padding-right:19px;background:var(--gold);color:#241608}
.sidetabs button.hire{background:var(--goldBtn);color:#241608}
.sidetabs button.hire:hover{background:var(--dark2);color:#E3C778}
@media(max-width:700px){.sidetabs button{font-size:10.5px;padding:14px 8px}}
.lbox{position:fixed;inset:0;z-index:220;background:rgba(14,8,3,.9);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:.35s}
.lbox.open{opacity:1;pointer-events:auto}
.lbox .lin{max-width:min(480px,92vw);max-height:92vh;overflow-y:auto;background:var(--bg);border-radius:22px;padding:14px;position:relative;transform:scale(.92);transition:.35s}
.lbox.open .lin{transform:none}
.lbox img{width:100%;border-radius:14px;display:block}
.lbox .lx{position:absolute;top:20px;right:20px;width:38px;height:38px;border-radius:50%;background:rgba(30,18,7,.75);color:#F4EAD8;border:none;font-size:17px;cursor:pointer;z-index:2}
.lbox .lbtns{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;justify-content:center}

/* footer */
footer{background:var(--dark);color:#D9C9AC;margin-top:16px}
.fwrap{max-width:1244px;margin:auto;padding:70px 40px 36px;display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:44px}
footer img.flogo{height:50px;margin-bottom:18px}
footer h4{color:#F2E3C2;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px}
footer a{display:block;font-size:14px;margin-bottom:10px;opacity:.8;transition:.25s;text-transform:lowercase}
footer a:hover{opacity:1;color:var(--goldL);transform:translateX(4px)}
footer p{font-size:13.5px;line-height:1.8;opacity:.75}
.fbot{border-top:1px solid rgba(244,234,216,.12);text-align:center;font-size:12.5px;padding:22px;opacity:.65;text-transform:lowercase}
@media(max-width:900px){.fwrap{grid-template-columns:1fr 1fr}}
