@font-face{font-family:'Lindsey';src:url('assets/lindsey.otf') format('opentype');font-display:swap;}
:root{--cream:#F6F2EF;--rose:#D9839D;--rose-deep:#C06A88;--sage:#6C8A70;--sage-text:#567159;--sage-line:rgba(108,138,112,.32);--pink-pale:#F8E7ED;--pink-mist:#FBF1F4;--ink:#4E4740;--ink-soft:#8A8178;--script:'Lindsey',cursive;--serif:'Cormorant Garamond',Georgia,serif;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:18.5px;font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:var(--sage);transition:color .3s cubic-bezier(.22,.61,.36,1);}
a:hover{color:var(--rose);}
img{display:block;}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.sc{letter-spacing:.2em;text-transform:uppercase;font-size:14px;color:var(--sage-text);font-weight:600;}
.sc.rose{color:var(--rose);}
.script{font-family:var(--script);font-weight:400;}
/* topbar */
.topbar{position:sticky;top:0;z-index:40;background:rgba(246,242,239,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--sage-line);}
.tb-in{max-width:1200px;margin:0 auto;padding:12px 28px;display:flex;align-items:center;gap:28px;}
.tb-logo{display:block;width:54px;}
.tb-logo img{width:100%;mix-blend-mode:multiply;}
.menu{display:flex;gap:26px;list-style:none;margin-left:auto;flex-wrap:wrap;align-items:center;}
.menu a{font-size:13.5px;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:var(--sage-text);padding:6px 1px;border-bottom:1.5px solid transparent;font-weight:500;}
.menu a:hover{color:var(--rose);}
.menu a[aria-current="page"]{color:var(--rose);border-bottom-color:var(--rose);}
.btn{display:inline-block;font-family:var(--serif);font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-decoration:none;border-radius:999px;padding:13px 26px;transition:all .35s cubic-bezier(.22,.61,.36,1);text-align:center;}
.btn-rose{background:var(--rose);color:#fff;}
.btn-rose:hover{background:var(--rose-deep);color:#fff;transform:translateY(-1px);}
.btn-line{border:1px solid var(--sage);color:var(--sage);}
.btn-line:hover{background:var(--sage);color:#fff;transform:translateY(-1px);}
.btn-line.rose{border-color:var(--rose);color:var(--rose);}
.btn-line.rose:hover{background:var(--rose);color:#fff;}
.nav-toggle{display:none;background:none;border:1px solid var(--sage);color:var(--sage-text);border-radius:999px;padding:10px 20px;font-family:var(--serif);font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;cursor:pointer;}
/* pastilles de section */
.pill{display:inline-block;font-family:var(--serif);color:#fff;background:var(--sage);font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1;padding:14px 26px;border-radius:999px;}
.pill.pink{background:#FCFAF8;border:1px solid #D9839D;color:#C06A88;}
.pill.sm{font-size:13.5px;padding:11px 20px;}
/* page head */
.phead{text-align:center;padding:64px 28px 8px;}
.phead h1{font-family:var(--script);color:var(--rose);font-size:clamp(52px,8vw,84px);line-height:1.05;font-weight:400;}
.phead .sub{font-style:italic;color:var(--sage);font-size:21px;margin-top:6px;}
.phead .sc{display:block;margin-bottom:16px;}
.script-bold{-webkit-text-stroke:1px currentColor;}
.phead h1{-webkit-text-stroke:1.2px var(--rose);}
/* séparateur — ◆ — */
.sep{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--rose);margin:22px auto;font-size:10px;letter-spacing:0;}
.sep::before,.sep::after{content:"";width:34px;height:1px;background:var(--rose);opacity:.55;}
/* listes prix */
.row{display:flex;align-items:baseline;gap:10px;padding:8px 0;}
.row .nm{font-size:18px;}
.row .nm small{display:block;font-size:14.5px;color:var(--ink-soft);font-style:italic;line-height:1.4;}
.row .lead{flex:1;border-bottom:1.5px dotted rgba(108,138,112,.55);transform:translateY(-4px);min-width:22px;}
.row .pr{color:var(--ink);font-weight:600;font-size:18.5px;white-space:nowrap;}
/* cartes & encarts */
.card{background:#FCFAF8;border:1px solid var(--sage-line);border-radius:24px;padding:32px 34px;transition:transform .4s cubic-bezier(.22,.61,.36,1);}
.card.pink{background:var(--pink-mist);border-color:rgba(217,131,157,.3);}
.inset{background:var(--pink-mist);border:1px solid rgba(217,131,157,.28);border-radius:14px;padding:12px 22px;text-align:center;font-style:italic;color:var(--rose-deep);font-size:16.5px;}
/* bandeau bas */
.band{background:var(--sage);color:var(--cream);text-align:center;padding:26px 20px;font-size:20px;font-style:italic;letter-spacing:.03em;}
.band .h{font-style:normal;margin:0 16px;font-size:16px;}
.fmeta{text-align:center;padding:24px 20px 30px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);line-height:2;}
/* filigrane logo */
.wmwrap{position:relative;overflow:hidden;}
.wm{position:absolute;background:url('assets/logo.jpeg') center/contain no-repeat;opacity:.055;pointer-events:none;user-select:none;}
/* motion douce */
@media (prefers-reduced-motion:no-preference){
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);}
.rv.on{opacity:1;transform:none;}
}
section.pad{padding:56px 0;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;}
@media(max-width:920px){.grid3{grid-template-columns:1fr;}.grid2{grid-template-columns:1fr;}}
@media(max-width:760px){
.tb-in{flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;}
.nav-toggle{display:inline-block;order:2;}
.tb-in>.btn{order:3;width:100%;}
.menu{display:none;order:4;margin-left:0;width:100%;flex-direction:column;gap:0;padding:6px 0 10px;border-top:1px dotted var(--sage-line);}
.menu.open{display:flex;}
.menu a{display:block;padding:12px 4px;text-align:center;font-size:15px;border-bottom:none;}
.menu a[aria-current="page"]{background:var(--pink-mist);border-radius:10px;}
.phead{padding-top:40px;}
.phead h1{font-size:clamp(42px,13vw,60px);}
section.pad{padding:40px 0;}
body{font-size:17.5px;}
.wrap{padding:0 20px;}
.card{padding:26px 22px;}
.band{font-size:17px;padding:22px 16px;}
}
