/* fonts.css */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/font-1.woff2') format('woff2'), url('../fonts/font-1.ttf') format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/font-2.woff2') format('woff2'), url('../fonts/font-2.ttf') format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/font-3.woff2') format('woff2'), url('../fonts/font-3.ttf') format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/font-4.woff2') format('woff2'), url('../fonts/font-4.ttf') format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/font-5.woff2') format('woff2'), url('../fonts/font-5.ttf') format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/font-6.woff2') format('woff2'), url('../fonts/font-6.ttf') format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url('../fonts/font-7.woff2') format('woff2'), url('../fonts/font-7.ttf') format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url('../fonts/font-8.woff2') format('woff2'), url('../fonts/font-8.ttf') format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url('../fonts/font-9.woff2') format('woff2'), url('../fonts/font-9.ttf') format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url('../fonts/font-10.woff2') format('woff2'), url('../fonts/font-10.ttf') format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/font-11.woff2') format('woff2'), url('../fonts/font-11.ttf') format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/font-12.woff2') format('woff2'), url('../fonts/font-12.ttf') format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/font-13.woff2') format('woff2'), url('../fonts/font-13.ttf') format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/font-14.woff2') format('woff2'), url('../fonts/font-14.ttf') format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/font-15.woff2') format('woff2'), url('../fonts/font-15.ttf') format('truetype');
}

