body.guide-francais-ipad {
  --max: 1280px;
  --fr-burgundy: #7b3e55;
  --fr-burgundy-soft: #fbf0f4;
  --fr-blue: #315f83;
  --fr-blue-soft: #eef6fb;
  --fr-green: #33705b;
  --fr-green-soft: #edf9f4;
  --fr-gold: #a16b24;
  --fr-gold-soft: #fff7e9;
  --level-primary: #2f735d;
  --level-middle: #315f83;
  --level-high: #7b3e55;
}

body.guide-francais-ipad .wrap { padding-top: 28px; padding-bottom: 82px; }
body.guide-francais-ipad .hero::before {
  content: ""; position: absolute; inset: -145px -85px auto auto; width: 440px; height: 440px;
  border-radius: 50%; background: radial-gradient(circle, rgba(123,62,85,.18), transparent 69%); pointer-events: none;
}
body.guide-francais-ipad .hero::after {
  inset: auto auto -185px -110px; width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(49,95,131,.14), transparent 70%);
}
body.guide-francais-ipad .brand img { width: min(365px, 100%); }
body.guide-francais-ipad .hero-content { padding: 12px 4px 8px; }
body.guide-francais-ipad h1 { max-width: 13ch; font-size: clamp(2.45rem, 4.45vw, 4.8rem); line-height: .98; letter-spacing: -.054em; }
body.guide-francais-ipad .lead { max-width: 860px; }
body.guide-francais-ipad .central-question {
  margin-top: 22px; max-width: 875px; border-radius: 22px; padding: 18px 19px;
  background: linear-gradient(135deg, #4c2434, #84455d); color: #fff; box-shadow: 0 16px 36px rgba(15,23,42,.15);
}
body.guide-francais-ipad .central-question span {
  display: block; color: #f7dce5; text-transform: uppercase; letter-spacing: .14em;
  font-size: .78rem; font-weight: 850; margin-bottom: 6px;
}
body.guide-francais-ipad .central-question p { margin: 0; color: inherit; font-size: 1.02rem; }
body.guide-francais-ipad .hero-aside { display: grid; gap: 13px; align-content: center; }
body.guide-francais-ipad .principle-card {
  display: grid; grid-template-columns: 48px 1fr; gap: 13px; align-items: start;
  padding: 17px; background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 21px;
}
body.guide-francais-ipad .principle-card h2 { margin: 1px 0 4px; font-size: 1rem; letter-spacing: -.015em; }
body.guide-francais-ipad .principle-card p { margin: 0; color: var(--muted); font-size: .93rem; }
body.guide-francais-ipad .icon { width: 20px; height: 20px; stroke-width: 2.1; }
body.guide-francais-ipad .icon-box { color: var(--fr-burgundy); background: var(--fr-burgundy-soft); border-color: #edd3dc; }
body.guide-francais-ipad .icon-box.small { width: 48px; height: 48px; border-radius: 16px; }
body.guide-francais-ipad .icon-box .icon { width: 27px; height: 27px; }
body.guide-francais-ipad .panel { padding: 28px; }
body.guide-francais-ipad .card h3 {
  margin: 0 0 11px; display: flex; gap: 9px; align-items: center; font-size: 1.1rem; letter-spacing: -.015em;
}
body.guide-francais-ipad .card p { margin: 0 0 11px; color: var(--muted); }
body.guide-francais-ipad .card p:last-child { margin-bottom: 0; }
body.guide-francais-ipad .card ul, body.guide-francais-ipad .card ol { margin: 0; padding-left: 1.15rem; color: var(--muted); }
body.guide-francais-ipad .card li + li { margin-top: 8px; }

body.guide-francais-ipad .level-overview {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 18px;
}
body.guide-francais-ipad .level-card {
  padding: 17px; border-radius: 20px; border: 1px solid var(--line); background: #fff;
}
body.guide-francais-ipad .level-card span,
body.guide-francais-ipad .level-banner span {
  display: inline-flex; padding: 5px 9px; border-radius: 999px; color: #fff;
  font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 900;
}
body.guide-francais-ipad .level-card.primary span,
body.guide-francais-ipad .level-banner.primary span { background: var(--level-primary); }
body.guide-francais-ipad .level-card.middle span,
body.guide-francais-ipad .level-banner.middle span { background: var(--level-middle); }
body.guide-francais-ipad .level-card.high span,
body.guide-francais-ipad .level-banner.high span { background: var(--level-high); }
body.guide-francais-ipad .level-card h3 { margin: 10px 0 5px; font-size: 1.05rem; }
body.guide-francais-ipad .level-card p { margin: 0; color: var(--muted); font-size: .92rem; }
body.guide-francais-ipad .level-banner {
  display: flex; align-items: center; gap: 10px; margin-bottom: 17px; padding: 11px 13px;
  border-radius: 16px; background: #f8fafc; border: 1px solid var(--line);
}
body.guide-francais-ipad .level-banner strong { font-size: .94rem; }
body.guide-francais-ipad .tab-btn.primary-level { border-color: #cce6dc; }
body.guide-francais-ipad .tab-btn.middle-level { border-color: #d4e2ed; }
body.guide-francais-ipad .tab-btn.high-level { border-color: #ead3dc; }

body.guide-francais-ipad .app-matrix,
body.guide-francais-ipad .export-grid {
  display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 11px; margin-bottom: 18px;
}
body.guide-francais-ipad .app-matrix article,
body.guide-francais-ipad .export-grid article {
  padding: 15px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(180deg,#fff,#fbfcfe);
}
body.guide-francais-ipad .app-matrix h3,
body.guide-francais-ipad .export-grid h3 { margin: 9px 0 5px; font-size: 1rem; }
body.guide-francais-ipad .app-matrix p,
body.guide-francais-ipad .export-grid p { margin: 0 0 8px; color: var(--muted); font-size: .9rem; }
body.guide-francais-ipad .app-matrix strong,
body.guide-francais-ipad .export-grid strong { font-size: .84rem; }
body.guide-francais-ipad .app-name {
  display: inline-flex; padding: 6px 9px; border-radius: 999px; background: var(--fr-burgundy-soft);
  color: var(--fr-burgundy); border: 1px solid #edd3dc; font-size: .77rem; font-weight: 900;
}

body.guide-francais-ipad .app-focus {
  display: grid; grid-template-columns: 56px minmax(0,1fr) auto; gap: 15px; align-items: center;
  margin-bottom: 18px; padding: 17px 18px; border: 1px solid #edd3dc; border-radius: 21px;
  background: linear-gradient(135deg,var(--fr-burgundy-soft),#fff);
}
body.guide-francais-ipad .app-focus-icon {
  width: 52px; height: 52px; display: grid; place-items: center; border-radius: 17px;
  background: #fff; color: var(--fr-burgundy); border: 1px solid #edd3dc;
}
body.guide-francais-ipad .app-focus-icon .icon { width: 28px; height: 28px; }
body.guide-francais-ipad .app-focus h3 { margin: 1px 0 4px; font-size: 1.2rem; }
body.guide-francais-ipad .app-focus p { margin: 0; color: var(--muted); }
body.guide-francais-ipad .app-kicker {
  color: var(--fr-burgundy); font-size: .76rem; text-transform: uppercase; letter-spacing: .11em; font-weight: 900;
}
body.guide-francais-ipad .output-badge {
  display: inline-flex; padding: 8px 11px; border-radius: 999px; background: #fff;
  border: 1px solid #edd3dc; color: #743c50; font-size: .84rem; font-weight: 850; white-space: nowrap;
}

body.guide-francais-ipad .step { grid-template-columns: 42px minmax(0,1fr); }
body.guide-francais-ipad .step::before { content: none; }
body.guide-francais-ipad .step-num {
  width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center;
  background: #fff; color: var(--fr-burgundy); border: 1px solid #edd3dc;
  box-shadow: 0 5px 12px rgba(123,62,85,.07); font-weight: 900;
}
body.guide-francais-ipad .step h4 { margin: 1px 0 5px; font-size: 1rem; }
body.guide-francais-ipad .step p { margin: 0; color: var(--muted); font-size: .94rem; }

body.guide-francais-ipad .teacher-grid,
body.guide-francais-ipad .revision-grid,
body.guide-francais-ipad .rubric {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px;
}
body.guide-francais-ipad .teacher-grid > div,
body.guide-francais-ipad .revision-grid > div,
body.guide-francais-ipad .rubric > div {
  padding: 12px 13px; border: 1px solid var(--line); border-radius: 15px; background: #fbfcfe;
}
body.guide-francais-ipad .teacher-grid strong,
body.guide-francais-ipad .teacher-grid span,
body.guide-francais-ipad .revision-grid strong,
body.guide-francais-ipad .revision-grid span,
body.guide-francais-ipad .rubric strong,
body.guide-francais-ipad .rubric span { display: block; }
body.guide-francais-ipad .teacher-grid span,
body.guide-francais-ipad .revision-grid span,
body.guide-francais-ipad .rubric span { margin-top: 3px; color: var(--muted); font-size: .9rem; }

body.guide-francais-ipad .grammar-code { display: grid; gap: 9px; }
body.guide-francais-ipad .grammar-code > div {
  display: grid; grid-template-columns: 100px 1fr; gap: 12px; align-items: start;
  padding: 12px; border: 1px solid var(--line); border-radius: 15px; background: #fbfcfe;
}
body.guide-francais-ipad .grammar-code p { margin: 2px 0 0; font-size: .91rem; }
body.guide-francais-ipad .code {
  display: inline-flex; justify-content: center; padding: 5px 8px; border-radius: 999px;
  color: #fff; font-size: .78rem; font-weight: 900;
}
body.guide-francais-ipad .code.subject { background: #2d6ea3; }
body.guide-francais-ipad .code.verb { background: #a64040; }
body.guide-francais-ipad .code.complement { background: #39765c; }
body.guide-francais-ipad .code.agreement { background: #aa681d; }

body.guide-francais-ipad .dual-workflow {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 18px;
}
body.guide-francais-ipad .workflow-choice {
  padding: 15px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(180deg,#fff,#fbfcfe);
}
body.guide-francais-ipad .workflow-choice h3 { margin: 9px 0 5px; font-size: 1rem; }
body.guide-francais-ipad .workflow-choice p { margin: 0; color: var(--muted); font-size: .9rem; }

body.guide-francais-ipad .slide-plan { display: grid; gap: 9px; }
body.guide-francais-ipad .slide-plan > div {
  display: grid; grid-template-columns: 36px 150px 1fr; gap: 10px; align-items: start;
  padding: 12px; border: 1px solid var(--line); border-radius: 15px; background: #fbfcfe;
}
body.guide-francais-ipad .slide-plan > div > span {
  width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px;
  color: #fff; background: var(--fr-burgundy); font-weight: 900;
}
body.guide-francais-ipad .slide-plan p { margin: 0; font-size: .9rem; }

body.guide-francais-ipad .scenario-card {
  padding: 18px; border: 1px solid #d9e1e8; border-radius: 20px;
  background: linear-gradient(180deg,var(--fr-blue-soft),#fff);
}
body.guide-francais-ipad .scenario-card h3 { margin: 7px 0 5px; font-size: 1.08rem; }
body.guide-francais-ipad .scenario-card p { margin: 0; color: var(--muted); }
body.guide-francais-ipad .scenario-label {
  display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #fff; color: var(--fr-blue);
  border: 1px solid #d9e1e8; font-size: .76rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 900;
}

body.guide-francais-ipad .resource-card { display: grid; gap: 9px; }
body.guide-francais-ipad .resource-card h3 { margin-bottom: 2px; }
body.guide-francais-ipad .resource-card a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px;
  border: 1px solid var(--line); border-radius: 15px; background: #fbfcfe; font-weight: 750; color: #1d4ed8;
}
body.guide-francais-ipad .resource-card a::after { content: "↗"; flex: 0 0 auto; }
body.guide-francais-ipad .resource-card a:hover { text-decoration: none; background: var(--fr-burgundy-soft); }

body.guide-francais-ipad .notice {
  display: grid; grid-template-columns: 58px 1fr; gap: 16px; align-items: start; margin-top: 24px; padding: 22px;
  border: 1px solid #edd3dc; border-radius: 24px; background: linear-gradient(180deg,var(--fr-burgundy-soft),#fff);
  box-shadow: var(--shadow-soft);
}
body.guide-francais-ipad .notice h2 { margin: 0 0 6px; font-size: 1.28rem; letter-spacing: -.02em; }
body.guide-francais-ipad .notice p { margin: 0; color: var(--muted); }
body.guide-francais-ipad .footer { padding-top: 20px; padding-bottom: 20px; }
body.guide-francais-ipad .footer h2 { margin-bottom: 4px; font-size: 1.08rem; }
body.guide-francais-ipad .footer p { margin: 0; font-size: .91rem; }
body.guide-francais-ipad .footer-links { justify-content: flex-end; }

@media (max-width: 1120px) {
  body.guide-francais-ipad .app-matrix,
  body.guide-francais-ipad .export-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  body.guide-francais-ipad .wrap { padding-bottom: 60px; }
  body.guide-francais-ipad .hero, body.guide-francais-ipad .panel, body.guide-francais-ipad .footer { border-radius: 24px; }
  body.guide-francais-ipad .brand img { width: 275px; }
  body.guide-francais-ipad .panel { padding: 19px; }
  body.guide-francais-ipad .level-overview,
  body.guide-francais-ipad .app-matrix,
  body.guide-francais-ipad .export-grid,
  body.guide-francais-ipad .teacher-grid,
  body.guide-francais-ipad .revision-grid,
  body.guide-francais-ipad .rubric,
  body.guide-francais-ipad .dual-workflow { grid-template-columns: 1fr; }
  body.guide-francais-ipad .app-focus { grid-template-columns: 52px 1fr; }
  body.guide-francais-ipad .output-badge { grid-column: 1 / -1; justify-self: start; }
  body.guide-francais-ipad .grammar-code > div,
  body.guide-francais-ipad .slide-plan > div { grid-template-columns: 1fr; }
  body.guide-francais-ipad .notice { grid-template-columns: 1fr; padding: 19px; }
  body.guide-francais-ipad .footer-links { justify-content: flex-start; }
  body.guide-francais-ipad .tab-btn { padding: 9px 10px; font-size: .87rem; }
}
@media print {
  body.guide-francais-ipad .tabs, body.guide-francais-ipad .hero-actions, body.guide-francais-ipad .copy-btn { display: none !important; }
  body.guide-francais-ipad .panel, body.guide-francais-ipad .panel[hidden] {
    display: block !important; page-break-inside: avoid; box-shadow: none; border: 1px solid #d1d5db;
  }
  body.guide-francais-ipad .wrap { width: 100%; }
  body.guide-francais-ipad .hero, body.guide-francais-ipad .quick-start, body.guide-francais-ipad .notice, body.guide-francais-ipad .footer { box-shadow: none; }
}
