/* Château de l’Étang , pré-ouverture 0.7.0 */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/cormorant-garamond-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/cormorant-garamond-latin-ext-400-italic.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/dm-sans-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/dm-sans-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/dm-sans-latin-ext-500-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/dm-sans-latin-500-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

body.cde-po{--po-green:#1E382E;--po-ivory:#F5F1E8;--po-copper:#AC653F;--po-copper-light:#DCC3A3;--po-line-dark:rgba(245,241,232,.24);--po-line:#C9CDBF;--po-soft:#EAEADE;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--paper:var(--po-ivory);--ink:var(--po-green);background:var(--po-ivory);color:var(--po-green);font:16px/1.65 var(--sans);overflow-x:hidden}
body.cde-po-lang-zh{--serif:"Cormorant Garamond","Songti SC","Noto Serif CJK SC","SimSun",Georgia,serif;--sans:"DM Sans","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif}
.cde-po *{box-sizing:border-box}
.cde-po h1,.cde-po h2,.cde-po h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.cde-po em{font-style:italic;font-weight:400}
.cde-po a{color:inherit}
.cde-po a:focus-visible,.cde-po button:focus-visible,.cde-po input:focus-visible,.cde-po textarea:focus-visible{outline:2px solid var(--po-copper);outline-offset:3px}
.cde-po .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cde-po .skip{position:absolute;left:16px;top:-100px;z-index:100;background:var(--po-ivory);color:var(--po-green);padding:10px 14px}
.cde-po .skip:focus{top:12px}
.cde-po .cde-language-links{display:none}

/* En-tête */
.po-header{background:var(--po-green);color:var(--po-ivory);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 42px;border-bottom:1px solid var(--po-line-dark)}
.po-brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-family:Georgia,serif;letter-spacing:.11em;font-size:13px;line-height:1.5}
.po-brand img{width:37px;height:auto;aspect-ratio:675.681/838.655;object-fit:contain;flex-shrink:0;display:block}
.po-header-side{display:flex;align-items:center;gap:26px;font-size:10px;letter-spacing:.17em;font-weight:500}
.po-langs{display:flex;gap:4px}
.po-langs a{text-decoration:none;padding:6px 7px;opacity:.72;letter-spacing:.12em}
.po-langs a[aria-current]{opacity:1;border-bottom:1px solid currentColor}
.po-langs a:hover{opacity:1}
.cde-po .cde-open-pages{background:var(--po-green);color:var(--po-ivory);width:100%;max-width:none;margin:0;padding:0 42px 16px;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px}

/* Communs */
.po-main{display:block}
.po-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.15em;line-height:1.7;font-weight:500;margin:0}
.po-copper{color:#805237}
.po-fine{font-size:12px;line-height:1.65;opacity:.85;margin:0}
.po-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:0;padding:13px 20px;min-height:48px;font:500 13px/1.5 var(--sans);text-decoration:none;cursor:pointer;text-align:center}
.cde-po .po-button-ivory{background:var(--po-ivory);color:var(--po-green)}
.cde-po .po-button-ivory:hover{background:#fff}
.cde-po .po-button-green{background:var(--po-green);color:var(--po-ivory)}
.cde-po .po-button-green:hover{background:#2b4a3d}
.po-button[disabled]{opacity:.7;cursor:default}
.po-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #869487;padding:0 0 8px;margin-top:22px;text-decoration:none;font-size:13px;font-weight:500}
.po-link:hover{border-color:var(--po-green)}
.po-back{display:inline-block;font-size:12px;text-decoration:none;margin-bottom:26px}
.po-back:hover{text-decoration:underline}
.po-visual{margin:0;min-width:0;background:var(--po-ivory);align-self:stretch;display:flex;align-items:center;justify-content:center}
.po-visual img{display:block;width:100%;height:auto}
.po-visual-photo img{height:100%;object-fit:cover}

/* Accueil */
.po-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--po-green);color:var(--po-ivory)}
.po-hero-copy{padding:56px 42px 44px}
.po-reveal{color:var(--po-copper-light);max-width:280px;margin-bottom:25px}
.po-hero h1{font-size:clamp(44px,6.7vw,76px);line-height:.98;margin:0}
.po-signature{font:italic clamp(29px,3.6vw,40px)/1.15 var(--serif);letter-spacing:-.02em;margin:18px 0 0}
.po-rule{width:40px;height:1px;background:#b89671;margin:28px 0 22px}
.po-intro{font-size:15px;line-height:1.85;max-width:420px;color:#e0e4d9;margin:0}
.po-intro sup{font-size:.65em}
.po-coming{display:flex;align-items:center;gap:18px;margin:30px 0 0;font-size:10px;letter-spacing:.23em}
.po-coming span{font:29px/1 var(--serif);letter-spacing:.05em}
.po-signup{background:var(--po-green);color:var(--po-ivory);display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;padding:42px 42px 48px;border-top:1px solid var(--po-line-dark)}
.po-signup h2,.po-invite h2,.po-project h2,.po-story h2{font-size:42px;line-height:1.05;margin:10px 0 15px}
.po-signup>div>p:last-child{font-size:14px;color:#dce2d8;margin:0}
.po-invite{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:44px;padding:50px 42px}
.po-invite h2{margin-bottom:0}
.po-invite p{font-size:15px;line-height:1.9;margin:0;max-width:480px}

/* Formulaires */
.po-form-root{align-self:center;min-width:0}
.po-form{margin:0}
.po-form label{display:block;font-size:13px;line-height:1.5}
.cde-po .po-form input:not([type=checkbox]),.cde-po .po-form textarea{width:100%;min-width:0;border:1px solid #8c9d8e;border-radius:0;background:transparent;color:inherit;padding:12px 13px;font:16px/1.5 var(--sans);margin-top:8px;min-height:48px;-webkit-appearance:none;appearance:none}
.cde-po .po-form textarea{resize:vertical;min-height:96px}
.cde-po .po-form input::placeholder,.cde-po .po-form textarea::placeholder{color:#c7d1c6;opacity:1}
.cde-po .po-form [aria-invalid=true]{border-color:#e7b28f}
.po-email-row{display:flex;align-items:stretch;margin-top:8px}
.cde-po .po-email-row input:not([type=checkbox]){margin:0;border-right:0;flex:1;width:100px}
.po-check{display:flex!important;align-items:flex-start;gap:10px;font-size:12px!important;margin:16px 0 8px;color:#e1e5dc;line-height:1.55;cursor:pointer}
.po-check input{width:18px;height:18px;flex-shrink:0;margin:1px 0 0;accent-color:var(--po-ivory)}
.po-form .po-fine a{text-decoration:underline;text-underline-offset:4px}
.cde-po .cde-field-error{font-size:12px;color:#f0c3a5;margin:4px 0 0;min-height:0}
.cde-po .cde-field-error:empty{display:none}
.cde-po .po-feedback{background:var(--po-ivory);color:var(--po-green);font-size:14px;line-height:1.55;margin-top:16px;padding:14px 16px;border:0;border-left:4px solid var(--po-copper)}
.cde-po .po-feedback:focus{outline:2px solid var(--po-copper);outline-offset:2px}
.cde-po .po-feedback[hidden]{display:none}
.po-field-row{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:17px}
.po-field-row-single{grid-template-columns:1fr}
.po-field{min-width:0}
.po-form-wedding .po-fine{margin:4px 0 17px}
.po-form-wedding .cde-capacity{margin:6px 0 0}
.po-fallback{margin-top:18px;font-size:13px}
.cde-po .po-fallback textarea{width:100%;background:transparent;color:inherit;border:1px solid #8c9d8e;padding:10px;font:14px/1.5 var(--sans);margin-top:6px}
.po-fallback a{text-decoration:underline}

/* Mariages */
.po-wedding-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:30px;padding:34px 42px 42px}
.po-wedding-hero h1{font-size:clamp(42px,5.8vw,66px);line-height:1.03;margin:17px 0 0}
.po-lead{font-size:15px;line-height:1.9;max-width:460px;margin:22px 0 26px}
.po-story{padding:40px 42px 36px;border-top:1px solid var(--po-line);background:var(--po-soft)}
.po-story>p:not(.po-eyebrow):not(.po-fine){font-size:15px;max-width:655px;line-height:1.85;margin:0}
.po-facts{display:grid;grid-template-columns:.8fr .95fr 1.25fr;gap:24px;margin:26px 0 15px;padding-top:18px;border-top:1px solid #b7c0ae}
.po-facts>div{display:flex;flex-direction:column;gap:5px}
.po-fact-value{font:49px/1 var(--serif);letter-spacing:-.035em}
.po-fact-word{font-size:38px;line-height:1.28;font-style:italic}
.po-facts>div>span:last-child{font-size:12px}
.po-project{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding:46px 42px;background:var(--po-green);color:var(--po-ivory)}
.po-project-copy>p:not(.po-eyebrow){font-size:14px;margin:0}
.po-reply{margin-top:22px!important;color:#dce2d8}
.po-mail{display:inline-block;margin-top:14px;font-size:13px;overflow-wrap:anywhere;text-underline-offset:5px}

/* Pages légales */
.po-legal{max-width:780px;margin:0 auto;padding:42px 48px 65px}
.po-legal h1{font-size:56px;line-height:1.05;margin:12px 0 24px}
.po-legal h2{font-size:28px;line-height:1.15;margin:30px 0 10px}
.po-legal p{font-size:14px;line-height:1.9;margin:0 0 10px}
.po-legal a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.po-privacy-lead{font-size:18px!important}
.po-updated{margin-top:30px!important}
.cde-po .cde-legal-fallback{width:auto;max-width:none;margin:0;padding:0}
.cde-po .cde-legal-fallback .contact-details{display:flex;flex-wrap:wrap;gap:14px;margin:8px 0 10px;font-size:14px}

/* Pied de page */
.po-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;padding:26px 42px;border-top:1px solid var(--po-line);font-size:11px;line-height:1.7}
.po-footer-name{font:23px/1.1 var(--serif);margin:0}
.po-footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.po-footer-links nav{display:flex;gap:20px}
.po-footer a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#9aa596}

/* Tablette */
@media(max-width:860px){
 .po-header{padding:20px 26px}
 .po-hero-copy{padding:40px 27px}
 .po-signup,.po-invite,.po-project{padding:36px 27px;gap:28px}
 .po-email-row{flex-direction:column;gap:10px}
 .cde-po .po-email-row input:not([type=checkbox]){border-right:1px solid #8c9d8e;width:100%}
 .po-wedding-hero,.po-story{padding-left:27px;padding-right:27px}
 .po-project{grid-template-columns:1fr}
 .po-footer{padding:24px 27px}
 .cde-po .cde-open-pages{padding:0 26px 14px}
}
/* Mobile */
@media(max-width:600px){
 .po-header{gap:12px;padding:16px 16px}
 .po-brand{font-size:11px;gap:10px}
 .po-brand img{width:31px}
 .po-header-side{flex-direction:column;align-items:flex-end;gap:4px;font-size:9px}
 .po-edition{text-align:right;max-width:130px}
 .po-langs a{padding:4px 5px}
 .po-hero{grid-template-columns:1fr}
 .po-hero-copy{padding:36px 22px 32px}
 .po-hero h1{font-size:54px}
 .po-signup,.po-invite{grid-template-columns:1fr;padding:32px 22px}
 .po-signup h2,.po-invite h2,.po-project h2,.po-story h2{font-size:36px}
 .po-wedding-hero{grid-template-columns:1fr;padding:26px 22px 32px}
 .po-wedding-hero h1{font-size:46px}
 .po-story{padding:32px 22px}
 .po-facts{grid-template-columns:1fr 1fr;gap:18px}
 .po-facts>div:last-child{grid-column:1/-1}
 .po-project{padding:34px 22px}
 .po-field-row{grid-template-columns:1fr;gap:0;margin-bottom:0}
 .po-field{margin-bottom:16px}
 .po-button{width:100%}
 .po-wedding-hero .po-button{width:auto}
 .po-legal{padding:30px 22px 50px}
 .po-legal h1{font-size:44px}
 .po-footer{flex-direction:column;align-items:flex-start;padding:24px 22px}
 .po-footer-links{align-items:flex-start}
 .cde-po .cde-open-pages{padding:0 16px 12px}
}
@media(prefers-reduced-motion:reduce){.cde-po *{scroll-behavior:auto!important}}
@media print{.po-header-side,.po-form-root,.po-back{display:none}.po-hero,.po-signup,.po-project,.po-header{background:none;color:#000}}
.cde-po-lang-zh em,.cde-po-lang-zh .po-fact-word,.cde-po-lang-zh .po-signature{font-style:normal}

/* Questions fréquentes */
.po-faq{padding:46px 42px 54px;max-width:900px}
.po-faq h2{font-size:40px;line-height:1.05;margin:10px 0 22px}
.po-faq details{border-top:1px solid var(--po-line)}
.po-faq details:last-of-type{border-bottom:1px solid var(--po-line)}
.po-faq summary{cursor:pointer;list-style:none;padding:16px 34px 16px 0;position:relative;font-size:15px;font-weight:500}
.po-faq summary::-webkit-details-marker{display:none}
.po-faq summary::after{content:'+';position:absolute;right:4px;top:12px;font:26px/1 var(--serif)}
.po-faq details[open] summary::after{content:'−'}
.po-faq details p{margin:0 0 18px;font-size:14px;line-height:1.8;max-width:720px}
@media(max-width:600px){.po-faq{padding:34px 22px 44px}.po-faq h2{font-size:34px}}