/* blogs.css */
/* BASE LAYER — structure and older styling only. The current visual design is assets/carnet.css, which loads last and overrides this file. Change the look there, not here. */
/* OD-LAYOUT-PRIMITIVES v1 — structure only */
@layer od-layout {
  :where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile)>:where(*){min-width:0}
  .od-stack{display:flex;flex-direction:column;gap:var(--od-gap,8px)}
  .od-row{display:flex;align-items:center;gap:var(--od-gap,8px)}
  .od-row-top{display:flex;align-items:flex-start;gap:var(--od-gap,8px)}
  .od-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--od-gap,8px)}
  .od-fill{flex:1 1 0;min-width:0}.od-fixed{flex:none}
  .od-grid{display:grid;gap:var(--od-gap,12px);grid-template-columns:repeat(var(--od-cols,3),minmax(0,1fr))}
  .od-stat,.od-field,.od-cell{display:grid;gap:var(--od-gap,2px)}
  :where(.od-stat,.od-field,.od-cell)>:where(*){display:block}
  .od-tile{display:grid;grid-template-rows:auto 1fr}.od-tile>:where(*){display:block}
  .od-media{display:block;width:100%;height:auto;aspect-ratio:var(--od-ratio,auto)}.od-media-cover{object-fit:cover}
  .od-icon{display:inline-block;inline-size:var(--od-icon-size,1em);block-size:var(--od-icon-size,1em);flex:none}
  .od-truncate{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .od-clamp-2,.od-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
  .od-clamp-2{-webkit-line-clamp:2}.od-clamp-3{-webkit-line-clamp:3}.od-lines-2{min-height:calc(2*1.4em)}
  .od-nowrap{white-space:nowrap}.od-keep{word-break:keep-all;overflow-wrap:anywhere}
  .od-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}.od-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0}
  .od-rail{display:flex;gap:var(--od-gap,8px);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-inline:var(--od-rail-pad,16px);scroll-padding-inline:var(--od-rail-pad,16px)}
  .od-rail::-webkit-scrollbar{display:none}.od-rail>:where(*){flex:none;scroll-snap-align:start}.od-rail>:last-child{margin-inline-end:var(--od-rail-pad,16px)}
  .od-spacer{flex:none;visibility:hidden;pointer-events:none}.od-touch{min-width:44px;min-height:44px}
}
/* /OD-LAYOUT-PRIMITIVES v1 */
:root{
  --desk:#F3F3F1;--paper:#fff;--paper-2:#F9F9F8;--ink:#1E2A4A;--muted:#4A5068;--subtle:#5C6178;--line:#E2E2DE;--line-strong:#C7C7C1;
  --blue:#34558F;--blue-soft:#EDF0F5;--sage:#2F6B55;--sage-soft:#DDEBE2;--red:#B8372A;--red-soft:#FBEAE7;--highlight:#F3D9A4;--on-ink:#fff;
  --display:'Fraunces',Georgia,serif;--sans:'Instrument Sans',system-ui,sans-serif;--target:'Newsreader',Georgia,serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --text-sm:0.875rem;--text-base:1rem;--text-lead:1.25rem;--text-h3:1.75rem;--text-h2:2.5rem;--text-h1:clamp(2.5rem,5vw,4.5rem);
  --radius:12px;--radius-sm:8px;--shell:1232px;--prose:680px;--fast:150ms;--duration:220ms;--ease:cubic-bezier(.2,.8,.2,1);
  --shadow:0 2px 4px rgb(30 42 74 / .04),0 16px 32px rgb(30 42 74 / .05);color-scheme:light
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--text-base)/1.65 var(--sans);text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
button{border:0}button:disabled{cursor:not-allowed;opacity:.6}button,a,input{touch-action:manipulation}input[type=radio],input[type=checkbox]{accent-color:var(--ink);width:20px;height:20px;flex:none}
img{max-width:100%;height:auto}h1,h2,h3,h4,p,ul,ol,blockquote,figure{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-.035em;text-wrap:pretty}
h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{max-width:72ch}h1 em,h2 em{font-weight:400;color:var(--blue)}small{font-size:var(--text-sm)}[hidden]{display:none!important}
.container{width:min(calc(100% - 96px),var(--shell));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;top:8px;left:16px;padding:12px 24px;background:var(--ink);color:var(--paper);z-index:20;transform:translateY(-160%)}.skip:focus{transform:none}
.eyebrow{display:block;font:600 .75rem/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.muted{color:var(--muted)}.subtle{color:var(--subtle)}.lead{font-size:var(--text-lead);line-height:1.6;color:var(--muted)}.fr{font-family:var(--target);font-size:1.375em;line-height:1.45}.rule{border-top:1px solid var(--line)}
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:96px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}.brand svg{display:block}.brand-name{display:block;font:500 1.75rem/1 var(--display);letter-spacing:-.04em}.brand-sub{display:block;margin-top:8px;font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto}.desktop-nav a{font-size:var(--text-sm);text-decoration:none;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}.desktop-nav a[aria-current=page]{border-color:var(--ink);font-weight:600}
.header-actions{display:flex;align-items:center;gap:16px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;background:transparent;border-radius:var(--radius-sm)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;border:1px solid var(--ink);border-radius:var(--radius-sm);background:var(--ink);color:var(--on-ink);font-weight:500;text-decoration:none;line-height:1.5;white-space:nowrap;transition:background var(--fast),color var(--fast)}
.button.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.button.text{padding-inline:0;background:transparent;border-color:transparent;color:var(--ink)}.button.small{min-height:44px;padding:8px 16px;font-size:var(--text-sm)}
.mobile-menu{display:none}.mobile-menu summary{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{display:flex;flex-direction:column;gap:8px;padding:16px 0 24px}.mobile-menu nav a{padding:8px 0;text-decoration:none}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;padding:24px 0;font-size:.8125rem;color:var(--muted)}.breadcrumb li{display:flex;align-items:center;gap:12px}.breadcrumb li+li:before{content:'/';color:var(--subtle)}.breadcrumb a{text-decoration:none}
.home-hero{display:grid;grid-template-columns:1.14fr 1fr;gap:96px;align-items:center;padding-block:80px}.hero-copy{display:flex;flex-direction:column;gap:24px}.home-hero h1{font-size:clamp(3rem,5.5vw,5.5rem);line-height:1.04}.home-hero h1 em{display:block}.home-hero .lead{max-width:42ch}.hero-footnote{font-size:.8125rem;color:var(--muted)}
.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;width:100%;max-width:560px}.search-form label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:8px}.search-field{display:flex;gap:12px;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding-inline:16px;background:var(--paper);min-height:52px}.search-field input{width:100%;min-width:0;display:block;border:0;background:none;outline:none;padding-block:12px}.search-field:focus-within{outline:3px solid var(--blue);outline-offset:3px}.search-field input:focus-visible{outline:none}.search-form .button{min-height:52px}
.specimen{display:grid;gap:0;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.specimen-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 32px;border-bottom:1px solid var(--line)}.mini-label{font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.specimen-body{padding:32px}.specimen-sentence{font:400 clamp(2rem,3.5vw,3rem)/1.4 var(--target);letter-spacing:-.02em;max-width:22ch}.mark{background:var(--highlight);padding:0 4px;color:var(--ink);box-decoration-break:clone;-webkit-box-decoration-break:clone}.specimen-note{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:32px;margin-top:32px;border-top:1px solid var(--line-strong)}.specimen-note strong{font-size:.9375rem}.specimen-note span{font-size:.8125rem;color:var(--muted)}.specimen-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 32px;border-top:1px solid var(--line);font-size:.8125rem}.specimen-bottom a{font-weight:600;text-decoration:none}
.section{padding-block:64px}.section-header{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}.section-title{display:flex;flex-direction:column;gap:12px}.section-header h2{font-size:2.25rem}.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:var(--text-sm);font-weight:500}.section-tint{background:var(--paper-2);border-block:1px solid var(--line)}
.featured-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:32px}.story{display:flex;flex-direction:column;gap:16px;min-width:0}.story h3{font-size:1.75rem}.story h3 a,.article-row h3 a{text-decoration:none}.story .muted{font-size:.9375rem}.story-visual{display:grid;align-content:center;gap:16px;min-height:200px;background:var(--blue-soft);border-radius:var(--radius-sm);padding:32px;color:var(--blue)}.story-visual.sage{background:var(--sage-soft);color:var(--sage)}.story-visual.paper{background:var(--paper-2);color:var(--ink)}.visual-text{font:400 clamp(1.5rem,2.5vw,2.25rem)/1.25 var(--target);letter-spacing:-.03em}.visual-pair{display:flex;flex-direction:column;gap:8px}.visual-pair span{display:block}.visual-arrow{color:var(--muted);font-family:var(--sans);font-size:.875rem}.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.75rem;color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:8px;min-height:24px;font:500 .75rem/1.5 var(--sans);color:var(--blue)}.tag.level{background:var(--blue-soft);padding:4px 8px;border-radius:4px;white-space:nowrap}.meta .dot:before{content:'·';margin-right:16px}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}.topic-link{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none}.topic-number{font:italic 400 1.5rem var(--display);color:var(--subtle)}.topic-link h3{font-size:1.5rem}.topic-link p{font-size:.875rem;color:var(--muted);margin-top:8px}.topic-link .od-icon{--od-icon-size:20px}
.article-list{display:flex;flex-direction:column}.article-row{display:grid;grid-template-columns:144px minmax(0,1fr) auto;gap:32px;align-items:start;padding:32px 0;border-top:1px solid var(--line)}.article-row:first-child{padding-top:0;border-top:0}.article-row .od-field{--od-gap:12px}.article-row h3{font-size:1.75rem}.article-row p{font-size:.9375rem;color:var(--muted)}.article-row .row-type{font-size:.75rem;color:var(--subtle);padding-top:8px}.article-row .arrow-link{display:flex;width:48px;min-height:48px;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);border-radius:50%}
.library-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:80px}.level-note{display:flex;flex-direction:column;gap:24px;padding:32px;background:var(--desk);border-radius:var(--radius)}.level-note h3{font-size:2rem}.level-links{display:flex;flex-wrap:wrap;gap:8px}.level-links a{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);text-decoration:none;background:var(--paper);font-weight:500}
.course-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;border-top:1px solid var(--line);padding:48px 0}.course-callout .od-field{--od-gap:12px}.course-callout h2{font-size:2rem}.course-callout p{color:var(--muted)}
.page-heading{display:flex;flex-direction:column;gap:24px;padding-block:32px 48px;max-width:880px}.page-heading h1{max-width:20ch}.page-heading .lead{max-width:56ch}.page-heading .meta{margin-top:8px}.topic-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:64px;align-items:center;padding-bottom:64px}.topic-hero .page-heading{padding-block:24px}.topic-path{background:var(--desk);padding:32px;border-radius:var(--radius);display:flex;flex-direction:column;gap:24px}.topic-path ol{padding:0;list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:24px}.topic-path li{counter-increment:step;display:grid;grid-template-columns:32px 1fr;gap:16px}.topic-path li:before{content:'0' counter(step);font-size:.75rem;color:var(--blue);padding-top:4px}.topic-path a{font-weight:500}.topic-path span{display:block;font-size:.8125rem;color:var(--muted);margin-top:4px}
.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:24px;padding-block:24px;border-block:1px solid var(--line);margin-bottom:32px}.filter-bar label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:8px}.filter-bar select{min-height:48px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 32px 8px 16px;background:var(--paper)}.filter-bar .result-count{margin-left:auto;font-size:.875rem;padding-bottom:12px;color:var(--muted)}.filter-form{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-top:32px}.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding-inline:16px;border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none}.pagination [aria-current=page]{background:var(--ink);color:var(--on-ink)}
.article-header{max-width:960px;padding-block:32px 48px}.article-header .eyebrow{margin-bottom:24px}.article-header h1{max-width:20ch}.article-header .lead{max-width:56ch;margin-top:24px}.article-header .meta{margin-top:32px}.draft-label{font-size:.75rem;color:var(--subtle)}
.article-layout{display:grid;grid-template-columns:192px minmax(0,var(--prose)) minmax(0,1fr);gap:48px;padding-bottom:64px}.contents{align-self:start;position:sticky;top:32px;font-size:.8125rem}.contents strong{display:block;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}.contents ol{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px}.contents a{display:block;text-decoration:none;color:var(--muted);padding:4px 0}.contents details>summary{display:none}.article-body{min-width:0}.article-body>section{margin-bottom:48px}.article-body h2{font-size:2rem;margin-bottom:24px;scroll-margin-top:32px}.article-body h3{font-size:1.5rem;margin:32px 0 16px}.article-body p+p{margin-top:16px}.article-body ul,.article-body ol{padding-left:24px;margin-block:16px}.article-body li+li{margin-top:8px}.article-body .lead{font-family:var(--target);font-size:1.5rem;color:var(--ink)}.article-body .aside-note{font-size:.875rem;color:var(--muted);margin-block:16px}
.answer-first{background:var(--paper-2);padding:32px;border-radius:var(--radius);margin-bottom:48px}.answer-first .eyebrow{margin-bottom:16px}.answer-first p{font-size:1.125rem;line-height:1.7}.answer-first .fr{font-size:1.5rem}.example{background:var(--paper-2);padding:24px 32px;margin-block:24px;border-radius:var(--radius-sm);display:grid;gap:12px}.example .translation{font-size:.875rem;color:var(--muted)}.formula{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:24px 0;font:400 1.5rem var(--target)}.formula .part{display:block;padding:12px 16px;background:var(--blue-soft);border-radius:var(--radius-sm);color:var(--blue)}.formula .operator{display:block;font-family:var(--sans);font-size:1.125rem}
.reference-table{width:100%;border-collapse:collapse;margin-block:24px;text-align:left;font-size:.9375rem}.reference-table caption{text-align:left;font-weight:600;padding-bottom:16px}.reference-table th{font-weight:600;background:var(--paper-2)}.reference-table th,.reference-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top}.reference-table [lang=fr]{font-family:var(--target);font-size:1.25rem}.reference-table-wrap{max-width:100%;overflow-x:auto}.annotation{font-size:.875rem;border-block:1px solid var(--line);padding-block:24px;display:grid;gap:12px}.annotation strong{font-weight:600}.annotation .eyebrow{color:var(--red)}
.practice{margin-block:32px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper)}.practice-header{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius) var(--radius) 0 0}.practice-header .eyebrow{font-size:.6875rem;letter-spacing:.12em}.practice-header .count{font-size:.75rem;color:var(--muted)}.practice-inner{padding:24px}.practice fieldset{border:0;padding:0;margin:0;min-width:0}.practice legend{font-weight:500;font-size:1.125rem;margin-bottom:16px;line-height:1.6;max-width:100%}.practice legend .fr{display:block;font-size:1.5rem;margin-top:12px;font-weight:400}.choices{display:grid;gap:12px}.choice{display:flex;align-items:center;gap:16px;min-height:52px;padding:12px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer}.choice:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}.choice-text{display:block;font-family:var(--target);font-size:1.25rem;line-height:1.4}.practice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}.practice-hint{font-size:.8125rem;color:var(--muted);margin-block:12px}.practice-feedback{padding:16px 24px;margin-top:24px;background:var(--blue-soft);border-radius:var(--radius-sm);font-size:.9375rem}.practice-feedback.correct{background:var(--sage-soft);color:var(--sage)}.practice-feedback.incorrect{background:var(--red-soft);color:var(--red)}.practice-feedback strong{display:block;margin-bottom:8px}.solution{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.solution summary{font-size:.875rem;font-weight:500;min-height:44px;padding-block:8px}.solution .solution-copy{font-size:.875rem;color:var(--muted);padding-top:8px}.solution-copy p+p{margin-top:12px}.input-label{display:block;font-weight:500;margin-bottom:8px}.text-input{display:block;width:100%;padding:12px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);min-height:52px}.text-input[aria-invalid=true]{border-color:var(--red)}.field-error{font-size:.875rem;color:var(--red);margin-top:8px}
.builder-output{min-height:80px;background:var(--paper-2);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-block:16px}.word-bank{display:flex;flex-wrap:wrap;gap:8px}.word{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);font-family:var(--target);font-size:1.25rem}.builder-output .word{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
.flashcards{list-style:none!important;padding:0!important;display:grid;gap:16px}.flashcards li+li{margin:0}.flashcard{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:24px}.flashcard summary{display:flex;flex-direction:column;gap:12px;list-style:none}.flashcard summary::-webkit-details-marker{display:none}.flashcard .prompt{display:block;font:400 1.5rem var(--target)}.flashcard .reveal{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--blue)}.flashcard .back{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.flashcard[open] .reveal-text:after{content:' · Tap to close'}.flashcard .back p+p{margin-top:8px}
.quiz-summary{display:grid;gap:16px;padding:32px;background:var(--desk);border-radius:var(--radius);margin-block:32px}.quiz-summary output{display:block;font:500 2rem var(--display);white-space:nowrap}.quiz-summary p{font-size:.875rem;color:var(--muted)}.quiz-progress{display:grid;gap:12px;padding-block:16px}.quiz-progress progress{width:100%;height:8px;accent-color:var(--blue)}.quiz-progress label{font-size:.875rem}.quiz-actions{display:flex;flex-wrap:wrap;gap:16px}
.related{border-top:1px solid var(--line);padding-top:32px;margin-top:48px}.related h2{margin-bottom:24px}.related-list{list-style:none!important;padding:0!important}.related-list li{padding-block:16px;border-bottom:1px solid var(--line)}.related-list a{display:flex;justify-content:space-between;gap:24px;text-decoration:none}.related-list span{font-weight:500}.inline-course{padding:32px;background:var(--desk);border-radius:var(--radius);margin-top:32px}.inline-course h3{margin:0 0 16px}.inline-course p{font-size:.9375rem;color:var(--muted);margin-bottom:16px}.source-note{padding-block:24px;font-size:.8125rem;color:var(--muted);border-top:1px solid var(--line)}
.empty{padding:64px 32px;border-block:1px solid var(--line);text-align:center;display:flex;flex-direction:column;gap:24px;align-items:center}.empty p{max-width:46ch;color:var(--muted)}.empty h2{font-size:2rem}.error-page{max-width:640px;margin:auto;padding-block:96px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.error-numeral{font:400 clamp(5rem,12vw,8rem)/1 var(--display);color:var(--blue)}
.component-layout{display:grid;grid-template-columns:192px minmax(0,1fr);gap:64px}.component-section{margin-bottom:64px;scroll-margin-top:32px}.component-section>h2{margin-bottom:24px;font-size:2rem}.component-section>p{color:var(--muted);margin-bottom:24px}.component-section .practice{max-width:680px}.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.swatch{display:grid;gap:12px;font-size:.8125rem}.swatch-color{display:block;min-height:72px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--swatch)}.state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.state-panel{padding:24px;border:1px solid var(--line);border-radius:var(--radius-sm)}.state-panel h3{font-size:1.25rem;margin-bottom:16px}.skeleton{min-height:16px;background:var(--line);border-radius:4px;margin-bottom:16px}.skeleton.short{width:60%}.media-unavailable{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--paper-2);border-radius:var(--radius-sm)}.unavailable-icon{display:flex;align-items:center;justify-content:center;width:48px;min-height:48px;border:1px solid var(--line-strong);border-radius:50%;--od-icon-size:20px}.writing-model{font-family:var(--target);font-size:1.375rem;line-height:1.7}.writing-model p+p{margin-top:16px}
.site-footer{background:var(--paper-2);border-top:1px solid var(--line);margin-top:32px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:48px;padding-block:48px}.footer-brand p{font-size:.875rem;color:var(--muted);margin-top:16px;max-width:32ch}.footer-links{display:flex;flex-wrap:wrap;gap:24px 32px;font-size:.875rem}.footer-links a{min-height:44px;display:flex;align-items:center;text-decoration:none}.footer-bottom{border-top:1px solid var(--line);padding-block:24px;display:flex;justify-content:space-between;gap:24px;font-size:.75rem;color:var(--muted)}
@media(hover:hover){a:hover{text-decoration:underline}.desktop-nav a:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}.button:hover{background:var(--blue);border-color:var(--blue);color:#fff;text-decoration:none}.button.secondary:hover{background:var(--blue-soft);color:var(--blue)}.button.text:hover{background:var(--paper-2);color:var(--blue)}.icon-button:hover{background:var(--blue-soft)}.choice:hover,.word:hover{border-color:var(--blue);background:var(--blue-soft)}.story h3 a:hover,.article-row h3 a:hover,.contents a:hover{color:var(--blue)}.topic-link:hover{text-decoration:none;background:var(--paper-2)}.flashcard summary:hover .reveal{color:var(--ink);text-decoration:underline}.arrow-link:hover{background:var(--blue-soft)}}
@media(min-width:1440px){.home-hero{gap:112px;padding-block:96px}.article-layout{grid-template-columns:208px minmax(0,720px) minmax(0,1fr)}}
@media(max-width:1023px){.container{width:calc(100% - 64px)}.desktop-nav{gap:24px}.header-inner{gap:24px}.header-actions .button{display:none}.home-hero{gap:48px;padding-block:64px}.home-hero h1{font-size:4rem}.featured-grid{gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.story-visual{padding:24px;min-height:176px}.library-layout{gap:40px;grid-template-columns:minmax(0,1.6fr) 1fr}.article-row{grid-template-columns:minmax(0,1fr) auto;gap:16px}.article-row .row-type{grid-column:1/-1;padding:0}.topic-grid{column-gap:32px}.topic-link{gap:16px;grid-template-columns:32px 1fr auto}.article-layout{grid-template-columns:160px minmax(0,1fr);gap:32px}.article-layout>.margin-space{display:none}.topic-hero{gap:40px}.component-layout{grid-template-columns:152px minmax(0,1fr);gap:32px}}
@media(max-width:767px){:root{--text-h2:2rem}.container{width:calc(100% - 40px)}.header-inner{min-height:80px;gap:16px}.brand-name{font-size:1.5rem}.brand-sub{font-size:.5625rem}.desktop-nav{display:none}.header-actions{margin-left:auto;gap:8px}.mobile-menu{display:block}.mobile-menu:not([open]) nav{display:none}.mobile-menu[open]{flex-basis:100%;order:5}.mobile-menu[open] summary{margin-left:auto}.header-inner:has(.mobile-menu[open]){flex-wrap:wrap;padding-block:16px;gap:8px}.home-hero{grid-template-columns:1fr;gap:40px;padding-block:48px}.home-hero h1{font-size:clamp(3rem,10vw,4.5rem)}.hero-copy{gap:24px}.hero-footnote{font-size:.75rem}.specimen{max-width:560px}.specimen-body{padding:24px}.specimen-top{padding:16px 24px}.specimen-bottom{padding:16px 24px}.specimen-sentence{font-size:2.25rem}.section{padding-block:40px}.section-header{align-items:start;gap:16px;flex-direction:column;margin-bottom:24px}.section-header h2{font-size:2rem}.featured-grid{grid-template-columns:1fr;gap:32px}.story{display:grid;grid-template-columns:128px 1fr;gap:12px 24px}.story-visual{grid-row:1/5;padding:16px;min-height:176px}.story>.meta,.story>h3,.story>p{grid-column:2}.story h3{font-size:1.5rem}.visual-text{font-size:1.5rem}.visual-arrow{font-size:.75rem}.topic-grid{grid-template-columns:1fr}.topic-link h3{font-size:1.5rem}.library-layout{grid-template-columns:1fr;gap:32px}.article-row{padding-block:24px}.article-row h3{font-size:1.5rem}.level-note{padding:24px}.course-callout{grid-template-columns:1fr;gap:24px;padding-block:32px}.course-callout .button{justify-self:start}.topic-hero{grid-template-columns:1fr;gap:8px;padding-bottom:40px}.page-heading{padding-block:24px 32px}.page-heading h1{max-width:18ch}.topic-path{padding:24px}.breadcrumb{padding-block:24px;font-size:.75rem}.filter-bar{gap:16px}.filter-form{width:100%;gap:16px}.filter-form>div{flex:1}.filter-bar select{width:100%;padding-right:24px}.filter-bar .result-count{margin-left:0;padding-bottom:0}.article-header{padding-block:16px 32px}.article-header h1{font-size:2.75rem}.article-header .lead{font-size:1.125rem}.article-header .meta{margin-top:24px}.article-layout{grid-template-columns:1fr;gap:32px}.contents{position:static;border-block:1px solid var(--line);padding-block:16px}.contents>strong,.contents>ol{display:none}.contents details>summary{display:list-item;font-size:.875rem;font-weight:500;min-height:44px;padding-block:8px}.contents details ol{padding-block:16px}.article-body h2{font-size:1.75rem}.answer-first{padding:24px;margin-bottom:32px}.answer-first p{font-size:1rem}.example{padding:24px}.reference-table th,.reference-table td{padding:12px}.component-layout{grid-template-columns:1fr;gap:32px}.component-layout>.contents{display:none}.state-grid{grid-template-columns:1fr}.swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{flex-direction:column;padding-block:32px;gap:24px}.footer-links{gap:8px 24px}.footer-bottom{flex-direction:column;gap:8px}.error-page{padding-block:64px}.search-form .button{padding-inline:16px}}
@media(max-width:374px){.container{width:calc(100% - 32px)}.home-hero h1{font-size:2.75rem}.story{grid-template-columns:1fr}.story-visual{grid-row:auto;min-height:144px}.story>.meta,.story>h3,.story>p{grid-column:1}.specimen-note{gap:16px}.practice-inner{padding:16px}.practice-header{padding:16px}.article-header h1{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep both search and navigation reachable on narrow screens. */
@media(max-width:767px){.site-header .brand-sub{display:none}}
.practice legend .translation{display:block;margin-top:12px;font-size:1rem;font-weight:400;color:var(--muted)}
@media print{.site-header,.site-footer,.contents,.header-actions,.practice-actions,.search-form,.course-callout{display:none!important}.container{width:100%;max-width:none}.article-layout{display:block}.practice,.example,.answer-first{break-inside:avoid;box-shadow:none}.solution{display:block}.solution>.solution-copy{display:block}a{color:#000}.article-header h1{font-size:32pt}body{font-size:12pt}}

/* reading-aids.css */
/* BASE LAYER — structure and older styling only. The current visual design is assets/carnet.css, which loads last and overrides this file. Change the look there, not here. */
/* Incremental reading aids. Carnet calme owns the fonts, palette and layout.
   Three treatments: yellow = core rule; underline = decisive point;
   tinted label = a named term or a sentence part. Never nest treatments. */
:root{--reading-highlight:#F3E66C;--reading-mark-radius:4px;--reading-rule-weight:650;--reading-underline:3px;--reading-label-size:.75rem;--reading-prose-size:1.125rem;--reading-title-size:2.125rem}
.reading-key{background:var(--reading-highlight);color:var(--ink);padding:.04em .16em;border-radius:var(--reading-mark-radius);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.reading-point{font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:var(--reading-underline);text-underline-offset:.2em;text-decoration-skip-ink:auto}
.reading-term,.reading-helper,.reading-participle{font-weight:var(--reading-rule-weight);color:var(--blue);background:var(--blue-soft);padding:.08em .24em;border-radius:var(--reading-mark-radius);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.reading-participle{color:var(--sage);background:var(--sage-soft)}
.article-body>section>p:not(.reading-step){font-size:var(--reading-prose-size);line-height:1.75}
.article-body>section>h2{font-size:var(--reading-title-size);font-weight:600;line-height:1.25;margin-bottom:var(--s4);letter-spacing:-.025em}
.article-body .reading-step{display:block;font:700 var(--reading-label-size)/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin:0 0 var(--s2)}
.article-body>section>p.reading-rule{font-weight:500}
.article-body>section>p.reading-detail{font-size:var(--text-base);color:var(--muted)}
.answer-first{background:var(--paper-2);border:0}
.answer-first>.eyebrow{color:var(--blue);font-size:var(--reading-label-size);font-weight:700}
.answer-first p{line-height:1.8}
.answer-first p+p{margin-top:var(--s4)}
.reading-guide{display:grid;gap:var(--s5);margin-block:var(--s5);padding-block:var(--s5);border-block:1px solid var(--line)}
.reading-guide>div{display:grid;gap:var(--s2);min-width:0}
.reading-guide dt{font-size:1rem;font-weight:650}
.reading-guide dd{margin:0;line-height:1.8;font-size:var(--reading-prose-size)}
.reading-guide dd small{display:block;font-size:var(--text-sm);color:var(--muted);margin-top:var(--s2)}
@media(max-width:767px){:root{--reading-title-size:1.875rem}.article-body>section>h2{line-height:1.3}}
.reading-diagram{display:grid;gap:16px;margin-block:24px;padding:24px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-sm)}
.reading-diagram-title{font:500 1.125rem/1.5 var(--display);color:var(--ink)}
.reading-construction{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}
.reading-part{display:grid;gap:8px;align-content:start;padding:16px;border:1px solid var(--blue-line,#BFCDE5);border-radius:var(--radius-sm);background:var(--blue-soft);color:var(--blue);min-width:0}
.reading-part.past{background:var(--sage-soft);border-color:#B6D0C2;color:var(--sage)}
.reading-part strong{display:block;font:500 1.75rem/1.4 var(--target);overflow-wrap:anywhere}
.reading-part .part-label{display:block;font-size:.8125rem;font-weight:600;line-height:1.5}
.reading-part small{display:block;font-size:.8125rem;line-height:1.5;color:inherit}
.reading-operator{display:block;font:400 1.25rem var(--sans);color:var(--muted)}
.reading-diagram p{font-size:.875rem;line-height:1.65;color:var(--muted)}
.reading-background{display:grid;gap:8px;padding:16px;border:1px solid var(--blue-line,#BFCDE5);border-radius:var(--radius-sm);background:var(--blue-soft);color:var(--blue)}
.reading-background strong{display:block;font:500 1.375rem/1.5 var(--target)}
.reading-background span{display:block;font-size:.8125rem;line-height:1.5}
.reading-event-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:12px;align-items:center}
.reading-time-line{display:block;border-top:1px dashed var(--line-strong)}
.reading-event{display:grid;justify-items:center;gap:8px;text-align:center;color:var(--sage);font-size:.8125rem;line-height:1.5}
.reading-event:before{content:'';display:block;width:12px;height:12px;border-radius:50%;background:var(--sage)}
.reading-event strong{display:block;font:500 1.25rem/1.5 var(--target)}
.reading-diagram .time-caption{display:flex;justify-content:space-between;gap:16px;font-size:.75rem;color:var(--subtle)}
@media(max-width:767px){.reading-diagram{padding:20px;gap:16px}.reading-construction{gap:8px}.reading-part{padding:12px;gap:8px}.reading-part strong{font-size:1.5rem}.reading-part .part-label,.reading-part small{font-size:.75rem}.reading-event-row{grid-template-columns:minmax(0,1fr) minmax(0,3fr) minmax(0,1fr);gap:8px}}

/* Editorial sections: open paper, fine rules and a quiet contents margin. */
:root{--reader-nav-width:192px;--reader-gap:48px;--reader-sticky-top:32px;--reader-section-gap:64px;--reader-heading-size:2rem;--reader-number-width:32px}
.article-layout[data-article-reader]{grid-template-columns:var(--reader-nav-width) minmax(0,var(--prose)) minmax(0,1fr);gap:var(--reader-gap)}
.reading-nav{top:var(--reader-sticky-top);padding:0;border:0;z-index:4}
.reading-nav details>summary{display:none}
.reading-nav-panel{max-height:calc(100dvh - 2 * var(--reader-sticky-top));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:var(--s2)}
.reading-nav-intro{padding-bottom:var(--s4)}
.reading-nav-kicker{display:block;color:var(--muted);font:600 .75rem/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.reading-nav ol{display:grid;gap:var(--s2);padding:0;margin:0;list-style:none}
.reading-nav .reading-nav-link{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:baseline;gap:var(--s2);min-height:44px;padding:var(--s3) var(--s2);border-left:2px solid var(--line);color:var(--muted);text-decoration:none;line-height:1.5}
.reading-nav-number{display:block;font:400 1rem/1.5 var(--display);color:var(--muted)}
.reading-nav-copy{display:block;min-width:0}
.reading-nav-name{display:block;font-size:var(--text-base);font-weight:400;line-height:1.5}
.reading-nav-link[aria-current=location]{border-left-color:var(--blue);color:var(--blue)}
.reading-nav-link[aria-current=location] .reading-nav-name{font-weight:650}
.reading-nav-link[aria-current=location] .reading-nav-number{color:var(--blue)}
.reading-nav .reading-nav-overview{display:flex;align-items:center;gap:var(--s2);min-height:44px;margin-top:var(--s4);padding:var(--s2);font-size:var(--text-sm);color:var(--muted)}
.reading-nav .reading-nav-overview[aria-current=location]{color:var(--blue);font-weight:600}
.article-body>.reading-chapter{margin-bottom:var(--reader-section-gap);padding-top:var(--s6);border-top:1px solid var(--line-strong);scroll-margin-top:var(--s6)}
.chapter-header{display:grid;grid-template-columns:var(--reader-number-width) minmax(0,1fr);align-items:baseline;gap:var(--s4);margin-bottom:var(--s5)}
.article-body .chapter-header .reading-step{margin:0;font:400 1.25rem/1.5 var(--display);letter-spacing:0;color:var(--blue)}
.article-body .chapter-header h2{margin:0;font-size:var(--reader-heading-size);font-weight:500;line-height:1.25;letter-spacing:-.025em}
.chapter-body{display:flow-root}
.chapter-body>p{max-width:66ch;font-size:var(--reading-prose-size);line-height:1.75}
.chapter-body>p.reading-rule{font-weight:500}
.chapter-body>p.reading-detail{font-size:var(--text-base);color:var(--muted)}
.chapter-body>:first-child{margin-top:0}
.chapter-body>:last-child{margin-bottom:0}
.chapter-body .practice{margin-block:var(--s6)}
.reading-chapter:focus-visible{outline:3px solid var(--blue);outline-offset:8px}
#article-summary,#related-reading{scroll-margin-top:var(--s6)}
.reading-diagram{background:var(--paper-2);border:0}
.reading-diagram .worked-sentence{border-top:1px solid var(--line);padding-top:var(--s4)}
.reading-diagram .worked-sentence .fr{font-size:1.75rem;line-height:1.5;color:var(--ink)}
.reading-diagram .worked-sentence .translation{font-size:var(--text-base);margin-top:var(--s2)}
.reading-detail-panel{margin-block:var(--s5);border-block:1px solid var(--line);padding-block:var(--s2)}
.reading-detail-panel>summary{min-height:44px;padding-block:var(--s2);font-size:var(--text-base);font-weight:600;color:var(--blue);cursor:pointer}
.reading-detail-copy{padding:var(--s2) 0 var(--s4);color:var(--muted);font-size:var(--text-base);line-height:1.75}
.reading-detail-copy p+p{margin-top:var(--s3)}
.example-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);padding:var(--s5)}
.example-pair>div{display:grid;align-content:start;gap:var(--s3);min-width:0}
.example-pair>div+div{border-left:1px solid var(--line-strong);padding-left:var(--s5)}
.example-pair .example-label{font-size:var(--text-sm);font-weight:600;color:var(--blue)}
.example-pair .fr{font-size:1.5rem}.example-pair p+p{margin:0}
.quiz-jumps{display:grid;gap:var(--s3);margin-bottom:var(--s5)}
.quiz-jumps p{font-size:var(--text-base);font-weight:600}
.article-body .quiz-jumps ol{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:var(--s2);list-style:none;padding:0;margin:0}
.article-body .quiz-jumps li+li{margin:0}
.quiz-jumps a{display:grid;place-items:center;min-height:44px;border-bottom:1px solid var(--line-strong);font-size:var(--text-base);text-decoration:none;color:var(--blue)}
.chapter-body form[id]{scroll-margin-top:var(--s6)}
@media(hover:hover){.reading-nav .reading-nav-link:hover{color:var(--blue);border-left-color:var(--blue);text-decoration:none}.reading-nav .reading-nav-link:hover .reading-nav-name{text-decoration:underline;text-underline-offset:4px}.reading-nav .reading-nav-overview:hover{color:var(--blue)}.quiz-jumps a:hover{background:var(--blue-soft)}.reading-detail-panel>summary:hover{text-decoration:underline;text-underline-offset:4px}}
@media(min-width:1440px){.article-layout[data-article-reader]{grid-template-columns:208px minmax(0,720px) minmax(0,1fr)}}
@media(max-width:1023px){
 :root{--reader-sticky-top:8px}
 .article-layout[data-article-reader]{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
 .article-layout[data-article-reader]>.margin-space{display:none}
 .reading-nav{position:sticky;top:var(--reader-sticky-top);align-self:start;background:var(--paper);border-block:1px solid var(--line-strong);padding:0;max-width:100%}
 .reading-nav details>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:56px;padding:var(--s2) var(--s3);list-style:none;cursor:pointer}
 .reading-nav summary::-webkit-details-marker{display:none}
 .reading-mobile-copy{display:grid;gap:var(--s1);min-width:0}
 .reading-mobile-title{display:block;font-size:var(--text-base);font-weight:500;line-height:1.5}
 .reading-mobile-toggle{display:flex;align-items:center;flex:none;color:var(--blue)}
 .reading-mobile-toggle .od-icon{--od-icon-size:20px}
 .reading-nav details[open] .reading-mobile-toggle .od-icon{transform:rotate(180deg)}
 .reading-nav-panel{border-top:1px solid var(--line);padding:var(--s4) var(--s3);max-height:60dvh}
 .reading-nav-intro{display:none}
 .article-body>.reading-chapter,#article-summary,#related-reading,.chapter-body form[id]{scroll-margin-top:112px}
}
@media(max-width:767px){
 :root{--reader-heading-size:1.75rem;--reader-section-gap:48px;--reader-number-width:24px}
 .chapter-header{gap:var(--s3)}
 .chapter-body .reading-diagram{padding:var(--s4)}
 .chapter-body .reading-construction{grid-template-columns:minmax(0,1fr);gap:var(--s2)}
 .chapter-body .reading-operator{text-align:center}
 .example-pair{grid-template-columns:minmax(0,1fr)}
 .example-pair>div+div{border-left:0;border-top:1px solid var(--line-strong);padding-left:0;padding-top:var(--s5)}
}
@media print{.quiz-jumps,.reading-nav{display:none!important}.article-body>.reading-chapter{break-inside:auto}.chapter-header{break-after:avoid}.reading-detail-panel>.reading-detail-copy{display:block}}

/* journal.css */
/* BASE LAYER — structure and older styling only. The current visual design is assets/carnet.css, which loads last and overrides this file. Change the look there, not here. */
/* Journal system v2. Carnet calme tokens and fonts remain in blogs.css. */
:root{--journal-section:64px;--journal-gap:32px;--journal-title:clamp(2.5rem,4.5vw,4rem);--journal-heading:clamp(1.75rem,3vw,2.5rem);--journal-reading:1.125rem;--journal-feature:clamp(2rem,4vw,3rem);--journal-rule:1px solid var(--line);--journal-surface:var(--paper-2)}
.journal-v2 .od-icon{--od-icon-size:20px}
.journal-v2 .header-inner{min-height:88px;gap:var(--s5)}
.journal-v2 .desktop-nav{gap:var(--s5)}
.journal-v2 .desktop-nav .is-section{color:var(--blue);font-weight:600}
.course-header-link{display:flex;align-items:center;gap:var(--s2);min-height:44px;font-size:var(--text-sm);text-decoration:none;color:var(--blue)}
.journal-v2 .button{transition:background var(--fast),color var(--fast);font-size:var(--text-base)}
.journal-v2 .brand-sub{letter-spacing:.1em}
.journal-v2 .breadcrumb{font-size:var(--text-sm)}
.journal-v2 .breadcrumb li{display:block}.journal-v2 .breadcrumb li+li:before{margin-right:var(--s3)}
.journal-v2 main{min-height:50vh}
.journal-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s8);align-items:center;padding-block:var(--s8)}
.journal-hero-copy{display:grid;gap:var(--s5);min-width:0}
.journal-hero h1{font-size:clamp(3rem,5vw,4.75rem);line-height:1.1;max-width:15ch}
.journal-hero h1 em{display:block}
.journal-hero .lead{max-width:36ch}
.journal-hero .text-link{justify-self:start}
.journal-feature{display:grid;background:var(--paper-2);border:var(--journal-rule);border-radius:var(--radius-sm)}
.journal-feature-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5);border-bottom:var(--journal-rule)}
.journal-feature-body{display:grid;gap:var(--s5);padding:var(--s6)}
.journal-feature-body h2{font-size:2rem;max-width:22ch}
.journal-feature-body .fr{font-size:var(--journal-feature);line-height:1.4}
.journal-feature-body p{font-size:var(--text-base)}
.feature-parts{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);padding-top:var(--s5);border-top:var(--journal-rule)}
.feature-parts>div{display:grid;gap:var(--s2);min-width:0}.feature-parts strong{font-size:var(--text-base)}.feature-parts span{font-size:var(--text-sm);color:var(--muted)}
.journal-feature-link{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s5);border-top:var(--journal-rule);color:var(--blue);text-decoration:none;font-weight:600}
.journal-search-band{background:var(--desk);padding:var(--s6);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s7);align-items:center;border-radius:var(--radius-sm)}
.journal-search-band h2{font-size:1.75rem;margin-bottom:var(--s2)}
.journal-search-band p{font-size:var(--text-sm);color:var(--muted)}
.journal-search{display:flex;align-items:end;gap:var(--s3);min-width:0}.journal-search label{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--s2)}.journal-search .button{min-height:52px}
.journal-search .od-fill{min-width:0}.journal-search .search-field{min-width:0}
.journal-section{padding-block:var(--journal-section)}
.journal-section+.journal-section{border-top:var(--journal-rule)}
.journal-section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--s6);margin-bottom:var(--s6)}
.journal-section-head .od-stack{--od-gap:12px}.journal-section-head h2{font-size:var(--journal-heading)}
.journal-section-head>.text-link{flex:none}
.topic-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s6)}
.topic-entry{display:flex;flex-direction:column;align-items:start;gap:var(--s4);padding-top:var(--s5);border-top:1px solid var(--line-strong);text-decoration:none;color:var(--ink)}
.topic-entry .topic-number{font:400 1rem var(--display);color:var(--blue)}
.topic-entry h3{font-size:1.5rem;line-height:1.25}.topic-entry p{font-size:var(--text-base);color:var(--muted)}
.topic-entry .text-link{margin-top:auto;color:var(--blue)}
.journal-picks{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7)}
.journal-pick{display:grid;gap:var(--s5);min-width:0}.journal-pick h3{font-size:1.875rem;max-width:25ch;line-height:1.25}.journal-pick h3 a{text-decoration:none}.journal-pick p{color:var(--muted)}
.pick-visual{padding:var(--s6);background:var(--blue-soft);min-height:208px;display:grid;align-content:center;gap:var(--s5);border-radius:var(--radius-sm)}
.pick-visual.sage{background:var(--sage-soft)}.pick-visual .fr{font-size:2rem;color:var(--ink)}
.pick-visual .visual-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}.pick-visual .visual-pair>div{display:grid;gap:var(--s2)}
.pick-visual .visual-label{font-size:var(--text-sm);font-family:var(--sans);color:var(--muted)}
.mini-email{font-family:var(--target);font-size:1.5rem;display:grid;gap:var(--s3)}.mini-email span{display:block}
.practice-invitation{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);padding:var(--s7);background:var(--sage-soft);border-radius:var(--radius-sm)}
.practice-invitation h2{font-size:var(--journal-heading);margin-block:var(--s4) var(--s5)}
.practice-invitation p{color:var(--ink)}.practice-invitation .button{margin-top:var(--s5);justify-self:start}
.practice-steps{display:grid;gap:var(--s5);list-style:none;padding:0;margin:0}.practice-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--s4);align-items:baseline}.practice-steps .step-number{font:400 1.5rem var(--display);color:var(--sage)}.practice-steps .od-field{--od-gap:4px}.practice-steps p{font-size:var(--text-base);color:var(--muted)}
.journal-course{display:flex;justify-content:space-between;align-items:center;gap:var(--s6);padding-block:var(--s7);border-top:var(--journal-rule)}.journal-course h2{font-size:1.75rem;margin-top:var(--s3)}.journal-course>.text-link{flex:none}
.journal-page-heading{padding-block:var(--s5) var(--s7);max-width:880px;display:grid;gap:var(--s5)}.journal-page-heading h1{font-size:var(--journal-title);max-width:22ch}.journal-page-heading .lead{max-width:56ch}
.page-topic-nav{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);padding-block:var(--s4);border-block:var(--journal-rule);margin-bottom:var(--s7)}.page-topic-nav a{display:flex;align-items:center;min-height:44px;color:var(--blue);font-size:var(--text-base);text-decoration:none}
.topic-chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s8);padding-block:var(--s7);border-bottom:var(--journal-rule);scroll-margin-top:var(--s5)}.topic-chapter>header{display:grid;align-content:start;gap:var(--s4)}.topic-chapter h2{font-size:2rem}.topic-chapter header p{color:var(--muted)}
.library-rows{display:grid;min-width:0}.library-row{display:grid;grid-template-columns:136px minmax(0,1fr) 44px;gap:var(--s5);padding-block:var(--s6);border-top:var(--journal-rule);align-items:start}.library-row:first-child{border-top:0;padding-top:0}.library-row-topic{color:var(--blue);font-size:var(--text-sm);padding-top:var(--s1)}
.library-row-copy{--od-gap:12px}.library-row h3{font-size:1.625rem;line-height:1.25;max-width:34ch}.library-row h3 a{text-decoration:none}.library-row p{font-size:var(--text-base);color:var(--muted)}.journal-v2 .meta{font-size:var(--text-sm);gap:var(--s2) var(--s4)}.journal-v2 .tag.level{font-size:var(--text-sm)}
.row-open{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--blue);border:var(--journal-rule);border-radius:50%;text-decoration:none}
.topic-chapter .library-row{grid-template-columns:minmax(0,1fr) 44px}.topic-chapter .library-row-topic{display:none}
.hub-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s8);align-items:center;padding-bottom:var(--s7)}.hub-overview .journal-page-heading{padding-bottom:0}.hub-formula{display:grid;gap:var(--s5);background:var(--paper-2);padding:var(--s6);border-radius:var(--radius-sm)}.hub-formula .fr{font-size:2.5rem}.hub-formula .formula-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);font-size:var(--text-base)}
.learning-path{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}.learning-path li{min-width:0;display:flex;flex-direction:column;gap:var(--s4);border-top:1px solid var(--line-strong);padding-top:var(--s5)}.learning-path .path-number{font:400 1.75rem var(--display);color:var(--blue)}.learning-path h3{font-size:1.5rem;line-height:1.25}.learning-path h3 a{text-decoration:none}.learning-path p{font-size:var(--text-base);color:var(--muted)}.learning-path .meta{margin-top:auto}
.quick-reference{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s7)}.quick-reference a{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:72px;border-top:var(--journal-rule);text-decoration:none;color:var(--blue);font-size:var(--text-base)}
.level-tracks{display:grid;gap:var(--s7)}.level-track{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:var(--s6);padding-block:var(--s6);border-top:var(--journal-rule);align-items:start}.level-track .path-number{font:400 2rem var(--display);color:var(--blue)}.level-track h2{font-size:2rem;margin-bottom:var(--s4)}.level-track p{color:var(--muted)}.level-track .track-example{display:grid;gap:var(--s4);padding:var(--s5);background:var(--paper-2);border-radius:var(--radius-sm)}.track-example .fr{font-size:1.75rem}.track-links{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);margin-top:var(--s5)}.track-links a{display:flex;align-items:center;min-height:44px;color:var(--blue);font-weight:500}
.library-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--s7);padding:var(--s6);background:var(--paper-2);margin-bottom:var(--s6);border-radius:var(--radius-sm)}.library-toolbar>p{font-size:var(--text-base);color:var(--muted);align-self:center}.library-caption{display:flex;justify-content:space-between;gap:var(--s5);padding-block:var(--s4);margin-bottom:var(--s4);border-bottom:var(--journal-rule);font-size:var(--text-sm);color:var(--muted)}
.search-workspace{display:grid;grid-template-columns:256px minmax(0,1fr);gap:var(--s7);align-items:start;padding-bottom:var(--s8)}.search-tools{padding:var(--s5);background:var(--paper-2);border-radius:var(--radius-sm)}.search-tools form{display:grid;gap:var(--s5)}.search-tools label{display:block;font-size:var(--text-base);font-weight:600;margin-bottom:var(--s2)}.search-tools input,.search-tools select{width:100%;min-width:0;min-height:48px;padding:var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper)}.search-actions{display:grid;gap:var(--s2)}.search-tools .button{width:100%}.search-results{min-width:0}.search-results .library-row{grid-template-columns:minmax(0,1fr) 44px}.search-results .library-row-topic{display:none}.search-results .library-caption{padding-top:0;margin-bottom:var(--s6)}
.journal-v2 .empty{text-align:left;align-items:start;padding:var(--s7);background:var(--paper-2);border:0;border-radius:var(--radius-sm)}.empty .quick-reference{width:100%;grid-template-columns:1fr}.empty h2{font-size:1.75rem}.empty .text-link{min-height:44px}
.journal-error{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s8);padding-block:var(--s8);align-items:center}.journal-error .journal-page-heading{padding:0}.journal-error-actions{display:flex;flex-wrap:wrap;gap:var(--s4)}.journal-error-search{background:var(--paper-2);padding:var(--s6);border-radius:var(--radius-sm)}.journal-error-search h2{font-size:1.75rem;margin-bottom:var(--s5)}.journal-error-search .journal-search{flex-direction:column;align-items:stretch}
/* Reading and practice use the same hierarchy as the library. */
.journal-v2 .article-header{max-width:960px;padding-block:var(--s5) var(--s7)}.journal-v2 .article-header h1{font-size:var(--journal-title);max-width:24ch}.journal-v2 .article-header .lead{font-size:var(--journal-reading);max-width:52ch}.journal-v2 .article-header .meta{margin-top:var(--s5)}
.article-intent{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5);margin-top:var(--s5);font-size:var(--text-base);color:var(--blue)}.article-intent a{display:flex;align-items:center;min-height:44px;gap:var(--s2)}
.journal-v2 .answer-first{padding:var(--s6);border-radius:var(--radius-sm);background:var(--paper-2)}.journal-v2 .answer-first p{font-size:var(--journal-reading);line-height:1.75}.answer-first .overview-label{display:block;font:500 1.5rem var(--display);margin-bottom:var(--s4)}
.journal-v2 .chapter-body>p{font-size:var(--journal-reading)}.journal-v2 .chapter-body>p.reading-detail{font-size:var(--text-base)}
.teaching-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);margin-block:var(--s5)}.teaching-pair>div{min-width:0;display:grid;align-content:start;gap:var(--s3);padding:var(--s5);background:var(--blue-soft);border-radius:var(--radius-sm)}.teaching-pair>div:nth-child(2){background:var(--sage-soft)}.teaching-pair .fr{font-size:1.75rem}.teaching-pair .pair-label{font-size:var(--text-base);font-weight:600}.teaching-pair p{font-size:var(--text-base)}.teaching-pair p+p{margin:0}
.sentence-map{display:grid;gap:var(--s4);padding:var(--s5);background:var(--paper-2);border-radius:var(--radius-sm);margin-block:var(--s5)}.sentence-map figcaption{font:500 1.25rem var(--display)}.sentence-map .map-words{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s3);font:400 2rem/1.5 var(--target)}.sentence-map .map-labels{font-size:var(--text-base);color:var(--muted)}.sentence-map .map-unit{display:grid;gap:var(--s2);justify-items:center}.map-unit small{font:400 var(--text-sm)/1.5 var(--sans);color:var(--muted)}
.journal-v2 .reading-diagram-title{font-size:1.25rem}.journal-v2 .reading-part .part-label,.journal-v2 .reading-part small,.journal-v2 .reading-diagram p{font-size:var(--text-base)}
.journal-v2 .practice{border-radius:var(--radius-sm);margin-block:var(--s6)}.journal-v2 .practice-header{padding:var(--s4) var(--s5);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--blue-soft);flex-wrap:wrap;gap:var(--s2)}.journal-v2 .practice-header .eyebrow{font-size:var(--text-sm);letter-spacing:.04em}.journal-v2 .practice-header .count{font-size:var(--text-sm)}.journal-v2 .practice legend{font-weight:600}.journal-v2 .practice legend .fr{font-size:1.75rem;background:var(--paper-2);padding:var(--s4);border-radius:var(--radius-sm)}.journal-v2 .practice-hint,.journal-v2 .solution summary,.journal-v2 .solution-copy,.journal-v2 .practice-feedback{font-size:var(--text-base)}.journal-v2 .practice-feedback{padding:var(--s5)}.journal-v2 .choice-text{font-size:1.375rem}.journal-v2 .solution{border-top:var(--journal-rule)}.journal-v2 .solution[open]{padding-bottom:var(--s2)}
.journal-v2 .flashcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.journal-v2 .flashcard{height:100%;padding:var(--s4);background:var(--paper-2)}.journal-v2 .flashcard .eyebrow{font-size:.6875rem;letter-spacing:.04em}.journal-v2 .flashcard .reveal{font-size:var(--text-sm)}.journal-v2 .flashcard .back{padding-top:var(--s4);margin-top:var(--s4)}.journal-v2 .flashcard .back .fr{font-size:1.375rem}
.quiz-group-note{padding-bottom:var(--s5);color:var(--muted)}.journal-v2 .quiz-summary{background:var(--sage-soft);margin-top:0}.journal-v2 .quiz-summary p{font-size:var(--text-base)}.journal-v2 .quiz-summary output{font-size:clamp(1.5rem,4vw,2rem)}
.writing-jobs{list-style:none!important;padding:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-block:var(--s5)!important}.writing-jobs li{margin:0!important;padding-top:var(--s4);border-top:1px solid var(--line-strong);display:grid;gap:var(--s2)}.writing-jobs span{font-size:var(--text-base)}
.annotated-email{padding:var(--s5);background:var(--paper-2);border-radius:var(--radius-sm);display:grid;gap:var(--s5);margin-block:var(--s5)}.email-line{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s5)}.email-line .email-label{font:600 var(--text-sm)/1.5 var(--sans);color:var(--blue)}.email-line .fr{font-size:1.375rem;line-height:1.7}.email-line p+p{margin-top:var(--s2)}
.journal-v2 [data-writing]{padding:var(--s5);background:var(--paper-2);border-radius:var(--radius-sm)}.journal-v2 [data-writing] textarea{resize:vertical;min-height:240px;background:var(--paper);font:400 1.375rem/1.7 var(--target)}
.journal-v2 .related-list a{min-height:44px;align-items:center}.journal-v2 .related-list li{margin:0}.journal-v2 .inline-course{background:transparent;border-block:var(--journal-rule);border-radius:0;padding:var(--s5) 0}.journal-v2 .inline-course h3{font-size:1.5rem}.journal-v2 .source-note{font-size:var(--text-sm);border-top:0}
.reference-index{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);padding-block:var(--s4);border-block:var(--journal-rule);margin-bottom:var(--s7)}.reference-index a{min-height:44px;display:flex;align-items:center;color:var(--blue)}.reference-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s7);padding-block:var(--s7);border-top:var(--journal-rule);scroll-margin-top:var(--s5)}.reference-section>header{display:grid;align-content:start;gap:var(--s4)}.reference-section h2{font-size:2rem}.reference-section>header p{color:var(--muted)}.reference-demo{min-width:0}.reference-demo>.practice{margin-top:0}.reference-demo .state-grid{grid-template-columns:1fr}.reference-demo>.reading-guide{margin-top:0}
@media(hover:hover){.journal-feature-link:hover,.topic-entry:hover{background:var(--paper-2);text-decoration:none}.topic-entry:hover h3,.journal-pick h3 a:hover,.library-row h3 a:hover,.learning-path h3 a:hover{color:var(--blue);text-decoration:underline}.row-open:hover{background:var(--blue-soft)}.page-topic-nav a:hover,.quick-reference a:hover{color:var(--blue);text-decoration:underline}}
@media(min-width:1440px){.journal-hero{gap:var(--s9);padding-block:var(--s9)}.journal-section{padding-block:80px}}
@media(max-width:1023px){:root{--journal-section:48px}.journal-v2 .header-inner{gap:var(--s4)}.course-header-link{display:none}.journal-hero,.hub-overview{gap:var(--s7)}.topic-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-search-band{grid-template-columns:1fr;gap:var(--s5)}.learning-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}.topic-chapter{gap:var(--s7)}.search-workspace{grid-template-columns:224px minmax(0,1fr);gap:var(--s6)}.library-row{grid-template-columns:minmax(0,1fr) 44px}.library-row-topic{grid-column:1/-1}.practice-invitation{gap:var(--s7);padding:var(--s6)}.library-toolbar{grid-template-columns:1fr;gap:var(--s4)}.journal-v2 .article-layout[data-article-reader]{grid-template-columns:minmax(0,1fr)}.journal-v2 .article-body{max-width:720px;width:100%;margin-inline:auto}.journal-v2 .reading-nav{width:100%;max-width:720px;margin-inline:auto}}
@media(max-width:767px){:root{--journal-section:40px;--journal-gap:24px;--journal-title:2.5rem;--journal-heading:2rem;--journal-feature:2.25rem}.journal-v2 .header-inner{min-height:80px}.journal-v2 .desktop-nav{display:none}.journal-v2 .header-actions{margin-left:auto}.journal-hero{grid-template-columns:1fr;padding-block:var(--s7);gap:var(--s6)}.journal-hero h1{font-size:3rem;max-width:17ch}.journal-hero .lead{font-size:var(--journal-reading)}.journal-feature-body{padding:var(--s5)}.journal-feature-body h2{font-size:1.75rem}.journal-search-band{padding:var(--s5)}.journal-search{flex-direction:column;align-items:stretch}.journal-search .button{align-self:start}.journal-section-head{align-items:start;flex-direction:column;gap:var(--s4)}.journal-picks{grid-template-columns:1fr;gap:var(--s7)}.pick-visual{min-height:176px;padding:var(--s5)}.topic-directory{gap:var(--s5)}.topic-entry h3{font-size:1.375rem}.topic-entry p{font-size:var(--text-base)}.practice-invitation{grid-template-columns:1fr;gap:var(--s6)}.journal-course{align-items:start;flex-direction:column;gap:var(--s5)}.journal-page-heading{padding-block:var(--s4) var(--s6)}.journal-page-heading .lead{font-size:var(--journal-reading)}.page-topic-nav{gap:var(--s2) var(--s4);margin-bottom:var(--s5)}.topic-chapter{grid-template-columns:1fr;gap:var(--s6);padding-block:var(--s6)}.topic-chapter h2{font-size:1.75rem}.hub-overview{grid-template-columns:1fr;gap:var(--s6)}.hub-formula{padding:var(--s5)}.learning-path{grid-template-columns:1fr}.learning-path li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--s3) var(--s4)}.learning-path .path-number{grid-row:1/4}.learning-path .meta{grid-column:2}.learning-path h3{font-size:1.5rem}.quick-reference{grid-template-columns:1fr}.level-track{grid-template-columns:32px minmax(0,1fr);gap:var(--s4)}.level-track .track-example{grid-column:2}.level-track h2{font-size:1.75rem}.library-toolbar{padding:var(--s5)}.library-caption{flex-wrap:wrap}.library-row{gap:var(--s3) var(--s4);padding-block:var(--s5)}.library-row h3{font-size:1.5rem}.search-workspace{grid-template-columns:1fr;gap:var(--s6)}.search-tools form{grid-template-columns:1fr 1fr;gap:var(--s4)}.search-query-field,.search-actions{grid-column:1/-1}.search-actions{grid-template-columns:1fr auto}.journal-v2 .empty{padding:var(--s5)}.journal-error{grid-template-columns:1fr;padding-block:var(--s7);gap:var(--s6)}.journal-error-search{padding:var(--s5)}.journal-v2 .article-header{padding-bottom:var(--s6)}.journal-v2 .article-header h1{font-size:2.5rem}.journal-v2 .answer-first{padding:var(--s5)}.journal-v2 .chapter-body>p{font-size:var(--text-base);line-height:1.8}.journal-v2 .chapter-body>p.reading-rule{font-size:var(--journal-reading)}.teaching-pair{grid-template-columns:1fr}.journal-v2 .practice-inner{padding:var(--s4)}.journal-v2 .practice legend .fr{padding:var(--s3);font-size:1.5rem}.journal-v2 .flashcards{grid-template-columns:1fr}.writing-jobs{grid-template-columns:1fr}.email-line{grid-template-columns:1fr;gap:var(--s2)}.annotated-email{padding:var(--s4)}.reference-section{grid-template-columns:1fr;gap:var(--s5)}.reference-section h2{font-size:1.75rem}.reference-demo .swatches{grid-template-columns:1fr 1fr}.journal-v2 .footer-links{gap:var(--s3) var(--s5)}}
@media(max-width:374px){.topic-directory{grid-template-columns:1fr}.pick-visual .visual-pair{grid-template-columns:1fr}.journal-hero h1{font-size:2.75rem}.journal-v2 .article-header h1{font-size:2.25rem}}
@media print{.journal-v2 .article-body{max-width:none}.journal-v2 .article-layout[data-article-reader]{display:block}.journal-search-band,.journal-course,.article-intent,.reference-index{display:none}.journal-hero,.topic-chapter,.reference-section{display:block}.teaching-pair,.annotated-email{break-inside:avoid}}

