*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #f9faf8;--color-text: #1e3a2f;--color-text-light: #5d7a6a;--color-accent: #4a7c6f;--color-border: #dde5e0;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-weight:300;color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-text);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-accent)}img{max-width:100%;height:auto}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 2rem;transition:all .3s ease}.header--scrolled{background-color:#faf9f7f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--color-border);padding:1rem 2rem}.header__container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header__date{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;letter-spacing:.1em;cursor:pointer;transition:opacity .3s ease}.header__date:hover{opacity:.7}.header__nav{display:flex;gap:2.5rem}.header__nav button{background:none;border:none;font-family:var(--font-sans);font-size:.85rem;font-weight:400;letter-spacing:.05em;color:var(--color-text);cursor:pointer;padding:.5rem 0;position:relative;transition:color .3s ease}.header__nav button:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-text);transition:width .3s ease}.header__nav button:hover:after{width:100%}.header__menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;cursor:pointer;padding:0}.header__menu-toggle span{display:block;width:100%;height:1px;background-color:var(--color-text);transition:all .3s ease}.header__menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.header__menu-toggle.active span:nth-child(2){opacity:0}.header__menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}@media(max-width:768px){.header{padding:1rem 1.5rem}.header--scrolled{padding:.75rem 1.5rem}.header--menu-open{transition:none}.header--menu-open.header--scrolled{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.header__date{font-size:1rem;position:relative;z-index:1002}.header__menu-toggle{display:flex;position:relative;z-index:1002}.header__nav{position:fixed;inset:0;background-color:#f9faf8;flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:none;pointer-events:none;z-index:1001}.header__nav--open{display:flex;pointer-events:auto}.header__nav button{font-size:1.25rem}}.hero{position:relative;height:100vh;min-height:600px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero__background{position:absolute;inset:0;background-image:url(/mariage_apo_nico.jpg);background-size:cover;background-position:center}.hero__overlay{position:absolute;inset:0;background:#00000040}.hero__content{position:relative;z-index:1;text-align:center;padding:2rem;display:flex;flex-direction:column;height:100%;justify-content:space-between}.hero__subtitle{font-family:var(--font-sans);font-size:.9rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:#fff;padding-top:15vh}.hero__bottom{padding-bottom:8vh}.hero__names{font-family:var(--font-serif);font-size:clamp(2.5rem,8vw,5rem);font-weight:300;font-style:italic;letter-spacing:.02em;margin-bottom:1rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero__date{font-family:var(--font-serif);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:300;letter-spacing:.3em;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media(max-width:768px){.hero{min-height:500px}.hero__subtitle{font-size:.75rem;letter-spacing:.15em;padding-top:12vh}.hero__bottom{padding-bottom:6vh}.hero__content{padding:1.5rem}}.event-details{padding:6rem 2rem;background-color:var(--color-bg)}.event-details__container{max-width:1000px;margin:0 auto}.event-details__title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:300;text-align:center;margin-bottom:4rem;letter-spacing:.02em}.event-details__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem}.event-card{text-align:center;padding:2.5rem 2rem;border:1px solid var(--color-border);transition:border-color .3s ease}.event-card:hover{border-color:var(--color-accent)}.event-card__time{font-family:var(--font-serif);font-size:2rem;font-weight:300;color:var(--color-accent);margin-bottom:1rem}.event-card__title{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;margin-bottom:1.5rem;letter-spacing:.05em}.event-card__location{font-family:var(--font-sans);font-size:1rem;font-weight:400;margin-bottom:.5rem}.event-card__address{font-family:var(--font-sans);font-size:.875rem;font-weight:300;color:var(--color-text-light);margin-bottom:1.5rem;line-height:1.6}.event-card__link{display:inline-block;font-family:var(--font-sans);font-size:.8rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);padding:.75rem 1.5rem;border:1px solid var(--color-text);transition:all .3s ease}.event-card__link:hover{background-color:var(--color-text);color:var(--color-bg)}@media(max-width:768px){.event-details{padding:4rem 1.5rem}.event-details__title{margin-bottom:3rem}.event-details__grid{grid-template-columns:1fr;gap:2rem}.event-card{padding:2rem 1.5rem}.event-card__time{font-size:1.5rem}.event-card__title{font-size:1.25rem}}.rsvp{padding:6rem 2rem;background-color:var(--color-bg)}.rsvp__container{max-width:800px;margin:0 auto}.rsvp__title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:300;text-align:center;margin-bottom:1rem;letter-spacing:.02em}.rsvp__subtitle{font-family:var(--font-sans);font-size:1rem;font-weight:300;text-align:center;color:var(--color-text-light);margin-bottom:4rem}.rsvp__options{display:flex;flex-direction:column;gap:3rem}.rsvp__option{padding:2.5rem;border:1px solid var(--color-border);transition:border-color .3s ease}.rsvp__option:hover{border-color:var(--color-accent)}.rsvp__option--alt{padding:2rem 2.5rem}.rsvp__option-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;margin-bottom:1.5rem;letter-spacing:.05em;color:var(--color-accent)}.rsvp__form{display:flex;flex-direction:column;gap:1.5rem}.rsvp__form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.rsvp__field{display:flex;flex-direction:column;gap:.5rem}.rsvp__label{font-family:var(--font-sans);font-size:.875rem;font-weight:400;color:var(--color-text)}.rsvp__input,.rsvp__textarea{font-family:var(--font-sans);font-size:1rem;font-weight:300;padding:.75rem 1rem;border:1px solid var(--color-border);background-color:transparent;color:var(--color-text);transition:border-color .3s ease}.rsvp__input:focus,.rsvp__textarea:focus{outline:none;border-color:var(--color-accent)}.rsvp__textarea{resize:vertical;min-height:80px}.rsvp__radio-group{display:flex;gap:2rem;margin-top:.5rem}.rsvp__radio-group--vertical{flex-direction:column;gap:.75rem}.rsvp__radio{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-sans);font-size:.95rem;font-weight:300}.rsvp__radio input[type=radio]{appearance:none;width:18px;height:18px;border:1px solid var(--color-border);border-radius:50%;cursor:pointer;transition:all .3s ease;position:relative}.rsvp__radio input[type=radio]:checked{border-color:var(--color-accent)}.rsvp__radio input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:var(--color-accent);border-radius:50%}.rsvp__radio input[type=radio]:focus{outline:none;border-color:var(--color-accent)}.rsvp__submit{font-family:var(--font-sans);font-size:.875rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:1rem 2rem;margin-top:1rem;background-color:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text);cursor:pointer;transition:all .3s ease}.rsvp__submit:hover:not(:disabled){background-color:transparent;color:var(--color-text)}.rsvp__submit:disabled{opacity:.6;cursor:not-allowed}.rsvp__email-link{display:inline-block;font-family:var(--font-sans);font-size:1rem;font-weight:400;color:var(--color-text);text-decoration:underline;text-underline-offset:4px;transition:color .3s ease}.rsvp__email-link:hover{color:var(--color-accent)}.rsvp__addresses{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.rsvp__address{font-family:var(--font-sans);font-size:.95rem;font-weight:300;line-height:1.8}.rsvp__address-name{font-weight:400;margin-bottom:.25rem}.rsvp__success{text-align:center;padding:3rem;border:1px solid var(--color-accent)}.rsvp__success p{font-family:var(--font-sans);font-size:1.1rem;font-weight:300;line-height:1.8}.rsvp__success p:first-child{font-family:var(--font-serif);font-size:1.5rem;color:var(--color-accent);margin-bottom:.5rem}@media(max-width:768px){.rsvp{padding:4rem 1.5rem}.rsvp__subtitle{margin-bottom:3rem}.rsvp__option,.rsvp__option--alt{padding:1.5rem}.rsvp__form-row{grid-template-columns:1fr;gap:1.5rem}.rsvp__radio-group{flex-direction:column;gap:.75rem}.rsvp__addresses{grid-template-columns:1fr;gap:1.5rem}}.accommodations{padding:6rem 2rem;background-color:#f0f4f2}.accommodations__container{max-width:1000px;margin:0 auto}.accommodations__title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:300;text-align:center;margin-bottom:2rem;letter-spacing:.02em}.accommodations__intro{font-family:var(--font-sans);font-size:1rem;font-weight:300;text-align:center;color:var(--color-text-light);margin-bottom:1rem;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.6}.accommodations__intro strong{font-weight:500;color:var(--color-text)}.accommodations__intro a{color:var(--color-text);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.accommodations__intro a:hover{color:var(--color-accent, #4a7c6f)}.accommodations__category{margin-top:3rem;margin-bottom:3rem}.accommodations__category:last-child{margin-bottom:0}.accommodations__category-title{font-family:var(--font-serif);font-size:clamp(1.25rem,3vw,1.5rem);font-weight:400;text-align:center;margin-bottom:2rem;letter-spacing:.02em;color:var(--color-text)}.accommodations__nearby-list{list-style:none;padding:0;margin:2rem auto 0;max-width:600px;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;font-family:var(--font-serif);font-size:1.05rem;font-weight:400;color:var(--color-text)}.accommodations__nearby-list li{position:relative;padding-left:1rem}.accommodations__nearby-list li:before{content:"•";position:absolute;left:0;color:var(--color-accent, #4a7c6f)}.accommodations__nearby-note{font-family:var(--font-sans);font-size:.85rem;font-style:italic;font-weight:300;color:var(--color-text-light)}.accommodations__zone-name{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;margin-bottom:.5rem;letter-spacing:.02em;color:var(--color-text)}.accommodations__list{list-style:none;padding:0;margin:0;font-family:var(--font-sans);font-size:.9rem;color:var(--color-text-light);line-height:1.6}.accommodations__list li{margin-bottom:.4rem}.accommodations__list li:last-child{margin-bottom:0}.accommodations__list em{font-style:italic;color:var(--color-text)}.accommodations__detailed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.accommodations__detailed-zone{background-color:var(--color-bg);padding:2rem;text-align:left}.accommodations__detailed-zone--large{grid-column:span 2}.accommodations__zone-ambiance{font-family:var(--font-sans);font-size:.85rem;font-weight:400;font-style:italic;color:var(--color-accent, #4a7c6f);margin-bottom:1rem;margin-top:-.25rem}.accommodations__zone-description{font-family:var(--font-sans);font-size:.95rem;font-weight:300;color:var(--color-text-light);margin-bottom:1rem;line-height:1.5}.accommodations__detailed-zone .accommodations__list{text-align:left}.accommodations__detailed-zone .accommodations__list li{padding-left:.5rem;position:relative}.accommodations__detailed-zone .accommodations__list li:before{content:"–";position:absolute;left:-.75rem;color:var(--color-text-light)}@media(max-width:900px){.accommodations__zone-grid{grid-template-columns:repeat(2,1fr)}.accommodations__detailed-grid{grid-template-columns:1fr}.accommodations__detailed-zone--large{grid-column:span 1}}@media(max-width:600px){.accommodations{padding:4rem 1.5rem}.accommodations__zone-grid{grid-template-columns:1fr;gap:1rem}.accommodations__zone{padding:1.25rem}.accommodations__detailed-zone{padding:1.5rem}.accommodations__category{margin-top:2.5rem;margin-bottom:2.5rem}}.comment-venir{padding:6rem 2rem;background-color:var(--color-bg)}.comment-venir__container{max-width:1000px;margin:0 auto}.comment-venir__title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:300;text-align:center;margin-bottom:1.5rem;letter-spacing:.02em}.comment-venir__intro{font-family:var(--font-sans);font-size:1rem;font-weight:300;text-align:center;color:var(--color-text-light);margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.comment-venir__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;margin-bottom:4rem}.transport-card{text-align:center;padding:2.5rem 2rem;border:1px solid var(--color-border);transition:border-color .3s ease}.transport-card:hover{border-color:var(--color-accent)}.transport-card__title{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;margin-bottom:1.5rem;letter-spacing:.05em}.transport-card__content{margin-bottom:1.5rem}.transport-card__text{font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--color-text);line-height:1.7;margin-bottom:1rem;text-align:left}.transport-card__text:last-child{margin-bottom:0}.transport-card__text strong{font-weight:500;color:var(--color-text)}.transport-card__info{border-top:1px solid var(--color-border);padding-top:1.5rem;margin-top:1.5rem}.transport-card__detail{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-family:var(--font-sans);font-size:.85rem}.transport-card__detail:last-child{margin-bottom:0}.transport-card__label{font-weight:400;color:var(--color-text)}.transport-card__value{font-weight:300;color:var(--color-text-light)}.transport-card__link{display:inline-block;font-family:var(--font-sans);font-size:.8rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);padding:.75rem 1.5rem;border:1px solid var(--color-text);transition:all .3s ease;margin-top:1rem}.transport-card__link:hover{background-color:var(--color-text);color:var(--color-bg)}.comment-venir__maps{text-align:center}.comment-venir__maps-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;margin-bottom:2rem;letter-spacing:.02em}.comment-venir__maps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.map-link{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background-color:#f5f3f0;transition:transform .3s ease,box-shadow .3s ease}.map-link:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000000d}.map-link__name{font-family:var(--font-serif);font-size:1.1rem;font-weight:400;margin-bottom:.5rem}.map-link__address{font-family:var(--font-sans);font-size:.85rem;font-weight:300;color:var(--color-text-light);margin-bottom:1rem}.map-link__cta{font-family:var(--font-sans);font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}@media(max-width:768px){.comment-venir{padding:4rem 1.5rem}.comment-venir__title{margin-bottom:1rem}.comment-venir__intro{margin-bottom:2rem}.comment-venir__grid{grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}.transport-card{padding:2rem 1.5rem}.transport-card__title{font-size:1.25rem}.comment-venir__maps-grid{grid-template-columns:1fr;gap:1.5rem}.map-link{padding:1.25rem}}.comment-venir__maps-info{font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--color-text-light);text-align:center;margin-top:1.5rem;margin-bottom:0;line-height:1.6}.comment-venir__maps-info+.comment-venir__maps-info{margin-top:.5rem}.guide-dauphine{padding:6rem 2rem;background-color:var(--color-bg)}.guide-dauphine__container{max-width:1000px;margin:0 auto}.guide-dauphine__label{display:block;font-family:var(--font-sans);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);text-align:center;margin-bottom:.75rem}.guide-dauphine__title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:300;text-align:center;margin-bottom:2.5rem;letter-spacing:.02em}.guide-dauphine__intro{text-align:center;max-width:700px;margin:0 auto 3rem}.guide-dauphine__intro p{font-family:var(--font-sans);font-size:1rem;font-weight:300;color:var(--color-text-light);line-height:1.7;margin-bottom:1rem}.guide-dauphine__intro p:last-of-type{margin-bottom:1.5rem}.guide-dauphine__video-link{display:inline-block;font-family:var(--font-sans);font-size:.8rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);padding:.75rem 1.5rem;border:1px solid var(--color-text);background:transparent;cursor:pointer;transition:all .3s ease}.guide-dauphine__video-link:hover{background-color:var(--color-text);color:var(--color-bg)}.guide-dauphine__modal{position:fixed;inset:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.guide-dauphine__modal-content{position:relative;width:100%;max-width:450px;background-color:#000;border-radius:8px;overflow:hidden}.guide-dauphine__modal-close{position:absolute;top:-40px;right:0;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:.5rem;line-height:1;transition:opacity .3s ease}.guide-dauphine__modal-close:hover{opacity:.7}.guide-dauphine__modal-video{width:100%;max-height:80vh;display:block}.guide-dauphine__section{margin-top:3rem}.guide-dauphine__section-title{font-family:var(--font-serif);font-size:clamp(1.25rem,3vw,1.5rem);font-weight:400;text-align:center;margin-bottom:2.5rem;letter-spacing:.02em;color:var(--color-text)}.guide-dauphine__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.guide-dauphine__item{background-color:#f5f3f0;padding:1.75rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .3s ease,box-shadow .3s ease}.guide-dauphine__item:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000000d}.guide-dauphine__item-activite{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--color-text);letter-spacing:.02em}.guide-dauphine__item-description{font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--color-text-light);line-height:1.5}@media(max-width:768px){.guide-dauphine{padding:4rem 1.5rem}.guide-dauphine__list{grid-template-columns:1fr;gap:1rem}.guide-dauphine__item{padding:1.5rem}.guide-dauphine__section{margin-top:2.5rem}}.footer{padding:4rem 2rem;background-color:var(--color-bg);border-top:1px solid var(--color-border)}.footer__container{max-width:1000px;margin:0 auto;text-align:center}.footer__names{font-family:var(--font-serif);font-size:1.5rem;font-weight:300;font-style:italic;margin-bottom:.5rem;letter-spacing:.02em}.footer__date{font-family:var(--font-sans);font-size:.875rem;font-weight:300;color:var(--color-text-light);letter-spacing:.1em}.footer__divider{width:50px;height:1px;background-color:var(--color-border);margin:2rem auto}.footer__email{font-family:var(--font-sans);font-size:.875rem;font-weight:300;color:var(--color-text-light);letter-spacing:.05em;transition:color .3s ease}.footer__email:hover{color:var(--color-text)}@media(max-width:768px){.footer{padding:3rem 1.5rem}.footer__names{font-size:1.25rem}}
