/* YRALYS / Mot du fondateur — section web autonome, CSS 100 % préfixé yf- */
:root { --yf-navy:#1D3141; --yf-blue:#294F83; --yf-ivory:#F6F3ED; --yf-gold:#9D7B43; --yf-muted:#657179; --yf-border:#DDD5C8; }
.yf-site, .yf-site * { box-sizing:border-box; }
.yf-site { margin:0; color:var(--yf-navy); background:#fff; font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; }
.yf-site img { max-width:100%; height:auto; display:block; }
.yf-site a { color:inherit; }
.yf-site a:focus-visible { outline:3px solid var(--yf-blue); outline-offset:5px; }
.yf-header { background:var(--yf-ivory); border-bottom:1px solid var(--yf-border); }
.yf-header__inner { max-width:1240px; margin:auto; padding:19px clamp(20px,4vw,56px); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.yf-logo { width:clamp(166px,24vw,245px); display:block; }
.yf-logo img { width:100%; aspect-ratio:729/225; object-fit:contain; object-position:left center; }
.yf-header__descriptor { color:var(--yf-muted); text-transform:uppercase; letter-spacing:.15em; font-size:11px; }
.yf-section { background:var(--yf-ivory); padding:clamp(38px,8vw,112px) clamp(20px,5vw,72px); }
.yf-wrap { max-width:1140px; margin-inline:auto; }
.yf-grid { display:grid; grid-template-columns:1.12fr .88fr; column-gap:clamp(24px,5vw,88px); align-items:center; }
.yf-overline { display:inline-block; font-size:12px; text-transform:uppercase; letter-spacing:.19em; font-weight:700; color:var(--yf-gold); margin-bottom:16px; }
.yf-display { margin:0 0 25px; font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(42px,5.15vw,79px); letter-spacing:-.037em; line-height:1.065; text-wrap:balance; }
.yf-intro { max-width:580px; margin:0 0 31px; font-family:Georgia,"Times New Roman",serif; line-height:1.66; font-size:clamp(19px,1.6vw,24px); }
.yf-name { margin:0 0 25px; font-size:13px; color:var(--yf-muted); letter-spacing:.055em; }
.yf-name strong { color:var(--yf-navy); }
.yf-cta { display:inline-flex; align-items:center; gap:20px; padding:15px 0 11px; color:var(--yf-blue) !important; border-bottom:1px solid var(--yf-gold); text-decoration:none; font-size:13px; text-transform:uppercase; font-weight:700; letter-spacing:.075em; }
.yf-cta:hover { border-bottom-color:var(--yf-blue); }
.yf-cta svg { width:20px; height:20px; flex:none; }
.yf-portrait { width:100%; border:1px solid #d7cab4; background:#c2b29a; overflow:hidden; box-shadow:0 18px 52px rgba(18,27,36,.12); }
.yf-portrait img { width:100%; display:block; height:auto; aspect-ratio:1159/1356; object-fit:cover; }
.yf-section .yf-portrait { max-width:420px; justify-self:end; }
.yf-smallnote { color:var(--yf-muted); font-size:13px; margin:16px 0 0; }
.yf-rule { display:block; background:var(--yf-gold); width:48px; height:1px; margin:27px 0; }
.yf-story { background:#fff; }
.yf-story__hero { background:var(--yf-ivory); padding:clamp(35px,7vw,90px) clamp(20px,5vw,72px) clamp(30px,6vw,70px); }
.yf-story__hero .yf-grid { grid-template-columns:1.18fr .82fr; }
.yf-story__hero .yf-portrait { max-width:400px; justify-self:end; }
.yf-story__lead { font-family:Georgia,"Times New Roman",serif; font-size:clamp(20px,2.1vw,28px); line-height:1.56; max-width:660px; margin:0; }
.yf-story__prose { max-width:840px; margin:0 auto; padding:clamp(42px,7vw,95px) clamp(24px,5vw,50px) clamp(65px,10vw,120px); }
.yf-story__prose p { margin:0 0 1.3em; font-family:Georgia,"Times New Roman",serif; font-size:clamp(18px,1.6vw,21px); line-height:1.82; hyphens:auto; overflow-wrap:break-word; }
.yf-signoff { margin-top:57px; border-top:1px solid var(--yf-border); padding-top:36px; }
.yf-signoff__mark { display:block; width:min(345px,80%); height:auto; margin-bottom:10px; }
.yf-signoff__identity { font-size:16px; font-weight:700; margin:0; color:var(--yf-navy); }
.yf-signoff__role { font-size:14px; color:var(--yf-muted); margin-top:3px; }
.yf-back { display:inline-flex; gap:10px; text-decoration:none; padding:12px 0; font-weight:600; font-size:14px; color:var(--yf-blue) !important; }
.yf-back:hover { text-decoration:underline; }
.yf-foot { padding:22px clamp(20px,4vw,56px); border-top:1px solid var(--yf-border); text-align:center; color:var(--yf-muted); font-size:12px; }
@media (max-width:760px){
 .yf-grid, .yf-story__hero .yf-grid { grid-template-columns:1fr; row-gap:30px; }
 .yf-section .yf-portrait, .yf-story__hero .yf-portrait { max-width:460px; justify-self:stretch; }
 .yf-header__descriptor { display:none; }
 .yf-intro { font-size:19px; }
 .yf-story__prose { padding-inline:24px; }
 .yf-story__prose p { line-height:1.68; }
 .yf-display { font-size:clamp(38px,9vw,55px); }
 .yf-portrait img { aspect-ratio:1159/1260; object-position:center 27%; object-fit:cover; }
}
@media(prefers-reduced-motion:reduce){.yf-site *, .yf-site *::before,.yf-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print { .yf-header,.yf-foot,.yf-back,.yf-cta { display:none!important; } .yf-story__hero{padding-block:20px;} .yf-story__prose{padding:25px 20px;} .yf-story__prose p{font-size:12pt;} .yf-portrait{box-shadow:none;} }


    :root {
      --eucalyptus: #52796F;
      --accent: #294F83;
      --institution: #294F83;
      --institution-soft: #294F83;
      --taupe: #777269;
      --pearl: #A99571;
      --cream: #F0EEE8;
      --paper: #FFFFFF;
      --ink: #353B3D;
      --muted: #5B625F;
      --line: rgba(53, 59, 61, .16);
      --serif: Georgia, "Times New Roman", serif;
      --sans: "Avenir Next", Avenir, "Segoe UI", sans-serif;
      --max: 1320px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 104px; }
    body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
    a { color: inherit; }
    a:focus-visible, button:focus-visible { outline: 3px solid var(--pearl); outline-offset: 4px; }
    .skip { position: absolute; z-index: 20; top: -100px; left: 16px; padding: 10px 16px; background: var(--paper); color: var(--institution); }
    .skip:focus { top: 16px; }
    .site-header { position: sticky; top: 0; z-index: 10; background: rgba(240, 238, 232, .94); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
    .header-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; width: min(var(--max), calc(100% - 64px)); min-height: 86px; margin: auto; }
    .brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; }
    .brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--accent); border-radius: 50%; color: var(--accent); font: 18px/1 var(--serif); }
    .brand-word { color: var(--accent); font-size: 17px; font-weight: 700; letter-spacing: .25em; }
    .brand-note { display: block; margin-top: -2px; color: var(--muted); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
    .main-nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 29px); }
    .main-nav a { color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: color .2s ease; }
    .main-nav a:hover { color: var(--institution); }
    .nav-toggle { display: none; border: 1px solid var(--line); background: transparent; color: var(--institution); padding: 9px 12px; font: 700 10px var(--sans); letter-spacing: .1em; text-transform: uppercase; }
    .wrap { width: min(var(--max), calc(100% - 64px)); margin: 0 auto; }
    .eyebrow { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
    .eyebrow::before { width: 32px; height: 1px; background: currentColor; content: ""; }
    h1, h2, h3, p { margin-top: 0; }
    h1, h2, h3 { color: var(--institution); font-family: var(--serif); font-weight: 400; }
    h1 { max-width: 850px; margin: 24px 0 22px; font-size: clamp(48px, 7.4vw, 100px); letter-spacing: -.055em; line-height: .98; }
    h2 { max-width: 850px; margin: 22px 0 26px; font-size: clamp(38px, 5.4vw, 69px); letter-spacing: -.045em; line-height: 1.04; }
    h3 { margin-bottom: 13px; font-size: clamp(23px, 2.2vw, 30px); line-height: 1.15; }
    .lead { max-width: 720px; color: var(--ink); font: 19px/1.65 var(--serif); }
    .hero { position: relative; overflow: hidden; min-height: 650px; background: var(--cream); }
    .hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; align-items: center; gap: 4vw; min-height: 650px; padding: 70px 0 80px; }
    .hero-copy { position: relative; z-index: 1; padding: 24px 0; }
    .hero-copy h1 span { color: var(--institution); font-style: italic; }
    .hero-copy .lead { margin-bottom: 30px; }
    .hero-art { position: relative; align-self: stretch; min-height: 490px; overflow: hidden; background: linear-gradient(154deg, #F0EEE8 0%, #F0EEE8 39%, rgba(82,121,111,.65) 40%, #52796F 65%, #52796F 66%); }
    .hero-art::before { position: absolute; top: 11%; right: 17%; width: 106px; height: 106px; border-radius: 50%; background: var(--pearl); box-shadow: 0 0 0 26px rgba(169,149,113,.14), 0 0 0 56px rgba(169,149,113,.08); content: ""; }
    .ridge { position: absolute; right: -8%; bottom: 25%; left: -8%; height: 34%; border-radius: 50% 45% 0 0; background: rgba(82,121,111,.7); transform: rotate(-7deg); }
    .ridge.r2 { right: -12%; bottom: 14%; left: -10%; height: 32%; background: rgba(82,121,111,.88); transform: rotate(6deg); }
    .ridge.r3 { right: -8%; bottom: -7%; left: -8%; height: 35%; background: #52796F; transform: rotate(-2deg); }
    .art-water { position: absolute; right: -6%; bottom: 17%; left: 16%; height: 18%; border-radius: 50%; background: linear-gradient(160deg, rgba(240,238,232,.4), rgba(169,149,113,.12)); transform: rotate(-5deg); }
    .art-rule { position: absolute; right: 14%; bottom: 27%; width: 33%; height: 1px; background: rgba(255,255,255,.7); transform: rotate(-7deg); }
    .art-caption { position: absolute; right: 24px; bottom: 20px; color: rgba(255,255,255,.9); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
    .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
    .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 21px; border: 1px solid var(--accent); background: var(--accent); color: #FFFFFF; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; }
    .button:hover { background: transparent; color: var(--accent); transform: translateY(-2px); }
    .button.secondary { background: transparent; color: var(--accent); }
    .button.secondary:hover { background: var(--accent); color: #FFFFFF; }
    .section { padding: clamp(82px, 11vw, 150px) 0; }
    .section.white { background: var(--paper); }
    .section.cream { background: var(--cream); }
    .section.green { background: var(--institution); color: #FFFFFF; }
    .section.green h2, .section.green h3 { color: #FFFFFF; }
    .section.green .eyebrow { color: #FFFFFF; }
    .section.green .lead, .section.green .body-copy { color: #FFFFFF; }
    .section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .55fr); align-items: end; gap: 44px; margin-bottom: 54px; }
    .section-head h2 { margin-bottom: 0; }
    .section-head p { margin: 0 0 7px; color: var(--muted); }
    .body-copy { max-width: 780px; color: var(--ink); font: 19px/1.8 var(--serif); }
    .split { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; align-items: start; }
    .side-label { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
    .side-number { margin-top: 28px; color: rgba(82,121,111,.16); font: clamp(80px, 12vw, 150px)/.8 var(--serif); letter-spacing: -.08em; }
    .principles { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
    .principle { min-height: 230px; padding: 27px 28px 20px 0; border-right: 1px solid var(--line); }
    .principle + .principle { padding-left: 28px; }
    .principle:last-child { border-right: 0; }
    .principle .num { display: block; margin-bottom: 34px; color: var(--institution); font: italic 18px var(--serif); }
    .principle p { max-width: 390px; color: var(--muted); }
    .concept-card { display: grid; grid-template-columns: 1fr 1fr; min-height: 410px; background: var(--cream); }
    .concept-art { position: relative; min-height: 360px; overflow: hidden; background: linear-gradient(155deg, #F0EEE8 0 40%, rgba(82,121,111,.65) 41% 59%, #52796F 60% 100%); }
    .concept-art::before { position: absolute; top: 17%; left: 16%; width: 29%; height: 72%; border: 1px solid rgba(255,255,255,.78); background: linear-gradient(90deg, transparent 46%, rgba(255,255,255,.24) 47% 49%, transparent 50%), rgba(255,255,255,.08); content: ""; }
    .concept-art::after { position: absolute; right: -5%; bottom: 16%; left: -5%; height: 20%; border-radius: 50%; background: rgba(240,238,232,.24); transform: rotate(-7deg); content: ""; }
    .concept-copy { align-self: center; padding: clamp(34px, 6vw, 78px); }
    .concept-copy p { color: var(--ink); }
    .collab-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.22); border: 1px solid rgba(255,255,255,.22); }
    .collab-item { min-height: 260px; padding: 30px; background: var(--institution); }
    .collab-item .num { color: var(--cream); font: italic 18px var(--serif); }
    .collab-item h3 { margin: 33px 0 12px; }
    .collab-item p { color: #FFFFFF; font-size: 14px; }
    .capital-box { display: grid; grid-template-columns: 1fr .7fr; gap: 6vw; padding: clamp(28px, 5vw, 60px); border: 1px solid var(--line); background: var(--cream); }
    .review-note { align-self: start; padding: 16px 18px; border-left: 2px solid var(--pearl); background: rgba(169,149,113,.12); color: var(--ink); font-size: 12px; }
    .contact-wrap { display: grid; grid-template-columns: 1fr .72fr; gap: 8vw; align-items: center; }
    .contact-card { padding: 30px; border: 1px solid var(--line); }
    .contact-card p { color: var(--muted); }
    .disabled-action { display: inline-flex; align-items: center; gap: 10px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
    .disabled-action::before { width: 20px; height: 1px; background: var(--pearl); content: ""; }
    .footer { padding: 32px 0 38px; background: var(--institution); color: #FFFFFF; }
    .footer-inner { display: flex; justify-content: space-between; gap: 25px; align-items: center; }
    .footer small { color: #FFFFFF; font-size: 10px; letter-spacing: .08em; }
    .footer a { color: #FFFFFF; text-decoration: none; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
    .footer a:hover { color: var(--cream); }
    .footer-links { display: flex; gap: 20px; }
    .section-index { color: var(--institution); font: 14px var(--serif); font-style: italic; }
    .reveal { animation: rise .7s both; }
    @keyframes rise { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
    @media (max-width: 1020px) {
      .header-inner, .wrap { width: min(var(--max), calc(100% - 40px)); }
      .main-nav { gap: 13px; }
      .main-nav a { font-size: 9px; }
      .hero-grid { grid-template-columns: 1fr .8fr; }
    }
    @media (max-width: 1100px) {
      html { scroll-padding-top: 76px; }
      .preview-strip { font-size: 8px; letter-spacing: .11em; }
      .palette-tools { width: 100%; }
      .palette-tools button { font-size: 9px; }
      .header-inner { width: calc(100% - 32px); min-height: 72px; }
      .brand-word { font-size: 15px; }
      .nav-toggle { display: block; }
      .main-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 8px 16px 15px; background: var(--paper); border-bottom: 1px solid var(--line); }
      .main-nav.open { display: flex; }
      .main-nav a { padding: 12px 8px; border-bottom: 1px solid var(--line); font-size: 10px; }
      .main-nav a:last-child { border: 0; }
      .wrap { width: calc(100% - 36px); }
      .hero-grid { grid-template-columns: 1fr; gap: 25px; padding: 54px 0 34px; }
      .hero-art { min-height: 340px; }
      h1 { font-size: clamp(48px, 14vw, 74px); }
      .lead { font-size: 17px; }
      .section-head, .split, .contact-wrap { grid-template-columns: 1fr; gap: 22px; }
      .section-head { margin-bottom: 34px; }
      .side-number { display: none; }
      .principles, .collab-grid { grid-template-columns: 1fr; }
      .principle, .principle + .principle { min-height: unset; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--line); }
      .principle:last-child { border-bottom: 0; }
      .principle .num { margin-bottom: 15px; }
      .concept-card, .capital-box { grid-template-columns: 1fr; }
      .concept-art { min-height: 290px; }
      .collab-item { min-height: 0; }
      .collab-item h3 { margin-top: 17px; }
      .footer-inner { align-items: flex-start; flex-direction: column; }
      .footer-links { flex-wrap: wrap; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
    }
  
/* Revision du 22 octobre : direction choisie, repli sans JS et composants partagés. */
:root { --mineral:#294F83; --focus:#294F83; }
.reveal { animation:none; }
html { scroll-padding-top:110px; }
body { overflow-wrap:break-word; }
[hidden] { display:none !important; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--focus); outline-offset:5px; box-shadow:0 0 0 8px #fff; }
.section.green a:focus-visible,.footer a:focus-visible { outline-color:#fff; box-shadow:0 0 0 8px #294F83; }
main:focus,section:focus { outline:none; }
.brand-word { color:var(--mineral); font-size:21px; letter-spacing:.24em; }
.brand-note { color:var(--muted); letter-spacing:.16em; }
.header-inner { gap:22px; min-height:94px; }
.main-nav { gap:clamp(11px,1.1vw,19px); }
.main-nav a { font-size:10px; letter-spacing:.035em; padding-block:15px; position:relative; }
.main-nav a[aria-current]::after { content:""; position:absolute; bottom:4px; left:0; right:0; height:2px; background:var(--eucalyptus); }
.hero-copy h1 span { color:var(--mineral); }
.hero-art { border:1px solid rgba(82,121,111,.12); }
.hero-art::before { box-shadow:0 0 0 26px rgba(169,149,113,.14),0 0 0 56px rgba(169,149,113,.08); }
.art-caption { color:#fff; font-size:10px; }
.button { border-color:var(--mineral); background:var(--mineral); }
.button:hover { color:var(--mineral); }
.button.secondary { color:var(--mineral); }
.button.secondary:hover { background:var(--mineral); }
.eyebrow,.side-label { color:var(--muted); }
.principle .num,.section-index { color:var(--mineral); }
.principle p { font-size:16px; }
.section.green .body-copy { max-width:900px; }
.section.green .text-link { color:#fff; border-color:rgba(255,255,255,.6); }
.text-link { display:inline-block; color:var(--mineral); text-underline-offset:6px; text-decoration-thickness:1px; padding:8px 0; font-size:14px; font-weight:600; }
.concept-copy .concept-status { display:inline-block; margin-bottom:20px; color:var(--mineral); font-size:11px; letter-spacing:.12em; text-transform:uppercase; border-bottom:1px solid var(--eucalyptus); padding-bottom:7px; }
.concept-copy .text-link { margin-top:10px; }
.capital-box { grid-template-columns:1fr; max-width:1000px; }
.capital-box .body-copy { max-width:none; }
.contact-card { background:var(--cream); }
.contact-card button { margin-top:15px; width:100%; }
button:disabled { cursor:not-allowed; }
.button:disabled { background:#DDE2E8; color:#364A64; border-color:#BBC5D2; }
.contact-note { font-size:13px; color:var(--muted); margin:13px 0 0; }
.footer .brand-word,.footer .brand-note { color:#fff; }
.footer-inner { align-items:flex-start; }
.footer-links { flex-wrap:wrap; }
.footer a { font-size:11px; }
.footer small { font-size:11px; }
.breadcrumb { padding:30px 0 0; font-size:12px; color:var(--muted); }
.breadcrumb a { text-underline-offset:4px; }
.article-hero { padding:65px 0 75px; background:var(--cream); }
.article-hero h1 { font-size:clamp(43px,6.6vw,84px); max-width:1000px; }
.article-hero .lead { max-width:900px; font-size:21px; }
.article-prose { max-width:1000px; margin:auto; padding:70px 0 90px; }
.article-prose h2 { font-size:clamp(30px,4vw,48px); margin-bottom:25px; }
.article-prose h3 { font-size:26px; }
.article-prose p,.article-prose li { font-size:17px; line-height:1.85; }
.article-block { padding:42px 0; border-bottom:1px solid var(--line); }
.article-block:first-child { padding-top:0; }
.profile-list { display:grid; grid-template-columns:1fr 1fr; gap:0 36px; margin:20px 0 0; padding:0; list-style:none; }
.profile-list li { padding:22px 0; border-top:1px solid var(--line); }
.profile-list strong { display:block; color:var(--mineral); font-family:var(--serif); font-weight:400; font-size:24px; line-height:1.3; margin-bottom:10px; }
.path-options { display:flex; flex-wrap:wrap; gap:16px; margin:30px 0; }
.process-list { padding-left:24px; }
.process-list li { padding:8px 0 8px 9px; }
.faq details { border-top:1px solid var(--line); }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; padding:20px 35px 20px 0; font-size:17px; font-weight:600; color:var(--mineral); }
.faq details p { padding:0 26px 20px; margin:0; }
.perspective-note { color:var(--ink); border-left:2px solid var(--eucalyptus); padding:8px 0 8px 22px; }
.franchise-preview { display:grid; grid-template-columns:1fr .7fr; gap:65px; align-items:center; }
.franchise-preview .body-copy { max-width:760px; }
.franchise-aside { border-left:1px solid var(--line); padding-left:35px; }
.franchise-aside p { color:var(--muted); }
.yf-section { margin-top:75px; border-top:1px solid var(--line); }
.yf-site { font-family:var(--sans); }
.yf-overline { color:var(--mineral); }
.yf-section .yf-display { color:var(--mineral); }
.yf-section .yf-wrap { max-width:1180px; }
.yf-section .yf-portrait { max-width:365px; }
.yf-story__hero { background:var(--cream); }
.yf-story__prose p { color:var(--ink); }
.yf-story__lead { color:var(--ink); }
.yf-name,.yf-signoff__role { color:#56616A; }
.legal-intro { max-width:740px; }
.site-map { columns:2; padding-left:22px; }
.site-map li { padding:7px 0; }
@media(min-width:1101px) { .nav-toggle { display:none!important; } .main-nav { display:flex!important; } }
@media(max-width:1100px) {
 html { scroll-padding-top:96px; }
 .header-inner { flex-wrap:wrap; min-height:80px; gap:0; }
 .brand { min-height:80px; }
 .nav-toggle { display:none; min-height:44px; min-width:64px; border-color:var(--mineral); color:var(--mineral); font-size:12px; }
 .js .nav-toggle { display:block; }
 .main-nav { position:static; display:flex; width:100%; padding:0 0 14px; background:transparent; border:0; }
 .js .main-nav { display:none; }
 .js .main-nav.open { display:flex; }
 .main-nav a { padding:12px 2px; font-size:12px; min-height:44px; }
 .main-nav a[aria-current]::after { left:0; right:auto; width:24px; bottom:5px; }
 .franchise-preview { grid-template-columns:1fr; gap:30px; }
 .franchise-aside { padding-left:22px; }
 .hero-grid { min-height:0; }
}
@media(min-width:761px) and (max-width:1100px) {
 .hero-grid { grid-template-columns:1fr .8fr; padding:60px 0; }
 .hero-art { min-height:430px; }
 h1 { font-size:clamp(52px,7.5vw,80px); }
 .wrap { width:calc(100% - 64px); }
 .yf-grid { grid-template-columns:1fr .8fr; }
}
@media(max-width:760px) {
 .wrap { width:calc(100% - 40px); }
 .section { padding:70px 0; }
 h1 { font-size:clamp(43px,12.8vw,70px); line-height:1.04; }
 h2 { font-size:clamp(35px,9.4vw,58px); }
 .hero-grid { padding-top:38px; gap:16px; }
 .hero-copy { padding:14px 0; }
 .hero-art { min-height:300px; }
 .actions { gap:12px; }
 .actions .button { flex:1 1 190px; text-align:center; padding:12px; }
 .lead,.body-copy { font-size:18px; }
 .profile-list { grid-template-columns:1fr; }
 .yf-section { margin-top:50px; padding:42px 20px; }
 .yf-section .yf-portrait { max-width:100%; }
 .yf-story__hero .yf-portrait { max-width:100%; }
 .article-hero { padding:38px 0 45px; }
 .article-hero .lead { font-size:19px; }
 .article-prose { padding-top:40px; }
 .article-block { padding:30px 0; }
 .site-map { columns:1; }
 .footer-links { gap:10px 20px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