.journal-v2 .quiz-jumps a.is-attempted{border-bottom-color:var(--sage);color:var(--sage);font-weight:600;background:var(--sage-soft)}
.journal-v2 .answer-first .quiz-jumps{margin-top:var(--s5);margin-bottom:0}
.journal-v2 .answer-first .quiz-jumps p{font-size:var(--text-base)}

/* carnet.css */
/* ==========================================================================
   Atelier journal — CURRENT DESIGN (Carnet, matching the French Atelier app)
   Loaded last on every page. It brings the journal into line with the
   French Atelier app (src/app/carnet): the blue-grey desk, white notebook
   pages with a red margin rule, red italic kickers, bristol fiches,
   dotted contents lists and the level notebook covers. Values are copied
   from the app's tokens.css, primitives.css, reading.css and pages.css.
   ========================================================================== */

:root{
  --cc-desk:#FFFFFF;--cc-desk-2:#E8E8E5;--cc-paper:#FFFFFF;--cc-paper-2:#F9F9F8;--cc-bristol:#FAFAF9;
  --cc-tint:#F1F1EE;--cc-tint-2:#EBEBE8;--cc-line:#E2E2DE;--cc-line-strong:#C7C7C1;
  --cc-ink:#1E2A4A;--cc-ink-hover:#2C3B63;--cc-ink-press:#151E36;--cc-muted:#4A5068;--cc-subtle:#5C6178;--cc-faint:#8A8D9C;
  --cc-red:#B8372A;--cc-red-soft:#FBEAE7;--cc-red-line:#E0A39A;
  --cc-sage:#2F6B55;--cc-sage-soft:#DDEBE2;
  --cc-highlight:#F3D9A4;--cc-highlight-soft:#FBF3E1;
  --cc-blue:#34558F;--cc-blue-soft:#EDF0F5;
  --cc-cover-a1:#3F7A63;--cc-cover-a2:#B5563A;--cc-cover-b1:#2B3F73;--cc-cover-b2:#8C6420;--cc-cover-c1:#6E3D6B;--cc-cover-c2:#1E2A4A;
  --cc-radius-sm:10px;--cc-radius:8px;--cc-radius-lg:10px;--cc-pill:8px;
  --cc-shadow-sm:0 0 0 1px rgba(17,17,17,0.10);
  --cc-shadow:0 0 0 1px rgba(17,17,17,0.10);
  --cc-shadow-lg:0 0 0 1px rgba(17,17,17,0.10),0 10px 28px rgba(17,17,17,0.10);
  --cc-focus:0 0 0 3px var(--cc-paper),0 0 0 5px var(--cc-ink);
  --cc-ease:cubic-bezier(.2,.8,.2,1);--cc-dur:220ms;--cc-dur-fast:150ms;
  /* older journal tokens now resolve to the app's values */
  --desk:var(--cc-desk);--paper:var(--cc-paper);--paper-2:var(--cc-paper-2);--ink:var(--cc-ink);--muted:var(--cc-muted);--subtle:var(--cc-subtle);
  --line:var(--cc-line);--line-strong:var(--cc-line-strong);--blue:var(--cc-blue);--blue-soft:var(--cc-blue-soft);
  --sage:var(--cc-sage);--sage-soft:var(--cc-sage-soft);--red:var(--cc-red);--red-soft:var(--cc-red-soft);--highlight:var(--cc-highlight);
  --radius:var(--cc-radius-lg);--radius-sm:var(--cc-radius-sm);--shadow:var(--cc-shadow);
}

