/* Accueil éditorial et page de référence ; jamais chargés dans Konnect. */
.public-portal .hero-welcome-visual{align-self:start;min-height:0;height:auto;margin:clamp(48px,5.5vw,84px) 0 32px;overflow:visible}
.public-portal .hero-welcome-visual::after{display:none}
.public-portal .hero-welcome-visual img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;border:6px solid #fff2dc;border-radius:22px;box-shadow:0 16px 44px #0003}
.public-portal .hero-welcome-visual figcaption{position:static;margin:16px 4px 0;color:#f6dbb6;font:600 13px/1.6 Manrope,sans-serif}
.public-portal .hero-welcome-visual figcaption small{display:block;margin-top:4px;color:#c7bcae;font-size:10px;font-weight:400}
@media(max-width:700px){.public-portal .hero-welcome-visual{order:-1;margin:24px 0 0}.public-portal .hero-welcome-visual img{border-width:4px;border-radius:16px}.public-portal .hero-welcome-visual figcaption{font-size:11px;margin-top:10px}.public-portal .home-refresh-hero-copy{padding-top:28px}}
.hero-guide-invite{width:100%;max-width:540px}
.hero-guide-invite .hero-guide-kicker{margin:0;color:#fff;font-size:18px;font-weight:800;line-height:1.4}
.hero-guide-invite .hero-guide-description{margin:6px 0 14px;color:#e7dfd5;font-size:14px;line-height:1.6}
.hero-guide-button{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;padding:12px 16px;border:1px solid #f1a03c;border-radius:18px;background:#fff2dc;color:#322616;font:800 17px/1.35 Manrope,sans-serif;text-decoration:none;box-shadow:0 8px 24px #0002;transition:background .2s,transform .2s}
.hero-guide-button:hover{background:#ffe3b6;color:#322616;transform:translateY(-2px)}
.hero-guide-button:focus-visible{outline:3px solid #ffbe65;outline-offset:5px}
.hero-guide-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:12px;background:#ffdeb0;color:#9a5007}
.hero-guide-arrow{margin-left:auto;flex-shrink:0;color:#9a5007;font-size:25px}
.hero-visit-secondary{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 7px;margin-top:16px;font-size:13px;line-height:1.6;color:#e7dfd5}
.hero-visit-secondary>a{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:#ffbd68;font-weight:800;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.hero-guide-button{gap:10px;padding:12px;font-size:16px}.hero-guide-icon{width:36px;height:36px}.hero-visit-secondary{display:block;margin-top:18px}.hero-visit-secondary>a{display:flex;width:fit-content}.hero-guide-invite .hero-guide-kicker{font-size:17px}}
@media(prefers-reduced-motion:reduce){.hero-guide-button{transition:none}.hero-guide-button:hover{transform:none}}
.portal-hero-method{display:inline-block;margin-top:16px;color:#f3d9b5;font-size:13px;text-underline-offset:4px}
.portal-modal-open { overflow:hidden; }
.portal-detail-dialog { width:min(960px,calc(100% - 48px)); height:min(860px,calc(100dvh - 48px)); max-width:none; max-height:none; padding:0; border:1px solid #fff9ed; border-radius:26px; background:#faf8f3; color:#27242a; box-shadow:0 30px 100px #17141855; overflow:hidden; }
.portal-detail-dialog[open] { display:flex; flex-direction:column; }
.portal-detail-dialog::backdrop { background:#17151bc9; backdrop-filter:blur(5px); }
.portal-detail-bar { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:20px; padding:18px 24px; border-bottom:1px solid #e9dece; background:#fffaf2; }
.portal-detail-bar>div>span { color:#9b5914; font-size:11px; }
.portal-detail-bar h2 { margin:4px 0 0; font:700 17px/1.4 Sora,sans-serif; letter-spacing:-.03em; }
.portal-detail-close { display:flex; align-items:center; justify-content:center; gap:12px; min-width:96px; min-height:44px; padding:8px 14px; border:1px solid #dfd3c2; border-radius:13px; background:#fff; color:#302a26; font:700 13px/1.3 Manrope,sans-serif; cursor:pointer; }
.portal-detail-close span { font-size:26px; font-weight:400; }
.portal-detail-close:focus-visible { outline:3px solid #b86b13; outline-offset:3px; }
.portal-detail-frame { display:block; width:100%; flex:1; min-height:0; border:0; visibility:hidden; }
.portal-detail-dialog.is-loaded .portal-detail-frame { visibility:visible; }
.portal-detail-loading { position:absolute; top:45%; left:0; right:0; text-align:center; color:#716355; }
.portal-detail-dialog.is-loaded .portal-detail-loading { display:none; }
.portal-detail-bottom { display:flex; justify-content:space-between; flex-shrink:0; gap:12px; padding:12px 24px; border-top:1px solid #e9dece; color:#77695b; font-size:11px; }
.portal-detail-bottom a { color:#854500; text-underline-offset:3px; }
@media(max-width:600px) {
  .portal-detail-dialog { width:calc(100% - 16px); height:calc(100dvh - 16px); border-radius:20px; }
  .portal-detail-bar { padding:12px 14px; gap:10px; }
  .portal-detail-bar h2 { font-size:14px; }
  .portal-detail-close { min-width:44px; padding:8px 10px; }
  .portal-detail-bottom { padding:10px 16px; }
  .portal-detail-bottom>span { display:none; }
}
.portal-section { padding:clamp(48px,6vw,80px) 0; }
.public-portal .home-refresh-hero-copy>.portal-hero-reassurance { margin:12px 0 0; color:#e6cba7; font-size:13px; line-height:1.6; }
.public-portal .home-refresh-actions .button { min-height:48px; max-width:100%; white-space:normal; text-align:center; }
.public-portal h2[id],.public-method h2[id] { scroll-margin-top:100px; }
.portal-section h2 { margin:0 0 20px; font-size:clamp(30px,3.4vw,48px); line-height:1.14; letter-spacing:-.045em; }
.portal-section p { line-height:1.7; }
.portal-section em { font-style:normal; color:#a95705; }
.portal-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end; margin-bottom:30px; }
.portal-section-heading p { margin:0 0 12px; max-width:590px; color:#635c55; }
.portal-people-founder { display:inline-flex; align-items:center; justify-content:center; gap:14px; max-width:100%; min-height:48px; margin-top:8px; padding:14px 20px; border-radius:15px; white-space:normal; text-align:center; }
.portal-text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#854500; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.portal-text-link:hover { color:#592f05; }
.portal-space { padding:22px 0; border-bottom:1px solid #d2e0d6; background:#edf3ed; scroll-margin-top:92px; }
.portal-space-inner,.portal-space-inner>div { display:flex; align-items:center; gap:20px; }
.portal-space-inner { justify-content:space-between; }
.portal-space-inner h2 { margin:0 0 4px; font:800 17px/1.4 Manrope,sans-serif; }
.portal-space-inner p { margin:0; max-width:650px; font-size:14px; color:#4d6153; }
.portal-space-inner>a { flex-shrink:0; color:#285342; font-size:14px; }
.portal-space-mark { display:block; flex:0 0 56px; width:56px; height:56px; border-radius:16px; box-shadow:0 3px 10px #31543a08; }
.portal-launch { background:#fffaf4; }
.portal-date-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.portal-date-card { display:grid; grid-template-columns:108px minmax(0,1fr); gap:24px; padding:28px; border:1px solid #e1c59e; border-radius:22px; background:linear-gradient(140deg,#fff2dc,#fffdf9); }
.portal-calendar { display:flex; flex-direction:column; align-items:center; justify-content:center; align-self:start; gap:5px; padding:16px 8px; border:1px solid #d9b784; border-radius:14px; background:#fffaf2; color:#5f3b16; text-align:center; font-size:13px; }
.portal-calendar strong { color:#9d5000; font:700 64px/1 Sora,sans-serif; letter-spacing:-.07em; }
.portal-date-card h3 { margin:0 0 14px; font:700 clamp(19px,2vw,24px)/1.3 Sora,sans-serif; letter-spacing:-.04em; }
.portal-date-card p { margin:0 0 8px; font-size:14px; }
.portal-date-status { color:#345d48; font-weight:700; }
.portal-date-past { display:block; padding:12px 0; font-size:14px; color:#6a6156; }
.portal-launch-foot { padding-top:24px; }
.portal-launch-foot>p { max-width:900px; margin:0 0 8px; font-size:15px; color:#63574a; }
.portal-launch-foot>a { display:inline-flex; align-items:center; min-height:44px; color:#854500; font-weight:800; gap:8px; }
.portal-small,.portal-launch-foot .portal-small { font-size:13px; line-height:1.65; color:#73685c; }
.public-portal .founder-launch { padding:clamp(32px,4vw,48px) 0; }
.public-portal .founder-launch-panel { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); border-radius:22px; }
.public-portal .founder-launch-intro { padding:26px; }
.public-portal .founder-launch-intro h2 { margin:10px 0 14px; font-size:clamp(28px,3vw,38px); }
.public-portal .founder-launch-count { gap:10px; margin:16px 0; }
.public-portal .founder-launch-count strong { font-size:26px; }
.public-portal .founder-launch-count span { font-size:13px; line-height:1.4; }
.public-portal .founder-launch-intro>p { margin:0; font-size:15px; line-height:1.6; }
.public-portal .founder-launch-grid article { padding:22px; }
.public-portal .founder-launch-grid h3 { margin:0 0 10px; font-size:19px; line-height:1.35; letter-spacing:-.03em; }
.public-portal .founder-launch-grid h3 strong { font:inherit; color:#99500b; }
.public-portal .founder-launch-grid p { font-size:14px; }
.portal-founder-more { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:4px; color:#ffcf8e; font-size:13px; font-weight:700; }
.public-portal .founder-launch-details { padding:0 22px; }
.public-portal .founder-launch-details summary { min-height:52px; padding:12px 0; }
.portal-affiliation { padding:0 0 40px; background:#f5eadb; scroll-margin-top:96px; }
.portal-affiliation-panel { padding:20px 24px 4px; border:1px solid #decdb5; border-radius:20px; background:#fffbf5; }
.portal-affiliation .eyebrow { margin-bottom:0; }
.portal-affiliation-heading { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.portal-affiliation-heading>div { max-width:820px; }
.portal-affiliation h2 { margin:8px 0 10px; color:#29252a; font:700 clamp(22px,2.2vw,26px)/1.3 Sora,sans-serif; letter-spacing:-.04em; }
.portal-affiliation-heading>div>p { margin:0 0 18px; color:#65584c; font-size:15px; line-height:1.65; }
.portal-affiliation-rate { display:flex; flex:0 0 auto; flex-direction:column; gap:6px; margin:0 0 16px; padding-left:28px; border-left:1px solid #e6d6c0; color:#68441e; font-size:14px; }
.portal-affiliation-rate>strong { color:#9d5206; font:700 38px/1 Sora,sans-serif; letter-spacing:-.06em; }
.portal-affiliation-rate small { display:block; margin-top:5px; font-size:12px; color:#73634f; }
.portal-affiliation-details { border-top:1px solid #e7dac9; }
.portal-affiliation-details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; padding:12px 0; color:#805021; font:800 14px/1.5 Manrope,sans-serif; list-style:none; cursor:pointer; }
.portal-affiliation-details summary::-webkit-details-marker { display:none; }
.portal-affiliation-details summary>span { font-size:22px; }
.portal-affiliation-details[open] summary>span { transform:rotate(45deg); }
.portal-affiliation-details summary:focus-visible { outline:3px solid #ad650d; outline-offset:3px; border-radius:4px; }
.portal-affiliation-explanation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; padding:12px 0 4px; }
.portal-affiliation-explanation h3 { margin:0 0 12px; font:700 18px/1.4 Sora,sans-serif; letter-spacing:-.03em; }
.portal-affiliation-explanation p { margin:0 0 16px; color:#66594c; font-size:15px; line-height:1.7; }
.portal-affiliation-actions { display:flex; flex-wrap:wrap; gap:8px 28px; padding:0 0 14px; font-size:14px; }
.portal-advice { background:#fffdf9; }
.portal-advice-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(28px,6vw,80px); align-items:center; }
.portal-exercise { padding:clamp(24px,3vw,40px); border:1px solid #d3dace; border-radius:24px; background:#eff3e9; }
.portal-tag { display:block; color:#79552f; font:800 11px/1.5 Manrope,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.portal-exercise>.portal-tag { color:#426347; }
.portal-exercise h3 { margin:16px 0; font:700 24px/1.3 Sora,sans-serif; letter-spacing:-.04em; }
.portal-exercise blockquote { margin:0 0 22px; padding:0 0 0 18px; border-left:3px solid #6b885c; color:#293d2e; font-size:20px; line-height:1.65; }
.portal-exercise blockquote em { color:#3c6944; }
.portal-exercise p { margin:0 0 16px; font-size:15px; color:#4f5c4c; }
.portal-exercise details { border-top:1px solid #cbd7c4; }
.portal-exercise summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; cursor:pointer; list-style:none; color:#304e35; font-weight:800; }
.portal-exercise summary::-webkit-details-marker,.portal-contact summary::-webkit-details-marker { display:none; }
.portal-exercise details[open] summary>span,.portal-contact details[open] summary>span:last-child { transform:rotate(45deg); }
.portal-people { background:#f7eee2; }
.portal-people-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.portal-franck { display:flex; flex-direction:column; overflow:hidden; border:1px solid #e4d2bc; border-radius:22px; background:#fffaf4; }
.portal-franck>img { display:block; width:100%; height:250px; object-fit:cover; object-position:52% 30%; }
.portal-franck>div { display:flex; flex-direction:column; flex:1; padding:24px; }
.portal-franck .portal-text-link { margin-top:auto; font-size:14px; }
.portal-franck.portal-portrait-claire>img { object-position:center 18%; }
.portal-portrait-credit { margin:18px auto 0; color:#756757; font-size:12px; line-height:1.6; }
.portal-portrait-credit a { color:inherit; text-underline-offset:3px; }
.portal-franck h3,.portal-next-people h3 { margin:12px 0; font:700 24px/1.3 Sora,sans-serif; letter-spacing:-.04em; }
.portal-franck p,.portal-next-people p { font-size:15px; color:#63584e; }
.portal-next-people { padding:32px; border:1px solid #dec9ae; border-radius:22px; background:#efe1ca; }
.portal-next-people>span { display:block; color:#8f5a22; font-size:36px; }
.portal-people .community-card { margin:0; min-width:0; }
.portal-people .community-bio { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.portal-journal { background:#fffdf9; }
.portal-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.portal-article { min-width:0; border:1px solid #e4d9cb; border-radius:20px; background:#fff; overflow:hidden; }
.portal-article>a { display:flex; flex-direction:column; height:100%; color:#262329; text-decoration:none; }
.portal-article img { display:block; width:100%; height:auto; aspect-ratio:12/7; object-fit:cover; border-bottom:1px solid #e4d9cb; }
.portal-article>a>div { display:flex; flex-direction:column; flex:1; padding:24px; }
.portal-article h3 { margin:12px 0; font:700 20px/1.4 Sora,sans-serif; letter-spacing:-.035em; }
.portal-article p { margin:0 0 22px; color:#675d55; font-size:14px; }
.portal-article-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; padding-top:16px; border-top:1px solid #ece3d7; color:#8b4c0c; font-size:12px; }
.portal-article-bottom>span { font-size:24px; }
.portal-friday { position:relative; isolation:isolate; overflow:hidden; background:#28262b; color:#fdf7ef; }
.portal-friday-background { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.portal-friday::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(20,18,23,.89),rgba(20,18,23,.72)); }
.portal-friday-grid { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:clamp(28px,5vw,72px); }
.portal-friday h2 { color:#fffaf4; }
.portal-friday .eyebrow { color:#ffbd68; }
.portal-friday p { color:#f5eee6; }
.portal-friday strong { color:#fff; font-weight:800; }
.portal-friday-copy p { max-width:600px; font-size:17px; }
.portal-friday .portal-friday-distinction { font-size:clamp(20px,2vw,26px); line-height:1.5; }
.portal-friday .portal-text-link { color:#ffca87; }
.portal-friday-note { padding:16px 18px; border-left:2px solid #e8b473; background:#14121770; font-size:14px; }
.portal-friday-motion { display:block; margin-top:20px; padding:8px 0; border:0; background:transparent; color:#e8dfd4; font:inherit; font-size:12px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.portal-friday-motion[hidden] { display:none; }
.portal-friday-motion:focus-visible { outline:2px solid #ffca87; outline-offset:5px; }
.portal-visit { background:#fff9f2; }
.portal-visit-inner { position:relative; isolation:isolate; display:flex; justify-content:space-between; align-items:center; gap:clamp(28px,5vw,64px); width:calc(100% - 48px); max-width:1180px; padding:clamp(30px,4.5vw,58px); border:1px solid #ebcfab; border-radius:36px; background:radial-gradient(ellipse at 100% 0%,#ffcf8190,transparent 60%),linear-gradient(120deg,#fff7e9,#fbe5c4); box-shadow:0 16px 40px #6741170c; }
.portal-visit-inner>div:first-child { max-width:650px; min-width:0; }
.portal-visit .eyebrow { color:#9c510c; }
.portal-visit h2 { margin:16px 0 18px; }
.portal-visit p { max-width:550px; margin:0 0 24px; color:#65513f; }
.portal-visit .button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; max-width:100%; padding:16px 24px; border-radius:16px; background:#27242a; color:#fff8ed; box-shadow:0 6px 16px #38261717; white-space:normal; text-align:center; }
.portal-visit .button:hover { background:#42352b; }
.portal-free { position:relative; display:grid; gap:16px; flex-shrink:0; min-width:230px; padding:30px 24px; border:1px solid #fffdf5; border-radius:26px; background:#fffaf0d9; box-shadow:0 10px 30px #8b581018,inset 0 0 0 1px #e6c79c60; text-align:center; font-size:14px; color:#6a5038; transform:rotate(3deg); }
.portal-free strong { color:#69421f; font:700 80px/1 Sora,sans-serif; letter-spacing:-.07em; }
.portal-free>span:last-child { padding-top:15px; border-top:1px dashed #d8ba96; font-size:12px; }
.portal-contact { padding:28px 0 48px; background:#fff9f2; scroll-margin-top:100px; }
.portal-contact details { border-bottom:1px solid #dfd0bd; }
.portal-contact summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:80px; padding:16px 0; cursor:pointer; list-style:none; }
.portal-contact summary strong { display:block; font:700 22px/1.4 Sora,sans-serif; letter-spacing:-.04em; }
.portal-contact summary small { display:block; margin-top:7px; color:#6d6155; font-size:14px; }
.portal-contact summary>span:last-child { padding:10px; color:#8b4c0c; font-size:28px; }
.portal-contact form { max-width:820px; padding:20px 0 24px; }
.portal-contact .form-grid { margin-bottom:20px; }
.portal-contact input,.portal-contact textarea { min-height:48px; font-size:16px; }
.portal-contact label small { display:inline; margin:0; color:#756b60; font-size:12px; font-weight:400; }
.portal-contact textarea { resize:vertical; }
.portal-contact .button { min-height:48px; }
.portal-rule-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.portal-rule-grid article { display:flex; flex-direction:column; padding:28px; border:1px solid #e0ceba; border-radius:20px; background:#fffaf4; }
.portal-rule-grid h3 { margin:0 0 16px; font:700 22px/1.35 Sora,sans-serif; letter-spacing:-.04em; }
.portal-rule-grid p { margin:0 0 18px; font-size:15px; color:#65594f; }
.portal-rule-grid a { margin-top:auto; }
.portal-method-rules { background:#f5ebde; }
.public-method .home-refresh-deeper h2 { color:#fff; }
.public-method .home-refresh-deeper .eyebrow { color:#ffbd68; }
.public-portal a:focus-visible,.public-method a:focus-visible,.public-portal summary:focus-visible,.public-method summary:focus-visible { outline:3px solid #bc6c00; outline-offset:5px; border-radius:4px; }
@media(prefers-reduced-motion:no-preference) {
  .portal-article { transition:transform .2s,box-shadow .2s; }
  .portal-article:hover { transform:translateY(-4px); box-shadow:0 12px 24px #4b30100d; }
}
@media(max-width:1000px) {
  .portal-date-card { gap:16px; padding:20px; grid-template-columns:86px minmax(0,1fr); }
  .portal-calendar strong { font-size:52px; }
  .portal-people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-franck>div { padding:22px; }
  .portal-space-inner { align-items:flex-start; }
  .portal-space-inner>a { max-width:200px; flex-shrink:1; }
}
@media(max-width:760px) {
  .portal-affiliation { padding-bottom:32px; }
  .portal-affiliation-panel { padding:22px 20px 4px; }
  .portal-affiliation-heading { flex-direction:column; align-items:stretch; gap:0; }
  .portal-affiliation-rate { flex-direction:row; align-items:center; gap:14px; padding:0; border:0; }
  .portal-affiliation-rate small { margin-top:2px; }
  .portal-affiliation-explanation { grid-template-columns:minmax(0,1fr); gap:8px; }
  .public-portal .founder-launch-panel { grid-template-columns:minmax(0,1fr); }
  .public-portal .founder-launch-intro { padding:24px; }
  .public-portal .founder-launch-grid article { padding:20px; }
  .public-portal .founder-launch-grid h3 { font-size:18px; }
  .portal-section { padding:44px 0; }
  .portal-section-heading,.portal-date-grid,.portal-advice-grid,.portal-friday-grid,.portal-people-grid,.portal-rule-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .portal-section-heading { margin-bottom:24px; }
  .portal-section-heading h2 { margin-bottom:0; }
  .portal-space-inner { flex-direction:column; gap:12px; }
  .portal-space-inner>div { align-items:flex-start; gap:14px; }
  .portal-space-inner>a { max-width:none; margin-left:70px; }
  .portal-date-card { grid-template-columns:90px minmax(0,1fr); padding:22px; }
  .portal-date-card h3 { font-size:21px; }
  .portal-people-grid { gap:18px; }
  .portal-people-grid { grid-template-columns:minmax(0,1fr); }
  .portal-article-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .portal-article>a { display:grid; grid-template-columns:140px minmax(0,1fr); }
  .portal-article img { height:100%; aspect-ratio:auto; border-bottom:0; }
  .portal-article>a>div { padding:20px; }
  .portal-article h3 { font-size:18px; }
  .portal-article p { display:none; }
  .portal-visit-inner { flex-direction:column; align-items:stretch; gap:24px; width:calc(100% - 28px); padding:28px 22px; border-radius:28px; }
  .portal-visit .eyebrow { font-size:10px; letter-spacing:.12em; }
  .portal-visit h2 { font-size:clamp(28px,7.4vw,38px); }
  .portal-visit .button { width:100%; padding:15px 16px; }
  .portal-free { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 18px; min-width:0; padding:20px; border-radius:20px; text-align:left; transform:none; }
  .portal-free strong { grid-column:2; grid-row:1 / 3; font-size:56px; white-space:nowrap; }
  .portal-free>span:last-child { padding-top:0; border-top:0; }
  .portal-exercise blockquote { font-size:19px; }
  .portal-contact .form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:380px) {
  .portal-date-card { grid-template-columns:72px minmax(0,1fr); padding:18px; gap:14px; }
  .portal-date-card h3 { font-size:19px; }
  .portal-calendar { font-size:11px; }
  .portal-franck { grid-template-columns:minmax(0,1fr); }
  .portal-franck>img { height:240px; min-height:0; object-position:center 35%; }
  .portal-article>a { grid-template-columns:100px minmax(0,1fr); }
  .portal-article>a>div { padding:16px; }
  .portal-free { flex-wrap:wrap; }
}

/* PC : une vraie composition éditoriale, puis une invitation commune sous les deux colonnes. */
@media(min-width:1000px){
 .public-portal .home-refresh-hero-grid{width:min(1240px,calc(100% - 80px));grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:52px;row-gap:18px;align-items:start;min-height:0;padding-block:42px 34px}
 .public-portal .home-refresh-hero-copy{display:contents}
 .public-portal .home-refresh-hero-copy>.eyebrow{grid-column:1;grid-row:1;margin:0;align-self:end;font-size:11px}
 .public-portal .home-refresh-hero-copy>h1{grid-column:1;grid-row:2;max-width:none;width:100%;margin:0;color:#fff;font-size:clamp(40px,3.35vw,50px);line-height:1.1;letter-spacing:-.045em}
 .public-portal .home-refresh-hero-copy>p:first-of-type{grid-column:1;grid-row:3;max-width:55ch;margin:0;font-size:16px;line-height:1.75}
 .public-portal .hero-welcome-visual{grid-column:2;grid-row:1/span 3;align-self:center;margin:0;min-height:0;height:auto}
 .public-portal .hero-welcome-visual img{border-width:5px;border-radius:22px}
 .public-portal .hero-welcome-visual figcaption{margin:10px 4px 0;font-size:12px}
 .public-portal .hero-guide-invite{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);column-gap:36px;row-gap:5px;align-items:center;width:100%;max-width:none;margin-top:8px;padding:20px 24px;border:1px solid #f3c28438;border-radius:20px;background:linear-gradient(110deg,#ffffff08,#e7aa5210)}
 .public-portal .hero-guide-invite .hero-guide-kicker{grid-column:2;grid-row:1;max-width:32ch;margin:0;font-size:17px;align-self:end}
 .public-portal .hero-guide-invite .hero-guide-description{grid-column:2;grid-row:2;max-width:32ch;margin:0;font-size:13px;align-self:start}
 .public-portal .hero-guide-button{grid-column:1;grid-row:1/span 2;min-height:62px;box-shadow:none}
 .public-portal .hero-visit-secondary{grid-column:1;grid-row:5;align-self:center;margin:0;font-size:12px}
 .public-portal .portal-hero-method{grid-column:2;grid-row:5;justify-self:end;align-self:center;display:flex;align-items:center;min-height:44px;margin:0;font-size:12px}
 .public-portal .home-refresh-hero-copy>.portal-hero-reassurance{grid-column:1;grid-row:6;margin:0;font-size:12px}
 .public-portal .home-refresh-hero-facts{grid-column:2;grid-row:6;justify-content:flex-end;align-items:center;gap:6px 12px;margin:0;padding:0;border:0;font-size:11px}
 .public-portal .home-refresh-hero-facts span+span::before{margin-right:12px}
}
