
:root{--ease:cubic-bezier(0.22,1,0.36,1);--gold:#E2A430;--teal:#6FA6CC;--accent:#E5666F;--bg:#F4EFE6;--bg2:#EDE7DB;--bg3:#D6CCBC;--text:#1a1410;--text2:#4a3828;}
*{margin:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:#F4EFE6;color:#1a1410;font-family:'Geist',system-ui,sans-serif;font-size:18px;line-height:1.6;overflow-x:hidden;}
body.dark-mode{background:#0a0a0b;color:#f0ede8;}
body.dyslexia-font,body.dyslexia-font *{font-family:'Lexend',system-ui,sans-serif!important;}
a{color:#E2A430;text-decoration:none;}
a:hover{color:#E5666F;}
img{max-width:100%;display:block;}
button{font-family:inherit;}

@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes loadBar{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes logoSway{0%,100%{transform:rotate(-2deg) scale(1);}25%{transform:rotate(1.5deg) scale(1.03);}50%{transform:rotate(-1deg) scale(1.02);}75%{transform:rotate(2deg) scale(1.03);}}
@keyframes floatA{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes floatB{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@keyframes floatC{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-12px) scale(1.05);}}
@keyframes bobble{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
@keyframes leafDrift{0%{transform:translateY(-20px) rotate(0deg);opacity:0;}15%{opacity:.7;}85%{opacity:.4;}100%{transform:translateY(110vh) rotate(720deg);opacity:0;}}
@keyframes grainShift{0%,100%{transform:translate(0,0);}50%{transform:translate(2px,2px);}}

/* ── Header ── */
#tt-header{position:fixed;top:0;left:0;right:0;z-index:9000;background:rgba(228,203,164,0.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(111,166,204,.18);}

/* ── Desktop nav visible, burger hidden by default ── */
nav.desk-nav{display:flex !important;}
.burger-btn{display:none !important;}

/* ── Mobile: flip them ── */
@media(max-width:768px){
  nav.desk-nav{display:none !important;}
  .burger-btn{display:flex !important;align-items:center;justify-content:center;}
  .cta-btn{display:none !important;}
  .header-search{display:none !important;}
  .contact-wrap{display:none !important;}
}

/* ── Loader ── */
#tt-loader{position:fixed;inset:0;z-index:9999;background:#F4EFE6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;}

/* ── Testimonials ── */
#tt-test{min-height:220px;}
#tt-dots{display:flex;justify-content:center;gap:7px;margin-top:20px;}

/* ── Search ── */
#tt-search{display:none;position:fixed;inset:0;z-index:800;background:rgba(228,203,164,.97);backdrop-filter:blur(24px);}
#tt-search input{flex:1;background:none;border:none;color:#1a1410;font-family:inherit;font-size:22px;outline:none;}
#tt-search input::placeholder{color:#a09c95;}

/* ── Settings ── */
#tt-settings{display:none;position:fixed;top:0;right:0;bottom:0;width:320px;z-index:700;background:#EDE7DB;border-left:1px solid rgba(111,166,204,.12);overflow-y:auto;box-shadow:-24px 0 60px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .35s var(--ease);}

/* ── Mobile menu ── */
#tt-mobile{display:none;position:fixed;inset:0;z-index:9100;background:rgba(228,203,164,.98);backdrop-filter:blur(20px);overflow-y:auto;}

/* ── Cursor ── */
#tt-cursor{position:fixed;top:-40px;left:-40px;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);will-change:left,top;}
#tt-cursor-dot{position:fixed;top:-20px;left:-20px;pointer-events:none;z-index:9997;width:7px;height:7px;border-radius:50%;background:#E2A430;opacity:.55;transform:translate(-50%,-50%);}
#tt-trail{position:fixed;inset:0;pointer-events:none;z-index:9996;overflow:hidden;}
#tt-glows{position:fixed;inset:0;pointer-events:none;z-index:997;overflow:hidden;}

/* ── Touch devices ── */
@media(pointer:coarse){
  body,body *{cursor:auto !important;}
  #tt-cursor,#tt-cursor-dot,#tt-trail{display:none !important;}
  button,a{cursor:pointer !important;}
}

/* ── Settings/search mobile ── */
@media(max-width:767px){
  #tt-settings{width:100% !important;}
}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