/* ---------- Base ---------- */
html{background:var(--cc-desk)}
body.journal-v2{background:var(--cc-desk);color:var(--cc-ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.journal-v2 .container{width:min(calc(100% - 48px),1180px)}
body.journal-v2 h1,body.journal-v2 h2,body.journal-v2 h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--cc-ink);text-wrap:balance}
body.journal-v2 h1 em,body.journal-v2 h2 em{font-weight:400;font-style:italic;color:var(--cc-muted)}
body.journal-v2 ::selection{background:var(--cc-highlight);color:var(--cc-ink)}
body.journal-v2 :focus-visible{outline:2px solid var(--cc-ink);outline-offset:3px;border-radius:6px}
body.journal-v2 .lead{font:italic 400 19px/1.45 var(--display);color:var(--cc-muted)}

/* Kicker: the app's red italic label, in place of uppercase eyebrows */
body.journal-v2 .eyebrow,body.journal-v2 .library-kicker,body.journal-v2 .overview-label::before{font:italic 500 16px/1.4 var(--display);letter-spacing:0;text-transform:none;color:var(--cc-red)}

/* ---------- Header (as in the app) ---------- */
body.journal-v2 .site-header{position:sticky;top:0;z-index:30;background:var(--cc-desk);border-bottom:0;box-shadow:0 1px 0 var(--cc-line)}
body.journal-v2 .header-inner{min-height:72px;gap:40px}
body.journal-v2 .brand{gap:10px}
body.journal-v2 .brand svg{width:26px;height:auto}
body.journal-v2 .brand-name{font:600 22px/1 var(--display);letter-spacing:-.02em}
body.journal-v2 .brand-sub{display:none}
body.journal-v2 .desktop-nav{gap:28px;margin-left:0;margin-right:auto}
body.journal-v2 .desktop-nav a{min-height:40px;padding:0;border-bottom:2px solid transparent;font:500 15px var(--sans);color:var(--cc-muted)}
body.journal-v2 .desktop-nav a[aria-current=page],body.journal-v2 .desktop-nav a.is-section{color:var(--cc-ink);font-weight:600;border-bottom-color:var(--cc-ink)}
body.journal-v2 .header-actions{gap:10px}
body.journal-v2 .icon-button{width:40px;min-height:40px;border-radius:50%;background:var(--cc-paper);box-shadow:var(--cc-shadow-sm)}
/* The course link: a little cloth-bound notebook (the A1 cover, the logo's green) with a red ribbon, so it reads as the way into the course */
body.journal-v2 .course-header-link{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px 0 24px;border-radius:4px 10px 10px 4px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px),var(--cc-cover-a1);box-shadow:inset 6px 0 0 rgba(0,0,0,.2),inset 7px 0 0 rgba(255,255,255,.08),0 1px 0 rgba(0,0,0,.12),0 8px 16px -8px rgba(31,77,58,.7);font:600 15px var(--sans);color:#fff;text-decoration:none;white-space:nowrap;transition:transform var(--cc-dur) var(--cc-ease),box-shadow var(--cc-dur) var(--cc-ease)}
body.journal-v2 .course-header-link::before{content:"";position:absolute;inset:4px 5px 4px 11px;border:1px dashed rgba(255,255,255,.32);border-radius:2px 7px 7px 2px;pointer-events:none}
body.journal-v2 .course-header-link::after{content:"";position:absolute;right:20px;top:calc(100% - 3px);width:9px;height:15px;background:var(--cc-red);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);transform-origin:top center;transition:transform 420ms cubic-bezier(.3,1.6,.5,1)}
body.journal-v2 .course-header-link .od-icon{--od-icon-size:17px;transition:transform var(--cc-dur) var(--cc-ease)}
body.journal-v2 .course-header-link:focus-visible{outline:none;box-shadow:var(--cc-focus)}
body.journal-v2 .mobile-menu summary{border-radius:50%;background:var(--cc-paper);box-shadow:var(--cc-shadow-sm);width:40px;min-height:40px}
/* The language picker: a quiet pill like the header's other round controls (globe, the page's
   language, a chevron) opening a small card of every version, the current one ticked */
body.journal-v2 .pt-lang{position:relative}
body.journal-v2 .pt-lang>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 12px 0 13px;border-radius:999px;background:var(--cc-paper);box-shadow:var(--cc-shadow-sm);color:var(--cc-ink);font:500 14px/1 var(--sans);white-space:nowrap;cursor:pointer;user-select:none;transition:box-shadow var(--cc-dur-fast) var(--cc-ease),background-color var(--cc-dur-fast) var(--cc-ease)}
body.journal-v2 .pt-lang>summary::-webkit-details-marker{display:none}
body.journal-v2 .pt-lang>summary:hover,body.journal-v2 .pt-lang[open]>summary{background:var(--cc-paper-2);box-shadow:var(--cc-shadow)}
body.journal-v2 .pt-lang>summary:focus-visible{outline:none;box-shadow:var(--cc-focus)}
body.journal-v2 .pt-lang-globe{flex:none;color:var(--cc-muted)}
body.journal-v2 .pt-lang-chevron{flex:none;color:var(--cc-faint);transition:transform var(--cc-dur-fast) var(--cc-ease)}
body.journal-v2 .pt-lang[open] .pt-lang-chevron{transform:rotate(180deg)}
body.journal-v2 .pt-lang-card{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:40;min-width:220px;max-width:calc(100vw - 32px);padding:6px;border-radius:12px;background:var(--cc-paper);box-shadow:var(--cc-shadow-lg);animation:pt-lang-in var(--cc-dur-fast) var(--cc-ease)}
body.journal-v2 .pt-lang-label{margin:6px 10px 4px;font:500 12px/1.3 var(--sans);color:var(--cc-faint)}
body.journal-v2 .pt-lang-card ul{list-style:none;margin:0;padding:0}
body.journal-v2 .pt-lang-card li{margin:0;padding:0}
body.journal-v2 .pt-lang-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:8px 10px;border-radius:8px;color:var(--cc-ink);font:400 15px/1.3 var(--sans);text-decoration:none}
body.journal-v2 a.pt-lang-item:hover,body.journal-v2 a.pt-lang-item:focus-visible{background:var(--cc-tint);outline:none;text-decoration:none}
body.journal-v2 .pt-lang-item[aria-current]{font-weight:600}
body.journal-v2 .pt-lang-check{flex:none;color:var(--cc-sage)}
body.journal-v2 .pt-lang [lang]{unicode-bidi:isolate}
@keyframes pt-lang-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.journal-v2 .pt-lang-card{animation:none}}
/* Phones: the globe alone, like the header's other round buttons, and the card across the header.
   Search moves into the menu to leave the course link its room. */
@media (max-width:767px){
  body.journal-v2 .header-inner{gap:12px}
  body.journal-v2 .header-actions .icon-button[href$="/search"]{display:none}
  body.journal-v2 .pt-lang{position:static}
  body.journal-v2 .pt-lang>summary{width:40px;padding:0;justify-content:center}
  body.journal-v2 .pt-lang-name,body.journal-v2 .pt-lang-chevron{display:none}
  body.journal-v2 .pt-lang-card{inset-inline:16px;top:calc(100% - 4px);min-width:0;max-width:none}
}
@media (max-width:400px){
  body.journal-v2 .course-header-link .od-icon{display:none}
}

/* ---------- Buttons, links, meta ---------- */
body.journal-v2 .button{min-height:48px;padding:0 24px;border:0;border-radius:var(--cc-pill);background:var(--cc-ink);color:#fff;font:400 17px/1 var(--display);box-shadow:none;transition:background-color var(--cc-dur-fast) var(--cc-ease),transform var(--cc-dur-fast) var(--cc-ease)}
body.journal-v2 .button:active{transform:translateY(1px)}
body.journal-v2 .button.small{min-height:44px;padding:0 20px;font-size:16px}
body.journal-v2 .button.secondary{background:var(--cc-tint);color:var(--cc-ink);border:0}
body.journal-v2 .button.text{background:transparent;color:var(--cc-muted);padding:0 12px;font:600 15px var(--sans)}
body.journal-v2 .text-link{gap:6px;font:600 15px var(--sans);color:var(--cc-ink);text-decoration:underline;text-decoration-color:var(--cc-line-strong);text-underline-offset:3px}
body.journal-v2 .text-link .od-icon{--od-icon-size:16px}
body.journal-v2 .meta{gap:0;font:400 14px var(--sans);color:var(--cc-muted)}
body.journal-v2 .meta>*+*::before{content:"·";margin:0 7px;color:var(--cc-faint)}
body.journal-v2 .meta .dot::before{content:none}
body.journal-v2 .tag.level{min-height:0;padding:0;background:none;color:var(--cc-ink);font:600 14px var(--sans);border-radius:0}
body.journal-v2 .breadcrumb{padding:28px 4px 14px;gap:6px;font:400 13px var(--sans);color:var(--cc-muted)}
body.journal-v2 .breadcrumb li+li:before{content:"/";color:var(--cc-faint)}
body.journal-v2 .breadcrumb a{color:var(--cc-muted);text-decoration:none}
body.journal-v2 .breadcrumb li[aria-current]{color:var(--cc-ink);font-weight:600}

/* ---------- Article: the notebook page ---------- */
body.journal-v2 .article-layout,body.journal-v2 .article-layout[data-article-reader]{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-areas:"page rail";gap:32px;align-items:start;padding-bottom:88px}
body.journal-v2 .article-layout>.margin-space{display:none}
body.journal-v2 .article-body{grid-area:page;position:relative;min-width:0;padding:44px 48px 40px 92px;background:var(--cc-paper);border-radius:var(--cc-radius-lg);box-shadow:var(--cc-shadow-lg);font-size:17px;line-height:1.7}
body.journal-v2 .article-body::before{content:"";position:absolute;top:0;bottom:0;left:56px;width:2px;background:var(--cc-red-line);pointer-events:none}
body.journal-v2 .article-body>*{max-width:66ch}
body.journal-v2 .article-body .practice,body.journal-v2 .article-body .teaching-pair,body.journal-v2 .article-body .reference-table-wrap{max-width:none}

body.journal-v2 .article-header{display:block;max-width:62ch;padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid var(--cc-line)}
body.journal-v2 .article-header .eyebrow{margin:0}
body.journal-v2 .article-header h1{margin-top:8px;font-size:clamp(30px,4.6vw,44px);line-height:1.08;max-width:none}
body.journal-v2 .article-header .lead{margin-top:10px;max-width:none}
body.journal-v2 .article-header .meta{margin-top:12px}
body.journal-v2 .article-intent{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:20px}
body.journal-v2 .article-intent a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--cc-pill);background:var(--cc-tint);color:var(--cc-ink);font:600 15px var(--sans);text-decoration:none}
body.journal-v2 .article-intent a .od-icon{--od-icon-size:16px}
body.journal-v2 .article-intent span{font:400 14px var(--sans);color:var(--cc-muted)}

/* Short answer — the app's "up next" tinted box */
body.journal-v2 .answer-first{margin:0 0 40px;padding:18px 20px 20px;border:0;border-radius:var(--cc-radius);background:var(--cc-tint);box-shadow:none}
body.journal-v2 .answer-first::before{content:none}
body.journal-v2 .answer-first .overview-label{display:block;margin:0 0 6px;font:600 21px/1.25 var(--display);color:var(--cc-ink)}
body.journal-v2 .answer-first .overview-label::before{content:"In short";display:block;margin-bottom:2px}
body.journal-v2 .answer-first p{font-size:17px;line-height:1.65}

/* Chapters — red italic numerals, as in the reader */
body.journal-v2 .reading-chapter{margin:0 0 48px;scroll-margin-top:96px}
body.journal-v2 .chapter-header{display:block;margin:0 0 16px}
body.journal-v2 .article-body .chapter-header .reading-step{display:block;width:auto;height:auto;margin:0 0 2px;background:none;border-radius:0;font:italic 500 16px var(--display);color:var(--cc-red)}
body.journal-v2 .article-body .chapter-header h2{font-size:clamp(22px,3vw,27px);line-height:1.2;letter-spacing:-.01em}
body.journal-v2 .article-body h3{font-size:20px;margin:28px 0 10px}
body.journal-v2 .chapter-body>p,body.journal-v2 .article-body>section>p:not(.reading-step){font-size:17px;line-height:1.7;color:var(--cc-ink)}
body.journal-v2 .fr{font-family:var(--target)}

