:root{
  --fy-orange:#F97316;
  --fy-orange-dark:#EA580C;
  --fy-green:#467a59;
  --fy-cream:#F5F1EA;
  --fy-text:#0F172A;
  --fy-muted:#3E5062;
  --fy-border:#D8D3CD;
}
html,body{font-family:'Nunito Sans',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif!important;background:var(--fy-cream)!important;color:var(--fy-text)!important}
.header,.header-fixed,header{background:rgba(247,242,236,.96)!important;border-bottom:1px solid var(--fy-border)!important}
.main-content{background:transparent!important}
a{color:var(--fy-orange)}
a:hover{color:var(--fy-orange-dark)}
.cta-menu,.cta-menu-mobile,.cta-menu-burger,.btn-primary,.button-primary,.rdv-btn,.btn-cta{
  background:var(--fy-orange)!important;
  border-color:var(--fy-orange)!important;
  color:#fff!important;
  border-radius:14px!important;
}
.cta-menu:hover,.cta-menu-mobile:hover,.cta-menu-burger:hover,.btn-primary:hover,.button-primary:hover,.rdv-btn:hover,.btn-cta:hover{
  background:var(--fy-orange-dark)!important;
}
.btn-secondary,.button-secondary,.btn-soft{
  background:var(--fy-green)!important;
  border-color:var(--fy-green)!important;
  color:#fff!important;
}
.card,.box,.panel,.feature-card,.review-card,article{
  border-color:var(--fy-border)!important;
  border-radius:16px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
input,select,textarea{
  border-radius:12px!important;
  border:1px solid #D5DDE6!important;
  font-family:inherit!important;
}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:var(--fy-orange)!important;
  box-shadow:0 0 0 3px rgba(249,115,22,.2)!important;
}

/* Typography tuning: home titles slightly reduced for better harmony */
.hero-content h1{
  font-size:clamp(22px,2.6vw,34px)!important;
  line-height:1.08!important;
  letter-spacing:-.01em!important;
}
.hero-content-card h1{
  font-size:clamp(17px,3.4vw,24px)!important;
  line-height:1.12!important;
}
.apropos-text h2,
.apropos-mobile-intro h2,
.skills-section h2,
.faq-title{
  font-size:clamp(28px,3vw,44px)!important;
  line-height:1.14!important;
}
@media (max-width:900px){
  .hero-content h1{font-size:clamp(20px,5vw,26px)!important}
  .hero-content-card h1{font-size:clamp(16px,4.8vw,22px)!important}
}

/* Header/menu harmony with booking funnel */
.header .nav-desktop ul li a,
.header .nav-desktop .nav-dropbtn,
.header .nav-desktop .nav-dropdown > a,
.header .nav-desktop .nav-dropdown-panel a,
.header .cta-menu,
.header .cta-menu-mobile,
.header .cta-menu-burger{
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.1!important;
}

/* Keep hero titles balanced with booking typography */
.hero-content h1,
.home-hero h1,
h1.hero-title{
  letter-spacing:-.01em!important;
  line-height:1.1!important;
}
