:root{--kaki:#626844;--kaki-dark:#454a31;--beige:#eee2c4;--paper:#f6efe0;--paper-2:#efe5d1;--card:#fffaf0;--stone:#c8b996;--stone-dark:#a89062;--text:#342f26;--muted:#766b5a;--sage:#89916d;--shadow:0 18px 45px rgba(61,51,35,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:Lato,Arial,sans-serif}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2rem;padding:.85rem 4vw .75rem 3.2vw;background:linear-gradient(180deg,#fffaf0,#f5ead6);border-bottom:1px solid rgba(168,144,98,.45);box-shadow:0 6px 24px rgba(61,51,35,.08)}.brand{color:var(--kaki-dark);text-decoration:none;display:flex;flex-direction:column;line-height:.88;min-width:255px}.brand-small{font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.28em;font-size:1rem;margin-left:.25rem}.brand-main{font-family:'Playfair Display',serif;text-transform:uppercase;letter-spacing:.075em;font-size:3.1rem}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:2.8rem;margin-left:auto;width:100%;padding-left:3vw}.main-nav a{color:var(--text);text-decoration:none;font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.09em;font-size:1.02rem;font-weight:700;white-space:nowrap}.main-nav a:hover{color:var(--stone-dark)}.nav-reserve,.btn{background:var(--kaki-dark);color:var(--beige)!important;padding:.85rem 1.45rem;border-radius:4px;font-family:Lato,sans-serif!important;font-weight:700;text-decoration:none;display:inline-block;border:1px solid var(--kaki-dark);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 20px rgba(61,51,35,.18)}.nav-reserve{margin-left:1rem}.btn:hover{background:#303421}.menu-toggle{display:none;background:transparent;color:var(--kaki-dark);border:0;font-size:1.8rem}.hero-photo{background:#efe5d1;border-bottom:1px solid var(--stone);overflow:hidden}.hero-photo img{display:block;width:100%;height:clamp(360px,48vw,610px);object-fit:cover;object-position:center 52%;filter:contrast(1.03) saturate(1.03)}.intro{padding:4rem 11vw 4.6rem;text-align:center;background:radial-gradient(circle at 50% 0,#fffaf2 0,#f6efe0 65%,#efe5d1 100%);border-bottom:1px solid var(--stone)}.ornament{color:var(--stone-dark);font-size:2rem;line-height:1}.intro h1{font-family:'Playfair Display',serif;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(3.8rem,8vw,7rem);line-height:.95;color:var(--kaki-dark);margin:.1rem 0 .65rem}.baseline{font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.055em;color:#9a704b;font-weight:600;font-size:clamp(1rem,2vw,1.35rem);margin:0 auto 1.25rem}.intro-text{max-width:980px;margin:0 auto}.intro p:not(.baseline){font-family:'Cormorant Garamond',serif;font-size:1.36rem;line-height:1.65;margin:.8rem auto}.intro .btn{margin-top:1.3rem}.section{padding:4.5rem 5vw}.structured{background:linear-gradient(180deg,var(--paper-2),var(--paper));}.section-heading{text-align:center;margin-bottom:2.8rem;display:flex;align-items:center;justify-content:center;gap:1rem}.section-heading:before,.section-heading:after{content:"";height:1px;background:var(--stone-dark);flex:1;max-width:320px;opacity:.75}.section-heading span{display:block;font-family:Lato,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--sage);font-weight:700;font-size:.75rem}.section-heading h2{font-family:'Playfair Display',serif;text-transform:uppercase;letter-spacing:.045em;font-size:clamp(2.1rem,3.8vw,3.4rem);color:var(--kaki-dark);margin:.15rem 0 0}.place{display:grid;grid-template-columns:.86fr 1.14fr;gap:2rem;align-items:center;margin:0 0 2.2rem;padding:1.3rem;background:rgba(255,250,240,.82);border:1px solid var(--stone);box-shadow:var(--shadow)}.place.alternate{grid-template-columns:1.14fr .86fr}.place.alternate>.place-text{order:2}.place-text{padding:1.4rem 1.7rem;border-left:3px solid var(--stone-dark);background:rgba(255,255,255,.35)}.place h3,.room h3{font-family:'Playfair Display',serif;text-transform:uppercase;letter-spacing:.035em;font-size:2.15rem;color:var(--kaki-dark);margin:.1rem 0}.tagline{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-style:italic;color:var(--muted);margin:.45rem 0}.place p,.room p,.cards p,.travel-grid p,.info-columns p,li{line-height:1.65}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;cursor:pointer;border:3px solid #fff7e8;outline:1px solid var(--stone);box-shadow:0 10px 24px rgba(61,51,35,.16);transition:transform .25s ease,filter .25s ease}.gallery img:hover{transform:translateY(-3px);filter:brightness(1.04)}.gallery.featured img:first-child{grid-column:span 2;grid-row:span 2}.rooms{background:#f4ead8}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.room{background:var(--card);padding:1.15rem 1.15rem 1.5rem;border:2px solid var(--stone-dark);box-shadow:0 18px 45px rgba(61,51,35,.16);position:relative}.room:before{content:"";position:absolute;inset:.45rem;border:1px solid rgba(168,144,98,.55);pointer-events:none}.room .gallery{margin-bottom:1rem}.room .gallery img:first-child{grid-column:span 4;aspect-ratio:16/10}.room h3,.room p,.room strong{position:relative}.room strong{display:block;color:var(--kaki-dark);border-top:1px solid var(--stone);margin-top:1rem;padding-top:1rem}.soft{background:linear-gradient(180deg,#eee3ce,#f6efe0)}.cards,.travel-grid,.info-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.cards>div,.travel-grid article,.info-columns>div,.reserve-box>div{background:var(--card);border:2px solid var(--stone);padding:1.5rem;box-shadow:0 16px 38px rgba(61,51,35,.12)}.cards>div,.travel-grid article{border-color:var(--stone-dark)}.cards h3,.travel-grid h3,.info-columns h3,.reserve-box h3{font-family:'Playfair Display',serif;text-transform:uppercase;letter-spacing:.035em;color:var(--kaki-dark);font-size:1.55rem;margin:.15rem 0 .8rem}.travel-grid article{min-height:210px}.reservation{background:linear-gradient(135deg,var(--kaki-dark),#676d49);color:var(--beige)}.reservation .section-heading h2,.reservation .section-heading span{color:var(--beige)}.reservation .section-heading:before,.reservation .section-heading:after{background:var(--beige)}.reserve-box{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1120px;margin:auto}.reserve-box>div{background:rgba(255,250,240,.96);color:var(--text);border-color:#d9c9a5}.big{font-size:1.05rem;padding:1rem 2rem}form{display:grid;gap:.8rem}input,textarea{width:100%;padding:.9rem;border:1px solid var(--stone);background:white;font:inherit;border-radius:3px}.btn.secondary{cursor:pointer}footer{background:#302f22;color:var(--beige);text-align:center;padding:3rem 1rem}footer h2{font-family:'Playfair Display',serif;text-transform:uppercase;letter-spacing:.08em}footer a{color:var(--beige)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;background:rgba(255,255,255,.12);color:white;border:0;border-radius:50%;font-size:3rem;width:3.5rem;height:3.5rem;cursor:pointer}.close{top:1rem;right:1rem}.prev{left:1rem}.next{right:1rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1120px){.main-nav{gap:1.25rem}.brand{min-width:205px}.brand-main{font-size:2.45rem}.main-nav a{font-size:.92rem}}@media(max-width:900px){.site-header{align-items:center}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fffaf0;padding:1rem 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--stone)}.main-nav.open{display:flex}.brand{min-width:auto}.brand-main{font-size:2.25rem}.hero-photo img{height:360px}.place,.place.alternate,.room-grid,.cards,.travel-grid,.info-columns,.reserve-box{grid-template-columns:1fr}.place.alternate>.place-text{order:0}.intro{padding:3.5rem 7vw}.intro h1{font-size:3.2rem}.section{padding:3.5rem 5vw}.section-heading:before,.section-heading:after{display:none}.gallery{grid-template-columns:repeat(2,1fr)}.gallery.featured img:first-child,.room .gallery img:first-child{grid-column:span 2}.place{padding:.8rem}.place-text{padding:1.1rem;border-left:0;border-top:3px solid var(--stone-dark)}}

/* === Ajustements finaux Domaine des Angély === */
.site-header{
  padding:1rem 4.8vw .95rem 3.4vw;
  gap:2.6rem;
}
.brand{min-width:285px;}
.brand-small{
  font-size:1.08rem;
  letter-spacing:.32em;
}
.brand-main{
  font-size:3.75rem;
  letter-spacing:.085em;
}
.main-nav{
  gap:3.15rem;
  padding-left:5vw;
}
.main-nav a{
  font-size:1.08rem;
  letter-spacing:.105em;
}
.hero-photo img{
  height:clamp(430px,54vw,735px);
  object-position:center 50%;
  filter:none;
}
.intro h1{
  font-size:clamp(4.4rem,8.8vw,7.8rem);
  letter-spacing:.075em;
}
.section-heading{
  display:block;
  max-width:960px;
  margin:0 auto 3.4rem;
  padding:1.15rem 2rem 1.35rem;
  text-align:center;
  background:linear-gradient(180deg,rgba(255,250,240,.94),rgba(239,229,209,.86));
  border:2px solid var(--stone-dark);
  box-shadow:0 14px 34px rgba(61,51,35,.10);
}
.section-heading:before,
.section-heading:after{display:none;}
.section-heading span{
  color:var(--kaki-dark);
  font-size:.82rem;
  letter-spacing:.28em;
  margin-bottom:.35rem;
}
.section-heading h2{
  font-size:clamp(2.35rem,4.2vw,3.75rem);
}
.reservation .section-heading{
  background:rgba(255,250,240,.10);
  border-color:rgba(238,226,196,.85);
}
.gallery.featured.stacked-side{
  grid-template-columns:2fr 1fr;
  grid-template-rows:1fr 1fr;
  align-items:stretch;
}
.gallery.featured.stacked-side img:first-child{
  grid-column:1;
  grid-row:1 / span 2;
  height:100%;
  aspect-ratio:auto;
}
.gallery.featured.stacked-side img:not(:first-child){
  grid-column:2;
  grid-row:auto;
  height:100%;
  aspect-ratio:auto;
}
.gallery.featured.two-large{
  grid-template-columns:1fr 1.25fr;
}
.gallery.featured.two-large img:first-child,
.gallery.featured.two-large img:nth-child(2){
  grid-column:auto;
  grid-row:auto;
  aspect-ratio:4/3;
  height:100%;
}
@media(max-width:1120px){
  .brand{min-width:235px;}
  .brand-main{font-size:2.85rem;}
  .main-nav{gap:1.5rem;padding-left:2vw;}
  .main-nav a{font-size:.94rem;}
}
@media(max-width:900px){
  .brand{min-width:auto;}
  .brand-main{font-size:2.35rem;}
  .hero-photo img{height:380px;}
  .section-heading{padding:1rem 1.2rem;}
  .gallery.featured.stacked-side,
  .gallery.featured.two-large{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .gallery.featured.stacked-side img:first-child,
  .gallery.featured.stacked-side img:not(:first-child),
  .gallery.featured.two-large img:first-child,
  .gallery.featured.two-large img:nth-child(2){
    grid-column:auto;
    grid-row:auto;
    aspect-ratio:4/3;
    height:auto;
  }
}


/* --- Ajustements finaux V1.1 : en-tête, titre d'accueil et galeries haut de page --- */
.site-header{
  gap:1.6rem;
  padding:.65rem 3.2vw .58rem 3vw;
  flex-wrap:nowrap;
}
.brand{
  min-width:250px;
  flex:0 0 auto;
}
.brand-small{
  letter-spacing:.26em;
  font-size:.92rem;
}
.brand-main{
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  letter-spacing:.105em;
  font-size:3rem;
}
.main-nav{
  gap:2.35rem;
  padding-left:2vw;
  min-width:0;
}
.main-nav a{
  font-size:.96rem;
  letter-spacing:.075em;
}
.nav-reserve{
  margin-left:.35rem;
  padding:.78rem 1.25rem;
}
.intro h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  text-transform:none;
  letter-spacing:.035em;
  font-size:clamp(3.2rem,6vw,5.35rem);
  line-height:1.02;
}
.gallery.stacked-side{
  grid-template-columns:1.72fr 1fr;
  grid-template-rows:1fr 1fr;
  height:390px;
  align-items:stretch;
}
.gallery.stacked-side img{
  height:100%;
  aspect-ratio:auto;
}
.gallery.stacked-side img:first-child{
  grid-column:1;
  grid-row:1 / 3;
}
.gallery.stacked-side img:nth-child(2),
.gallery.stacked-side img:nth-child(3){
  grid-column:2;
}
.gallery.compact-gallery{
  height:320px;
  grid-template-columns:1.55fr 1fr;
}
.gallery.reception-gallery{
  height:360px;
}
@media(max-width:1280px){
  .site-header{gap:1rem;padding:.62rem 2.5vw}
  .brand{min-width:215px}
  .brand-main{font-size:2.45rem}
  .brand-small{font-size:.78rem}
  .main-nav{gap:1.1rem;padding-left:1vw}
  .main-nav a{font-size:.86rem;letter-spacing:.055em}
  .nav-reserve{padding:.7rem 1rem;margin-left:.15rem}
}
@media(max-width:1080px){
  .menu-toggle{display:block;margin-left:auto}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fffaf0;padding:1rem 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--stone)}
  .main-nav.open{display:flex}
  .brand{min-width:auto}
}
@media(max-width:900px){
  .gallery.stacked-side,.gallery.compact-gallery,.gallery.reception-gallery{height:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
  .gallery.stacked-side img:first-child{grid-column:span 2;grid-row:auto}
  .gallery.stacked-side img:nth-child(2),.gallery.stacked-side img:nth-child(3){grid-column:auto}
  .intro h1{font-size:3rem}
}

/* --- Corrections V1.2 demandées : entête, titre accueil, galeries avant extérieurs --- */
.site-header{
  gap:1.35rem;
  padding:.7rem 3.2vw .65rem 3.2vw;
  overflow:visible;
}
.brand{
  min-width:320px;
  line-height:1.05;
  display:block;
  white-space:nowrap;
}
.brand-small,
.brand-main{
  display:inline;
  font-family:'Cormorant Garamond',serif;
  font-size:2.55rem;
  font-weight:500;
  letter-spacing:.055em;
  text-transform:none;
  margin:0;
}
.brand-small::after{content:" ";}
.main-nav{
  gap:1.65rem;
  padding-left:1.5vw;
  min-width:0;
  flex-wrap:nowrap;
}
.main-nav a{
  font-size:.92rem;
  letter-spacing:.055em;
}
.nav-reserve{padding:.72rem 1.05rem;margin-left:.1rem;}
.intro h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  font-style:italic;
  text-transform:none;
  letter-spacing:.025em;
  font-size:clamp(2.9rem,4.8vw,4.65rem);
  line-height:1.06;
}
.place{align-items:stretch;overflow:hidden;}
.place-text{align-self:center;}
.gallery.stacked-side,
.gallery.compact-gallery,
.gallery.reception-gallery,
.gallery.bathroom-gallery{
  overflow:hidden;
}
.gallery.stacked-side{
  height:330px;
  grid-template-columns:1.65fr 1fr;
  grid-template-rows:1fr 1fr;
}
.gallery.stacked-side img{height:100%;min-height:0;}
.gallery.stacked-side img:first-child{grid-column:1;grid-row:1 / 3;}
.gallery.stacked-side img:nth-child(2),
.gallery.stacked-side img:nth-child(3){grid-column:2;grid-row:auto;}
.gallery.compact-gallery{
  height:265px;
  grid-template-columns:1.65fr 1fr;
}
.gallery.reception-gallery{
  height:330px;
  grid-template-columns:1.65fr 1fr;
}
.gallery.bathroom-gallery{
  height:315px;
  grid-template-columns:1.35fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
}
.gallery.bathroom-gallery img:first-child{
  grid-column:1;
  grid-row:1 / 3;
  height:100%;
  aspect-ratio:auto;
}
.gallery.bathroom-gallery img:not(:first-child){
  grid-column:auto;
  grid-row:auto;
  height:100%;
  aspect-ratio:auto;
}
@media(max-width:1380px){
  .brand{min-width:285px;}
  .brand-small,.brand-main{font-size:2.25rem;letter-spacing:.045em;}
  .main-nav{gap:1rem;padding-left:.8vw;}
  .main-nav a{font-size:.82rem;letter-spacing:.04em;}
  .nav-reserve{padding:.65rem .85rem;}
}
@media(max-width:1120px){
  .brand{min-width:auto;}
  .brand-small,.brand-main{font-size:2.1rem;}
  .menu-toggle{display:block;margin-left:auto;}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fffaf0;padding:1rem 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--stone)}
  .main-nav.open{display:flex}
}
@media(max-width:900px){
  .brand-small,.brand-main{font-size:1.85rem;}
  .gallery.stacked-side,.gallery.compact-gallery,.gallery.reception-gallery,.gallery.bathroom-gallery{height:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;}
  .gallery.stacked-side img:first-child,.gallery.bathroom-gallery img:first-child{grid-column:span 2;grid-row:auto;}
  .gallery.stacked-side img:nth-child(2),.gallery.stacked-side img:nth-child(3),.gallery.bathroom-gallery img:not(:first-child){grid-column:auto;grid-row:auto;height:auto;aspect-ratio:4/3;}
}

/* --- Correction finale unique : en-tête uniquement --- */
.site-header{
  gap:1.2rem;
  padding:.65rem 3vw .6rem 3vw;
}
.brand{
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:0 0 215px;
  min-width:215px;
  max-width:215px;
  line-height:1.02;
  white-space:normal;
}
.brand-small,
.brand-main{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:1.65rem;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  margin:0;
}
.brand-small::after{content:"";}
.main-nav{
  flex:1 1 auto;
  min-width:0;
  gap:clamp(.75rem,1.35vw,1.65rem);
  padding-left:1.2rem;
}
.main-nav a{
  font-size:clamp(.78rem,.86vw,.92rem);
  letter-spacing:.045em;
}
.nav-reserve{
  flex-shrink:0;
}
@media(max-width:1120px){
  .brand{flex:0 0 auto;min-width:auto;max-width:none;}
  .brand-small,.brand-main{font-size:1.85rem;}
}
