/* Shared DietForge Cobalt design for standalone guides and interactive tools. */
:root{color-scheme:light;--ink:#0F1217;--muted:#565E6B;--surface:#fff;--line:#E2E5EA;--accent:#2350D8;--accent-text:#1D44B8;--tint:#EDF2FF;--paper:#F5F6F8;--paper-ink:var(--ink);--green:#18794E;--orange:var(--accent);--orange-light:var(--accent-text);font-family:'Red Hat Text',sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.65}a{color:var(--accent-text);text-underline-offset:3px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3{font-family:'Red Hat Display',sans-serif;color:var(--ink);font-weight:500;letter-spacing:-.035em;text-wrap:balance}h1{max-width:980px;margin:0;font-size:clamp(38px,5.1vw,64px);line-height:1.08}h2{font-size:clamp(28px,3.2vw,40px);line-height:1.15;margin:0 0 18px}h3{font-size:22px;line-height:1.3;margin:0 0 12px}p{margin:0 0 18px;overflow-wrap:break-word}.shell{width:min(1184px,calc(100% - 64px));margin:0 auto}.skip{position:absolute;left:18px;top:-80px;z-index:50;padding:10px 14px;color:var(--accent-text);background:#fff}.skip:focus{top:12px}
header{position:relative;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}.public-nav{min-height:80px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;margin-right:auto;flex:none}.brand img{width:142px;height:28px;object-fit:contain}.public-nav>a:not(.brand){font-size:14px;text-decoration:none;color:var(--muted);white-space:nowrap}.public-nav>a:hover{color:var(--accent-text)}.public-nav .button{color:#fff!important;min-height:42px;padding:9px 18px}.public-resources{position:relative}.public-resources summary{cursor:pointer;color:var(--muted);font-size:14px;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}.public-resources summary::-webkit-details-marker{display:none}.public-resources summary::after{content:'⌄';font-size:17px}.public-resources[open] summary{color:var(--accent-text)}.public-resources>div{position:absolute;right:0;top:48px;min-width:270px;max-width:calc(100vw - 32px);max-height:70vh;overflow:auto;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 32px #0f121714}.public-resources a{display:block;min-height:44px;padding:10px 12px;color:var(--ink);font-size:14px;text-decoration:none;border-radius:3px}.public-resources a:hover,.public-resources a[aria-current=page]{background:var(--tint);color:var(--accent-text)}
section,main>section{padding:72px 0}.hero{position:relative;padding:80px 0 64px;background:var(--paper);overflow:hidden}.hero::before,.hero::after{display:none}.hero-content,.herocontent{position:relative;padding:0;max-width:1184px}.eyebrow,.meta,.number,.privacy{font-family:'Red Hat Mono',monospace}.eyebrow{font-size:11px;letter-spacing:.07em;color:var(--accent-text);font-weight:500;line-height:1.6;text-transform:uppercase;margin:0 0 20px}.lede{font-size:19px;line-height:1.7;color:var(--muted);max-width:800px;margin:24px 0 0}.meta,.privacy{margin:22px 0 0;color:var(--muted);font-size:12px}.actions,.toolactions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button,.download{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:1px solid var(--accent);border-radius:3px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.5}.button:hover,.download:hover{background:var(--accent-text);border-color:var(--accent-text)}.button.secondary{background:var(--surface);color:var(--ink);border-color:#CDD2DA}.button.secondary:hover{background:var(--tint);border-color:var(--accent)}.download{margin-top:24px}.answer{position:relative;margin:0 auto 48px;padding:28px 32px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px}.answer strong{display:block;font:500 11px/1.6 'Red Hat Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-text);margin-bottom:12px}.answer p{margin:0;max-width:960px;color:var(--muted);font-size:17px;line-height:1.7}
.paper,.faq,.sources{background:var(--surface);color:var(--ink)}.dark,.checklist,.workflow{background:var(--paper)}.section-head,.sectionhead,.twocol{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start;margin-bottom:36px}.section-head h2,.sectionhead h2,.twocol h2{margin:0}.section-head p,.sectionhead p,.twocol p,.copy p{color:var(--muted);font-size:17px;line-height:1.75;margin:0 0 20px}.cards,.principles,.steps,.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card,.principle,.step,.checks .check{padding:28px;border:1px solid var(--line);border-radius:4px;background:var(--surface);min-width:0}.card .number,.step .number,.principle>span,.flow .number,.pilot>article>span{display:block;color:var(--accent-text);font:500 11px/1.6 'Red Hat Mono',monospace;margin-bottom:20px}.card p,.step p,.principle p,.check p,.flow p,.pilot p{color:var(--muted);font-size:15px;line-height:1.75;margin:0}.flow,.workflow:not(section),.pilot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.flow article,.workflow article,.pilot article{background:var(--surface);padding:28px;border:1px solid var(--line);border-radius:4px;min-width:0}.flow h3,.workflow h3,.pilot h3{margin:0 0 12px;font-size:21px}.scope,.callout,.warning{padding:36px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.scope p,.callout p,.warning p{max-width:900px;color:var(--muted);font-size:17px;margin:18px 0 0}.scope strong{color:var(--accent-text)}.source-list,.sourcelist{display:grid}.source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}.source:last-child{border-bottom:1px solid var(--line)}.source h3{font-size:20px;margin-bottom:8px}.source p{color:var(--muted);font-size:15px;margin:0}.source a{font-size:14px;font-weight:600}.faq-list,.faqlist{border-top:1px solid var(--line)}.faq-item,.faqitem{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;padding:26px 0;border-bottom:1px solid var(--line)}.faq-q,.faqq{font-size:20px;margin:0}.faq-a,.faqa{font-size:16px;color:var(--muted);margin:0}.final,.cta{text-align:center;background:var(--tint);border-top:1px solid #DCE4FF}.final h2,.cta h2{max-width:850px;margin:0 auto}.final p,.cta p{max-width:760px;color:var(--muted);margin:22px auto 0;font-size:17px}.final .button,.cta .button{margin-top:28px}footer{padding:32px 0;background:var(--surface);border-top:1px solid var(--line);color:var(--muted)}footer .shell{display:flex;justify-content:space-between;gap:24px;font-size:13px}footer p{margin:0}footer a{display:inline-block;padding:6px 0;color:var(--muted)}
/* Calculator and buyer checklist preserve their existing controls and behavior. */
.calculator{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:start}.panel,.tool{padding:28px;border:1px solid var(--line);border-radius:4px;background:var(--surface);min-width:0}.panel h2{font-size:28px}.panelintro{color:var(--muted);font-size:15px;margin-bottom:28px}.shared{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}.programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}fieldset{min-width:0;margin:0;padding:20px;border:1px solid var(--line);border-radius:4px}legend{padding:0 8px;color:var(--ink);font-weight:600;font-size:15px}label{display:block;margin:0 0 16px;color:var(--muted);font-size:14px}input:not([type=checkbox]){width:100%;min-width:0;margin-top:7px;padding:11px 12px;border:1px solid #CDD2DA;border-radius:3px;background:var(--surface);color:var(--ink);font:400 15px/1.5 'Red Hat Mono',monospace}input[type=checkbox]{accent-color:var(--accent)}.results{display:grid;gap:16px}.result{padding:20px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}.result span{display:block;color:var(--muted);font-size:13px}.result strong{display:block;margin-top:8px;font:500 clamp(24px,3vw,32px)/1.2 'Red Hat Mono',monospace;overflow-wrap:anywhere}.result.highlight{background:var(--tint);border-color:#DCE4FF}.result.highlight strong{color:var(--accent-text)}.delta.good{color:var(--green)}.delta.bad{color:#B3261E}.formula{margin:24px 0 0;padding:18px;border-left:3px solid var(--accent);background:var(--paper);color:var(--muted);font-size:14px}.copy ol{padding-left:22px;color:var(--muted)}.copy .sources{display:block;background:none;margin-top:28px}.copy .source{display:block}.copy .source a{display:inline-block;margin-top:10px}.tool{padding:0}.toolhead{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;border-bottom:1px solid var(--line)}.toolhead h2{font-size:28px;margin:0}.progress{text-align:right;flex:none}.progress strong{display:block;color:var(--accent-text);font:500 24px/1.3 'Red Hat Mono',monospace}.progress span{font-size:13px;color:var(--muted)}.tool .checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--surface)}.tool .check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;margin:0}.tool .check:nth-child(even){border-right:0}.tool .check input{width:22px;height:22px;margin:2px 0 0}.tool .check h3{font-size:19px;margin-bottom:8px}.tool .check small{display:block;margin-top:12px;font:400 11px/1.6 'Red Hat Mono',monospace;color:var(--accent-text)}.toolactions{padding:24px;margin:0}
@media(max-width:1000px){.public-nav{gap:20px}.cards,.steps,.checks,.principles,.flow,.workflow:not(section),.pilot{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head,.sectionhead,.twocol{gap:28px}.calculator{grid-template-columns:1fr}}
@media(max-width:767px){html{scroll-padding-top:72px}.shell{width:calc(100% - 32px)}.public-nav{min-height:72px;gap:14px;flex-wrap:wrap}.public-nav>a:not(.brand):not(.button){display:none}.public-nav .brand img{width:120px}.public-nav .button{min-height:40px;padding:9px 12px;font-size:12px}.public-resources summary{font-size:13px}.public-resources>div{right:0;min-width:min(290px,calc(100vw - 32px))}.hero{padding:48px 0}.lede{font-size:17px;margin-top:22px}section,main>section{padding:48px 0}.section-head,.sectionhead,.twocol,.faq-item,.faqitem,.source{grid-template-columns:1fr;gap:16px}.section-head,.sectionhead{margin-bottom:28px}.cards,.steps,.checks,.principles,.flow,.workflow:not(section),.pilot{grid-template-columns:1fr}.answer{padding:24px;margin-bottom:24px}.card,.step,.principle,.checks .check,.flow article,.pilot article{padding:24px}.scope,.warning,.callout{padding:24px}.shared{grid-template-columns:1fr}.programs{grid-template-columns:1fr 1fr}.panel{padding:20px}.toolhead{align-items:flex-start;flex-direction:column;padding:24px}.progress{text-align:left}.tool .checklist{grid-template-columns:1fr}.tool .check{border-right:0}.toolactions{padding:20px}.actions .button{flex:1 1 auto}footer .shell{flex-direction:column;gap:12px}}
@media(max-width:400px){.programs{grid-template-columns:1fr}.public-nav{gap:10px}.public-nav .brand img{width:108px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header,.actions,.toolactions,.final,.cta,footer,.skip{display:none}body,.paper,.sources{background:#fff;color:#111}.shell{width:100%}section,main>section,.hero{padding:20px 0}h1{font-size:32px}.tool .check,.panel,.card{break-inside:avoid}.tool .checklist{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.public-resources>div{position:fixed;top:72px;left:16px;right:16px;min-width:0;max-width:none;width:auto}}

/* French landing page sections and existing team portraits. */
.proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:4px;margin-bottom:48px}.proof>div{padding:24px;border-right:1px solid var(--line)}.proof>div:last-child{border-right:0}.proof strong{display:block;margin-bottom:8px;color:var(--accent-text);font:500 12px/1.5 'Red Hat Mono',monospace;text-transform:uppercase}.proof span{color:var(--muted);font-size:14px}.control{padding:40px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.control p{max-width:800px;color:var(--muted)}
  .team-section { scroll-margin-top: 90px; }
  .team-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, 1fr); gap: 28px; margin-top: 34px; }
  .team-founder { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: start; gap: 26px; padding: 28px; border: 1px solid #DEE2E8; border-radius: 6px; background: #FFF; }
  .team-founder-photo { display: block; width: 160px; height: 190px; object-fit: cover; border-radius: 4px; }
  .team-section h3 { color: #0F1217; font-size: 21px; line-height: 1.3; margin: 0; font-weight: 650; letter-spacing: -.025em; }
  .team-section .team-role { margin: 6px 0 16px; color: #2350D8; font-size: 12px; font-weight: 600; line-height: 1.5; }
  .team-section .team-bio { margin: 0 0 12px; font-size: 14px; line-height: 1.7; color: #535D6C; }
  .team-credentials { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 18px; }
  .team-credentials a { font-size: 12px; color: #2350D8; text-decoration: underline; text-underline-offset: 3px; line-height: 1.6; }
  .team-roster { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
  .team-person { display: flex; align-items: start; gap: 18px; padding: 14px 20px; min-width: 0; border: 1px solid #DEE2E8; border-radius: 6px; background: #FFF; }
  .team-person img { flex: none; display: block; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: #F5F6F8; }
  .team-person h3 { font-size: 17px; }
  .team-section .team-person .team-role { margin: 5px 0 0; color: #535D6C; font-weight: 500; }
  .team-section .team-experience { margin: 8px 0; font-size: 13px; line-height: 1.65; color: #535D6C; }
  .team-profile { font-size: 12px; line-height: 1.6; color: #2350D8; text-decoration: underline; text-underline-offset: 3px; }
  .team-contact { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-top: 26px; padding-top: 22px; border-top: 1px solid #DEE2E8; }
  .team-contact a { color: #2350D8; font-size: 14px; text-underline-offset: 4px; overflow-wrap: anywhere; }
  .team-contact .team-contact-cta { display: inline-flex; align-items: center; gap: 14px; font-weight: 650; }
  .team-section a:focus-visible { outline: 2px solid #2350D8; outline-offset: 5px; border-radius: 2px; }
  @media (max-width: 1000px) { .team-layout { grid-template-columns: 1fr; } .team-roster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } .team-person { flex-direction: column; align-items: start; padding: 20px; gap: 14px; } }
  @media (max-width: 600px) { .team-founder { grid-template-columns: 1fr; padding: 24px; gap: 20px; } .team-founder-photo { width: 112px; height: 132px; } .team-roster { grid-template-columns: 1fr; } .team-person { flex-direction: row; align-items: start; padding: 16px 20px; } .team-section h3 { font-size: 20px; } .team-person h3 { font-size: 17px; } }

  .team-section .container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
  .team-section .caption { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #69717E; }
  .team-section .h2 { max-width: 800px; font-size: clamp(28px, 4vw, 42px); line-height: 1.15; }

@media(max-width:767px){.proof{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.proof>div{padding:20px}.proof>div:nth-child(2){border-right:0}.proof>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.control{padding:24px}.public-nav:lang(fr){gap:8px}.public-nav:lang(fr) .button{font-size:11px;padding:10px 8px}.public-nav:lang(fr) .brand img{width:94px}.public-nav:lang(fr) summary{font-size:11px}}
