:root{--ink:#544638;--muted:#87786a;--cream:#f8f5ef;--sand:#ede5d9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Jost',sans-serif;font-weight:300}a{color:inherit;text-decoration:none}.nav{position:absolute;z-index:10;top:0;left:0;width:100%;padding:25px 4%;display:flex;align-items:center;justify-content:center}.nav nav{display:flex;gap:clamp(12px,3vw,50px);align-items:center}.nav nav a{font:500 clamp(9px,1vw,12px) 'Cormorant Garamond',serif;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid transparent;padding-bottom:9px}.nav nav a:hover{border-color:var(--ink)}.brand{display:none}.menu{display:none}.hero{height:100svh;min-height:680px;position:relative;background:linear-gradient(180deg,rgba(241,233,220,.13),rgba(237,222,200,.06)),url('assets/chateau.jpg') center center/cover no-repeat;text-align:center}.hero-content{position:absolute;top:12%;left:0;right:0;padding:0 16px}.eyebrow,.date,.location,.kicker{font-family:'Cormorant Garamond',serif;letter-spacing:.32em;font-weight:600}.eyebrow{font-size:clamp(13px,1.7vw,22px)}h1{font:400 clamp(74px,11vw,160px)/.9 'Italianno',cursive;margin:10px 0 0;white-space:nowrap}h1 span{font-size:.43em;vertical-align:middle}.date{font-size:clamp(15px,2vw,23px);margin:12px 0}.location{font-size:clamp(12px,1.5vw,18px);margin:0}.discover{position:absolute;bottom:5%;left:0;right:0;font:600 14px 'Cormorant Garamond',serif;letter-spacing:.22em}.discover span{display:block;font:300 36px 'Jost',sans-serif;margin-top:5px}.section{padding:110px max(24px,calc((100vw - 1100px)/2));text-align:center;scroll-margin-top:20px}.warm{background:var(--sand)}.kicker{font-size:13px;margin:0 0 16px}.section h2{font:400 clamp(60px,8vw,96px)/1 'Italianno',cursive;margin:0 0 28px}.ornament{margin:10px 0 24px}.lead{font:400 clamp(21px,2.4vw,29px)/1.5 'Cormorant Garamond',serif;max-width:730px;margin:0 auto 34px}.section>p:not(.kicker):not(.lead){max-width:720px;margin:16px auto;line-height:1.9}.details,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:65px}.details>div{border-top:1px solid #cfc0b0;padding:22px 12px;display:flex;flex-direction:column;gap:10px}.number{font:400 56px 'Italianno',cursive}.details strong{font:500 22px 'Cormorant Garamond',serif}.details small{font-size:12px;letter-spacing:.08em}.cards article{border:1px solid #cdbfae;padding:42px 26px;background:#f8f5ef99}.card-icon{font-size:30px}.cards h3{font:500 31px 'Cormorant Garamond',serif;margin:12px 0}.cards p{line-height:1.8;font-size:14px}.muted{color:var(--muted)}.palette{display:flex;justify-content:center;gap:12px;margin:24px 0 40px}.palette i{display:block;width:52px;height:52px;border-radius:50%;border:1px solid #b9afa2}.section form{max-width:560px;text-align:left;margin:40px auto 0}.section label{display:block;font:500 18px 'Cormorant Garamond',serif;margin:18px 0}.section input,.section select,.section textarea{display:block;width:100%;margin-top:8px;padding:15px;background:#fcfaf6;border:1px solid #c5b8a7;border-radius:0;color:var(--ink);font:300 15px 'Jost',sans-serif}.primary{width:100%;padding:17px;border:1px solid var(--ink);background:var(--ink);color:white;letter-spacing:.16em;cursor:pointer}.primary:hover{background:#75604d}.notice{font-size:12px;line-height:1.7;color:#786b5f}.week{display:flex;align-items:center;justify-content:center;gap:30px;letter-spacing:.2em;font:500 13px 'Cormorant Garamond',serif;margin:45px 0}footer{background:#544638;color:#f8f5ef;text-align:center;padding:50px 20px}footer .signature{font:400 64px 'Italianno',cursive}footer .signature span{font-size:.55em}footer p{letter-spacing:.24em;font:500 13px 'Cormorant Garamond',serif}footer small{opacity:.7}@media(max-width:720px){.nav{position:absolute;justify-content:space-between;padding:18px 22px}.brand{display:block;font:500 25px 'Cormorant Garamond',serif}.menu{display:block;border:0;background:#f7f0e5d9;color:var(--ink);padding:9px 12px;font-size:20px}.nav nav{display:none;position:absolute;top:62px;left:15px;right:15px;background:#f7f0e5f2;padding:24px;flex-direction:column;gap:18px;box-shadow:0 15px 35px #493a2929}.nav nav.open{display:flex}.nav nav a{font-size:14px}.hero{min-height:580px;background-position:center center}.hero-content{top:15%}h1{font-size:clamp(55px,13.5vw,95px);white-space:normal}.eyebrow{font-size:12px}.date{font-size:15px}.location{font-size:12px}.discover{font-size:11px;bottom:5%}.section{padding:75px 22px}.details,.cards{grid-template-columns:1fr;gap:10px;margin-top:30px}.cards article{padding:30px 22px}.palette i{width:42px;height:42px}.week{gap:10px;font-size:10px;flex-wrap:wrap}}@media(min-width:721px) and (max-width:1000px){.hero-content{top:15%}h1{font-size:11vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Lisibilité renforcée sur la photographie du château */
.hero{
  color:#fffaf3;
  background-image:
    linear-gradient(180deg,rgba(20,18,17,.60) 0%,rgba(28,24,21,.48) 32%,rgba(28,24,21,.23) 63%,rgba(20,18,17,.59) 100%),
    url('assets/chateau.jpg');
}
.hero-content,.discover{
  position:absolute;
  z-index:1;
  text-shadow:0 2px 12px rgba(0,0,0,.70),0 1px 3px rgba(0,0,0,.55);
}
.hero h1{text-shadow:0 3px 17px rgba(0,0,0,.72),0 1px 3px rgba(0,0,0,.6)}
.nav{color:#fffaf3;text-shadow:0 2px 8px rgba(0,0,0,.75)}
.nav nav a:hover{border-color:#fffaf3}
@media(max-width:720px){
 .nav nav{color:#544638;text-shadow:none}
 .brand{text-shadow:0 2px 8px rgba(0,0,0,.7)}
}

/* Palette harmonisée avec les pierres dorées et les ombres du château */
:root{
 --ink:#493729;
 --muted:#79634f;
 --cream:#eee5d6;
 --sand:#ded0bb;
}
body{background:var(--cream)}
.section.intro,.section#dresscode,.section#semaine{
 background:linear-gradient(155deg,#f0e8da 0%,#e8dcc9 100%);
}
.section.warm{
 background:linear-gradient(145deg,#dfd0b9 0%,#d6c2a7 100%);
}
.section .kicker{color:#765a40}
.section .ornament{color:#927456}
.details>div{border-color:#b8a184}
.cards article{
 background:rgba(247,239,226,.48);
 border-color:#b59a7b;
 box-shadow:0 8px 28px rgba(68,46,27,.045);
}
.cards h3,.section h2{color:#513b29}
.section input,.section select,.section textarea{
 background:#f5ecdd;
 border-color:#b49b7e;
 color:#493729;
}
.section input::placeholder,.section textarea::placeholder{color:#887461}
.primary{background:#533b2b;border-color:#533b2b;color:#fff9ef}
.primary:hover{background:#75543a}
.notice,.muted{color:#715b46}
.palette i{border-color:#a58c70}
footer{background:#3d2d22;color:#f5ead9}
@media(max-width:720px){
 .nav nav{background:#eee3d0f5;color:#493729}
 .menu{background:#e9d9bfee;color:#493729}
}

/* Centrage vertical du bloc de titre sur la photo */
.hero-content{top:50%;transform:translateY(-50%)}
@media(max-width:720px){.hero-content{top:50%;transform:translateY(-50%)}}

/* Dress code — mise en page éditoriale, dans les tons sépia */
#dresscode{max-width:none;padding-left:max(20px,calc((100vw - 1100px)/2));padding-right:max(20px,calc((100vw - 1100px)/2))}
#dresscode .lead{margin-bottom:28px}
.dc-intro-line{display:flex;justify-content:center;gap:clamp(18px,6vw,75px);font:600 12px 'Cormorant Garamond',serif;letter-spacing:.23em;color:#806750;margin:25px 0 80px}
.dc-block{padding:0 0 85px;margin:0 auto 85px;border-bottom:1px solid #b8a184}
.dc-block:last-of-type{border-bottom:0}
.dc-index{font:500 12px 'Cormorant Garamond',serif;letter-spacing:.24em;color:#8a6d53}
#dresscode .dc-heading h3,#dresscode .dc-final h3{font:400 clamp(58px,8vw,98px)/1 'Italianno',cursive;margin:12px 0;color:#513b29}
.dc-heading>p{font:400 clamp(20px,2.6vw,30px)/1.35 'Cormorant Garamond',serif;margin:0 auto 28px;max-width:800px}
.dc-moodboard{margin:28px auto 20px;max-width:850px}
.dc-moodboard img{display:block;width:100%;height:auto;box-shadow:0 12px 34px #4a352019;border:1px solid #d5c5b1}
.dc-moodboard figcaption{font:italic 16px 'Cormorant Garamond',serif;color:#806750;margin:12px}
.dc-description{font:400 clamp(19px,2.4vw,26px)/1.45 'Cormorant Garamond',serif;max-width:760px;margin:24px auto}
.dc-accessories{background:#e2d3bd;padding:24px 30px;margin:30px auto;max-width:720px}
.dc-accessories strong{font:600 15px 'Cormorant Garamond',serif;letter-spacing:.12em;text-transform:uppercase}
.dc-accessories p{font:400 23px 'Cormorant Garamond',serif;margin:9px 0 0}
.dc-warning{font:500 14px/1.8 'Jost',sans-serif;max-width:740px;margin:30px auto;color:#513b29}
.dc-final{padding-bottom:55px;margin-bottom:55px}
.dc-colors{padding:35px 15px 15px}
.dc-colors h3{font:400 clamp(40px,5vw,64px) 'Cormorant Garamond',serif;margin:10px 0 25px}
.dc-swatches{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.dc-swatches>div{width:clamp(100px,17vw,160px)}
.dc-swatches i{display:block;height:75px;border-radius:15px;border:1px solid #a58c70}
.dc-swatches span{display:block;margin-top:12px;font:500 15px 'Cormorant Garamond',serif}
.dc-colors>p:last-child{font:400 21px 'Cormorant Garamond',serif;margin:32px auto;max-width:700px}
@media(max-width:720px){
 .dc-intro-line{gap:12px;font-size:10px;margin-bottom:48px}
 .dc-block{margin-bottom:52px;padding-bottom:52px}
 .dc-moodboard{margin-left:-12px;margin-right:-12px}
 .dc-accessories{padding:20px 14px}
 .dc-swatches{gap:12px}
 .dc-swatches>div{width:calc(50% - 15px);max-width:150px}
}

/* Dress code intégré : photos fusionnées avec le fond sépia, sans planches blanches */
#dresscode{background:radial-gradient(ellipse at 50% 10%,#f0e4d1 0%,#e6d5bc 52%,#dcc7a9 100%);padding-left:clamp(18px,4vw,75px);padding-right:clamp(18px,4vw,75px);overflow:hidden}
#dresscode .lead{margin-bottom:75px}
.dc-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:1370px;margin:auto;border-top:1px solid #bca78a;border-bottom:1px solid #bca78a}
.dc-chapter{min-width:0;padding:55px clamp(16px,3vw,55px) 65px}
.dc-chapter:first-child{border-right:1px solid #bca78a}
#dresscode .dc-chapter h3,#dresscode .dc-guests h3{font:400 clamp(55px,6.5vw,90px)/1 'Italianno',cursive;color:#513b29;margin:15px 0 0}
.dc-rule{color:#9a7b57;display:flex;gap:12px;align-items:center;justify-content:center;font-size:16px;margin:7px auto 20px}
.dc-rule:before,.dc-rule:after{content:'';width:65px;height:1px;background:#b6a084}
.dc-subtitle{font:400 clamp(18px,2vw,25px)/1.35 'Cormorant Garamond',serif;min-height:70px;margin:0 auto 8px}
#dresscode .dc-people{display:block;mix-blend-mode:multiply;width:100%;height:auto;object-fit:contain;border:0;box-shadow:none;mask-image:linear-gradient(to bottom,transparent 0%,black 5%,black 91%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 5%,black 91%,transparent 100%)}
.dc-women{aspect-ratio:990/635}.dc-men{aspect-ratio:905/880;max-height:520px}
#dresscode h4{font:500 16px 'Cormorant Garamond',serif;letter-spacing:.18em;text-transform:uppercase;color:#624b36;margin:24px 0 16px}
#dresscode .dc-swatches{display:flex;justify-content:center;gap:clamp(8px,1.5vw,18px);flex-wrap:nowrap;margin-bottom:30px}
#dresscode .dc-swatches>div{flex:1;min-width:0;max-width:115px}
#dresscode .dc-swatches i{display:block;height:58px;border-radius:50%;aspect-ratio:1/1;width:min(100%,58px);margin:auto;border:1px solid #a58c70}
#dresscode .dc-swatches span{display:block;margin-top:8px;font:400 14px 'Cormorant Garamond',serif}
.dc-accessory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:auto;max-width:510px}
.dc-accessory-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse,black 55%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse,black 55%,transparent 76%)}
.dc-tip{font:400 clamp(17px,1.8vw,22px)/1.4 'Cormorant Garamond',serif;margin:20px auto 26px}
.dc-avoid{border:1px solid #b9a082;padding:17px 16px;max-width:530px;margin:auto;border-radius:6px}
.dc-avoid span{font:500 13px 'Cormorant Garamond',serif;letter-spacing:.2em}
.dc-avoid p{font:400 18px/1.3 'Cormorant Garamond',serif;margin:7px 0 0}
.dc-guests{max-width:1000px;margin:80px auto 10px}
.dc-guests>p{font:400 clamp(19px,2.3vw,26px)/1.4 'Cormorant Garamond',serif;max-width:660px;margin:0 auto 25px}
.dc-guests-top{max-width:800px;margin:0 auto -45px}.dc-guests-bottom{max-width:800px;margin:0 auto}
#dresscode .dc-guests-palette{max-width:600px;margin:5px auto 0}
@media(max-width:760px){#dresscode .lead{margin-bottom:42px}.dc-editorial{grid-template-columns:1fr}.dc-chapter{padding:38px 5px 45px}.dc-chapter:first-child{border-right:0;border-bottom:1px solid #bca78a}.dc-subtitle{min-height:0}.dc-men{max-height:none}.dc-guests{margin-top:50px}.dc-guests-top{margin-bottom:-15px}.dc-avoid{margin:0 8px}.dc-accessory-grid{gap:5px}}

/* Correction : suppression du bas de planche Canva du visuel masculin */
#dresscode .dc-men{aspect-ratio:905/640;max-height:none;object-fit:contain}

/* Alignement précis des deux colonnes du dress code sur ordinateur */
@media (min-width:761px){
 .dc-editorial{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(11,auto);align-items:stretch}
 .dc-editorial>.dc-chapter{display:grid;grid-template-rows:subgrid;grid-row:1 / span 11;align-items:start}
 .dc-editorial>.dc-chapter:first-child{grid-column:1}
 .dc-editorial>.dc-chapter:nth-child(2){grid-column:2}
 .dc-editorial .dc-people{height:clamp(280px,32vw,410px)!important;aspect-ratio:auto!important;object-fit:contain;object-position:center bottom;max-height:none!important}
 .dc-editorial .dc-subtitle{min-height:0}
 .dc-editorial .dc-swatches{margin-bottom:20px!important}
 .dc-editorial .dc-avoid{align-self:end;width:100%;box-sizing:border-box}
}

/* Photographie de la chapelle : insertion éditoriale douce, sans fond blanc */
#infos .infos-chapelle{position:relative;margin:20px auto 4px;max-width:690px;height:265px;overflow:hidden;border-radius:1px}
#infos .infos-chapelle img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:sepia(.26) saturate(.68) contrast(.93);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%)}
#infos .infos-chapelle:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#dfd0b9 0%,transparent 24%,transparent 72%,#dfd0b9 100%);opacity:.68}
#infos .infos-chapelle figcaption{position:absolute;bottom:10px;left:10px;right:10px;z-index:1;color:#4d3929;font:italic 18px 'Cormorant Garamond',serif;text-shadow:0 1px 8px #e8dacb}
#infos .cards{margin-top:35px}
@media(max-width:720px){#infos .infos-chapelle{height:220px;margin:10px -10px 10px}#infos .infos-chapelle figcaption{font-size:15px}}

/* Chapelle en portrait : façade et clocher visibles, sans recadrage horizontal */
#infos .infos-chapelle-layout{display:grid;grid-template-columns:1fr minmax(230px,340px);align-items:center;gap:clamp(25px,6vw,85px);max-width:830px;margin:22px auto 38px;text-align:center}
#infos .infos-chapelle{height:auto;max-width:340px;width:100%;margin:0;overflow:visible}
#infos .infos-chapelle img{height:auto;width:100%;object-fit:contain;object-position:center;filter:sepia(.24) saturate(.74) contrast(.95);-webkit-mask-image:radial-gradient(ellipse 77% 76% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 77% 76% at 50% 50%,#000 60%,transparent 100%)}
#infos .infos-chapelle:after{display:none}
#infos .infos-chapelle figcaption{position:static;font-size:15px;margin-top:0}
#infos .infos-chapelle-copy{color:#513b29}
#infos .chapelle-kicker{font:600 12px 'Cormorant Garamond',serif;letter-spacing:.25em}
#infos .chapelle-divider{margin:16px 0;color:#977d60}
#infos .infos-chapelle-copy>p{font:400 clamp(26px,3.5vw,43px)/1.15 'Cormorant Garamond',serif;margin:10px auto}
#infos .infos-chapelle-copy .chapelle-small{font:400 20px/1.4 'Cormorant Garamond',serif;max-width:320px}
@media(max-width:720px){
 #infos .infos-chapelle-layout{grid-template-columns:1fr;gap:16px;margin:15px auto 30px}
 #infos .infos-chapelle{height:auto;max-width:290px;margin:0 auto}
 #infos .infos-chapelle-copy>p{font-size:31px}
}

/* Chapelle : séquence éditoriale autonome, photo entière sans recadrage */
.chapelle-editorial{background:#eee5d6;padding:82px 24px 88px;text-align:center;color:#513b29}
.chapelle-editorial-heading{max-width:740px;margin:0 auto 35px}
.chapelle-editorial-heading h2{font:400 clamp(52px,7vw,85px)/1 'Italianno',cursive;margin:10px 0 8px}
.chapelle-editorial-heading>p:last-child{font:400 clamp(20px,2.4vw,27px)/1.4 'Cormorant Garamond',serif;margin:0}
.chapelle-editorial-photo{width:min(100%,660px);margin:0 auto}
.chapelle-editorial-photo img{display:block;width:100%;height:auto;object-fit:contain;filter:sepia(.13) saturate(.77) contrast(.97);box-shadow:0 14px 38px #49372924}
.chapelle-editorial-photo figcaption{display:flex;justify-content:space-between;gap:20px;padding:15px 0 0;color:#806750;font:500 13px 'Cormorant Garamond',serif;letter-spacing:.13em}
.chapelle-editorial-photo figcaption span:last-child{font-style:italic;letter-spacing:.04em}
@media(max-width:720px){.chapelle-editorial{padding:55px 20px 60px}.chapelle-editorial-photo figcaption{font-size:11px;flex-wrap:wrap;justify-content:center;gap:6px 18px}}

/* Un détail de la chapelle, volontairement mystérieux */
.chapelle-editorial{padding:80px 24px 90px}
.chapelle-editorial-photo{max-width:520px;margin:35px auto 0}
.chapelle-editorial-photo img{display:block;width:100%;height:360px;object-fit:cover;object-position:center 42%;filter:sepia(.18) saturate(.78) contrast(.95);border-radius:2px}
.chapelle-editorial-photo figcaption{justify-content:center;text-align:center}
@media(max-width:720px){.chapelle-editorial{padding:55px 20px 60px}.chapelle-editorial-photo{max-width:340px}.chapelle-editorial-photo img{height:300px}}

/* Informations pratiques : chapelle en toile de fond, discrète et sans dévoiler tout le lieu */
#infos.section.warm{
 position:relative;isolation:isolate;
 background:#dfd0b9;
}
#infos.section.warm::before{
 content:"";position:absolute;inset:0;z-index:-2;
 background-image:url("assets/chapelle-fond.jpg");
 background-size:cover;background-position:center 46%;
 filter:sepia(.34) saturate(.68);
 opacity:.38;
}
#infos.section.warm::after{
 content:"";position:absolute;inset:0;z-index:-1;
 background:linear-gradient(90deg,rgba(230,216,195,.87),rgba(232,219,199,.74) 48%,rgba(230,216,195,.84));
}
#infos .cards article{
 background:rgba(246,237,222,.83);
 border-color:rgba(128,100,70,.34);
 backdrop-filter:blur(5px);
}
#infos .kicker,#infos h2{position:relative;text-shadow:0 1px 8px rgba(246,237,222,.75)}
@media(max-width:720px){
 #infos.section.warm::before{background-position:52% center;opacity:.30}
 #infos.section.warm::after{background:rgba(232,219,199,.81)}
 #infos .cards article{background:rgba(246,237,222,.91)}
}