/* Reading aids — the app's highlight marks */
body.journal-v2 .reading-key,body.journal-v2 mark{background:linear-gradient(transparent 40%,var(--cc-highlight) 40%,var(--cc-highlight) 94%,transparent 94%);color:var(--cc-ink);padding:0 .14em;border-radius:2px}
body.journal-v2 .reading-term,body.journal-v2 .reading-helper{background:none;padding:0;color:var(--cc-blue);font-weight:600;text-decoration:underline dotted;text-decoration-thickness:1.5px;text-underline-offset:3px}
body.journal-v2 .reading-participle{background:none;padding:0;color:var(--cc-sage);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
body.journal-v2 .reading-point{color:var(--cc-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--cc-red);text-decoration-thickness:1.5px;text-underline-offset:3px}

/* Example pairs — bristol fiches like the margin notes */
body.journal-v2 .teaching-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
body.journal-v2 .teaching-pair>div{display:flex;flex-direction:column;gap:2px;padding:12px 16px 14px;background:var(--cc-bristol);border:0;border-top:2px solid var(--cc-red-line);border-radius:3px 3px 8px 8px;box-shadow:var(--cc-shadow-sm)}
body.journal-v2 .teaching-pair>div::before{content:none}
body.journal-v2 .teaching-pair .pair-label{font:italic 500 15px var(--display);letter-spacing:0;text-transform:none;color:var(--cc-red)}
body.journal-v2 .teaching-pair .fr{font:500 22px/1.3 var(--target);color:var(--cc-ink)}
body.journal-v2 .teaching-pair .translation,body.journal-v2 .translation{font:italic 400 15px/1.4 var(--display);color:var(--cc-muted)}

/* Diagrams and worked examples — the app's soft panel, no ornament */
body.journal-v2 .sentence-map,body.journal-v2 .reading-diagram,body.journal-v2 .example,body.journal-v2 .article-example{margin:20px 0;padding:18px 20px;background:var(--cc-tint);border:0;border-radius:var(--cc-radius);box-shadow:none}
body.journal-v2 .sentence-map figcaption,body.journal-v2 .reading-diagram-title{font:italic 500 16px var(--display);letter-spacing:0;text-transform:none;color:var(--cc-red)}
body.journal-v2 .sentence-map .map-words{font:400 30px/1.4 var(--target);gap:12px}
body.journal-v2 .sentence-map .map-unit small{padding:0;background:none;font:italic 400 14px var(--display);color:var(--cc-muted)}
body.journal-v2 .sentence-map .map-labels{font:italic 400 15px var(--display);color:var(--cc-muted)}
body.journal-v2 .reference-table{background:var(--cc-paper);border-radius:0;box-shadow:none;font-size:15px}
body.journal-v2 .reference-table th{background:none;border-bottom:1.5px solid var(--cc-ink);font:600 13px var(--sans);color:var(--cc-muted)}
body.journal-v2 .reference-table td{border-bottom:1px dotted var(--cc-line-strong)}

/* Disclosures — the reader's "›" fold */
body.journal-v2 .reading-detail-panel,body.journal-v2 .reading-detail{margin:10px 0;border:0;background:none;border-radius:0}
body.journal-v2 .reading-detail-panel>summary,body.journal-v2 .reading-detail>summary,body.journal-v2 .solution>summary{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 4px;list-style:none;font:600 14px var(--sans);color:var(--cc-ink);cursor:pointer;border-radius:6px}
body.journal-v2 .reading-detail-panel>summary::-webkit-details-marker,body.journal-v2 .reading-detail>summary::-webkit-details-marker,body.journal-v2 .solution>summary::-webkit-details-marker{display:none}
body.journal-v2 .reading-detail-panel>summary::before,body.journal-v2 .reading-detail>summary::before,body.journal-v2 .solution>summary::before{content:"›";display:inline-block;width:12px;font-size:18px;color:var(--cc-muted);transition:transform var(--cc-dur-fast) var(--cc-ease)}
body.journal-v2 .reading-detail-panel>summary::after,body.journal-v2 .reading-detail>summary::after,body.journal-v2 .solution>summary::after{content:none}
body.journal-v2 details[open]>summary::before{transform:rotate(90deg)}
body.journal-v2 .reading-detail-copy{padding:2px 4px 8px 24px;font-size:16px}

/* ---------- Practice — an exercise set on the page ---------- */
body.journal-v2 .practice{margin:28px 0;border:1px solid var(--cc-line);border-radius:var(--cc-radius);background:var(--cc-paper-2);box-shadow:none;overflow:visible}
body.journal-v2 .practice-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 20px 0;background:none;border:0;border-radius:0}
body.journal-v2 .practice-header .eyebrow::before{content:none}
body.journal-v2 .practice-header .count{font:400 13px var(--sans);color:var(--cc-muted)}
body.journal-v2 .practice-inner{padding:8px 20px 20px}
body.journal-v2 .practice legend{font:400 15px var(--sans);color:var(--cc-muted);margin-bottom:14px}
body.journal-v2 .practice legend .fr{display:block;margin-top:6px;font:500 26px/1.3 var(--target);color:var(--cc-ink)}
body.journal-v2 .choices{gap:8px}
body.journal-v2 .choice{min-height:52px;padding:10px 14px;border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);background:var(--cc-paper);transition:border-color var(--cc-dur-fast) var(--cc-ease),background-color var(--cc-dur-fast) var(--cc-ease)}
body.journal-v2 .choice:has(input:checked){border-color:var(--cc-ink);background:var(--cc-tint)}
body.journal-v2 .choice input{accent-color:var(--cc-ink)}
body.journal-v2 .choice-text{font:500 20px var(--target)}
body.journal-v2 .text-input{min-height:48px;padding:0 14px;border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);background:var(--cc-paper);font:400 20px var(--target)}
body.journal-v2 .text-input:focus{outline:none;border-color:var(--cc-ink);box-shadow:0 0 0 3px var(--cc-tint-2)}
body.journal-v2 .text-input[aria-invalid=true]{border-color:var(--cc-red)}
body.journal-v2 .practice-hint{font:400 13px var(--sans);color:var(--cc-muted)}
body.journal-v2 .field-error{font:italic 500 15px var(--display);color:var(--cc-red)}
body.journal-v2 .practice-actions{gap:10px;margin-top:16px}
body.journal-v2 .practice-feedback{margin-top:16px;padding:12px 16px;border-radius:var(--cc-radius-sm);font-size:15px}
body.journal-v2 .practice-feedback.correct{background:var(--cc-sage-soft);color:var(--cc-sage)}
body.journal-v2 .practice-feedback.incorrect{background:var(--cc-red-soft);color:var(--cc-red)}
body.journal-v2 .practice-feedback strong{font:italic 500 17px var(--display)}
body.journal-v2 .solution{margin-top:14px;padding-top:6px;border-top:1px solid var(--cc-line)}
body.journal-v2 .solution .solution-copy{padding:2px 4px 4px 24px;font-size:15px;color:var(--cc-muted)}
body.journal-v2 .word{border-radius:8px;border:0;background:var(--cc-tint);box-shadow:inset 0 -2px 0 rgba(30,42,74,.12);font:500 19px var(--target)}
body.journal-v2 .builder-output{border:0;border-bottom:2px solid var(--cc-ink);border-radius:0;background:none;min-height:64px}
body.journal-v2 .builder-output .word{background:var(--cc-paper);color:var(--cc-ink);box-shadow:var(--cc-shadow-sm)}
body.journal-v2 .flashcard{border:0;border-top:2px solid var(--cc-red-line);border-radius:3px 3px 8px 8px;background:var(--cc-bristol);box-shadow:var(--cc-shadow-sm)}
body.journal-v2 .flashcard .reveal{color:var(--cc-muted)}
body.journal-v2 .quiz-summary{background:var(--cc-tint);color:var(--cc-ink);border-radius:var(--cc-radius)}
body.journal-v2 .quiz-progress progress{accent-color:var(--cc-ink)}

/* ---------- Contents rail — beside the page, like the margin notes ---------- */
body.journal-v2 .reading-nav{grid-area:rail;position:sticky;top:96px;align-self:start;background:none;border:0;padding:0}
body.journal-v2 .reading-nav details>summary{display:none}
body.journal-v2 .reading-nav-intro{padding:6px 4px 10px}
body.journal-v2 .reading-nav .reading-nav-kicker{font:italic 500 16px var(--display);letter-spacing:0;text-transform:none;color:var(--cc-muted)}
body.journal-v2 .reading-nav ol{gap:0;margin:0;padding:0;list-style:none}
body.journal-v2 .reading-nav .reading-nav-link{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:baseline;min-height:44px;padding:8px 8px;border:0;border-radius:6px;color:var(--cc-muted);text-decoration:none}
body.journal-v2 .reading-nav .reading-nav-number{width:auto;height:auto;background:none;font:italic 500 17px var(--display);color:var(--cc-red)}
body.journal-v2 .reading-nav .reading-nav-name{font:400 15px/1.4 var(--sans)}
body.journal-v2 .reading-nav-link[aria-current=location]{background:var(--cc-paper);color:var(--cc-ink);box-shadow:var(--cc-shadow-sm)}
body.journal-v2 .reading-nav-link[aria-current=location] .reading-nav-name{font-weight:600}
body.journal-v2 .reading-nav-link[aria-current=location] .reading-nav-number{color:var(--cc-red)}
body.journal-v2 .reading-nav .reading-nav-overview{margin-top:8px;padding:0 8px;font:500 14px var(--sans);color:var(--cc-muted)}

/* ---------- Next reading + course ---------- */
body.journal-v2 .related{margin-top:48px;padding-top:24px;border-top:1px solid var(--cc-line)}
body.journal-v2 .related h2{font-size:21px;margin:2px 0 8px}
body.journal-v2 .related-list{display:block;margin:0;padding:0}
body.journal-v2 .related-list li{padding:0;border:0}
body.journal-v2 .related-list a{display:flex;align-items:baseline;gap:12px;min-height:52px;padding:12px 4px;border:0;border-radius:6px;background:none;color:var(--cc-ink);text-decoration:none}
body.journal-v2 .related-list a::after{content:"";order:1;flex:1 1 auto;min-width:16px;border-bottom:2px dotted var(--cc-line-strong);transform:translateY(-5px)}
body.journal-v2 .related-list a>*{order:0}
body.journal-v2 .related-list a>.od-icon,body.journal-v2 .related-list a>svg{order:2;--od-icon-size:16px;color:var(--cc-muted)}
body.journal-v2 .related-list span{font:400 17px var(--display)}
body.journal-v2 .inline-course{position:static;display:block;margin-top:32px;padding:18px 20px 20px;border-radius:var(--cc-radius);background:var(--cc-tint);color:var(--cc-ink);overflow:visible}
body.journal-v2 .inline-course::after{content:none}
body.journal-v2 .inline-course h2,body.journal-v2 .inline-course h3{margin:2px 0 6px;font-size:21px;color:var(--cc-ink)}
body.journal-v2 .inline-course p{margin-bottom:12px;font-size:15px;color:var(--cc-muted)}
body.journal-v2 .inline-course a{color:var(--cc-ink)}
body.journal-v2 .source-note{margin-top:24px;padding-top:16px;border-top:1px solid var(--cc-line);font:400 13px/1.5 var(--sans);color:var(--cc-muted)}

/* ---------- Page headings on the desk ---------- */
body.journal-v2 .journal-page-heading,body.journal-v2 .page-heading{display:block;max-width:none;padding:8px 4px 28px}
body.journal-v2 .journal-page-heading h1,body.journal-v2 .page-heading h1{margin-top:4px;font-size:clamp(32px,5vw,44px);max-width:20ch}
body.journal-v2 .journal-page-heading .lead,body.journal-v2 .page-heading .lead{margin-top:8px;max-width:46ch}

/* ---------- Article lists — the app's reading cards ---------- */
body.journal-v2 .library-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body.journal-v2 .library-row,body.journal-v2 .library-row:first-child{position:relative;display:flex;flex-direction:column;gap:0;padding:20px 22px;border:0;border-radius:var(--cc-radius-lg);background:var(--cc-paper);box-shadow:var(--cc-shadow-sm);transition:box-shadow var(--cc-dur) var(--cc-ease),transform var(--cc-dur) var(--cc-ease)}
body.journal-v2 .library-row-topic{display:none}
body.journal-v2 .library-row-copy{--od-gap:6px}
body.journal-v2 .library-row .meta{font-size:13px}
body.journal-v2 .library-row h3{font-size:20px;line-height:1.25;letter-spacing:-.01em;max-width:none}
body.journal-v2 .library-row h3 a{text-decoration:none}
body.journal-v2 .library-row h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
body.journal-v2 .library-row p{font:italic 400 16px/1.45 var(--display);color:var(--cc-muted)}
body.journal-v2 .library-row .row-open{display:none}
body.journal-v2 .library-caption{display:flex;justify-content:space-between;gap:12px;margin:0 4px 14px;font:400 14px var(--sans);color:var(--cc-muted)}
body.journal-v2 .library-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px 24px;margin:0 0 32px;padding:0;border:0;background:none}
body.journal-v2 .library-toolbar>p{font-size:14px;color:var(--cc-muted)}

/* Forms */
body.journal-v2 .search-field{min-height:48px;padding-inline:14px;border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);background:var(--cc-paper);box-shadow:none}
body.journal-v2 .search-field:focus-within{border-color:var(--cc-ink);outline:none;box-shadow:0 0 0 3px var(--cc-tint-2)}
body.journal-v2 label,body.journal-v2 .filter-bar label{font:600 14px var(--sans);color:var(--cc-ink)}
body.journal-v2 select,body.journal-v2 .search-tools input{min-height:48px;border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);background:var(--cc-paper)}
body.journal-v2 .search-tools{padding:22px;background:var(--cc-paper);border:0;border-radius:var(--cc-radius-lg);box-shadow:var(--cc-shadow-sm);align-self:start}
body.journal-v2 .search-results .library-rows{grid-template-columns:repeat(2,minmax(0,1fr))}
body.journal-v2 .pagination a,body.journal-v2 .pagination span{border:0;border-radius:var(--cc-pill);background:var(--cc-paper);box-shadow:var(--cc-shadow-sm)}
body.journal-v2 .pagination [aria-current=page]{background:var(--cc-ink);color:#fff}

/* Topics page: the app's segmented filter, then plain sections */
body.journal-v2 .subject-page-nav{display:inline-flex;flex-wrap:wrap;gap:2px;margin:0 0 32px;padding:3px;border:0;border-radius:var(--cc-pill);background:var(--cc-desk-2)}
body.journal-v2 .subject-page-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--cc-pill);font:600 14px var(--sans);color:var(--cc-muted);text-decoration:none}
body.journal-v2 .topic-chapter{padding:32px 0;border-top:1px solid var(--cc-line-strong)}
body.journal-v2 .topic-chapter h2{font-size:27px}
body.journal-v2 .topic-chapter .library-rows{grid-template-columns:repeat(2,minmax(0,1fr))}
body.journal-v2 .subject-page-subtopics a,body.journal-v2 .subject-atlas-subtopics a{border-radius:var(--cc-pill)}

/* ---------- Footer ---------- */
body.journal-v2 .site-footer{margin-top:72px;background:var(--cc-desk);border-top:1px solid var(--cc-line-strong);color:var(--cc-muted)}
body.journal-v2 .site-footer .footer-top{padding-block:36px 24px}
body.journal-v2 .site-footer .footer-brand p{font:italic 400 16px/1.45 var(--display);color:var(--cc-muted)}
body.journal-v2 .site-footer .footer-links a{font-size:14px;color:var(--cc-ink)}
body.journal-v2 .site-footer .footer-bottom{border-top:1px solid var(--cc-line);font-size:13px}

/* ---------- Hover (pointer devices) — the app's 1px lift, nothing more ---------- */
@media(hover:hover){
  body.journal-v2 .desktop-nav a:hover{color:var(--cc-ink);border-bottom-color:transparent}
  body.journal-v2 .desktop-nav a[aria-current=page]:hover{border-bottom-color:var(--cc-ink)}
  body.journal-v2 .icon-button:hover{box-shadow:var(--cc-shadow);background:var(--cc-paper);text-decoration:none}
  body.journal-v2 .course-header-link:hover{color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:inset 6px 0 0 rgba(0,0,0,.2),inset 7px 0 0 rgba(255,255,255,.08),0 1px 0 rgba(0,0,0,.12),0 12px 22px -8px rgba(31,77,58,.75)}
  body.journal-v2 .course-header-link:hover::after{transform:rotate(8deg)}
  body.journal-v2 .course-header-link:hover .od-icon{transform:translateX(3px)}
  body.journal-v2 .button:hover{background:var(--cc-ink-hover);color:#fff;text-decoration:none}
  body.journal-v2 .button.secondary:hover,body.journal-v2 .article-intent a:hover{background:var(--cc-tint-2);color:var(--cc-ink);text-decoration:none}
  body.journal-v2 .text-link:hover{text-decoration-color:var(--cc-red)}
  body.journal-v2 .library-row:hover{box-shadow:var(--cc-shadow);transform:translateY(-1px)}
  body.journal-v2 .library-row h3 a:hover{color:var(--cc-ink);text-decoration:none}
  body.journal-v2 .choice:hover{border-color:var(--cc-ink);background:var(--cc-paper)}
  body.journal-v2 .reading-nav .reading-nav-link:hover{color:var(--cc-ink);background:rgba(255,255,255,.6)}
  body.journal-v2 .reading-nav .reading-nav-link:hover .reading-nav-name{text-decoration:none}
  body.journal-v2 .related-list a:hover{background:var(--cc-paper-2)}
  body.journal-v2 .subject-page-nav a:hover{color:var(--cc-ink);text-decoration:none}
  body.journal-v2 .breadcrumb a:hover{color:var(--cc-ink)}
}

/* ---------- Responsive ---------- */
@media(max-width:1023px){
  body.journal-v2 .header-inner{gap:24px}
  body.journal-v2 .article-layout,body.journal-v2 .article-layout[data-article-reader]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "page";gap:16px}
  body.journal-v2 .reading-nav{top:72px;z-index:5;background:var(--cc-paper);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow-sm)}
  body.journal-v2 .reading-nav details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:6px 16px;list-style:none;cursor:pointer}
  body.journal-v2 .reading-nav-panel{padding:4px 8px 12px;border-top:1px solid var(--cc-line)}
  body.journal-v2 .reading-nav-intro{display:none}
  body.journal-v2 .reading-mobile-title{font:600 15px var(--sans);color:var(--cc-ink)}
  body.journal-v2 .library-rows{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  body.journal-v2 .container{width:calc(100% - 32px)}
  body.journal-v2 .header-inner{min-height:64px}
  body.journal-v2 .course-header-link{min-height:40px;padding:0 14px 0 20px;font-size:14px;gap:6px}
  body.journal-v2 .course-header-link::after{right:14px}
  body.journal-v2 .reading-nav{top:64px}
  body.journal-v2 .article-body{padding:28px 20px 26px 50px}
  body.journal-v2 .article-body::before{left:30px}
  body.journal-v2 .teaching-pair{grid-template-columns:1fr}
  body.journal-v2 .practice-inner{padding:8px 14px 16px}
  body.journal-v2 .practice-header{padding:14px 14px 0}
  body.journal-v2 .practice legend .fr{font-size:22px}
  body.journal-v2 .sentence-map .map-words{font-size:24px}
  body.journal-v2 .library-rows,body.journal-v2 .search-results .library-rows,body.journal-v2 .topic-chapter .library-rows{grid-template-columns:1fr}
  body.journal-v2 .site-footer{margin-top:48px}
}
@media print{
  html,body.journal-v2{background:#fff}
  body.journal-v2 .site-header{position:static}
  body.journal-v2 .article-body{box-shadow:none;padding:0}
  body.journal-v2 .article-body::before{content:none}
}
body.journal-v2 .journal-search{display:flex;align-items:end;gap:8px;flex:1 1 420px;max-width:560px}
body.journal-v2 .journal-search .od-fill{flex:1 1 auto;min-width:0}
body.journal-v2 .journal-search .search-field{display:flex;align-items:center;gap:8px}
body.journal-v2 .journal-search input{width:100%;min-width:0;border:0;background:none;outline:none;font:400 15px var(--sans)}
body.journal-v2 .article-body .chapter-header .reading-step{text-transform:none;letter-spacing:0}
/* Every fold inside an article uses the reader's "›" control */
body.journal-v2 .article-body details:not(.flashcard)>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:40px;cursor:pointer;font:600 14px var(--sans);color:var(--cc-ink)}
body.journal-v2 .article-body details>summary::-webkit-details-marker{display:none}
body.journal-v2 .article-body details:not(.flashcard)>summary::before{content:"›";display:inline-block;width:12px;flex:none;font-size:18px;color:var(--cc-muted);transition:transform var(--cc-dur-fast) var(--cc-ease)}
body.journal-v2 .article-body details[open]>summary::before{transform:rotate(90deg)}

/* carnet-color.css */
/* Coloured paper on a white page.
   The page stays white; cards are solid coloured paper with no borders or shadows,
   like French notebook covers. One deep card leads; the rest are soft stocks. */
