.hero{position:relative;overflow:hidden;padding:clamp(54px,8vw,104px) 0 clamp(46px,6vw,84px)}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ink)}
.eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--yellow);border:1.5px solid var(--ink)}
.hero h1{font-size:clamp(2.5rem,6vw,4.7rem);margin:20px 0 0}
.hero .script-accent{font-family:'Pacifico',cursive;font-weight:400;color:var(--ink);position:relative;display:inline-block;letter-spacing:0}
.hero .script-accent::after{content:"";position:absolute;left:-2%;right:-2%;bottom:6%;height:38%;background:var(--yellow);z-index:-1;transform:rotate(-1.5deg)}
.hero p.lead{font-size:clamp(1.05rem,1.6vw,1.26rem);margin-top:24px;max-width:36ch;color:var(--soft)}
.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:.97rem;cursor:pointer;border:0;font-family:inherit;transition:transform .15s ease,background .2s,box-shadow .2s}
.btn-primary{background:var(--yellow);color:var(--ink)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px -10px rgba(29,29,27,.5)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{transform:translateY(-2px);background:#000}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-ghost:hover{transform:translateY(-2px);background:var(--ink);color:var(--paper)}
.hero-visual{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:2px solid var(--ink);box-shadow:0 28px 56px -26px rgba(29,29,27,.5)}
.hero-visual img{width:100%;height:100%;object-fit:cover}
.float-tag{position:absolute;background:var(--paper);border:2px solid var(--ink);border-radius:14px;padding:11px 15px;font-size:.82rem;line-height:1.3}
.float-tag b{font-weight:700;display:block;font-size:1rem}
.tag-1{left:-16px;top:18%;box-shadow:5px 5px 0 var(--yellow)}
.tag-2{right:-14px;bottom:12%;box-shadow:5px 5px 0 var(--yellow)}
.float-tag .k{color:var(--ink);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;background:var(--yellow);padding:1px 6px;border-radius:4px}
.strip{background:var(--ink);color:var(--yellow);overflow:hidden}
.strip-track{display:flex;gap:46px;padding:13px 0;white-space:nowrap;animation:scroll 30s linear infinite;font-family:'Pacifico',cursive;font-size:1.08rem}
.strip-track .s{color:var(--paper)}
@keyframes scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .strip-track{animation:none}
}
.section{padding:clamp(58px,7vw,104px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(2rem,4vw,3.1rem)}
.sec-head .script{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--ink);display:block;margin-bottom:-2px}
.sec-head p{max-width:42ch;color:var(--soft)}
.gammes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gamme-card{position:relative;border-radius:18px;overflow:hidden;min-height:340px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;border:2px solid var(--ink);transition:transform .3s ease,box-shadow .3s ease;color:#fff}
.gamme-card:hover{transform:translateY(-5px);box-shadow:8px 8px 0 var(--yellow)}
.gamme-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.gamme-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 28%,rgba(20,16,8,.82) 100%)}
.gamme-card.wide{grid-column:span 2}
.gamme-card .n{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;background:var(--yellow);color:var(--ink);display:inline-block;padding:3px 9px;border-radius:6px;align-self:flex-start;margin-bottom:auto}
.gamme-card h3{font-size:1.7rem;margin:10px 0 4px}
.gamme-card .sub{font-family:'Pacifico',cursive;font-size:1.05rem}
.gamme-card .arrow{margin-top:14px;font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;gap:7px;opacity:0;transform:translateX(-6px);transition:.25s}
.gamme-card:hover .arrow{opacity:1;transform:translateX(0)}
.values{background:var(--ink);color:var(--paper)}
.values .sec-head h2,.values .sec-head .script{color:var(--paper)}
.values .eyebrow{color:var(--yellow)}
.values .eyebrow .dot{border-color:var(--yellow)}
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.val .ic{width:48px;height:48px;margin-bottom:16px;background:var(--yellow);border-radius:12px;padding:10px}
.val h3{font-size:1.3rem;margin-bottom:8px}
.val p{color:#bdbdb5;font-size:.97rem}
.story{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.story-visual{aspect-ratio:1;border-radius:20px;border:2px solid var(--ink);position:relative;overflow:hidden}
.story-visual img{width:100%;height:100%;object-fit:cover}
.story-visual::after{content:"";position:absolute;right:-18px;bottom:-18px;width:90px;height:90px;background:var(--yellow);border-radius:50%;z-index:-1}
.story h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:18px}
.story .script{font-size:clamp(1.5rem,2.6vw,2rem);display:block;margin-bottom:2px}
.story p{color:var(--soft);margin-bottom:15px}
.visite{background:var(--yellow)}
.visite-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.visite h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:8px}
.visite .script{font-size:clamp(1.6rem,3vw,2.2rem);display:block}
.visite p{color:#3a3a33;margin:14px 0;max-width:40ch}
.visite .info-line{display:flex;align-items:center;gap:12px;margin:10px 0;font-weight:600}
.visite .info-line svg{width:22px;height:22px;flex:none}
.visite-card{background:var(--paper);border:2px solid var(--ink);border-radius:20px;padding:30px;box-shadow:8px 8px 0 var(--ink)}
.visite-card h3{margin-bottom:14px;font-size:1.3rem}
.visite-card .row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.visite-card .row span:first-child{color:var(--soft)}
.visite-card .row span:last-child{font-weight:600}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-visual{max-width:380px}
  .gammes{grid-template-columns:1fr 1fr}
  .val-grid{grid-template-columns:1fr;gap:26px}
  .story,.visite-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:560px){
  .gammes{grid-template-columns:1fr}
  .gamme-card.wide{grid-column:span 1}
}
