:root{--ink:#241d20;--muted:#746a6e;--paper:#fbf8f3;--white:#fff;--wine:#701d42;--wine-dark:#4d122d;--gold:#b38a58;--gold-soft:#eadbc8;--line:#e4ddd6;--shadow:0 18px 50px rgba(46,31,36,.10);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:var(--wine);text-decoration-color:rgba(112,29,66,.35);text-underline-offset:3px}a:hover{color:var(--wine-dark)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5{font-family:"Playfair Display",Georgia,serif;line-height:1.15}h2{font-size:clamp(2rem,4vw,4.4rem);margin:.3rem 0 1.2rem}h3{font-size:clamp(1.35rem,2vw,2rem);margin:0 0 1rem}h4{font-size:1.25rem;color:var(--wine);margin:1.4rem 0 .8rem}p{margin:.4rem 0 1rem}.eyebrow{display:block;color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1.15rem;border:1px solid var(--wine);border-radius:999px;background:var(--wine);color:#fff;text-decoration:none;font-weight:700;cursor:pointer;transition:.2s}.button:hover{background:var(--wine-dark);border-color:var(--wine-dark);color:#fff;transform:translateY(-1px)}.button--ghost{background:transparent;color:var(--wine)}.button--ghost:hover{background:#f5eaf0;color:var(--wine-dark)}.button--danger{background:#8f2633;border-color:#8f2633}.text-link{font-weight:700;text-decoration:none}.inline-actions,.hero-actions,.print-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.contenu_banniere{position:fixed;inset:0 0 auto;z-index:30;height:96px;background:rgba(255,255,255,.96);border-bottom:4px solid var(--gold);box-shadow:0 6px 18px rgba(34,26,29,.12);display:grid;place-items:center}.banniere_titre h1{font-family:"Great Vibes",cursive;font-size:3.4rem;font-weight:400;margin:0}.box_contenu{width:min(1240px,calc(100% - 40px));min-height:calc(100vh - 280px);margin:0 auto;padding:132px 0 56px}.pied{width:min(1240px,calc(100% - 40px));margin:auto;padding:28px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;border-top:1px solid var(--gold);font-size:.82rem;color:var(--muted);text-align:center}.pied>div{flex:1}.p_center{flex:1.4!important}.pied strong{color:var(--ink)}
#menu__toggle{position:absolute;opacity:0;pointer-events:none}.menu__btn{position:fixed;top:34px;left:38px;width:42px;height:30px;cursor:pointer;z-index:32}.menu__btn>span,.menu__btn>span:before,.menu__btn>span:after{position:absolute;display:block;width:100%;height:3px;border-radius:3px;background:var(--ink);transition:.25s;content:""}.menu__btn>span{top:13px}.menu__btn>span:before{top:-11px}.menu__btn>span:after{top:11px}#menu__toggle:checked+.menu__btn>span{transform:rotate(45deg)}#menu__toggle:checked+.menu__btn>span:before{top:0;transform:rotate(0)}#menu__toggle:checked+.menu__btn>span:after{top:0;transform:rotate(90deg)}.menu__box{position:fixed;top:0;bottom:0;left:-340px;z-index:31;width:320px;margin:0;padding:110px 22px 30px;list-style:none;background:#fff;box-shadow:12px 0 40px rgba(30,20,25,.18);transition:left .25s;overflow:auto}#menu__toggle:checked~.menu__box{left:0}.menu__logo{text-align:center;margin:-70px 0 18px}.menu__logo img{width:115px!important;margin:auto!important;border-radius:50%}.menu__item{display:block;padding:12px 16px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:650}.menu__item:hover{background:var(--paper);color:var(--wine)}
#module_presentation{width:100%;margin-bottom:28px}#module_presentation>h3,.box_contenu>h3{padding-bottom:12px;border-bottom:1px solid var(--gold)}.bloc_contenu_center_colonne{display:flex;align-items:center;flex-direction:column}.card_contact,.portal-card,.contact-form-card,.login-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card_contact{width:min(760px,100%);padding:24px}.error,.success,.notice{padding:13px 16px;margin:0 0 18px;border:1px solid;border-radius:12px}.error,.notice--error{background:#fff1f2;border-color:#f1b7bd;color:#7d1d28}.success,.notice--success{background:#edf8f1;border-color:#add7bd;color:#225f39}.notice--info{background:#f6f1e9;border-color:#ddc8aa;color:#614c31}
.home-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(32px,6vw,86px);align-items:center;min-height:600px}.home-hero__copy p{max-width:650px;font-size:1.08rem;color:var(--muted)}.home-hero__visual{position:relative}.home-hero__visual img{width:100%;height:570px;object-fit:cover;border-radius:140px 16px 140px 16px;box-shadow:var(--shadow)}.hero-signature{position:absolute;right:-10px;bottom:28px;padding:18px 24px;background:#fff;border-left:3px solid var(--gold);box-shadow:var(--shadow)}.hero-signature span,.hero-signature strong{display:block}.promise-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:70px 0;padding:28px 0;border-block:1px solid var(--line)}.promise-strip div{padding:0 26px;border-right:1px solid var(--line)}.promise-strip div:last-child{border:0}.promise-strip strong,.promise-strip span{display:block}.promise-strip span{font-size:.88rem;color:var(--muted)}.editorial-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;padding:50px 0}.editorial-section__title h2{font-size:clamp(2rem,3.7vw,3.7rem)}.editorial-section__text{font-family:"Playfair Display",serif;font-size:1.25rem;color:#554a4e}.image-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:40px 0 90px}.image-triptych figure{margin:0}.image-triptych img{width:100%;height:360px;object-fit:cover;border-radius:var(--radius)}.image-triptych figure:nth-child(2){transform:translateY(30px)}.image-triptych figcaption{padding:12px 4px;font-family:"Playfair Display",serif}.closing-cta{padding:70px;border-radius:var(--radius);background:var(--wine-dark);color:#fff;text-align:center}.closing-cta .eyebrow{color:#dfbd8f}.closing-cta h2{font-size:clamp(2rem,4vw,3.6rem)}.closing-cta p{color:#e9dfe3}.closing-cta .button{background:var(--gold);border-color:var(--gold);color:#211719}.closing-cta--compact{margin-top:50px;padding:50px}
.offers-intro,.gallery-intro{max-width:850px;margin:20px auto 60px;text-align:center}.offers-intro p,.gallery-intro p{font-size:1.1rem;color:var(--muted)}.common-inclusions,.offer-note{padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.inclusion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.inclusion-grid strong,.inclusion-grid span{display:block}.inclusion-grid span{font-size:.88rem;color:var(--muted)}.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin:32px 0}.offer-card{display:flex;flex-direction:column;padding:38px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.offer-card--signature{background:var(--wine-dark);color:#fff;border-color:var(--wine-dark)}.offer-card--signature p,.offer-card--signature li{color:#eadfe4}.offer-card--signature .button--ghost{color:#fff;border-color:#fff}.offer-card header p{color:var(--muted)}.offer-highlights{padding:0;list-style:none;flex:1}.offer-highlights li{position:relative;padding:10px 0 10px 28px;border-bottom:1px solid rgba(150,130,140,.18)}.offer-highlights li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}.offer-card footer{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:28px}.offer-card footer span,.offer-card footer strong{display:block}.offer-card footer strong{font:700 2.2rem "Playfair Display",serif}.offer-note{margin-top:30px;text-align:center}
.gallery--premium{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.gallery-item{position:relative;margin:0;overflow:hidden;border-radius:var(--radius);min-height:360px;background:#ddd}.gallery-item--large{grid-row:span 2;min-height:744px}.gallery-item--wide{grid-column:span 2;min-height:420px}.gallery-image{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-item:hover .gallery-image{transform:scale(1.03)}.gallery-item figcaption{position:absolute;inset:auto 0 0;padding:55px 24px 22px;background:linear-gradient(transparent,rgba(20,13,16,.82));color:#fff}.gallery-item figcaption strong,.gallery-item figcaption span{display:block}.gallery-item figcaption strong{font:600 1.4rem "Playfair Display",serif}
.contact-page,.login-page{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start;padding:30px 0}.contact-intro,.login-copy{position:sticky;top:130px}.contact-intro h2,.login-copy h2{font-size:clamp(2.3rem,4vw,4.2rem)}.contact-intro>p,.login-copy>p{color:var(--muted);font-size:1.08rem}.contact-details{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.contact-form-card,.login-card{padding:34px}.login-card{text-align:center}.login-card__icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:50%;background:#e8f5ed;color:#23603c;font-size:2rem}.premium-form{display:grid;gap:14px;margin-top:18px}.premium-form--grid{grid-template-columns:repeat(2,1fr)}.premium-form label{display:grid;gap:6px;font-size:.85rem;font-weight:700}.premium-form input,.premium-form select,.premium-form textarea{width:100%;padding:12px 13px;border:1px solid #cfc5c8;border-radius:10px;background:#fff;color:var(--ink)}.premium-form input:focus,.premium-form select:focus,.premium-form textarea:focus{outline:3px solid rgba(179,138,88,.2);border-color:var(--gold)}.field-full{grid-column:1/-1}.captcha-box>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.captcha-box img{width:300px;max-width:100%;border:1px solid var(--line);border-radius:8px}.captcha-box input{max-width:300px;text-transform:uppercase;letter-spacing:.18em}
.portal-page{display:grid;gap:24px}.portal-hero{display:flex;justify-content:space-between;gap:30px;align-items:end;padding:36px 42px;border-radius:var(--radius);background:linear-gradient(135deg,#fff 0,#f5ece8 100%);border:1px solid var(--line)}.portal-hero h2{font-size:clamp(2rem,4vw,3.8rem);margin:.25rem 0}.portal-hero__status{text-align:right}.portal-hero__status small,.contract-status{display:block}.contract-status{padding:8px 13px;border-radius:999px;background:#f2e5cc;font-weight:700}.contract-status--done,.contract-status--deposit{background:#dff1e5;color:#235a38}.contract-status--cancelled{background:#f7dfe2;color:#842936}.portal-nav{position:sticky;top:96px;z-index:10;display:flex;gap:8px;padding:10px;background:rgba(251,248,243,.94);backdrop-filter:blur(10px);overflow:auto}.portal-nav a{white-space:nowrap;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;font-size:.86rem;font-weight:700}.portal-card{padding:30px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.card-heading h3{margin:.2rem 0}.contract-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.contract-grid div{padding:17px;background:#fff}.contract-grid dt,.simple-list dt{font-size:.73rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.contract-grid dd,.simple-list dd{margin:4px 0 0;font-weight:650}.contract-grid .amount{color:var(--wine);font-size:1.2rem}.contract-note,.signature-box,.signed-box,.payment-box{margin-top:20px;padding:20px;border-radius:12px;background:#f8f3ed}.signature-box{border-left:3px solid var(--gold)}.check-row{display:flex!important;grid-template-columns:auto 1fr;align-items:start;gap:10px;margin:14px 0}.check-row input{width:auto}.signed-box{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#edf7f0}.signed-box small,.staff-list small,.message time{display:block;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.staff-list{display:grid;gap:12px}.staff-list>div{display:flex;align-items:center;gap:13px}.staff-list>div>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--wine);color:#fff;font-weight:700}.staff-list p{margin:0}.simple-list{display:grid;grid-template-columns:auto 1fr;gap:12px 20px}.simple-list dd{text-align:right}.timeline{display:grid}.timeline>div{display:grid;grid-template-columns:60px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.timeline p{margin:0}.timeline small{display:block;color:var(--muted)}.icon-button{border:0;background:none;color:#a33;font-size:1.3rem;cursor:pointer}.portal-card details{margin-top:18px}.portal-card summary{cursor:pointer;font-weight:700;color:var(--wine)}.music-tags{display:flex;gap:8px;flex-wrap:wrap}.music-tag{display:flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#f0ecee}.music-tag--indispensable{background:#e5f1e8}.music-tag--interdite{background:#f8e2e4}.music-tag button{border:0;background:none;cursor:pointer}.amendment{padding:20px 0;border-top:1px solid var(--line)}.amendment header,.amendment li{display:flex;justify-content:space-between;gap:20px}.amendment small{display:block;color:var(--muted)}.amendment ul{padding:0;list-style:none}.amendment li{padding:8px 0;border-bottom:1px dashed var(--line)}.amendment-total{text-align:right}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1ecef;font-size:.78rem;font-weight:700}.table-scroll{overflow:auto}.premium-table{width:100%;border-collapse:collapse}.premium-table th,.premium-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.premium-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.message-thread{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow:auto}.message{max-width:82%;padding:14px 16px;border-radius:14px;background:#f2eeee}.message--client{align-self:flex-end;background:#f1e5eb}.message header{display:flex;justify-content:space-between;gap:18px}.message p{margin:.45rem 0 0}.photo-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:34px;border-radius:var(--radius);background:var(--wine-dark);color:#fff}.photo-cta h3{margin:.3rem 0}.integrity{padding:14px;color:var(--muted)}.integrity code{display:block;overflow-wrap:anywhere;margin-top:10px}.portal-empty{padding:70px 25px;text-align:center}.portal-empty>span{font-size:2.5rem}.portal-empty--compact{padding:35px}.privacy-badge{padding:8px 12px;border-radius:999px;background:#f0e8de;font-size:.8rem}.portal-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.gallery-tabs{display:flex;gap:8px;overflow:auto}.gallery-tabs a{padding:8px 12px;border-radius:999px;background:#fff;text-decoration:none}.gallery-tabs .is-active{background:var(--wine);color:#fff}.private-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.private-photo-card{overflow:hidden;border:1px solid var(--line);border-radius:12px}.private-photo-card button{display:block;width:100%;padding:0;border:0;cursor:pointer}.private-photo-card img{width:100%;aspect-ratio:1;object-fit:cover}.private-photo-card a{display:block;padding:10px;text-align:center;font-weight:700}.photo-lightbox{width:min(92vw,1100px);padding:50px 12px 12px;border:0;border-radius:16px;background:#171215}.photo-lightbox::backdrop{background:rgba(10,7,8,.85)}.photo-lightbox img{max-height:82vh;margin:auto}.photo-lightbox button{position:absolute;top:8px;right:14px;border:0;background:none;color:#fff;font-size:2rem;cursor:pointer}
.invoice-document,.print-contract{max-width:920px;margin:auto;padding:40px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.invoice-document>header,.print-contract>header{display:flex;justify-content:space-between;align-items:start;padding-bottom:22px;border-bottom:2px solid var(--ink)}.invoice-parties{display:grid;grid-template-columns:repeat(2,1fr);gap:45px;margin:30px 0}.invoice-meta,.print-contract dl{display:grid;grid-template-columns:1fr 2fr;gap:8px 20px;padding:18px;background:#f8f5f0}.invoice-meta dd,.print-contract dd{margin:0}.invoice-total{display:flex;flex-direction:column;align-items:end;gap:5px;margin:25px 0;font-size:1.25rem}.invoice-total small{font-size:.75rem}.print-contract section{margin:28px 0}.print-contract__meta{display:flex;justify-content:space-between;margin:20px 0}.print-brand{font:400 2.4rem "Great Vibes",cursive}.document-hash{overflow-wrap:anywhere;font-size:.78rem}
@media(max-width:900px){.home-hero,.contact-page,.login-page,.editorial-section{grid-template-columns:1fr}.home-hero__visual img{height:440px}.contact-intro,.login-copy{position:static}.promise-strip,.inclusion-grid{grid-template-columns:repeat(2,1fr)}.promise-strip div{border:0;border-bottom:1px solid var(--line);padding:18px}.offer-grid,.portal-grid{grid-template-columns:1fr}.contract-grid{grid-template-columns:repeat(2,1fr)}.image-triptych{grid-template-columns:1fr 1fr}.image-triptych figure:nth-child(2){transform:none}.portal-nav{top:82px}.gallery-item--large{min-height:520px}}
@media(max-width:620px){.contenu_banniere{height:82px}.banniere_titre h1{font-size:2.45rem}.menu__btn{top:28px;left:20px;width:34px}.box_contenu{width:min(100% - 24px,1240px);padding-top:108px}.pied{width:calc(100% - 24px)}#p_gauche,#p_droit{display:none}.p_center{width:100%}.home-hero{min-height:auto}.home-hero__visual img{height:370px;border-radius:70px 12px}.hero-signature{right:0}.promise-strip,.inclusion-grid,.offer-grid,.image-triptych,.gallery--premium,.premium-form--grid,.private-photo-grid{grid-template-columns:1fr}.gallery-item--large,.gallery-item--wide{grid-column:auto;grid-row:auto;min-height:380px}.closing-cta{padding:45px 20px}.offer-card{padding:25px}.offer-card footer,.portal-hero,.portal-heading,.photo-cta,.signed-box{align-items:flex-start;flex-direction:column}.portal-hero{padding:28px}.portal-hero__status{text-align:left}.portal-card{padding:20px}.contract-grid{grid-template-columns:1fr}.card-heading{align-items:flex-start;flex-direction:column}.premium-table th,.premium-table td{padding:10px}.message{max-width:95%}.invoice-document,.print-contract{padding:20px}.invoice-parties{grid-template-columns:1fr;gap:10px}.invoice-document>header,.print-contract>header{flex-direction:column;gap:10px}.menu__box{width:285px}.pied{font-size:.76rem}}
@media print{.contenu_banniere,.pied,.no-print,.portal-nav{display:none!important}.box_contenu{width:100%;margin:0;padding:0}.invoice-document,.print-contract{max-width:none;border:0;box-shadow:none;padding:15mm}body{background:#fff}}