:root{
  /* paper stocks: clearly coloured, still quiet enough for ink text */
  --stock-sage:color-mix(in srgb,var(--cc-sage) 18%,#fff);
  --stock-clay:color-mix(in srgb,var(--cc-red) 14%,#fff);
  --stock-sky:color-mix(in srgb,var(--cc-blue) 17%,#fff);
  --stock-violet:color-mix(in srgb,#6A48A6 15%,#fff);
  --cover-deep:#2B3F73;
}

/* Lead story: a deep blue cover, everything inside in white */
.hm-feature{padding:32px 36px 30px;border-radius:var(--cc-radius-lg);background:var(--cover-deep);
  --cc-ink:#fff;--cc-muted:rgba(255,255,255,.82);--cc-blue:#C9D6F2;color:#fff}
.hm-feature h2,.hm-feature h2 a,.hm-feature .hm-feature-hook,.hm-feature .hm-example{color:#fff}
body.journal-v2 .hm-feature mark *{color:#1E2A4A}
body.journal-v2 .hm-feature .hm-example mark,body.journal-v2 .hm-feature mark{color:#1E2A4A;text-decoration:none;background:var(--cc-highlight);padding:0 .18em;border-radius:3px}
body.journal-v2 .hm-feature .button{background:#fff;color:var(--cover-deep);--cc-on-ink:var(--cover-deep)}
body.journal-v2 .hm-feature .button:hover{background:rgba(255,255,255,.9);color:var(--cover-deep)}
body.journal-v2 .hm-feature .button .od-icon{color:var(--cover-deep)}
.hm-feature .text-link{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.hm-top{gap:20px}

/* Look-up: soft sky paper */
.hm-side{padding:26px 26px 22px;border-left:0;border-radius:var(--cc-radius-lg);background:var(--stock-sky)}

/* Article cards and practice shelves: soft paper in turn, no rules between */
.hm-cards,.hm-shelf{gap:14px;margin-left:0;clip-path:none}
.hm-cards>li,.hm-shelf>section{padding:0;border-left:0}
.hm-card,.hm-card-flat{padding:20px 22px;border-radius:var(--cc-radius-lg)}
.hm-cards>li:nth-child(3n+1) .hm-card{background:var(--stock-sage)}
.hm-cards>li:nth-child(3n+2) .hm-card{background:var(--stock-clay)}
.hm-cards>li:nth-child(3n) .hm-card{background:var(--stock-sky)}
.hm-shelf>section{padding:20px 22px 12px;border-radius:var(--cc-radius-lg)}
.hm-shelf>section:nth-child(4n+1){background:var(--stock-sage)}
.hm-shelf>section:nth-child(4n+2){background:var(--stock-sky)}
.hm-shelf>section:nth-child(4n+3){background:var(--stock-clay)}
.hm-shelf>section:nth-child(4n){background:var(--stock-violet)}
.hm-shelf a{border-bottom-color:rgba(30,42,74,.14)}
@media (max-width:980px){.hm-side{margin-top:0;padding:22px;border-top:0}}

/* the course invitation: a deep cover, like the lead story */
.pt-panel{background:var(--cover-deep);color:#fff;--cc-ink:#fff;--cc-muted:rgba(255,255,255,.82)}
.pt-panel .pt-h2,.pt-panel p{color:#fff}
body.journal-v2 .pt-panel .button{background:#fff;color:var(--cover-deep)}
/* on coloured paper, secondary buttons are white paper */
.pt-card .pt-vf button,.pt-card .button.secondary,.pt-card .pt-tile,.pt-card .pt-intrus-row button,.pt-card .pt-tile-w{background:#fff}

/* ===== Listings set like a newspaper, in the notebook's language =====
   Fraunces headlines, italic serif standfirsts, hairlines between stories. Colour appears only as
   each subject's thin section rule and its small italic kicker, the way a paper marks its sections. */
[data-subject="grammar"]{--subj:#34558F}
[data-subject="vocabulary"]{--subj:#2F6B55}
[data-subject="verbs-tenses"]{--subj:#B04F33}
[data-subject="pronunciation-listening"]{--subj:#6A48A6}
[data-subject="everyday-french"]{--subj:#1D6E78}
[data-subject="reading-writing"]{--subj:#8F5A12}
[data-subject="exams"]{--subj:#1E2A4A}
[data-subject="culture-register"]{--subj:#A23B63}

.nw-kicker{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;margin:0 0 6px;font:500 12.5px/1.4 var(--sans);color:var(--cc-muted)}
.nw-kicker>span+span::before{content:"·";margin:0 7px;color:var(--cc-faint)}
.nw-subj{font:italic 600 14.5px/1.3 var(--display);color:var(--subj,var(--cc-red))}
.nw-level{font-weight:700;color:var(--cc-ink)}
:is(.nw-lead,.nw-mid,.nw-item,.nw-row) a{color:var(--cc-ink);text-decoration:none}
:is(.nw-lead,.nw-mid,.nw-item,.nw-row) a:hover{text-decoration:underline;text-decoration-color:var(--cc-red);text-decoration-thickness:1.5px;text-underline-offset:3px}
.nw-standfirst{margin:6px 0 0;font:italic 400 15.5px/1.5 var(--display);color:var(--cc-muted);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}
.nw-lead h3{margin:0;font:600 clamp(26px,3vw,34px)/1.1 var(--display);letter-spacing:-.015em}
.nw-lead .nw-standfirst{font-size:18px;-webkit-line-clamp:4}
.nw-mid h4{margin:0;font:600 20px/1.22 var(--display);letter-spacing:-.01em}
.nw-item h4{margin:0;font:600 18px/1.25 var(--display)}
.nw-item .nw-standfirst{font-size:14.5px;-webkit-line-clamp:2}
.nw-row h5{margin:0;font:500 16px/1.3 var(--display)}

/* Hub pages: a front (lead + two stories) over a river of headlines */
.nw-front{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:0 32px;margin:8px 0 8px;padding-bottom:26px;border-bottom:1px solid var(--cc-line)}
.nw-front-side{display:flex;flex-direction:column;padding-left:28px;border-left:1px solid var(--cc-line)}
.nw-front-side .nw-mid+.nw-mid{margin-top:18px;padding-top:18px;border-top:1px solid var(--cc-line)}
.nw-river{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.nw-item{padding:18px 0 20px;border-bottom:1px solid var(--cc-line)}

/* /blog/all: masthead, filters, section strip, one section per subject, then the A–Z index */
.nw-masthead{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;padding-bottom:16px;border-bottom:2px solid var(--cc-ink)}
.nw-masthead h1{margin:0;font-size:clamp(36px,5vw,50px)}
.nw-stats{margin:0;font:italic 400 18px var(--display);color:var(--cc-muted)}
.nw-stats b{font-style:normal;font-weight:600;color:var(--cc-ink)}
.nw-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:14px 0;border-bottom:1px solid var(--cc-line)}
.nw-levels{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 0}
.nw-filters-label{margin-right:14px;font:italic 500 16px var(--display);color:var(--cc-red)}
.nw-levels a{display:inline-flex;align-items:baseline;gap:6px;padding:4px 14px;border-left:1px solid var(--cc-line);color:var(--cc-ink);text-decoration:none}
.nw-levels a:first-of-type{border-left:0;padding-left:0}
.nw-levels b{font:600 15px var(--sans)}
.nw-levels small{font:400 13px var(--sans);color:var(--cc-muted)}
.nw-levels a:hover b{text-decoration:underline;text-decoration-color:var(--cc-red);text-underline-offset:3px}
.nw-search{display:flex;gap:8px;flex:0 1 420px}
.nw-search input{flex:1 1 auto;min-height:40px;padding:0 12px;border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);font:400 15px var(--sans);color:var(--cc-ink);background:#fff}
.nw-sections-nav{display:flex;flex-wrap:wrap;gap:6px 22px;padding:12px 0 0}
.nw-sections-nav a{display:inline-flex;align-items:center;gap:7px;font:500 14px var(--sans);color:var(--cc-ink);text-decoration:none}
.nw-sections-nav a::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--subj,var(--cc-ink))}
.nw-sections-nav a:hover{text-decoration:underline;text-underline-offset:3px}

.nw-section,.nw-az{margin-top:48px}
.nw-section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:18px;padding-top:10px;border-top:3px solid var(--subj,var(--cc-ink))}
.nw-section-head h2{margin:0;font:600 26px/1.2 var(--display)}
.nw-section-head h2 a{color:var(--cc-ink);text-decoration:none}
.nw-count{font:italic 400 16px var(--display);color:var(--cc-muted)}
.nw-more{margin-left:auto;font:600 14px var(--sans);color:var(--cc-ink)}
.nw-section-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:0 28px}
.nw-section-mid,.nw-section-list{padding-left:24px;border-left:1px solid var(--cc-line)}
.nw-section-mid .nw-mid+.nw-mid{margin-top:16px;padding-top:16px;border-top:1px solid var(--cc-line)}
.nw-section-list{list-style:none;margin:0}
.nw-row{padding:9px 0;border-top:1px solid var(--cc-line)}
.nw-row:first-child{padding-top:0;border-top:0}
.nw-row .nw-kicker{margin-bottom:2px;font-size:12px}

.nw-az-cols{columns:4 220px;column-gap:32px}
.nw-az-letter{break-inside:avoid;margin:0 0 18px}
.nw-az-letter h3{margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--cc-line);font:italic 600 24px/1 var(--display);color:var(--cc-red)}
.nw-az-letter ul{list-style:none;margin:0;padding:0}
.nw-az-letter li{margin:0;padding:3px 0;font:400 14.5px/1.4 var(--display)}
.nw-az-letter li a{color:var(--cc-ink);text-decoration:none}
.nw-az-letter li a:hover{text-decoration:underline;text-decoration-color:var(--cc-red)}
.nw-az-letter small{font:400 12px var(--sans);color:var(--cc-faint);white-space:nowrap}

@media (max-width:980px){
  .nw-front,.nw-section-body{grid-template-columns:minmax(0,1fr)}
  .nw-front-side,.nw-section-mid,.nw-section-list{margin-top:18px;padding:18px 0 0;border-left:0;border-top:1px solid var(--cc-line)}
  .nw-river{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){.nw-river{grid-template-columns:minmax(0,1fr)}.nw-search{flex-basis:100%}}
/* three short headlines under a lead story, so the lead column stands as tall as its neighbours */
.nw-lead-more{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--cc-line)}
.nw-lead-more .nw-row:first-child{padding-top:9px}

/* Home: below the six cards, a dense three-column run of headlines, as on a newspaper's front */
.hm-more{list-style:none;margin:22px 0 0;padding:14px 0 0;border-top:1px solid var(--cc-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.hm-more .nw-row,.hm-more .nw-row:first-child{padding:9px 0;border-top:0;border-bottom:1px solid var(--cc-line)}
.hm-card-meta .nw-subj{font-size:14px}
.hm-asked small{font-style:normal}
@media (max-width:980px){.hm-more{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hm-more{grid-template-columns:minmax(0,1fr)}}

/* The feature as a section front: three more pages on its subject, hairlines between them.
   The headline rises in once, as titles do in the films. */
.hm-feature-more{margin:26px 0 24px;padding-top:14px;border-top:1px solid rgba(255,255,255,.28)}
.hm-feature-more-label{margin:0 0 4px;font:italic 500 15px var(--display);color:rgba(255,255,255,.72)}
.hm-feature-more ul{list-style:none;margin:0;padding:0}
.hm-feature-more li{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.hm-feature-more a{font:500 18px/1.3 var(--display);color:#fff;text-decoration:none}
.hm-feature-more a:hover{text-decoration:underline;text-underline-offset:3px}
.hm-feature-more small{font:400 12.5px var(--sans);color:rgba(255,255,255,.66)}
@keyframes hm-rise{from{opacity:0;transform:translateY(10px)}}
.hm-feature h2,.hm-feature-hook,.hm-example{animation:hm-rise .6s cubic-bezier(.2,.7,.2,1) both}
.hm-feature-hook{animation-delay:.12s}.hm-example{animation-delay:.24s}
.hm-asked li,.hm-more .nw-row{animation:hm-rise .5s cubic-bezier(.2,.7,.2,1) both}
.hm-asked li:nth-child(2){animation-delay:.06s}.hm-asked li:nth-child(3){animation-delay:.12s}.hm-asked li:nth-child(4){animation-delay:.18s}.hm-asked li:nth-child(5){animation-delay:.24s}.hm-asked li:nth-child(6){animation-delay:.3s}
@media (prefers-reduced-motion:reduce){.hm-feature h2,.hm-feature-hook,.hm-example,.hm-asked li,.hm-more .nw-row{animation:none}}

/* ===== Specimens: a real excerpt of each page, pasted in like a clipping =====
   Seyès ruling (the French exercise-book grid), tape on pictures, a stamp for verdicts, a
   receipt for documents. Colour stays meaningful: the red pen marks corrections only. */
:root{--seyes-line:rgba(88,110,190,.16);--seyes-strong:rgba(88,110,190,.32);--tape:rgba(214,222,234,.8)}
.sp{position:relative;margin:0;font:400 13.5px/1.45 var(--sans);color:var(--cc-ink);background:#fff;border:1px solid var(--cc-line);border-radius:3px;padding:12px 14px;box-shadow:0 1px 0 rgba(30,42,74,.04),0 6px 14px -10px rgba(30,42,74,.25)}
.sp-cap{margin:0 0 6px;font:600 10.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cc-muted)}
.sp-cap b{font:italic 600 15px var(--display);letter-spacing:0;text-transform:none;color:var(--cc-ink)}
/* the exercise-book page: a faint line every 8px, a stronger one every 32px, a red margin */
.sp-conj,.sp-cloze,.sp-drill,.sp-fiche,.sp-tiles{background:
  linear-gradient(90deg,transparent 22px,rgba(196,64,52,.45) 22px,rgba(196,64,52,.45) 23px,transparent 23px),
  repeating-linear-gradient(180deg,transparent 0 7px,var(--seyes-line) 7px 8px),
  repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes-strong) 31px 32px),#fff;padding-left:32px}
.sp-conj dl{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin:0}
.sp-conj dl div{display:flex;gap:6px;line-height:24px}
.sp-conj dt{color:var(--cc-muted);font:italic 400 13px var(--display)}
.sp-conj dd{margin:0;font:600 14px var(--display)}
.sp-chat{background:#F4F6FA;display:flex;flex-direction:column;gap:5px}
.sp-chat .sp-cap{align-self:center}
.sp-bubble{align-self:flex-start;max-width:88%;margin:0;padding:6px 10px;border-radius:14px 14px 14px 4px;background:#fff;box-shadow:0 1px 0 rgba(30,42,74,.08);font-size:13px}
.sp-bubble.me{align-self:flex-end;border-radius:14px 14px 4px 14px;background:#2F5FD0;color:#fff}
.sp-time{list-style:none;padding-left:28px}
.sp-time::before{content:"";position:absolute;left:17px;top:16px;bottom:16px;width:1.5px;background:var(--cc-line-strong)}
.sp-time li{position:relative;display:flex;flex-direction:column;padding:2px 0 6px}
.sp-time li::before{content:"";position:absolute;left:-14px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--subj,var(--cc-red))}
.sp-time b{font:italic 600 13.5px var(--display)}
.sp-time span{font-size:12.5px;color:var(--cc-muted)}
.sp-card{background:transparent;border:0;box-shadow:none;padding:6px 10px 0}
.sp-card-face,.sp-card-back{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:92px;border-radius:8px;background:#fff;border:1px solid var(--cc-line-strong);box-shadow:0 6px 14px -8px rgba(30,42,74,.3)}
.sp-card-face{position:relative;transform:rotate(-1.5deg);text-align:center;padding:8px}
.sp-card-face b{font:600 20px var(--display)}
.sp-card-face span{font:italic 400 14px var(--display);color:var(--cc-muted)}
.sp-card-back{position:absolute;inset:10px 14px 24px 6px;transform:rotate(3deg)}
.sp-card-back.two{transform:rotate(6deg);inset:12px 10px 26px 12px}
.sp-card .sp-cap{margin-top:8px;text-align:center}
.sp-words{list-style:none}
.sp-words li{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px dashed var(--cc-line)}
.sp-words li:last-child{border-bottom:0}
.sp-words b{font:600 14px var(--display)}
.sp-words span{color:var(--cc-muted);font-size:12.5px;text-align:right}
.sp-ladder .sp-cap{display:flex;justify-content:space-between}
.sp-ladder ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.sp-ladder li{padding:4px 8px;border-radius:3px;font:italic 500 13.5px var(--display);background:color-mix(in srgb,var(--subj,#2F6B55) calc(var(--k)*26% + 6%),#fff);margin-left:calc(var(--k)*24px)}
.sp-match{list-style:none}
.sp-match li{display:grid;grid-template-columns:1fr 26px 1fr;align-items:center;gap:4px;padding:3px 0;font-size:12.5px}
.sp-match i{height:1.5px;background:var(--subj,var(--cc-ink));position:relative}
.sp-match i::after{content:"";position:absolute;right:-1px;top:-3.5px;border:4px solid transparent;border-left:5px solid var(--subj,var(--cc-ink))}
.sp-sort{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#F7F8FB}
.sp-sort>div{background:#fff;border:1px solid var(--cc-line);border-radius:3px;padding:6px 8px}
.sp-sort ul{list-style:none;margin:0;padding:0;font:italic 500 13px/1.5 var(--display)}
.sp-odd{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:16px 12px}
.sp-odd span{padding:4px 10px;border:1px solid var(--cc-line-strong);border-radius:3px;font:italic 500 15px var(--display)}
.sp-odd span.odd{border-color:var(--cc-red);color:var(--cc-red);box-shadow:inset 0 0 0 1px var(--cc-red)}
.sp-verdict{padding-right:78px;min-height:64px;display:flex;align-items:center}
.sp-verdict p{margin:0;font:italic 400 14.5px/1.4 var(--display)}
.sp-stamp{position:absolute;right:10px;top:50%;transform:translateY(-50%) rotate(-12deg);padding:3px 8px;border:2px solid var(--cc-red);border-radius:4px;font:700 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cc-red);opacity:.85}
.sp-stamp.vrai{border-color:#2F6B55;color:#2F6B55}
.sp-clockbox{display:flex;align-items:center;gap:12px}
.sp-clock{flex:0 0 64px;width:64px;height:64px}
.sp-clock circle{fill:#fff;stroke:var(--cc-ink);stroke-width:2.5}
.sp-clock line{stroke:var(--cc-ink);stroke-width:2;stroke-linecap:round}
.sp-clock .h{stroke-width:4}.sp-clock .m{stroke:var(--cc-red);stroke-width:2.5}
.sp-clock .c{fill:var(--cc-ink);stroke:none}
.sp-clockbox p{margin:0;font:italic 500 14.5px var(--display)}
.sp-fiche p{margin:0;line-height:24px;font-size:13px}
.sp-fiche p[lang]{font:italic 400 14px/24px var(--display)}
.sp-hunt,.sp-fix p{font:italic 400 15px/1.6 var(--display);margin:0}
.sp s{text-decoration:line-through;text-decoration-color:var(--cc-red);text-decoration-thickness:2px;color:var(--cc-muted)}
.sp ins{text-decoration:none;color:var(--cc-red);font-weight:600}
.sp-doc{font:400 12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border-style:dashed;max-width:260px;margin-left:auto;margin-right:auto;padding-bottom:16px;
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 6px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/10px 6px repeat-x;
  mask:linear-gradient(#000 0 0) top/100% calc(100% - 6px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/10px 6px repeat-x}
.sp-doc p{display:flex;justify-content:space-between;gap:10px;margin:0}
.sp-doc .sp-doc-brand{justify-content:center;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding-bottom:4px;margin-bottom:4px;border-bottom:1px dashed var(--cc-line-strong);text-align:center}
.sp-lines p{margin:0 0 4px;font:italic 400 14px/1.4 var(--display)}
.sp-lines b{font:600 11px var(--sans);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--subj,var(--cc-red));margin-right:4px}
.sp-tiles{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-height:56px}
.sp-tiles span{padding:3px 9px;border-radius:4px;background:#fff;border:1px solid var(--cc-line-strong);box-shadow:0 2px 0 var(--cc-line-strong);font:italic 500 14px var(--display)}
.sp-tiles span:nth-child(2n){transform:rotate(-2deg)}.sp-tiles span:nth-child(3n){transform:rotate(1.5deg)}
.sp-cloze{font:italic 400 14px/24px var(--display)}
.sp-cloze .gap{display:inline-block;width:46px;height:1px;border-bottom:1.5px solid var(--cc-red);margin:0 2px;vertical-align:baseline}
.sp-drill p{margin:0;line-height:24px}
.sp-drill p:last-child{font:italic 600 15px/24px var(--display)}
.sp-quote{font:italic 400 14.5px/1.5 var(--display);color:var(--cc-ink);border-left:3px solid var(--subj,var(--cc-red));border-radius:0 3px 3px 0}
.sp-quote i{font-style:normal;font-weight:600}
.sp-quiz p{margin:0 0 6px;font:italic 400 14px/1.4 var(--display)}
.sp-quiz ol{margin:0;padding-left:20px;list-style:upper-alpha;font-size:12.5px;color:var(--cc-muted)}

/* A picture pasted in with a strip of tape */
.sp-photo{position:relative;display:block;padding:6px 6px 20px;background:#fff;border:1px solid var(--cc-line);box-shadow:0 8px 18px -12px rgba(30,42,74,.4);transform:rotate(-1.2deg)}
.sp-photo::before{content:"";position:absolute;left:50%;top:-9px;width:64px;height:18px;transform:translateX(-50%) rotate(2deg);background:var(--tape);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.sp-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}

/* ===== Search: a newspaper's index ===== */
.sr-form{margin:0 0 6px;border-bottom:1px solid var(--cc-line)}
.sr-q{display:flex;align-items:baseline;gap:16px;padding:22px 0 10px;border-bottom:1px solid var(--cc-ink)}
.sr-q-label{flex:0 0 auto;font:italic 500 20px var(--display);color:var(--cc-red)}
.sr-q input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font:400 clamp(20px,2.4vw,28px)/1.3 var(--display);color:var(--cc-ink);padding:4px 0}
.sr-q input::placeholder{color:var(--cc-faint);font-style:italic}
.sr-q:focus-within{border-bottom-color:var(--cc-red);box-shadow:0 1px 0 var(--cc-red)}
.sr-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 0;margin:0;padding:12px 0;border:0;border-bottom:1px solid var(--cc-line);min-width:0}
.sr-row:last-child{border-bottom:0}
.sr-row legend{float:left;width:120px;padding:0;font:italic 500 16px var(--display);color:var(--cc-muted)}
.sr-opt{position:relative;display:inline-flex;align-items:baseline;gap:5px;padding:3px 12px;border-left:1px solid var(--cc-line);cursor:pointer;font:500 14px var(--sans);color:var(--cc-ink)}
.sr-row legend+.sr-opt{border-left:0;padding-left:0}
.sr-opt input{position:absolute;opacity:0;pointer-events:none}
.sr-opt small{font:400 12px var(--sans);color:var(--cc-subtle)}
.sr-opt[data-subject] span::before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px;background:var(--subj)}
.sr-opt:hover span{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--cc-red)}
.sr-opt:has(input:checked) span{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--subj,var(--cc-red))}
.sr-opt:has(input:focus-visible){outline:2px solid var(--cc-ink);outline-offset:2px}
.sr-type{display:flex;align-items:baseline;gap:0}
.sr-type span{width:120px;font:italic 500 16px var(--display);color:var(--cc-muted)}
.sr-type select{border:0;border-bottom:1px solid var(--cc-line-strong);background:transparent;font:500 14px var(--sans);color:var(--cc-ink);padding:4px 22px 4px 0}
.sr-clear{margin-left:auto;border:0;background:none;font:500 13.5px var(--sans);color:var(--cc-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sr-status{margin:18px 0 0;font:italic 400 17px var(--display);color:var(--cc-muted)}
.sr-status b{font-style:normal;color:var(--cc-ink)}
.sr-list{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.sr-item{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;align-items:start;padding:22px 0;border-bottom:1px solid var(--cc-line)}
.sr-item h3{margin:0;font:600 20px/1.22 var(--display);letter-spacing:-.01em}
.sr-item h3 a{color:var(--cc-ink);text-decoration:none}
.sr-item h3 a:hover{text-decoration:underline;text-decoration-color:var(--cc-red);text-decoration-thickness:1.5px;text-underline-offset:3px}
.sr-item .nw-standfirst{font-size:14.5px;-webkit-line-clamp:3}
.sr-spec{pointer-events:none;transform:rotate(var(--tilt,0deg))}
.sr-item:nth-child(3n+1) .sr-spec{--tilt:.6deg}.sr-item:nth-child(3n+2) .sr-spec{--tilt:-.8deg}
.sr-more-wrap{text-align:center;margin:28px 0 0}
.sr-more{border:1px solid var(--cc-ink);background:#fff;padding:10px 22px;border-radius:var(--cc-radius-sm);font:600 14px var(--sans);color:var(--cc-ink);cursor:pointer}
.sr-more:hover{background:var(--cc-ink);color:#fff}
@media (max-width:1180px){.sr-list{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.sr-item{grid-template-columns:minmax(0,1fr)}.sr-row legend,.sr-type span{float:none;display:block;width:100%;margin-bottom:4px}}

.sp-conj.one dl{grid-template-columns:1fr}
.sp-conj.one dt{min-width:96px}
.sp-fiche .sp-fiche-title{font:italic 600 15px/24px var(--display);color:var(--cc-red)}
.sr-item:not(:has(.sr-spec,.sp-photo)){grid-template-columns:minmax(0,1fr)}
.sr-type select{appearance:none;-webkit-appearance:none;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231E2A4A' stroke-width='1.5'/%3E%3C/svg%3E") right 4px center no-repeat}

/* ===== Home: more kinds of front-page furniture ===== */
.hm-head-note{font:italic 400 16px var(--display);color:var(--cc-muted)}
/* Puzzle corner: three boxed columns under one heavy rule, like a paper's back-page corner */
.hm-corner-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.85fr);border-top:3px double var(--cc-ink);border-bottom:1px solid var(--cc-ink)}
.hm-corner-grid>div{padding:20px 24px 22px;border-left:1px solid var(--cc-line)}
.hm-corner-grid>div:first-child{border-left:0;padding-left:0}
.hm-corner-label{margin:0 0 8px;font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cc-red)}
.hm-puzzle-q,.hm-myth-claim{margin:0 0 12px;font:600 19px/1.3 var(--display);color:var(--cc-ink)}
.hm-puzzle-opts{list-style:upper-alpha;margin:0;padding-left:22px;display:grid;gap:6px}
.hm-puzzle-opts li::marker{font:italic 600 15px var(--display);color:var(--cc-muted)}
.hm-puzzle-opts button{width:100%;text-align:left;padding:7px 12px;border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);background:#fff;font:italic 400 15.5px var(--display);color:var(--cc-ink);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.hm-puzzle-opts button:hover:not(:disabled){border-color:var(--cc-ink);transform:translateX(2px)}
.hm-puzzle-opts button[data-state="right"]{border-color:#2F6B55;background:#EAF3EE;color:#1F4D3C;font-weight:600}
.hm-puzzle-opts button[data-state="wrong"]{border-color:var(--cc-red);background:#FBEDEB;text-decoration:line-through;text-decoration-color:var(--cc-red)}
.hm-puzzle-opts button:disabled{cursor:default}
.hm-puzzle-why{margin:12px 0 0;font:400 14.5px/1.5 var(--sans);color:var(--cc-muted)}
.hm-puzzle-why a,.hm-myth a{font-weight:600;color:var(--cc-ink)}
.hm-myth details summary{display:inline-block;cursor:pointer;font:600 14px var(--sans);color:var(--cc-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--cc-red)}
.hm-myth details p{position:relative;margin:12px 0 8px;padding-top:34px;font:400 14.5px/1.5 var(--sans);color:var(--cc-muted)}
.hm-myth .sp-stamp{top:0;left:0;right:auto;transform:rotate(-6deg);animation:hm-stamp .35s cubic-bezier(.3,1.6,.5,1) both}
@keyframes hm-stamp{from{opacity:0;transform:rotate(-6deg) scale(1.8)}}
.hm-figures dl{margin:0;display:grid;gap:0}
.hm-figures dl div{display:flex;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px dotted var(--cc-line-strong)}
.hm-figures dt{flex:1 1 auto;font:400 14px var(--sans);color:var(--cc-ink)}
.hm-figures dd{margin:0;font:600 18px var(--display);color:var(--cc-ink);font-variant-numeric:tabular-nums}
.hm-figures-total{margin:10px 0 0;font:italic 400 15px var(--display);color:var(--cc-muted)}
.hm-figures-total b{font-style:normal;font-size:22px;color:var(--cc-ink)}
/* Inside the pages: a contact sheet of clippings */
.hm-inside-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 26px}
.hm-inside-grid a{display:flex;flex-direction:column;gap:8px;height:100%;color:var(--cc-ink);text-decoration:none}
.hm-inside-spec{min-height:150px;display:flex;align-items:center;padding:12px;border-radius:var(--cc-radius-lg);background:color-mix(in srgb,var(--subj,#1E2A4A) 7%,#fff);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.hm-inside-spec>.sp{width:100%}
.hm-inside-grid li:nth-child(odd) .hm-inside-spec>.sp{transform:rotate(-.8deg)}
.hm-inside-grid li:nth-child(even) .hm-inside-spec>.sp{transform:rotate(.7deg)}
.hm-inside-grid a:hover .hm-inside-spec{transform:translateY(-3px)}
.hm-inside-grid h3{margin:0;font:600 17px/1.28 var(--display)}
.hm-inside-grid a:hover h3{text-decoration:underline;text-decoration-color:var(--cc-red);text-underline-offset:3px}
.hm-inside-grid .nw-kicker{margin:4px 0 0}
/* The picture desk: snapshots taped along a line */
.hm-desk-row{list-style:none;margin:0;padding:10px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px}
.hm-desk-row a{display:flex;flex-direction:column;gap:8px;color:var(--cc-ink);text-decoration:none}
.hm-desk-row li:nth-child(even) .sp-photo{transform:rotate(1.4deg)}
.hm-desk-row a:hover .sp-photo{transform:rotate(0) translateY(-3px)}
.hm-desk-row .sp-photo{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.hm-desk-row h3{margin:0;font:600 15.5px/1.3 var(--display)}
.hm-desk-row .nw-kicker{margin:6px 0 0}
@media (max-width:1100px){.hm-inside-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-desk-row{grid-template-columns:repeat(3,minmax(0,1fr))}.hm-corner-grid{grid-template-columns:minmax(0,1fr)}.hm-corner-grid>div{border-left:0;padding-left:0;border-top:1px solid var(--cc-line)}}
@media (max-width:640px){.hm-inside-grid,.hm-desk-row{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.hm-myth .sp-stamp{animation:none}}

/* ===== Page rail: the right-hand side of a library page =====
   An index card, a contents list, the notebook cover, a Seyès sheet of phrases to copy, and
   what to read next. The subject's colour marks the page: its rule, its label, its tint. */
.pt-with-rail{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}
.pt-with-rail>.pt-col{min-width:0}
.pt-with-rail .pt-section{max-width:none!important}

.article-layout.has-rail>.pt-rail{grid-area:side}
.pt-rail{display:flex;flex-direction:column;gap:22px;padding-top:6px;min-width:0}
.rl-card{position:relative}
.rl-label{margin:0 0 8px;font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--subj,var(--cc-red))}
/* index card: white bristol with a red head line and faint blue lines */
.rl-index{padding:10px 16px 12px;background:
  linear-gradient(180deg,transparent 36px,rgba(196,64,52,.55) 36px,rgba(196,64,52,.55) 37.5px,transparent 37.5px),
  repeating-linear-gradient(180deg,transparent 0 25px,rgba(88,110,190,.18) 25px 26px) 0 37px/100% calc(100% - 37px) no-repeat,#fff;
  border:1px solid var(--cc-line);border-radius:2px;box-shadow:0 1px 0 rgba(30,42,74,.05),0 10px 22px -16px rgba(30,42,74,.45);transform:rotate(-.4deg)}
.rl-index .rl-label{margin:0 0 5px;line-height:22px}
.rl-index .rl-inv{margin-top:0}
.rl-index dl{margin:0}
.rl-index dl div{display:flex;align-items:baseline;gap:10px;line-height:26px}
.rl-index dt{flex:0 0 58px;font:italic 400 14px var(--display);color:var(--cc-muted)}
.rl-index dd{margin:0;font:500 14px var(--sans);color:var(--cc-ink)}
.rl-index dd a{color:var(--cc-ink);text-decoration:none}
.rl-index dd a:hover{text-decoration:underline;text-decoration-color:var(--cc-red)}
.rl-subj{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.rl-subj::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--subj)}
.rl-inv{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:0 14px;line-height:26px;font:400 13.5px var(--sans);color:var(--cc-muted)}
.rl-inv b{font:600 17px var(--display);color:var(--subj,var(--cc-ink))}
/* contents: numbered in the teacher's italic */
.rl-toc ol{list-style:none;margin:0;padding:0;counter-reset:t;border-top:2px solid var(--subj,var(--cc-ink))}
.rl-toc li{counter-increment:t;display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--cc-line);font:400 14.5px/1.35 var(--display)}
.rl-toc li::before{content:counter(t);flex:0 0 16px;font:italic 600 15px var(--display);color:var(--cc-red)}
.rl-toc a{color:var(--cc-ink);text-decoration:none}
.rl-toc a:hover{text-decoration:underline;text-decoration-color:var(--cc-red);text-underline-offset:3px}
/* the notebook it belongs to: a cover with a school label and an elastic band */
.rl-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:150px;padding:16px 18px 14px 22px;border-radius:4px 10px 10px 4px;color:#fff;text-decoration:none;background:var(--cc-cover-a2,#B4573B);
  box-shadow:inset 6px 0 0 rgba(0,0,0,.18),inset 7px 0 0 rgba(255,255,255,.12),0 2px 0 rgba(30,42,74,.18),0 12px 24px -14px rgba(30,42,74,.55);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.rl-cover[data-level=A1]{background:var(--cc-cover-a1)}.rl-cover[data-level=A2]{background:var(--cc-cover-a2)}.rl-cover[data-level=B1]{background:var(--cc-cover-b1)}
.rl-cover[data-level=B2]{background:var(--cc-cover-b2)}.rl-cover[data-level=C1]{background:var(--cc-cover-c1)}.rl-cover[data-level=C2]{background:var(--cc-cover-c2)}
.rl-cover::after{content:"";position:absolute;top:0;bottom:0;right:26px;width:7px;background:rgba(15,20,35,.55);box-shadow:1px 0 0 rgba(255,255,255,.12)}
.rl-cover:hover{transform:translateY(-2px) rotate(-.6deg)}
.rl-cover-label{align-self:flex-start;display:flex;flex-direction:column;gap:2px;padding:7px 12px;background:#fff;color:var(--cc-ink);border-radius:6px;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(30,42,74,.35);font:500 12px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.rl-cover-label b{font:600 17px var(--display);letter-spacing:0}
.rl-cover-label em{font:italic 500 15px var(--display);letter-spacing:0;text-transform:none}
.rl-cover-cta{max-width:200px;font:600 14px/1.35 var(--sans)}
/* phrases to copy: a Seyès sheet with a red margin, torn along the top */
.rl-copy{padding:16px 14px 12px 40px;background:
  linear-gradient(90deg,transparent 28px,rgba(196,64,52,.5) 28px,rgba(196,64,52,.5) 29.5px,transparent 29.5px),
  repeating-linear-gradient(180deg,transparent 0 7px,rgba(88,110,190,.15) 7px 8px),
  repeating-linear-gradient(180deg,transparent 0 31px,rgba(88,110,190,.32) 31px 32px),#fff;
  border:1px solid var(--cc-line);box-shadow:0 10px 22px -16px rgba(30,42,74,.45);transform:rotate(.5deg)}
.rl-copy::before{content:"";position:absolute;left:8px;top:22px;bottom:22px;width:8px;background:radial-gradient(circle at 4px 4px,var(--cc-line-strong) 3px,transparent 3.5px) 0 0/8px 64px repeat-y;opacity:.7}
.rl-copy .rl-label{margin-bottom:0;line-height:32px}
.rl-copy ul{list-style:none;margin:0;padding:0}
.rl-copy li{display:flex;flex-direction:column;padding:0}
.rl-copy li b{font:italic 600 15.5px/32px var(--display);color:#22357A}
.rl-copy li span{margin-top:-8px;font:400 12.5px/24px var(--sans);color:var(--cc-muted)}
/* read next: newspaper headlines, the first with its clipping */
.rl-next ol{list-style:none;margin:0;padding:0;border-top:2px solid var(--cc-ink)}
.rl-next li{padding:10px 0;border-bottom:1px solid var(--cc-line)}
.rl-next li a{font:600 16px/1.3 var(--display);color:var(--cc-ink);text-decoration:none}
.rl-next li a:hover{text-decoration:underline;text-decoration-color:var(--cc-red)}
.rl-next .nw-kicker{margin:0 0 3px;font-size:12px}
.rl-spec{margin:4px 0 10px;transform:rotate(-.6deg)}
/* the subject's colour, quietly: a rule over the page, a tint on the short answer */
.pt-with-rail>.pt-col{border-top:4px solid var(--subj,var(--cc-ink));padding-top:6px}
.article-layout.has-rail>.article-body{border-top:4px solid var(--subj,var(--cc-ink));padding-top:6px}
[data-subject] .answer-first{background:color-mix(in srgb,var(--subj) 10%,#fff)!important}
@media (max-width:1100px){.pt-with-rail{grid-template-columns:minmax(0,1fr)}.pt-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}}
@media (prefers-reduced-motion:reduce){.rl-cover{transition:none}}
.sr-form .sr-type select{min-height:0;height:auto;width:auto;border:0;border-bottom:1px solid var(--cc-line-strong);border-radius:0;box-shadow:none;padding:4px 24px 4px 0;background-color:transparent;appearance:none;-webkit-appearance:none}
/* With a rail under it, the contents list stays put: a sticky list would slide over the rail */

body.journal-v2 .article-layout.has-rail>.pt-rail{margin-top:8px}

/* ===== The journal's front, in the clipping style of the bands below ===== */
/* the feature: a clipping pinned to its cover, tilted, with tape */
.hm-feature{position:relative}
.hm-feature:has(.hm-feature-clip){padding-right:min(330px,34%)}
.hm-feature-clip{position:absolute;top:44px;right:34px;width:min(260px,28%);display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;transform:rotate(2.2deg);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hm-feature-clip:hover{transform:rotate(0) translateY(-3px)}
.hm-feature-clip>.sp{width:100%;box-shadow:0 18px 30px -16px rgba(0,0,0,.55)}
.hm-feature-clip>.sp::before,.hm-feature-clip>.sp-photo::before{content:"";position:absolute;left:50%;top:-10px;width:70px;height:20px;transform:translateX(-50%) rotate(-3deg);background:rgba(232,236,244,.82);box-shadow:0 1px 2px rgba(0,0,0,.12);z-index:1}
.hm-feature-clip>.sp-photo{width:100%}
.hm-feature-clip-cap{font:italic 500 14px var(--display);color:rgba(255,255,255,.75)}
@keyframes hm-pin{from{opacity:0;transform:rotate(8deg) translateY(-14px)}}
@media (prefers-reduced-motion:no-preference){.hm-feature-clip{animation:hm-pin .7s .25s cubic-bezier(.3,1.3,.5,1) both}}
@media (max-width:1100px){.hm-feature:has(.hm-feature-clip){padding-right:36px}.hm-feature-clip{position:relative;top:auto;right:auto;width:min(300px,100%);margin:6px auto 22px}}

/* Read next: a lead with its picture, four stories with clippings */
.hm-rn{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,2fr);gap:0 34px;align-items:start}
.hm-rn a{color:var(--cc-ink);text-decoration:none}
.hm-rn h3{margin:0;font-family:var(--display);font-weight:600;letter-spacing:-.01em}
.hm-rn a:hover h3{text-decoration:underline;text-decoration-color:var(--cc-red);text-decoration-thickness:1.5px;text-underline-offset:3px}
.hm-rn-lead{padding-right:34px;border-right:1px solid var(--cc-line)}
.hm-rn-lead a{display:flex;flex-direction:column;gap:10px}
.hm-rn-lead .sp-photo{margin:10px 8px 8px;transform:rotate(-1.4deg);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hm-rn-lead a:hover .sp-photo{transform:rotate(0) translateY(-3px)}
.hm-rn-lead .sp-photo img{aspect-ratio:5/4}
.hm-rn-lead h3{font-size:clamp(26px,2.6vw,32px);line-height:1.12}
.hm-rn-lead .nw-standfirst{font-size:17px;-webkit-line-clamp:4}
.hm-rn-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 28px}
.hm-rn-grid a{display:flex;flex-direction:column;gap:8px;height:100%}
.hm-rn-grid .hm-inside-spec{min-height:136px}
.hm-rn-grid li:nth-child(4n+1) .hm-inside-spec>.sp{transform:rotate(-.9deg)}
.hm-rn-grid li:nth-child(4n+2) .hm-inside-spec>.sp{transform:rotate(.8deg)}
.hm-rn-grid li:nth-child(4n+3) .hm-inside-spec>.sp{transform:rotate(.5deg)}
.hm-rn-grid li:nth-child(4n) .hm-inside-spec>.sp{transform:rotate(-.6deg)}
.hm-rn-grid a:hover .hm-inside-spec{transform:translateY(-3px)}
.hm-rn-grid h3{font-size:19px;line-height:1.25}
.hm-rn-grid .nw-standfirst{font-size:14.5px;-webkit-line-clamp:2}
@media (max-width:1100px){.hm-rn{grid-template-columns:minmax(0,1fr)}.hm-rn-lead{padding:0 0 26px;margin-bottom:26px;border-right:0;border-bottom:1px solid var(--cc-line)}}
@media (max-width:640px){.hm-rn-grid{grid-template-columns:minmax(0,1fr)}}
.pt-credit{display:block;margin-top:4px;font:400 11.5px var(--sans);color:var(--cc-subtle)}
.pt-credit a{color:inherit}

/* ===== The feature as a notebook lying open: a cloth cover, a ruled page on it, a ribbon ===== */
body.journal-v2 .hm-top .hm-feature{
  position:relative;isolation:isolate;padding:44px 48px 40px 82px;color:var(--cc-ink);border-radius:6px 14px 14px 6px;
  background:
    repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(-45deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px),var(--cover-deep,#2B3F73);
  box-shadow:inset 9px 0 0 rgba(0,0,0,.2),inset 10px 0 0 rgba(255,255,255,.08),0 2px 0 rgba(30,42,74,.2),0 24px 40px -28px rgba(30,42,74,.7)}
/* the page: Seyès ruling, a red margin, sheets stacked under it */
body.journal-v2 .hm-top .hm-feature::before{
  content:"";position:absolute;z-index:-1;inset:14px 14px 18px 22px;border-radius:2px 8px 8px 2px;
  background:
    linear-gradient(90deg,transparent 46px,rgba(196,64,52,.5) 46px,rgba(196,64,52,.5) 47.5px,transparent 47.5px),
    repeating-linear-gradient(180deg,transparent 0 7px,rgba(88,110,190,.10) 7px 8px),
    repeating-linear-gradient(180deg,transparent 0 31px,rgba(88,110,190,.24) 31px 32px),#fff;
  background-position:0 0,0 18px,0 18px;
  box-shadow:0 2px 0 -1px #fff,0 2px 0 0 rgba(30,42,74,.18),0 4px 0 -2px #fff,0 4px 0 -1px rgba(30,42,74,.15),0 6px 12px -6px rgba(0,0,0,.35)}
/* the binding: a soft shadow where the page meets the spine */
body.journal-v2 .hm-top .hm-feature::after{content:"";position:absolute;z-index:-1;left:22px;top:14px;bottom:18px;width:26px;background:linear-gradient(90deg,rgba(30,42,74,.16),transparent);border-radius:2px 0 0 2px;pointer-events:none}
/* a satin ribbon over the top edge */
body.journal-v2 .hm-top .hm-ribbon{display:block;position:absolute;z-index:2;top:-6px;left:auto;right:min(360px,37%);width:20px;height:150px;
  background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 30%,rgba(255,255,255,.2) 55%,transparent 70%,rgba(0,0,0,.14)),#B23A2E;
  clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 10px),0 100%);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2));border:0}
/* ink on paper */
body.journal-v2 .hm-top .hm-feature .hm-feature-tag{color:var(--cc-red);font-style:italic}
body.journal-v2 .hm-top .hm-feature h2,body.journal-v2 .hm-top .hm-feature h2 a{color:var(--cc-ink)}
body.journal-v2 .hm-top .hm-feature .hm-feature-hook{color:var(--cc-muted)}
body.journal-v2 .hm-top .hm-feature .hm-example{color:#22357A;font-style:italic}
body.journal-v2 .hm-top .hm-feature .hm-example mark{background:var(--cc-highlight,#FFE8A3);color:inherit}
body.journal-v2 .hm-top .hm-feature .hm-feature-more{border-top-color:var(--cc-line-strong)}
body.journal-v2 .hm-top .hm-feature .hm-feature-more-label{color:var(--cc-red)}
body.journal-v2 .hm-top .hm-feature .hm-feature-more li{border-bottom-color:var(--cc-line)}
body.journal-v2 .hm-top .hm-feature .hm-feature-more a{color:var(--cc-ink)}
body.journal-v2 .hm-top .hm-feature .hm-feature-more small{color:var(--cc-subtle)}
body.journal-v2 .hm-top .hm-feature .button{background:var(--cc-ink);color:#fff;--cc-on-ink:#fff}
body.journal-v2 .hm-top .hm-feature .text-link{color:var(--cc-ink)}
body.journal-v2 .hm-top .hm-feature .hm-feature-clip-cap{color:var(--cc-muted)}
body.journal-v2 .hm-top .hm-feature .hm-feature-clip>.sp{box-shadow:0 14px 26px -14px rgba(30,42,74,.5)}
@media (max-width:1100px){body.journal-v2 .hm-top .hm-feature{padding:36px 28px 32px 66px}body.journal-v2 .hm-top .hm-ribbon{right:28px}}

/* ===== Three sections under the front ===== */
.hm-rubrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px;margin-top:30px;padding-top:6px;border-top:1px solid var(--cc-line)}
.hm-rubric+.hm-rubric{padding-left:34px;border-left:1px solid var(--cc-line);margin-left:-1px}
.hm-rubric-name{margin:14px 0 12px;font:italic 600 22px var(--display);color:var(--cc-red);letter-spacing:0}
.hm-rubric-top{display:flex;flex-direction:column;gap:8px;color:var(--cc-ink);text-decoration:none;padding-bottom:14px;border-bottom:2px solid var(--cc-ink)}
.hm-rubric-top .hm-inside-spec{min-height:120px}
.hm-rubric:nth-child(1) .hm-inside-spec>.sp{transform:rotate(-.8deg)}
.hm-rubric:nth-child(2) .hm-inside-spec>.sp{transform:rotate(.7deg)}
.hm-rubric:nth-child(3) .hm-inside-spec>.sp{transform:rotate(-.5deg)}
.hm-rubric-top:hover .hm-inside-spec{transform:translateY(-3px)}
.hm-rubric-top h4{margin:0;font:600 19px/1.25 var(--display);letter-spacing:-.01em}
.hm-rubric-top:hover h4{text-decoration:underline;text-decoration-color:var(--cc-red);text-underline-offset:3px}
.hm-rubric ol{list-style:none;margin:0;padding:0}
.hm-rubric .nw-row,.hm-rubric .nw-row:first-child{padding:10px 0;border-top:0;border-bottom:1px solid var(--cc-line)}
@media (max-width:1100px){.hm-rubrics{grid-template-columns:minmax(0,1fr)}.hm-rubric+.hm-rubric{padding-left:0;border-left:0;margin-left:0}}
/* the open-notebook feature: the page is drawn (an older rule hid this pseudo-element) and its ink wins over the cover's white */
body.journal-v2 .hm-top .hm-feature::before,body.journal-v2 .hm-top .hm-feature::after{display:block}
body.journal-v2 .hm-top .hm-feature h2,body.journal-v2 .hm-top .hm-feature h2 a{color:var(--cc-ink)!important}
body.journal-v2 .hm-top .hm-feature .hm-feature-hook{color:var(--cc-muted)!important}
body.journal-v2 .hm-top .hm-feature .hm-example{color:#22357A!important}
body.journal-v2 .hm-top .hm-feature .button{background:var(--cc-ink)!important;color:#fff!important}
body.journal-v2 .hm-top .hm-feature .button svg{color:#fff}
body.journal-v2 .hm-top .hm-feature{--cc-ink:#1E2A4A;--cc-muted:#5B6479;--cc-subtle:#7C8498;--cc-line:rgba(30,42,74,.12);--cc-line-strong:rgba(30,42,74,.24);--cc-on-ink:#fff}
body.journal-v2 .hm-top .hm-feature::before{width:auto;height:auto;top:14px;right:14px;bottom:18px;left:22px}
body.journal-v2 .hm-top .hm-feature::after{width:26px;height:auto;top:14px;bottom:18px;left:22px;right:auto}
/* Look something up: a ruled bristol index card beside the open notebook */
body.journal-v2 .hm-top .hm-side{background:linear-gradient(180deg,transparent 64px,rgba(196,64,52,.5) 64px,rgba(196,64,52,.5) 65.5px,transparent 65.5px),repeating-linear-gradient(180deg,transparent 0 31px,rgba(88,110,190,.14) 31px 32px) 0 66px/100% calc(100% - 66px) no-repeat,#fff;border:1px solid var(--cc-line);border-radius:3px;box-shadow:0 2px 0 -1px #fff,0 2px 0 0 rgba(30,42,74,.14),0 18px 30px -22px rgba(30,42,74,.5);transform:rotate(.6deg)}
body.journal-v2 .hm-top .hm-side h2{color:var(--cc-ink)}

/* Both at once: the rail's cards first (they scroll away), then the contents, which stick for
   the rest of the page so any section is one click away. */
body.journal-v2 .article-layout.has-rail{grid-template-areas:"page side" "page rail";grid-template-rows:auto 1fr}
body.journal-v2 .article-layout.has-rail .reading-nav{position:sticky;top:24px;align-self:start;margin-top:22px;padding-top:12px;border-top:2px solid var(--subj,var(--cc-ink))}
.pt-with-rail>.pt-rail{align-self:stretch}
.pt-rail .rl-toc{position:sticky;top:24px;background:#fff;padding-top:4px}
/* Freer structure: tiles flow in columns like a scrapbook, each as tall as its clipping, so a short
   clipping never leaves a gap under it waiting for a tall neighbour. */
.hm-inside-grid,.hm-rn-grid{display:block;columns:4 220px;column-gap:26px}
.hm-rn-grid{columns:2 240px}
.hm-inside-grid>li,.hm-rn-grid>li{break-inside:avoid;margin:0 0 30px;display:block}
.hm-inside-grid .hm-inside-spec,.hm-rn-grid .hm-inside-spec{min-height:0}
.hm-inside-grid>li:nth-child(3n+2){margin-top:8px}
@media (max-width:640px){.hm-inside-grid,.hm-rn-grid{columns:1}}
/* Hover on listed pages: no grey box. The line is marked as in a notebook: the headline takes the
   red pen underline, the item steps right, and a red tick appears in the margin. */
.hm-shelf a,.pt-related a{position:relative;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.hm-shelf a:hover,.pt-related a:hover{background:none!important;transform:translateX(6px)}
.hm-shelf a::before,.pt-related a::before{content:"";position:absolute;left:-14px;top:19px;width:8px;height:2px;border-radius:1px;background:var(--cc-red);transform:scaleX(0);transform-origin:right;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.hm-shelf a:hover::before,.pt-related a:hover::before{transform:scaleX(1)}
.hm-shelf a:hover strong,.pt-related a:hover{text-decoration:underline;text-decoration-color:var(--cc-red);text-decoration-thickness:1.5px;text-underline-offset:4px}
@media (prefers-reduced-motion:reduce){.hm-shelf a,.pt-related a,.hm-shelf a::before{transition:none}}
.hm-asked a,.hm-row{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.hm-asked a:hover,.hm-row:hover{background:none!important;transform:translateX(4px)}
.hm-asked a:hover strong,.hm-row:hover .hm-row-name{text-decoration:underline;text-decoration-color:var(--cc-red);text-decoration-thickness:1.5px;text-underline-offset:3px}
.hm-asked a:hover .hm-n{background:var(--cc-red)}
body.journal-v2 .hm-top .hm-feature:has(.hm-feature-clip){padding-right:min(340px,36%)}
body.journal-v2 .hm-top .hm-feature .hm-feature-clip{top:58px;right:40px}
@media (max-width:1100px){body.journal-v2 .hm-top .hm-feature:has(.hm-feature-clip){padding-right:28px}}
/* stick below the sticky site header, not under it */
.pt-rail .rl-toc,body.journal-v2 .article-layout.has-rail .reading-nav{top:calc(var(--header-h,88px) + 20px)}
.sp-conj dl{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}
.sp dd,.sp dt{overflow-wrap:anywhere}
.sp-drill{font:italic 400 15px/24px var(--display)}
.hm-inside-grid .nw-kicker,.hm-rn-grid .nw-kicker,.hm-rubric .nw-kicker,.hm-desk-row .nw-kicker{flex-wrap:nowrap;overflow:hidden;white-space:nowrap}
.hm-inside-grid .nw-kicker>span,.hm-rn-grid .nw-kicker>span,.hm-rubric .nw-kicker>span,.hm-desk-row .nw-kicker>span{flex:0 0 auto}
.hm-inside-grid .nw-subj,.hm-rn-grid .nw-subj,.hm-rubric .nw-subj,.hm-desk-row .nw-subj{flex:0 1 auto!important;overflow:hidden;text-overflow:ellipsis}
/* A lone word group (or the odd one out at the end) spans the width and flows its words into
   columns, instead of filling half the page and leaving the other half empty. */
.pt-vocab>section:only-child,.pt-vocab>section:last-child:nth-child(odd){grid-column:1/-1;columns:2 300px;column-gap:44px}
.pt-vocab>section:only-child>.pt-kick,.pt-vocab>section:last-child:nth-child(odd)>.pt-kick{column-span:all}
.pt-vocab .pt-vrow{break-inside:avoid}

/* The sticky stack of the rail: contents, phrases to copy, the notebook. It follows the reader
   down a long page; if it is taller than the screen it scrolls by itself. */
.pt-rail .rl-stick{position:sticky;top:calc(var(--header-h,88px) + 20px);display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - var(--header-h,88px) - 40px);overflow-y:auto;scrollbar-width:thin;padding:10px 6px 14px;margin:0 -6px}
.pt-rail .rl-stick .rl-toc{position:static}
.pt-rail .rl-stick .rl-cover{min-height:0;flex-direction:row;align-items:center;gap:14px;padding:12px 40px 12px 18px}
.pt-rail .rl-stick .rl-cover-cta{font-size:13px}
body.journal-v2 .article-layout.has-rail>.pt-rail{display:flex}
/* long-article layout: the rail runs the full height of the article and carries the contents,
   so its sticky stack follows the reader; the separate contents list is kept for small screens only */
@media (min-width:1024px){body.journal-v2 .article-layout.has-rail{grid-template-areas:"page side";grid-template-rows:auto}body.journal-v2 .article-layout.has-rail>.reading-nav{display:none}body.journal-v2 .article-layout.has-rail>.pt-rail{grid-area:side;align-self:stretch;margin-top:0}}
@media (max-width:1023px){.article-layout.has-rail .rl-stick .rl-toc{display:none}}
/* items in the sticky stack keep their size; the stack scrolls instead of squashing them */
.pt-rail .rl-stick > *, .pt-rail > * { flex-shrink: 0; }
.pt-rail .rl-stick .rl-cover { align-items: center; min-height: 0; }
.pt-rail .rl-stick .rl-cover-label { flex: 0 0 auto; }

/* ===== Pictures on the listings (topic hubs, All articles): most pages now carry one ===== */
.nw-pic { display: block; }
.nw-pic img { display: block; width: 100%; object-fit: cover; }
.nw-pic-lead { margin: 4px 6px 16px; transform: rotate(-.8deg); }
.nw-pic-lead img { aspect-ratio: 16 / 10; }
.nw-pic-thumb { float: right; width: 112px; margin: 2px 0 8px 14px; border-radius: 3px; overflow: hidden; box-shadow: 0 0 0 1px var(--cc-line); }
.nw-pic-thumb img { aspect-ratio: 1 / 1; }
.nw-mid::after { content: ""; display: block; clear: both; }
.nw-pic-item { margin: 0 0 10px; border-radius: 3px; overflow: hidden; box-shadow: 0 0 0 1px var(--cc-line); }
.nw-pic-item img { aspect-ratio: 16 / 9; transition: transform .4s cubic-bezier(.2, .7, .2, 1); }
.nw-item:hover .nw-pic-item img, .nw-mid:hover .nw-pic-thumb img { transform: scale(1.03); }
.nw-pic-thumb img { transition: transform .4s cubic-bezier(.2, .7, .2, 1); }
@media (prefers-reduced-motion: reduce) { .nw-pic img { transition: none; } }

/* Images carry their real width/height for layout stability; CSS sets the displayed size. */
img[height] { height: auto; }
img.pt-pic { object-fit: cover; height: auto; }
.pt-pillar .pt-pillar-level { font: 600 .78rem/1 var(--font-sans, system-ui); letter-spacing: .08em; color: var(--cc-red); margin: 22px 0 4px; }
.pt-pillar ul { columns: 2 260px; column-gap: 32px; }
.pt-pillar li { break-inside: avoid; }

/* Three reading marks, each with its own colour and shape so they work without colour too.
   Yellow full marker: the idea to remember (==…==). Blue low marker: French to learn (*…* in English text,
   ==…== inside a French sentence). Red marker with a wavy underline: the trap (^^…^^). */
body.journal-v2{--mk-key:#FFE38A;--mk-fr:#B5D0F2;--mk-warn:#F9D2CB;--mk-warn-line:#C2412F}
body.journal-v2 mark.pt-hl,body.journal-v2 mark.pt-hl-warn,body.journal-v2 .pt-frm{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit}
body.journal-v2 mark.pt-hl{background:linear-gradient(100deg,transparent .1em,var(--mk-key) .25em,var(--mk-key) calc(100% - .25em),transparent calc(100% - .1em)) 0 60%/100% 82% no-repeat;padding:0 .2em;margin:0 -.05em;border-radius:.35em .2em .4em .25em;font-weight:500}
body.journal-v2 mark.pt-hl-warn{background:linear-gradient(var(--mk-warn),var(--mk-warn)) 0 60%/100% 80% no-repeat;text-decoration:underline wavy var(--mk-warn-line);text-decoration-thickness:1.5px;text-underline-offset:.22em;font-weight:500}
body.journal-v2 .pt-frm,body.journal-v2 [lang=fr] mark.pt-hl:not(.pt-hl-warn){background:linear-gradient(transparent 52%,var(--mk-fr) 52%,var(--mk-fr) 96%,transparent 96%);padding:0 .1em;border-radius:0;font-weight:inherit}
body.journal-v2 [lang=fr] mark.pt-hl:not(.pt-hl-warn){font-weight:600}
body.journal-v2 mark .pt-frm,body.journal-v2 .pt-frm mark.pt-hl{background:none;padding:0}
.pt-marks-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font:500 13px/1.4 var(--sans);color:var(--cc-muted)}
.pt-marks-key span{white-space:nowrap}
@media print{body.journal-v2 mark.pt-hl,body.journal-v2 .pt-frm{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
