:root{--green:#244a3a;--green2:#3f6d55;--sage:#e8eee5;--cream:#faf8f1;--paper:#fffefa;--ink:#202b25;--muted:#69746d;--line:#dfe5dc;--gold:#c7a56b;--danger:#a83d35;--radius:18px;--shadow:0 12px 34px rgba(31,55,40,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}a{color:var(--green2)}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:12px;z-index:99;background:#fff;padding:12px}
.hero{position:relative;isolation:isolate;min-height:570px;color:white;background:linear-gradient(90deg,rgba(19,47,35,.91),rgba(19,47,35,.72) 52%,rgba(19,47,35,.16)),url("images/banniere.jpg") center/cover no-repeat,#244a3a}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,35,25,.2),transparent 45%);z-index:-1}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 0}.brand{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-weight:700;font-size:1.12rem;line-height:1.15}.brand small{display:block;font-size:.69rem;font-weight:400;letter-spacing:.02em;opacity:.8;margin-top:5px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 50% 50% 12%;background:#f3e9d5;color:var(--green);font-family:"Playfair Display",serif;font-size:1.5rem}.nav-contact{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.6);padding:9px 16px;border-radius:999px;font-size:.9rem}.hero-content{padding:62px 0 78px;max-width:1160px}.eyebrow{font-size:.72rem;letter-spacing:.17em;font-weight:700;color:var(--green2);margin:0 0 12px}.hero .eyebrow{color:#e5d1a6}.hero h1{font:600 clamp(2.4rem,5vw,4.55rem)/1.08 "Playfair Display",Georgia,serif;max-width:760px;margin:0 0 22px;letter-spacing:-.025em}.hero h1 em{color:#e5d1a6;font-weight:500}.hero-copy{font-size:1.08rem;max-width:650px;color:rgba(255,255,255,.9);margin:0 0 28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--green);color:#fff}.hero .button-primary{background:#f0dfbd;color:#203d2f}.hero-note{font-size:.82rem;color:rgba(255,255,255,.8);margin:12px 0 0}.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;padding-top:72px;padding-bottom:72px}.intro h2,.section-heading h2,.principles h2,.contact-grid h2{font:600 clamp(1.9rem,3vw,2.7rem)/1.15 "Playfair Display",Georgia,serif;letter-spacing:-.02em;margin:0}.intro-copy p{margin:0 0 20px;color:var(--muted)}.feature-row{display:flex;gap:10px;flex-wrap:wrap}.feature-row span{font-size:.82rem;background:var(--sage);color:var(--green);border-radius:999px;padding:7px 11px}.program-section{background:var(--cream);padding:70px 0}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.progress-box{width:min(280px,100%);font-size:.82rem;color:var(--muted)}.progress-track{height:7px;background:#e2e6de;border-radius:9px;margin-top:8px;overflow:hidden}.progress-track div{width:0;height:100%;background:var(--green2);border-radius:9px;transition:width .2s}.phase-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}.phase-tab{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;text-align:left;color:var(--ink);cursor:pointer;font-weight:700}.phase-tab small{display:block;color:var(--muted);font-size:.75rem;font-weight:400}.phase-tab.active{border-color:var(--green2);background:var(--sage);box-shadow:inset 0 0 0 1px var(--green2)}.day-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}.day-sidebar,.day-content,.shopping-panel,.shopping-output{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.day-sidebar{padding:18px}.day-sidebar h3{margin:0 0 13px;font-size:1rem}.day-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.day-button{border:1px solid var(--line);background:#fff;padding:9px;border-radius:10px;cursor:pointer;color:var(--ink);text-align:left;font-size:.83rem}.day-button.active{background:var(--green);color:#fff;border-color:var(--green)}.day-button.done::after{content:" ✓";color:#79a77e}.day-button.active.done::after{color:#fff}.day-content{padding:24px;min-height:450px}.day-head{display:flex;justify-content:space-between;align-items:start;gap:15px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:18px}.day-head h3{font:600 1.75rem "Playfair Display",Georgia,serif;margin:0}.day-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.check-day{display:flex;align-items:center;gap:8px;font-size:.82rem;white-space:nowrap}.meal-card{display:grid;grid-template-columns:142px minmax(0,1fr);gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.meal-card:last-child{border-bottom:0}.meal-image{width:142px;height:128px;object-fit:cover;border-radius:13px;background:var(--sage)}.meal-type{color:var(--green2);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px}.meal-card h4{font:600 1.25rem/1.2 "Playfair Display",Georgia,serif;margin:0 0 8px}.meal-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.78rem;margin-bottom:9px}.meal-card p{font-size:.9rem;margin:0 0 8px}.ingredients{color:var(--muted);font-size:.84rem!important}.recipe-toggle{border:0;background:transparent;color:var(--green2);font-weight:700;padding:5px 0;cursor:pointer}.recipe-steps{background:var(--cream);padding:12px 15px;border-radius:10px;margin-top:8px;font-size:.87rem}.recipe-steps ol{margin:6px 0;padding-left:20px}.day-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:20px}.button-outline{background:#fff;border-color:var(--green2);color:var(--green)}.button-small{padding:9px 13px;font-size:.84rem}.shopping-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;margin-top:22px}.shopping-panel h3{margin:0;font:600 1.55rem "Playfair Display",Georgia,serif}.shopping-panel p:last-child{margin:6px 0 0;color:var(--muted);font-size:.9rem}.shopping-output{padding:24px;margin-top:14px}.shopping-output h3{margin-top:0}.shopping-list{columns:2;column-gap:30px;padding-left:22px}.shopping-list li{break-inside:avoid;margin-bottom:5px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;padding-top:80px;padding-bottom:80px}.principles-image{min-height:420px;border-radius:var(--radius);background:url("images/repas-equilibre.jpg") center/cover no-repeat,var(--sage)}.principles-copy ul{padding-left:21px}.principles-copy li{padding:5px 0}.small-note{font-size:.8rem;color:var(--muted);border-left:3px solid var(--gold);padding-left:13px;margin-top:20px}.contact-section{background:#edf1e9;padding:76px 0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}.contact-grid>div>p:not(.eyebrow){color:var(--muted)}.contact-promise{display:flex;gap:12px;margin-top:25px;align-items:start}.contact-promise>span{background:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;color:var(--green);flex:none}.contact-promise p{margin:0}.contact-promise small{color:var(--muted)}.contact-form{background:#fff;padding:26px;border-radius:var(--radius);box-shadow:var(--shadow)}.contact-form label{display:block;font-size:.85rem;font-weight:700;margin-bottom:15px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #d6ded4;background:#fff;border-radius:9px;padding:11px 12px;margin-top:6px;color:var(--ink)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #93b49b;outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.optional{font-weight:400;color:var(--muted)}.consent{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important;font-size:.78rem!important;line-height:1.5}.consent input{margin-top:4px;flex:none}.marketing-consent{margin-top:-5px}.button-full{width:100%}.form-status{font-size:.88rem;margin:12px 0 0}.form-status.error{color:var(--danger)}.form-status.success{color:var(--green2)}.form-legal{font-size:.72rem;color:var(--muted);margin-bottom:0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{background:#1c392c;color:#fff;padding:24px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer p,.footer a:not(.brand){font-size:.78rem;color:rgba(255,255,255,.75)}.brand-footer{font-size:1rem}.brand-footer .brand-mark{width:36px;height:36px}.loading-card{padding:40px;text-align:center;color:var(--muted)}.notice{background:#fff4dd;border:1px solid #ead5a5;padding:12px 14px;border-radius:10px;font-size:.82rem;margin-top:18px}
@media(max-width:800px){.intro,.principles,.contact-grid{grid-template-columns:1fr;gap:28px}.intro{padding-block:52px}.section-heading{align-items:start;flex-direction:column}.progress-box{width:100%}.day-layout{grid-template-columns:1fr}.day-sidebar{padding:14px}.day-list{grid-template-columns:repeat(5,minmax(0,1fr))}.day-button{padding:8px 5px;text-align:center}.principles{padding-block:55px}.principles-image{min-height:300px}.contact-section{padding:55px 0}.footer-inner{flex-wrap:wrap}.hero-content{padding-top:42px}.hero{min-height:530px}}
@media(max-width:520px){.container{width:min(100% - 26px,1160px)}.hero{min-height:590px;background-position:60% center}.hero-content{padding:52px 0}.hero-copy{font-size:1rem}.nav-contact{font-size:.8rem;padding:8px 12px}.phase-tabs{grid-template-columns:repeat(2,1fr)}.day-content{padding:16px}.day-head{flex-direction:column}.day-list{grid-template-columns:repeat(4,minmax(0,1fr))}.meal-card{grid-template-columns:94px minmax(0,1fr);gap:12px}.meal-image{width:94px;height:104px}.meal-card h4{font-size:1.08rem}.meal-meta{gap:7px}.shopping-panel{align-items:flex-start;flex-direction:column}.shopping-list{columns:1}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:18px}.footer-inner{align-items:flex-start;flex-direction:column}.principles-image{min-height:240px}}
@media print{.topbar,.nav-contact,.hero .button,.phase-tabs,.day-sidebar,.shopping-panel,.contact-section,.footer,.day-actions,.recipe-toggle{display:none!important}.hero{min-height:0;background:none;color:#000}.hero-content{padding:15px 0}.hero h1{font-size:25pt}.hero-copy,.hero-note{color:#333}.program-section{padding:0;background:#fff}.day-layout{display:block}.day-content{box-shadow:none;border:0;padding:0}.meal-card{break-inside:avoid}.meal-image{width:90px;height:80px}.principles{padding:20px 0}.principles-image{display:none}.shopping-output{display:block!important;box-shadow:none}.container{width:100%}}
.footer-legal{text-align:center;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);font-size:.74rem;color:rgba(255,255,255,.65)}
.footer-legal p{margin:3px 0;font-size:inherit;color:inherit}
.footer-legal a{color:rgba(255,255,255,.85)}
