@font-face{font-family:Anton;src:url(fonts/anton-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/fraunces-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/fraunces-latin-700-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --terra:#B84A26;--terra-dk:#8E3B20;--sun:#F2B33D;--ink:#2A1510;--ink-2:#3E231B;
  --cream:#FBF4E8;--sand:#F3E2C7;--sand-2:#EAD3B4;--sea:#1F6F78;--green:#2F5D46;--muted:#6B4A3E;
  --display:Anton,Impact,"Arial Narrow",sans-serif;--script:Fraunces,Georgia,serif;--body:"Space Grotesk",system-ui,sans-serif;
  --pad:clamp(20px,4.5vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spin,.sway,.marquee-track{animation:none!important}}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--cream);padding:10px 16px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.wrap{max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.label{font-size:14px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--terra);margin-bottom:18px}
.sun-t{color:var(--sun)}
.accent{color:var(--terra)}
em{font-family:var(--script);font-style:italic;font-weight:700}
.big{font-family:var(--display);font-weight:400;font-size:clamp(48px,6.2vw,88px);line-height:.95;text-transform:uppercase;margin-bottom:24px}
.big em{text-transform:none}
.huge{font-family:var(--display);font-weight:400;font-size:clamp(56px,8vw,112px);line-height:.9;margin-bottom:24px}
.small{font-size:14px;line-height:1.5}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 28px;border-radius:999px;font-weight:700;font-size:17px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:var(--body);transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.sun{background:var(--sun);color:var(--ink)}
.btn.ghost{border-color:currentColor;color:var(--cream);background:transparent}
.btn.small{min-height:44px;padding:10px 22px;font-size:16px}
.btn.wide{width:100%}
.btn[disabled]{opacity:.6;cursor:wait}

/* En-tête */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;padding:0 var(--pad);background:var(--terra);color:var(--cream)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo b{font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:1px}
.logo i{font-family:var(--script);font-style:italic;font-weight:500;font-size:19px}
.top nav{display:flex;gap:32px;font-weight:500;font-size:16px}
.top nav a{text-decoration:none}
.top nav a:hover{text-decoration:underline;text-underline-offset:6px}
@media (max-width:1080px){.top nav{display:none}}
@media (max-width:520px){.logo i{display:none}.logo svg{width:32px;height:32px}}

/* Héros */
.hero{position:relative;overflow:hidden;background:var(--terra);color:var(--cream);padding:56px var(--pad) 48px}
.hero-sun{position:absolute;width:min(680px,80vw);right:6%;top:110px;fill:var(--terra)}
.hero-sun circle{fill:var(--sun)}
.palm{position:absolute;bottom:0;fill:var(--ink)}
.palm.p1{right:-50px;width:300px;height:480px}
.palm.p2{right:230px;width:220px;height:360px;opacity:.9}
.sway{animation:sway 6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.spin{animation:spin 7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-in{position:relative;max-width:1312px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:48px;align-items:center}
.kicker{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:22px}
.pill{background:var(--ink);color:var(--sun);padding:8px 14px;border-radius:999px}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(72px,11.5vw,168px);line-height:.88;text-transform:uppercase;letter-spacing:1px}
.hero h1 em{display:block;text-transform:none;color:var(--sun);font-size:.38em;line-height:1;margin-top:8px;letter-spacing:0}
.lead{font-size:21px;line-height:1.5;max-width:520px;margin:22px 0 28px}
.ctas{display:flex;flex-wrap:wrap;gap:14px}
.sleeve{position:relative;height:640px}
.sleeve img{position:absolute;left:0;top:40px;width:440px;height:560px;object-fit:cover;border:10px solid var(--cream);transform:rotate(-3deg);box-shadow:0 30px 60px rgba(42,21,16,.35)}
.sleeve .vinyl{position:absolute;right:-110px;top:120px;width:440px;height:440px}
.sticker{position:absolute;left:-40px;bottom:20px;background:var(--ink);color:var(--sun);font-family:var(--display);font-size:30px;line-height:1;padding:16px 22px;transform:rotate(-8deg)}
.sticker small{display:block;font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:2px;color:var(--cream);text-transform:uppercase;margin-top:6px}
.ticket-strip{position:relative;list-style:none;margin:40px auto 0;padding:0;max-width:1312px;display:flex;flex-wrap:wrap;width:max-content;background:var(--cream);color:var(--ink);border-radius:16px;overflow:hidden}
.ticket-strip li{padding:14px 26px;border-right:2px dashed #D8B994;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;display:flex;flex-direction:column}
.ticket-strip li:last-child{border-right:0}
.ticket-strip b{font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:0;line-height:1.2}
@media (max-width:1080px){
  .hero-in{grid-template-columns:1fr}
  .sleeve{height:auto;min-height:420px;max-width:520px}
  .sleeve img{position:relative;top:0;width:min(78%,380px);height:auto;aspect-ratio:3/4}
  .sleeve .vinyl{right:0;top:40px;width:min(60vw,320px);height:min(60vw,320px)}
  .palm.p1{width:180px;height:290px;right:-40px}.palm.p2{display:none}
  .hero-sun{left:auto;right:-20%;top:auto;bottom:12%}
}
@media (max-width:640px){
  .ticket-strip{width:100%;display:grid;grid-template-columns:repeat(4,1fr);margin-left:0}
  .ticket-strip li{padding:10px 6px;text-align:center;font-size:10px;letter-spacing:.5px}
  .ticket-strip b{font-size:22px}
  .sticker{left:auto;right:10px;bottom:10px;font-size:24px}
  .lead{font-size:18px}
}

/* Bandeau défilant */
.marquee{background:var(--sun);color:var(--ink);border-block:4px solid var(--ink);overflow:hidden;padding:14px 0}
.marquee-track{display:flex;width:max-content;white-space:nowrap;font-family:var(--display);font-size:clamp(24px,2.6vw,36px);letter-spacing:2px;animation:marquee 28s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Line-up */
.lineup{background:var(--ink);color:var(--cream);text-align:center;padding:100px var(--pad)}
.lineup .label{color:var(--sun)}
.script{font-family:var(--script);font-style:italic;font-weight:700;font-size:clamp(44px,5vw,72px);line-height:1;margin-bottom:28px}
.lineup em{font-weight:500;color:var(--cream)}
.head1{font-family:var(--display);font-size:clamp(52px,7.5vw,108px);line-height:1.05;color:var(--sun)}
.head1 em{font-size:.52em}
.head2{font-family:var(--display);font-size:clamp(30px,4.2vw,60px);line-height:1.2;margin-top:14px}
.head2 em{font-size:.56em}
.head3{font-family:var(--display);font-size:clamp(20px,2.8vw,40px);line-height:1.3;color:#E9C9A6;margin-top:14px}
.star{color:var(--sun);font-size:.65em;vertical-align:middle;margin:0 .4em}
.lineup-photos{max-width:1312px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lineup-photos figure{margin:0;position:relative}
.lineup-photos img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:20px}
.lineup-photos figcaption{position:absolute;left:16px;bottom:16px;background:var(--sun);color:var(--ink);font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;padding:6px 12px;border-radius:999px}
@media (max-width:720px){.lineup{padding:64px var(--pad)}.lineup-photos{grid-template-columns:1fr 1fr}.lineup-photos figure:first-child{grid-column:span 2}.lineup-photos figure:first-child img{aspect-ratio:4/3}}

/* La maison */
.maison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px;padding-top:110px;padding-bottom:110px;align-items:center}
.maison p+p{margin-top:18px}
.maison>div>p:not(.label){font-size:20px;max-width:560px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tile{border-radius:28px;padding:30px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.tile b{font-family:var(--display);font-weight:400;font-size:clamp(48px,5vw,72px);line-height:1}
.tile span{font-size:17px;font-weight:500}
.t-accent{background:var(--terra);color:var(--cream)}.t-sun{background:var(--sun)}.t-green{background:var(--green);color:var(--cream)}.t-ink{background:var(--ink);color:var(--cream)}
@media (max-width:900px){.maison{grid-template-columns:1fr;gap:40px;padding-top:64px;padding-bottom:64px}.tile{min-height:150px;padding:22px}}

/* Setlist */
.setlist{background:var(--terra);color:var(--cream);padding:100px 0;overflow:hidden}
.setlist-in{display:grid;grid-template-columns:420px minmax(0,1fr);gap:80px}
.setlist .big{font-size:clamp(64px,7vw,96px)}
.deco-vinyl{width:280px;height:280px;margin-top:32px}
.faces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding-top:24px}
.faces h3{font-family:var(--display);font-weight:400;font-size:28px;letter-spacing:2px;color:var(--sun);padding-bottom:14px;border-bottom:2px solid var(--cream)}
.faces ol{list-style:none;margin:0;padding:0}
.faces li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid rgba(251,244,232,.35);font-size:16px}
.faces li span{font-family:var(--display);font-size:22px;color:var(--sun);width:34px;flex-shrink:0}
.faces li b{display:block;font-size:21px}
@media (max-width:1000px){.setlist{padding:64px 0}.setlist-in{grid-template-columns:1fr;gap:24px}.deco-vinyl{display:none}}
@media (max-width:640px){.faces{grid-template-columns:1fr;gap:28px}.faces li{padding:12px 0}}

/* Galerie */
.galerie{padding-top:100px;padding-bottom:100px;background:var(--sand);max-width:none}
.galerie-head,.gallery{max-width:1312px;margin:0 auto}
.galerie-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px;margin-bottom:36px}
.galerie-head .big{margin:0}
.galerie-head p{font-size:15px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:280px;gap:18px}
.gallery button{padding:0;border:0;border-radius:22px;overflow:hidden;cursor:zoom-in;background:var(--sand-2)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery button:hover img{transform:scale(1.04)}
.gallery .g-big{grid-column:span 2;grid-row:span 2}
.gallery .g-wide{grid-column:span 2}
@media (max-width:900px){.galerie{padding-top:64px;padding-bottom:64px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px;gap:12px}}
.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh}
.lb::backdrop{background:rgba(26,13,9,.92)}
.lb figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:56px 72px}
.lb img{max-height:calc(100vh - 140px);max-width:100%;object-fit:contain;border-radius:12px}
.lb figcaption{color:var(--cream);font-size:15px;text-align:center}
.lb-close,.lb-nav{position:absolute;width:48px;height:48px;border-radius:999px;border:0;background:var(--sun);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-close{top:16px;right:16px}.lb-nav{top:50%;transform:translateY(-50%)}.lb-nav.prev{left:12px}.lb-nav.next{right:12px}
@media (max-width:640px){.lb figure{padding:64px 12px}.lb-nav{top:auto;bottom:16px;transform:none}}

/* Le spot */
.spot{position:relative;background:var(--sea);color:var(--cream);padding:100px 0 170px;overflow:hidden}
.wave{position:absolute;left:0;bottom:0;width:100%;height:120px}
.spot-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.spot p:not(.label){font-size:20px;max-width:620px}
.pills{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.pills li{background:var(--cream);color:var(--ink);border-radius:999px;padding:12px 22px;font-weight:700;font-size:16px}
.polaroids{position:relative;min-height:520px}
.polaroids img{position:absolute;height:auto;object-fit:cover;border:10px solid var(--cream);box-shadow:0 24px 48px rgba(0,0,0,.3)}
.pol1{right:0;top:0;width:78%;aspect-ratio:3/2;transform:rotate(4deg)}
.pol2{left:0;bottom:0;width:64%;aspect-ratio:4/3;transform:rotate(-5deg)}
@media (max-width:900px){.spot{padding:64px 0 130px}.spot-in{grid-template-columns:1fr}.polaroids{min-height:0;height:min(92vw,440px)}}

/* Avis */
.avis{display:grid;grid-template-columns:440px minmax(0,1fr);gap:80px;padding-top:100px;padding-bottom:100px}
.score{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.score>b{width:112px;height:112px;flex-shrink:0;border-radius:999px;background:var(--sun);border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:400;font-size:46px}
.score strong{display:block;font-family:var(--display);font-weight:400;font-size:34px;line-height:1}
.score span{font-size:15px;font-weight:500}
.bars{margin:0;display:flex;flex-direction:column;gap:12px}
.bars div{display:grid;grid-template-columns:1fr auto;row-gap:6px;font-size:15px}
.bars dt{font-weight:500}.bars dd{margin:0;font-weight:700}
.bars i{grid-column:span 2;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--terra) var(--v),var(--sand-2) var(--v))}
.quotes{display:flex;flex-direction:column;gap:22px;justify-content:center}
.q{margin:0;display:flex;gap:22px;align-items:flex-start;border:2px solid var(--ink);border-radius:24px;padding:26px 28px}
.q:nth-child(1){transform:rotate(-1.2deg)}.q:nth-child(2){transform:rotate(.8deg)}.q:nth-child(3){transform:rotate(-.8deg)}
.q .note{flex-shrink:0;width:62px;height:62px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:400;font-size:23px}
.q-title{font-family:var(--script);font-style:italic;font-weight:700;font-size:23px;line-height:1.15;margin-bottom:8px}
.q blockquote{margin:0 0 10px;font-size:16px;line-height:1.55}
.q figcaption{font-size:14px;font-weight:700;letter-spacing:1px}
.q figcaption span{font-weight:500;letter-spacing:0}
.q-ink{background:var(--ink);color:var(--cream)}.q-ink .note{background:var(--sun);color:var(--ink)}
.q-sun{background:var(--sun)}.q-sun .note{background:var(--ink);color:var(--cream)}
.q-cream{background:#fff}.q-cream .note{background:var(--terra);color:var(--cream)}
@media (max-width:1000px){.avis{grid-template-columns:1fr;gap:40px;padding-top:64px;padding-bottom:64px}}
@media (max-width:520px){.q{flex-direction:column;gap:12px;padding:20px}.q:nth-child(n){transform:none}}

/* Hôtes */
.hotes{background:var(--sand);padding:100px 0}
.hotes-in{display:grid;grid-template-columns:minmax(0,1fr) 620px;gap:64px;align-items:center}
.hotes-in>div>p:not(.label){font-size:20px;max-width:540px}
.mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;max-width:620px}
.mini div{background:var(--cream);border-radius:20px;padding:20px}
.mini b{display:block;font-family:var(--display);font-weight:400;font-size:38px;color:var(--terra);line-height:1.1}
.mini span{font-size:14px;font-weight:500;line-height:1.3;display:block;margin-top:4px}
.pass{display:flex;background:var(--ink);color:var(--cream);border-radius:28px;overflow:hidden;transform:rotate(1.5deg);box-shadow:0 30px 60px rgba(42,21,16,.3)}
.pass-main{flex:1;padding:40px;display:flex;flex-direction:column;gap:16px}
.pass .label{margin:0}
.pass-title{font-family:var(--display);font-size:60px;line-height:.95}
.pass-price{font-family:var(--script);font-style:italic;font-weight:500;font-size:26px;color:#E9C9A6;line-height:1.2}
.pass-price small{display:block;font-family:var(--body);font-style:normal;font-size:16px;margin-top:4px}
.pass-contact{font-weight:700;color:var(--sun)}
.pass-contact a{text-decoration:none}
.pass-stub{width:120px;border-left:3px dashed #6B4A3E;background:var(--terra);display:flex;align-items:center;justify-content:center}
.pass-stub span{transform:rotate(-90deg);white-space:nowrap;font-family:var(--display);font-size:32px;letter-spacing:3px}
@media (max-width:1080px){.hotes{padding:64px 0}.hotes-in{grid-template-columns:1fr;gap:40px}.pass{transform:none}}
@media (max-width:560px){.pass{flex-direction:column}.pass-main{padding:26px 22px}.pass-title{font-size:44px}.pass-stub{width:auto;height:56px;border-left:0;border-top:3px dashed #6B4A3E}.pass-stub span{transform:none;font-size:22px}.mini{grid-template-columns:1fr 1fr 1fr;gap:8px}.mini div{padding:12px 10px}.mini b{font-size:26px}.mini span{font-size:12px}}

/* Réserver */
.reserver{padding-top:100px;padding-bottom:110px}
.reserver-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:36px}
.reserver-head .big{margin:0}
.prix{border-collapse:collapse;font-size:16px}
.prix th{text-align:left;font-weight:700;padding:6px 20px 6px 0;white-space:nowrap}
.prix td{padding:6px 0}
.prix tr+tr{border-top:1px solid var(--sand-2)}
.reserver-grid{display:grid;grid-template-columns:minmax(0,1fr) 540px;gap:40px;align-items:start}
.cal{background:var(--sand);border:2px solid var(--ink);border-radius:28px;padding:30px;display:flex;flex-direction:column;gap:22px}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cal-sum{font-weight:700;font-size:15px;text-align:center}
.round{width:44px;height:44px;flex-shrink:0;border-radius:999px;border:2px solid var(--ink);background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.round:disabled{opacity:.35;cursor:default}
.cal-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.m h4{margin:0 0 10px;font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:1px;text-transform:uppercase}
.g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.g .wd{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--muted);text-align:center;text-transform:uppercase}
.g button{height:44px;padding:0;border:0;border-radius:10px;background:#fff;color:var(--ink);font:500 15px var(--body);cursor:pointer}
.g button:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--terra)}
.g button.busy{background:transparent;color:#9C8270;text-decoration:line-through}
.g button.past{background:transparent;color:#CDBBA8;cursor:default}
.g button.in{background:#F6D9C2}
.g button.sel{background:var(--terra);color:var(--cream);font-weight:700}
.g button:disabled{cursor:default}
.cal-note{font-size:15px;font-weight:500}
.cal-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;font-weight:500;color:#5A3A2C}
.cal-legend span{display:flex;align-items:center;gap:8px}
.cal-legend i{width:16px;height:16px;border-radius:5px}
.lg-sel{background:var(--terra)}.lg-free{background:#fff;border:1px solid #D8B994}
.cal-legend s{color:#9C8270;font-weight:700}
.booking{background:var(--ink);color:var(--cream);border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:14px}
.booking h3{font-family:var(--display);font-weight:400;font-size:32px;line-height:1}
.booking label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;letter-spacing:1.5px}
.booking input,.booking select,.booking textarea{width:100%;min-height:48px;padding:10px 14px;border:2px solid transparent;border-radius:12px;background:var(--cream);color:var(--ink);font:400 16px var(--body)}
.booking textarea{resize:vertical}
.booking input:focus,.booking select:focus,.booking textarea:focus{outline:none;border-color:var(--sun)}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.booking .small{color:#E9C9A6}
.booking .small a{color:var(--sun)}
.form-msg{font-weight:700;color:var(--sun)}
.form-msg:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media (max-width:1100px){.reserver-grid{grid-template-columns:1fr}.booking{max-width:640px}}
@media (max-width:720px){.reserver{padding-top:64px;padding-bottom:64px}.cal{padding:16px;border-radius:22px}.cal-months{grid-template-columns:1fr}.m+.m{display:none}.g{gap:4px}.g button{height:42px}.booking{padding:22px 18px}}
@media (max-width:420px){.row2{grid-template-columns:1fr}}

/* Pied de page */
.foot{background:var(--ink);color:var(--cream);padding:56px 0}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.bye{font-family:var(--display);font-size:clamp(52px,7vw,96px);line-height:.9;color:var(--sun)}
.foot-in>div{text-align:right;font-size:16px;display:flex;flex-direction:column;gap:6px}
.foot-name{font-family:var(--script);font-style:italic;font-weight:500;font-size:24px}
.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}
.credit{font-size:13px;opacity:.8}
@media (max-width:720px){.foot-in>div{text-align:left}}

/* Pages simples */
.page{max-width:760px;margin:0 auto;padding:72px var(--pad) 96px}
.page h1{font-family:var(--display);font-weight:400;font-size:clamp(44px,6vw,72px);line-height:1;margin-bottom:28px}
.page h2{font-family:var(--display);font-weight:400;font-size:28px;margin:36px 0 10px;letter-spacing:.5px}
.page p{margin:0 0 14px}
.page a{color:var(--terra)}
