/* Hypnose Factory · Galerie V7. Presentation layer only. */
:root {
  --font-sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-serif: "Iowan Old Style", "Baskerville", "Palatino Linotype", Georgia, "Times New Roman", serif;
  --mist:#f3f0e8; --mist-2:#e6e1d7; --white:#faf8f2;
  --ink:#202521; --ink-2:#464d46; --muted:#676e65;
  --violet:#2d6e67; --violet-2:#245e58; --violet-soft:#c9d9d0; --violet-pale:#e7e7dd;
  --lilac:#ccd8cd; --line:rgba(32,37,33,.18); --line-strong:rgba(32,37,33,.3);
  --r-sm:3px; --r-md:4px; --r-lg:5px; --shadow:none; --shadow-sm:none;
  --container:1280px; --ease:cubic-bezier(.22,.68,.15,1); --transition:220ms var(--ease);
  --hf-gold:#bbae8c; --hf-dark:#181d1a; --hf-paper:#f3f0e8;
}
html { background:var(--mist); scroll-padding-top:108px; }
body { color:var(--ink); background:var(--mist); font-size:16px; }
::selection { background:#c2d8cd; color:#17281f; }
.container { width:min(calc(100% - 112px),var(--container)); }
h1,h2,h3 { font-family:var(--font-serif); font-weight:400; letter-spacing:-.038em; }
h1 { font-size:clamp(3.4rem,6.1vw,6.2rem); line-height:1.04; }
h2 { font-size:clamp(2.6rem,4.3vw,4.4rem); line-height:1.08; }
h3 { font-size:1.9rem; line-height:1.12; }
em { font-family:inherit; color:var(--violet-2); letter-spacing:inherit; }
p { line-height:1.75; }
.lead { font-size:clamp(1.05rem,1.35vw,1.22rem); line-height:1.85; }
.eyebrow { font:600 10px/1.5 var(--font-sans); letter-spacing:.2em; margin-bottom:24px; }
.eyebrow.accent { color:var(--violet-2); }
.section { padding:clamp(72px,8.2vw,128px) 0; }
.section-lavender { background:#e7e7dd; }
.section-ink,.subhero-ink { background:var(--hf-dark); color:var(--mist); }
.section-ink em,.subhero-ink em,.philosophy-band em { color:#c0c9b0; }
.section-heading { max-width:840px; margin-bottom:64px; }
.btn { min-height:52px; padding:0 23px; gap:15px; font-size:.83rem; font-weight:600; letter-spacing:.015em; border-radius:999px; box-shadow:none; }
.btn:hover { transform:translateY(-2px); box-shadow:none; }
.btn-primary,.btn-ink { background:var(--ink); color:#faf8f0; }
.btn-primary:hover,.btn-ink:hover { background:var(--violet-2); box-shadow:none; }
.btn-soft,.btn-outline { background:transparent; border-color:var(--line-strong); color:var(--ink); backdrop-filter:none; }
.btn-soft:hover,.btn-outline:hover { background:#e6e4d8; border-color:var(--ink); }
.btn-soft-dark { background:none; border-color:var(--line-strong); }
.btn-dark-ghost { background:none; color:var(--mist); border-color:#a8b0a46b; }
.section-ink .btn-primary,.subhero-ink .btn-primary { background:var(--mist); color:var(--ink); }
.section-ink .btn-primary:hover,.subhero-ink .btn-primary:hover { background:#d8e3d5; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:2px solid #2f827d!important; outline-offset:5px; }
.text-link { font:600 .84rem/1.6 var(--font-sans); text-decoration:underline; text-underline-offset:6px; }
.actions { gap:12px; }
/* Flat, quiet navigation, permanently readable. */
.site-header { padding:0; height:89px; background:rgba(243,240,232,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); z-index:1000; }
.nav-shell,.site-header.is-scrolled .nav-shell { width:min(calc(100% - 72px),1360px); min-height:88px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; gap:24px; }
.brand-logo,.brand-logo-footer { width:265px; height:auto; max-width:100%; }
.nav-links { gap:clamp(16px,1.8vw,28px); }
.nav-links a { color:var(--ink); font-weight:500; font-size:12px; }
.nav-links a::after { height:1px; bottom:-8px; }
.nav-cta { min-height:43px; padding-inline:20px; font-size:12px; }
.site-header.is-scrolled { background:rgba(243,240,232,.98); }
.menu-toggle { border:1px solid var(--line); border-radius:50%; }
/* Opening scene, no compulsory wait. */
.hf-intro { display:none; position:fixed; inset:0; z-index:8000; overflow:hidden; background:var(--mist); }
.hf-intro-ready .hf-intro { display:block; }
.hf-intro-ready body { overflow:hidden; }
.hf-door { position:absolute; top:0; bottom:0; width:50%; overflow:hidden; transition:transform 1000ms cubic-bezier(.65,0,.22,1); }
.hf-door-left { left:0; }
.hf-door-right { right:0; }
.hf-door img { position:absolute; max-width:none; width:100vw; height:100%; object-fit:cover; object-position:center; }
.hf-door-left img { left:0; }.hf-door-right img { right:0; }
.hf-intro-name { position:absolute; width:min(440px,70vw); left:50%; top:61%; transform:translateX(-50%); transition:opacity 260ms,transform 460ms; }
.hf-intro-name img { width:100%; }
.hf-intro-enter { position:absolute; left:50%; bottom:8%; transform:translateX(-50%); width:57px; height:57px; border:1px solid #393b3377; border-radius:50%; background:rgba(248,242,228,.7); backdrop-filter:blur(8px); transition:opacity 200ms; }
.hf-intro-enter svg { width:27px; height:27px; fill:none; stroke:#323c34; stroke-width:1.2; }
.hf-intro-skip { position:absolute; top:28px; right:28px; width:42px; height:42px; border:1px solid #4a483844; background:#f7f2e6b3; border-radius:50%; transition:opacity 150ms; }
.hf-intro-skip svg { width:23px; height:23px; fill:none; stroke:#30382f; stroke-width:1.2; }
.hf-intro.is-opening { background:transparent; pointer-events:none; }
.hf-intro.is-opening .hf-door-left { transform:translateX(-101%); }
.hf-intro.is-opening .hf-door-right { transform:translateX(101%); }
.hf-intro.is-opening .hf-intro-name { opacity:0; transform:translate(-50%,-15px); }
.hf-intro.is-opening button { opacity:0; }
/* Main cover: generous serif and an architectural opening. */
.hero-home { background:var(--mist); min-height:790px; border-bottom:1px solid var(--line); overflow:clip; }
.hero-home .hero-inner { min-height:790px; padding-top:110px; padding-bottom:35px; }
.hero-home .hero-copy { width:56%; max-width:720px; padding:46px 0 40px; }
.hero-home .hero-copy h1 { font-family:var(--font-serif); font-size:clamp(3.5rem,5.8vw,6rem); line-height:1.025; font-weight:400; letter-spacing:-.047em; margin-bottom:27px; }
.hero-home .hero-lead { max-width:485px; font-size:16px; line-height:1.9; margin-bottom:27px; }
.hero-home .hero-bg { top:143px; right:max(5.3vw,calc((100vw - 1280px)/2)); left:auto; bottom:72px; width:37%; max-width:520px; border-radius:46% 46% 2px 2px; overflow:hidden; z-index:1; }
.hero-home .hero-bg img { object-position:43% center; height:100%; width:100%; object-fit:cover; transform:none; }
.hero-home:hover .hero-bg img { transform:none; }
.hero-home .hero-wash { display:none; }
.hero-grid-lines { position:absolute; inset:0; pointer-events:none; }
.hero-grid-lines i { border:1px solid #71766430!important; border-radius:50%; transform:none; }
.hero-grid-lines i:nth-child(1) { width:560px; height:560px; top:138px; right:-90px; }
.hero-grid-lines i:nth-child(2) { width:380px; height:380px; right:12%; bottom:-140px; }
.hero-grid-lines i:nth-child(3) { width:10px; height:10px; right:7%; bottom:50px; background:#2f827d; border:0!important; }
.hero-meta { max-width:600px; margin-top:31px; gap:10px 20px; font-size:11px; }
.hero-meta span::before { background:#2b7e75; width:4px; height:4px; box-shadow:none; }
.proof-rail { background:var(--mist); }
.proof-list { min-height:108px; }
.proof-list span { font-size:12px; padding:26px 10px; border:none; position:relative; }
.proof-list span:not(:last-child)::after { content:""; position:absolute; right:0; height:22px; width:1px; top:calc(50% - 11px); background:var(--line); }
.proof-list span:last-child { border:none; }
.proof-list b { font-weight:500; font-size:15px; margin-right:3px; }
/* Immersive painted room: source copy inside a single dark panel. */
#approche { min-height:820px; padding:92px 0; background:var(--mist-2) url('workshop.webp') center/cover no-repeat; overflow:hidden; }
#approche::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#161b1930,transparent 60%); }
#approche .manifesto-grid { position:relative; width:min(535px,45vw); display:block; margin-left:max(56px,calc((100vw - 1280px)/2)); margin-right:auto; padding:48px 48px 45px; background:#191d1af5; color:var(--mist); clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px)); }
#approche h2 { font-size:clamp(2.5rem,3.55vw,3.55rem); line-height:1.07; }
#approche em { color:#cbd1bb; }
#approche .eyebrow { color:#b8c3ac; margin-bottom:22px; }
#approche .manifesto-copy { padding:4px 0 0; }
#approche .manifesto-copy .lead { font-size:15px; line-height:1.8; color:#e3e2d8; }
#approche .manifesto-copy > p:not(.lead) { color:#b8beb3; font-size:14px; }
#approche .statement { border-left:0; border-top:1px solid #d9ddd833; padding:22px 0 0; margin-top:24px; color:#f0eadf; font-family:var(--font-serif); font-size:23px; line-height:1.35; }
/* Practices and details. */
.session-layout { width:min(calc(100% - 112px),var(--container)); gap:72px; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); }
.session-media { min-height:600px; border-radius:3px; box-shadow:none; }
.session-media img { object-position:50% center; }
.session-media::after { background:linear-gradient(transparent 65%,#151c1877); }
.media-tag { left:26px; right:26px; bottom:26px; gap:12px; }
.media-tag b { font-size:.9rem; font-weight:500; }
.media-tag span { font-size:.56rem; }
.session-steps article { grid-template-columns:42px 1fr; gap:24px; padding:25px 0; }
.session-steps article > span { border:1px solid var(--line); background:none; color:var(--ink); font:18px var(--font-serif); }
.session-steps small { color:#466550; font-size:10px; font-weight:500; }
.session-steps h3 { font-size:27px; }
.session-steps p { font-size:14px; line-height:1.8; }
/* Three stages, three visual medallions. */
.rhythm::before { background:none; border:1px solid #cbd2c21a; inset:28px; }
.rhythm .section-heading { max-width:910px; }
.rhythm-grid { gap:0; border-top:1px solid #d7dbc433; border-bottom:1px solid #d7dbc433; }
.rhythm-card,.rhythm-card.featured { min-height:510px; border:0; border-radius:0; background:none; padding:39px 30px; align-items:center; text-align:center; position:relative; }
.rhythm-card + .rhythm-card { border-left:1px solid #d7dbc433; }
.hf-vignette { width:195px; height:195px; border-radius:50%; overflow:hidden; margin:0 auto 28px; }
.hf-vignette img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.rhythm-card:hover .hf-vignette img { transform:scale(1.065); }
.rhythm-card:nth-child(1) .hf-vignette img { object-position:50% 44%; }
.rhythm-card:nth-child(2) .hf-vignette img { object-position:37% 50%; }
.rhythm-card .card-no { position:absolute; top:22px; left:23px; font:14px var(--font-serif); color:#b0b7a6; letter-spacing:0; }
.rhythm-card .pill { margin:0; font-size:8px; letter-spacing:.11em; background:transparent; border-color:#b7c0ac4a; color:#d2d8c6; padding:7px 10px; font-weight:500; }
.rhythm-card h3 { margin-top:22px; font-size:31px; margin-bottom:15px; max-width:255px; }
.rhythm-card p,.rhythm-card.featured p { color:#b9c1b7; max-width:305px; font-size:14px; line-height:1.8; }
.next-workshop-strip { margin-top:30px; padding:25px 0 0; background:none; border:0; border-radius:0; grid-template-columns:140px minmax(0,1fr) 210px auto; gap:22px; }
.next-workshop-strip strong { font-size:14px; font-weight:500; line-height:1.65; }
.next-workshop-strip > span { font-size:9px; line-height:1.75; color:#c4cbbd; }
.next-workshop-strip small { font-size:11px; line-height:1.8; color:#bdc5b8; }
.next-workshop-strip a { font-size:12px; font-weight:500; border-bottom:1px solid #b6bfaf; padding-bottom:5px; }
.benefit-grid { gap:40px; }
.benefit-card { padding:25px 0; background:transparent; border:0; border-radius:0; border-top:1px solid var(--line-strong); min-height:265px; }
.benefit-card h3 { font-size:31px; margin-top:52px; }
.benefit-card p { font-size:15px; }
.micro-benefits { background:transparent; border-radius:0; border-width:1px 0; margin-top:30px; }
.micro-benefits span { font-size:11px; }
/* Piano scene is retained from V6. */
.philosophy-band { min-height:640px; }
.philosophy-band .philosophy-bg::after { background:linear-gradient(90deg,#111610e8,#111610a6 55%,#11161015); }
.philosophy-copy blockquote { font-family:var(--font-serif); font-size:clamp(2.5rem,4.65vw,4.6rem); line-height:1.12; max-width:780px; font-weight:400; }
.philosophy-copy>p:last-child { color:#d0d1c5; font-size:14px; line-height:1.9; max-width:530px; }
/* Seasonal score */
.programme-intro { gap:100px; grid-template-columns:1.05fr .82fr; }
.season > button { padding:29px 0; grid-template-columns:70px 1fr 32px; }
.season-no { font-family:var(--font-serif); font-size:43px; color:#6c7766; }
.season button b { font-family:var(--font-serif); font-size:32px; font-weight:400; }
.season button small { font-size:9px; font-weight:500; margin-bottom:9px; }
.season-content { display:block; max-height:0; opacity:1; overflow:hidden; padding:0 0 0 92px; transition:max-height 360ms var(--ease),padding 360ms var(--ease); }
.season.is-open .season-content { max-height:680px; padding-bottom:25px; }
.season-content p { font-size:15px; line-height:1.85; }
.season-content strong { font-size:10px; font-weight:600; }
/* Resource shelf; real cover images and reader preserved. */
#ressources { background:#e5e5db; }
.resource-grid { grid-template-columns:1fr .95fr; gap:95px; }
.resource-copy::before { content:""; display:block; width:132px; height:88px; background:url('book.webp') center/cover; margin-bottom:27px; border-radius:2px; }
.resource-copy h2 { font-size:clamp(2.5rem,3.9vw,4rem); }
.home-resource-real { border:1px solid #929b8755; border-radius:4px; background:var(--white); transform:rotate(1.3deg); transition:transform .45s var(--ease); }
.home-resource-real:hover { transform:rotate(0); }
.home-resource-real>div { padding:32px 36px; }
.home-resource-real h3 { font-size:38px; font-weight:400; }
.home-resource-real span { font-size:13px; }
.home-resource-real img { aspect-ratio:1.65; }
.home-resource-real p { font-size:14px; }
.community-grid { grid-template-columns:1.12fr 1fr; gap:88px; }
.community-visual { min-height:630px; border-radius:3px; overflow:hidden; background:var(--mist-2); position:relative; }
.hf-community-image { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:54%; }
.community-visual .network { visibility:hidden; }
.community-copy h2 { font-size:clamp(2.35rem,3.55vw,3.6rem); }
.feature-list li { border-color:var(--line); }
/* People and editorial proof: no invented portraits or testimonials. */
.team-grid { gap:32px; }
.team-card { border:1px solid var(--line); border-radius:3px; background:none; padding:32px; box-shadow:none; }
.team-card small { font-size:9px; color:var(--violet-2); letter-spacing:.12em; }
.team-card h3 { font-size:36px; margin:15px 0; }
.team-card p { font-size:14px; line-height:1.9; }
.team-photo { border-radius:2px!important; filter:saturate(.7); }
.team-avatar,.team-avatar.alt { background:#e1e5da; border:1px solid #929c864f; color:#687962; border-radius:50%; font-family:var(--font-serif); font-weight:400; }
.video-testimonial-grid { gap:30px; }
.video-testimonial-card { border-radius:3px; border:1px solid var(--line); background:var(--mist); }
.video-testimonial-card button { background:#e1e1d7!important; border:0; box-shadow:none; }
.video-testimonial-card button::before { background:none!important; }
.video-play { background:#2b3830!important; color:#f4f0e4; border:none!important; box-shadow:none!important; }
.video-duration { color:#444e43!important; background:#f3f0e8d9!important; }
.video-testimonial-card h3 { font-size:25px; }
.video-testimonial-card small { color:#45654e; }
/* Price as a printed membership card. */
.price-layout { grid-template-columns:.8fr 1.15fr; gap:100px; }
.price-card,.price-card.compact { background:var(--mist); color:var(--ink); border:1px solid #dedbc7; box-shadow:none; border-radius:3px; padding:40px; }
.price-top { border-bottom:1px solid var(--line)!important; color:var(--ink-2)!important; font-size:10px!important; }
.price-number { margin:34px 0; }
.price-number strong { font-family:var(--font-serif); font-size:104px; font-weight:400; letter-spacing:-.055em; }
.price-number span { color:var(--muted); font-size:12px; }
.price-card p { color:var(--muted); font-size:12px; }
.price-path { border-color:var(--line)!important; }
.price-path span { border-color:var(--line)!important; color:var(--ink-2)!important; font-size:12px; }
.price-copy h2 { font-size:clamp(2.6rem,3.85vw,3.9rem); }
.check-list { font-size:14px; }
.check-list li { line-height:1.8; }
.check-list li::before { color:#aabb9f; }
.check-list.dark li::before { color:var(--violet-2); }
.price-fine { font-size:11px; color:#b5beb1; line-height:1.9; }
/* FAQ and final invitation */
.faq-layout { grid-template-columns:.7fr 1.1fr; gap:90px; }
.faq-list button { font-size:16px; font-weight:500; padding:27px 0; }
.faq-list p { font-size:14px; line-height:1.9; }
.final-cta { background:#dddcd0 url('transition.webp') center/cover; padding:55px 0; border-top:1px solid var(--line); }
.final-cta-inner { min-height:170px; }
.final-cta h2 { max-width:820px; font-size:clamp(2.2rem,3.8vw,3.7rem); }
.final-cta .eyebrow { color:#435849; }
.site-footer { background:var(--mist); padding:80px 0 26px; }
.footer-grid { grid-template-columns:1.1fr .7fr .9fr 1fr; gap:45px; }
.footer-col h3 { font-family:var(--font-sans); font-weight:600; font-size:10px; letter-spacing:.16em; }
.footer-col a { font-size:12px; line-height:1.9; }
.footer-brand p { font-size:13px; }
.email-link { font-size:13px; font-weight:500; }
.footer-cta { background:transparent; border-radius:0; padding:0 0 0 30px; border-width:0 0 0 1px; border-color:var(--line); }
.footer-cta h3 { font-size:25px; }
.footer-cta .btn { min-height:45px; font-size:11px; padding:0 16px; }
.footer-bottom { font-size:10px; margin-top:66px; gap:25px; }
/* Subpages use the same publication grid. */
.subhero { padding:166px 0 90px; min-height:700px; position:relative; }
.subhero-gradient { background:var(--mist); }
.subhero h1 { font-size:clamp(3.2rem,5.4vw,5.7rem); }
.subhero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.72fr); gap:80px; }
.subhero .lead { max-width:680px; }
.subhero.centred { min-height:78vh; background:var(--mist) url('transition.webp') center/cover; }
.subhero.centred h1 { margin-bottom:35px; }
[data-hf-page="atelier-gratuit"] .subhero-gradient { background:var(--mist); }
.date-card { background:var(--hf-dark); color:var(--mist); padding:34px; border:none; border-radius:3px; box-shadow:none; backdrop-filter:none; }
.date-card::before { content:""; width:100%; height:185px; display:block; margin-bottom:24px; background:url('gesture.webp') 50% 45%/cover; border-radius:2px; }
.date-card > span { color:#c4cdbb; font-size:9px; font-weight:500; }
.date-card > strong { font-family:var(--font-serif); font-size:32px; font-weight:400; line-height:1.1; margin:22px 0 17px; }
.date-card p { font-size:14px; color:#d3dacd; }
.date-card small { color:#b0bdac; font-size:11px; border-color:#b8c4ac4d; }
.icon-card,.october-card,.october-session { border-radius:3px!important; box-shadow:none!important; }
.icon-card { background:transparent; border-width:1px 0 0; padding:25px 0; margin-right:25px; }
.icon-card h2 { font-size:28px; }
.icon-card p { font-size:14px; }
.newsletter-card,.final-offer { box-shadow:none; border-radius:3px; background:var(--mist); border:1px solid var(--line); padding:48px; gap:50px; }
.form-line input { border-radius:3px; font-size:14px; }
.offer-list h3 { font-size:29px; }
.offer-list p { font-size:15px; }
.offer-list article > span { font-family:var(--font-serif); font-size:26px; font-weight:400; color:#667961; }
.outcome { background:#e8e9de; border-color:#6b8467; }
.programme-chapter >div:first-child span { font-family:var(--font-serif); font-size:78px; font-weight:400; color:#6f7a65; }
.programme-chapter { grid-template-columns:205px 1fr; gap:50px; }
.year-wheel { border:1px solid #6c795750; color:var(--ink); background:url('transition.webp') center/cover; }
.year-wheel::before,.year-wheel::after { border-color:#717e5c48; }
.year-wheel>span { border-radius:50%; background:var(--mist); border:1px solid var(--line); box-shadow:none; font:27px var(--font-serif); }
.year-wheel>i { font-family:var(--font-serif); font-weight:400; font-size:24px; }
.profile-hero { background:var(--mist)!important; padding-top:155px; }
.profile-hero h1 { font-family:var(--font-serif); }
.profile-photo,.profile-photo img,.profile-portrait,.profile-portrait img { border-radius:4px!important; box-shadow:none!important; }
.profile-portrait::before,.profile-portrait::after { display:none; }
.profile-body,.profile-content { font-size:16px; }
.contact-card,.legal-form-card { box-shadow:none; backdrop-filter:none; border-radius:3px; background:var(--white); }
.contact-card h2 { font-family:var(--font-sans); font-size:24px; font-weight:400; line-height:1.5; }
.success-mark { border-radius:50%; background:#4b6c57; }
/* Public resource catalogue */
[data-hf-page="ressources"] .subhero > .container { padding-right:44%; position:relative; }
[data-hf-page="ressources"] .subhero > .container::after { content:""; position:absolute; top:0; bottom:0; right:0; width:37%; background:url('book.webp') center/cover; border-radius:4px; }
[data-hf-page="ressources"] .subhero h1 { font-size:clamp(3rem,5vw,5.3rem); }
.catalogue-v6 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.catalogue-v6-card.available { grid-column:span 2; background:var(--mist); }
.catalogue-v6-card { border-radius:3px; background:var(--mist); border-color:var(--line); }
.catalogue-v6-card.upcoming { background:var(--white); }
.catalogue-v6-card.available>img { height:275px; aspect-ratio:auto; object-fit:cover; }
.catalogue-v6-body { padding:28px; }
.catalogue-v6-body h3 { font-size:32px; }
.catalogue-v6-card.upcoming h3 { font-size:23px; }
.catalogue-v6-card.upcoming p { font-size:12px; }
.catalogue-v6-number { font-family:var(--font-serif); color:#8a927d; font-size:42px; }
.catalogue-v6-link { font-size:12px; }
.resource-v6-hero { padding-top:148px; padding-bottom:65px; background:var(--mist); }
.resource-v6-hero h1 { font-family:var(--font-serif); font-size:clamp(3.1rem,5.3vw,5.4rem); }
.resource-v6-hero-grid { gap:75px; grid-template-columns:1.05fr 1fr; }
.resource-v6-hero-grid>img { border-radius:4px; aspect-ratio:1.55; }
.resource-v6-hero p { font-size:16px; }
.back-resource { font-size:12px; }
.resource-explorer { padding-top:24px; }
.resource-tabs-v6 { border:0; border-bottom:1px solid var(--line); background:var(--white); border-radius:0; padding:0; gap:0; }
.resource-tabs-v6 button { border-radius:0; min-height:65px; font-size:15px; font-weight:500; border-bottom:2px solid transparent; }
.resource-tabs-v6 button[aria-selected="true"] { box-shadow:none; background:transparent; border-bottom-color:var(--violet-2); color:var(--ink); }
.resource-tabs-v6 button small { font-size:11px; }
.resource-explorer [data-resource-panel]:not([hidden]) { animation:hf-panel-in 320ms var(--ease); }
.extract-sheet-wrapper { background:#e4e1d7; border-radius:3px; padding:35px; }
.extract-sheet { box-shadow:0 8px 35px #1d291912; border-radius:1px; }
.extract-sheet h2,.extract-sheet h3 { font-family:var(--font-serif); }
.extract-sheet h2 { font-size:43px; font-weight:400; }
.extract-sheet.tone-night { background:#1b231e; color:#ecebe2; --sheet-accent:#b8d4bd; --sheet-line:#e8eadd33; }
.extract-sheet.tone-paper { background:#faf7ee; color:#202b24; --sheet-accent:#3b7160; }
.extract-labels span { border-radius:0; }
.extract-toolbar { font-size:12px; }
.extract-pagination button { font-size:12px; background:var(--white); }
.listen-v6,.quiz-v6 { background:var(--mist); border-radius:3px; border:1px solid var(--line); padding:48px; }
.quiz-v6 [data-question] { font-size:20px; font-weight:500; line-height:1.65; }
.quiz-v6-options button { border-radius:2px; background:var(--white); font-size:15px; }
.quiz-v6-controls button { font-size:13px; }
.quiz-v6 [data-score] { font-size:12px; }
.v6-next h2 { font-family:var(--font-serif); font-size:clamp(2.4rem,4vw,4rem); }
/* Contracts remain reading-first, with every notice intact. */
.legal-hero { background:var(--mist); padding:151px 0 65px; }
.legal-hero h1 { font-family:var(--font-serif); font-size:clamp(3.1rem,5vw,5.2rem); line-height:1.1; max-width:1100px; }
.legal-layout { grid-template-columns:200px minmax(0,840px); gap:70px; }
.legal-toc { border-radius:2px; background:transparent; font-size:12px; border-width:0 0 0 1px; padding:5px 22px; }
.legal-content h2 { font-family:var(--font-serif); font-size:34px; line-height:1.2; letter-spacing:-.025em; }
.legal-content h3 { font-size:26px; }
.legal-content p,.legal-content li { font-size:16px; line-height:1.9; }
.legal-content a { text-decoration:underline; text-underline-offset:3px; }
.legal-table-wrap { border-radius:2px; max-width:100%; }
.legal-table { min-width:0; table-layout:auto; }
.legal-table th,.legal-table td { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.legal-form-card { position:sticky; top:120px; }
.legal-form-card h2 { font-size:31px; }
.draft-badge { background:#ede3cb; color:#665028; border-color:#b99d634d; border-radius:2px; }
.notice { border-radius:3px; }
/* Focus, progress and modal additions */
.preview-pill { left:16px; bottom:16px; right:auto; border-radius:4px; background:#f5f1e8e6; box-shadow:none; color:#364a3c; border:1px solid #667d544a; font-size:10px; backdrop-filter:blur(8px); }
.preview-pill button { min-width:28px; min-height:28px; color:#4d6050; }
.modal-backdrop { background:rgba(13,22,16,.55); backdrop-filter:blur(5px); }
.modal { border-radius:4px; background:var(--mist); box-shadow:none; border:1px solid #b9c0ae; }
.modal h2 { font-family:var(--font-serif); font-size:36px; }
.modal p { line-height:1.85; }
.modal-close { background:transparent; color:var(--ink); }
.hf-progress { position:fixed; top:0; left:0; right:0; height:2px; z-index:2000; pointer-events:none; }
.hf-progress i { display:block; height:100%; width:100%; background:#3b8b7b; transform:scaleX(0); transform-origin:0 50%; }
/* Navigation shutters are brief. They do not intercept the scroll wheel. */
.hf-transition { position:fixed; inset:0; z-index:5000; visibility:hidden; pointer-events:none; overflow:hidden; }
.hf-transition>i { position:absolute; top:0; bottom:0; width:50.1%; background:#dcdace url('transition.webp') center/cover; transform:translateY(101%); transition:transform 280ms cubic-bezier(.6,0,.3,1); }
.hf-transition>i:first-child { left:0; background-position:left center; }
.hf-transition>i:nth-child(2) { right:0; transform:translateY(-101%); background-position:right center; }
.hf-transition>span { width:46px; height:51px; background:url('mark-dark.svg') center/contain no-repeat; position:absolute; top:calc(50% - 25px); left:calc(50% - 23px); opacity:0; transition:opacity 120ms; }
.hf-exiting .hf-transition { visibility:visible; pointer-events:all; }
.hf-exiting .hf-transition>i { transform:translateY(0); }
.hf-exiting .hf-transition>span { opacity:1; transition-delay:130ms; }
.hf-route-enter .hf-transition { visibility:visible; }
.hf-route-enter .hf-transition>i { transform:translateY(0); transition:none; }
.hf-route-enter .hf-transition>span { opacity:1; }
.hf-route-enter.hf-enter-play .hf-transition>i:first-child { transform:translateY(-101%); transition:transform 450ms cubic-bezier(.6,0,.22,1); }
.hf-route-enter.hf-enter-play .hf-transition>i:nth-child(2) { transform:translateY(101%); transition:transform 450ms cubic-bezier(.6,0,.22,1); }
.hf-route-enter.hf-enter-play .hf-transition>span { opacity:0; transition:opacity 130ms; }
.js .reveal { transform:translateY(23px); transition:opacity 560ms var(--ease),transform 560ms var(--ease); }
.js .reveal.is-visible { opacity:1; transform:translateY(0); }
.js .delay-1 { transition-delay:65ms; }.js .delay-2 { transition-delay:115ms; }.js .delay-3 { transition-delay:155ms; }
.hf-picture-reveal img { transition:clip-path 720ms var(--ease),transform 720ms var(--ease); }
.js .hf-picture-reveal:not(.hf-shown) img { clip-path:inset(0 0 100% 0); transform:scale(1.035); }
.js .hf-picture-reveal.hf-shown img { clip-path:inset(0); }
@keyframes hf-panel-in { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:none; } }
@media(min-width:1650px) { .hero-home .hero-copy h1 { font-size:98px; }.hero-home .hero-bg { width:500px; } }
@media(max-width:1180px) {
  .container,.session-layout { width:calc(100% - 72px); }
  .nav-shell { width:calc(100% - 48px); gap:22px; }
  .brand-logo { width:220px; }
  .nav-links { gap:14px; }.nav-links a { font-size:11px; }
  .nav-cta { padding-inline:14px; font-size:11px; }
  .hero-home,.hero-home .hero-inner { min-height:740px; }
  .hero-home .hero-copy h1 { font-size:clamp(3.3rem,6.4vw,5rem); }
  .hero-home .hero-bg { top:140px; bottom:74px; right:36px; width:37%; }
  .hero-home .hero-lead { max-width:430px; }
  #approche .manifesto-grid { width:49%; margin-left:36px; padding:40px; }
  .session-layout,.resource-grid,.community-grid,.price-layout,.faq-layout,.subhero-grid { gap:48px; }
  .programme-intro { gap:65px; }
  .next-workshop-strip { grid-template-columns:130px minmax(0,1fr); }
  .footer-grid { gap:30px; grid-template-columns:1fr .75fr .9fr; }.footer-cta { grid-column:1/-1; border-width:1px 0 0; padding:30px 0 0; display:flex; align-items:center; gap:30px; }.footer-cta .eyebrow { display:none; }.footer-cta h3 { margin:0; max-width:500px; }
}
@media(max-width:980px) {
  .site-header { height:78px; }.nav-shell { min-height:77px; grid-template-columns:1fr auto auto; }
  .menu-toggle { display:flex; }.nav-cta { display:inline-flex; }
  .nav-links { display:none; position:fixed; top:77px; left:0; right:0; background:var(--mist); padding:30px 36px 42px; border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:0; max-height:calc(100dvh - 78px); overflow:auto; }
  .menu-open .nav-links { display:flex; }.nav-links a { width:100%; padding:15px 0; font:27px var(--font-serif); border-bottom:1px solid var(--line); }.nav-links a::after { display:none; }
  .hero-home .hero-copy h1 { font-size:62px; }.hero-home .hero-copy { width:56%; }
  .hero-home .hero-copy .actions { align-items:flex-start; flex-direction:column; }.hero-home .hero-copy .btn { font-size:12px; min-height:47px; }
  .hero-home .hero-bg { width:35%; border-radius:180px 180px 2px 2px; top:144px; bottom:72px; }
  .hero-home .hero-lead { font-size:14px; }.hero-meta { font-size:10px; }
  .hero-home,.hero-home .hero-inner { min-height:800px; }
  #approche .manifesto-grid { width:55%; padding:35px; } #approche { background-position:60% center; }
  .section-heading { margin-bottom:45px; }
  .session-media { min-height:620px; }.session-layout { grid-template-columns:.95fr 1fr; gap:35px; }.media-tag { flex-direction:column; align-items:flex-start; }
  .session-steps article { gap:15px; grid-template-columns:36px 1fr; }.session-steps article>span { width:33px;height:33px; }.session-steps h3 { font-size:25px; }
  .hf-vignette { width:145px; height:145px; }.rhythm-card { padding:38px 22px; min-height:480px; }.rhythm-card h3 { font-size:27px; }.rhythm-card p { font-size:13px; }.rhythm-card .pill { font-size:7px; }.rhythm-card .card-no { top:15px;left:15px; }
  .programme-intro,.resource-grid,.community-grid { gap:45px; grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr; }.team-card { padding:32px; }
  .home-resource-real>div { padding:25px; }.home-resource-real h3 { font-size:32px; }.resource-copy .actions { align-items:flex-start; }
  .community-visual { min-height:590px; }
  .price-layout { gap:40px; grid-template-columns:.9fr 1fr; }.price-card { padding:28px; }.price-number strong { font-size:83px; }
  .faq-layout { grid-template-columns:1fr; gap:0; }
  .subhero-grid { grid-template-columns:1fr 1fr; gap:40px; }.subhero { padding-top:140px; min-height:620px; }.subhero h1 { font-size:58px; }
  .date-card { padding:27px; }.date-card>strong { font-size:27px; }.date-card::before { height:160px; }
  .three-col { gap:25px; }.newsletter-card,.final-offer { grid-template-columns:1fr; gap:30px; padding:35px; }
  .offer-grid { gap:40px; }.programme-chapter { grid-template-columns:150px 1fr; gap:40px; }.year-wheel { width:310px; }
  [data-hf-page="ressources"] .subhero > .container { padding-right:42%; }
  [data-hf-page="ressources"] .subhero h1 { font-size:54px; }
  .catalogue-v6 { grid-template-columns:repeat(3,minmax(0,1fr)); }.catalogue-v6-card.available { grid-column:span 3; display:grid; grid-template-columns:1fr 1fr; }.catalogue-v6-card.available>img { height:100%; min-height:240px; }
  .resource-v6-hero-grid { gap:40px; }.legal-layout { grid-template-columns:160px minmax(0,1fr); gap:35px; }.legal-content h2 { font-size:30px; }
  .legal-action { gap:35px; grid-template-columns:1fr 1fr; }.legal-form-card { padding:25px; }
}
@media(max-width:700px) {
  html { scroll-padding-top:92px; }
  .container,.session-layout { width:calc(100% - 40px); }
  .section { padding:70px 0; }.section-heading { margin-bottom:37px; }
  .site-header { height:71px; }.nav-shell { min-height:70px; width:calc(100% - 32px); gap:12px; }
  .brand-logo { width:194px; }.nav-shell { grid-template-columns:1fr auto; }.nav-cta { display:none; }
  .menu-toggle { width:40px;height:40px; }.nav-links { top:70px; padding:20px 24px 32px; }.nav-links a { font-size:26px; }
  h1 { font-size:48px; } h2 { font-size:40px; line-height:1.1; } h3 { font-size:28px; }
  .eyebrow { font-size:9px; margin-bottom:20px; }.lead { font-size:16px; line-height:1.8; }
  .btn { font-size:12px; min-height:49px; padding:0 20px; }
  .hero-home,.hero-home .hero-inner { min-height:auto; }
  .hero-home .hero-inner { padding-top:124px; padding-bottom:0; }
  .hero-home .hero-copy { width:100%; max-width:none; padding:0; }
  .hero-home .hero-copy h1 { font-size:clamp(42px,10.3vw,66px); letter-spacing:-.045em; line-height:1.08; margin-bottom:24px; max-width:570px; }
  .hero-home .hero-lead { font-size:15px; max-width:500px; line-height:1.9; }
  .hero-home .hero-copy .actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px; }
  .hero-home .hero-copy .btn { font-size:11px; min-height:46px; padding:0 17px; }
  .hero-meta { font-size:10px; gap:10px 16px; margin:27px 0 30px; }
  .hero-home .hero-bg { position:relative; left:auto; right:auto; top:auto; bottom:auto; width:calc(100% - 40px); max-width:none; margin:26px auto 0; height:350px; border-radius:160px 160px 2px 2px; }
  .hero-home { display:flex; flex-direction:column; padding-bottom:28px; }.hero-home .hero-bg { order:2; }.hero-home .hero-inner { order:1; }
  .hero-home .hero-bg img { object-position:42% 58%; }
  .hero-grid-lines i:nth-child(1) { top:530px;right:-150px; width:450px;height:450px; }.hero-grid-lines i:nth-child(2) { display:none; }
  .proof-list { grid-template-columns:repeat(2,1fr); min-height:140px; }.proof-list span { min-height:75px; padding:18px 7px; font-size:10px; gap:3px; }.proof-list b { font-size:13px; }.proof-list span:nth-child(2)::after { display:none; }.proof-list span:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  #approche { min-height:auto; padding:265px 20px 28px; background-size:auto 400px; background-position:top center; background-repeat:no-repeat; background-color:var(--hf-dark); }
  #approche::before { display:none; }
  #approche .manifesto-grid { width:100%; margin:0; padding:30px 26px 28px; background:var(--hf-dark); }
  #approche h2 { font-size:40px; } #approche .statement { font-size:25px; }
  .session-layout { grid-template-columns:1fr; gap:38px; }
  .session-media { height:380px; min-height:0; }.session-media img { object-position:center; }
  .media-tag { flex-direction:row; align-items:center; left:20px;right:20px;bottom:20px; }.media-tag b { font-size:12px; }.media-tag span { font-size:8px; }
  .session-steps article { grid-template-columns:40px 1fr; gap:18px; padding:22px 0; }.session-steps h3 { font-size:28px; }.session-steps p { font-size:14px; }
  .rhythm::before { inset:12px; }
  .rhythm-grid { grid-template-columns:1fr; border-bottom:0; }
  .rhythm-card,.rhythm-card.featured { min-height:auto; padding:38px 30px 40px; border-left:0; border-bottom:1px solid #d7dbc433; }
  .hf-vignette { width:196px;height:196px; }.rhythm-card h3 { font-size:34px; max-width:300px; }.rhythm-card p { font-size:14px; }.rhythm-card .pill { font-size:8px; }.rhythm-card .card-no { top:25px;left:20px; font-size:16px; }
  .next-workshop-strip { grid-template-columns:1fr; gap:12px; padding:0; margin-top:30px; }.next-workshop-strip a { width:max-content; }.next-workshop-strip strong { font-size:16px; }.next-workshop-strip small { font-size:12px; }
  .benefit-grid { grid-template-columns:1fr; gap:20px; }.benefit-card { min-height:0; padding:25px 0; }.benefit-card h3 { margin:27px 0 12px; font-size:31px; }.micro-benefits { grid-template-columns:1fr 1fr; margin-top:0; }.micro-benefits span { font-size:10px; border-bottom:1px solid var(--line); }.micro-benefits span:nth-child(2n) { border-right:0; }
  .philosophy-band,.philosophy-band.short { min-height:530px; padding:60px 0; }.philosophy-copy blockquote { font-size:40px; line-height:1.15; }.philosophy-bg img { object-position:64%; }.philosophy-copy>p:last-child { font-size:13px; }
  .programme-intro,.resource-grid,.community-grid { grid-template-columns:1fr; gap:30px; }.programme-intro .section-heading { margin-bottom:0; }.programme-intro { margin-bottom:32px; }
  .season > button { grid-template-columns:37px 1fr 22px; gap:15px; padding:24px 0; }.season-no { font-size:35px; }.season button b { font-size:27px; }.season-content { padding-left:52px; }.season-content p { font-size:14px; }
  .resource-copy h2 { font-size:40px; }.resource-copy::before { width:140px;height:92px; }.home-resource-real { transform:none; }.home-resource-real>div { padding:26px; }.home-resource-real img { aspect-ratio:1.8; }
  .community-visual { height:380px; min-height:0; }.community-copy h2 { font-size:39px; }.hf-community-image { object-fit:cover; }
  .team-card { padding:26px; gap:24px; }.team-card-person { grid-template-columns:105px 1fr; }.team-card h3 { font-size:32px; }.team-photo { width:105px;height:135px; }.team-card p { font-size:14px; }.team-card small { font-size:8px; }.team-card-person>div { min-width:0; }
  .video-testimonial-grid { grid-template-columns:1fr;gap:25px; }.video-testimonial-card h3 { font-size:28px; }
  .price-layout { grid-template-columns:1fr; gap:40px; }.price-card { padding:35px; }.price-number strong { font-size:110px; }.price-copy h2 { font-size:40px; }.check-list { font-size:14px; }.price-fine { font-size:11px; }
  .faq-layout { gap:0; }.faq-list button { font-size:16px;padding:24px 0; }.faq-list p { font-size:14px; }
  .final-cta { padding:55px 0; }.final-cta-inner { flex-direction:column;align-items:flex-start;gap:30px; }.final-cta h2 { font-size:39px; }.final-cta .eyebrow { font-size:9px; }
  .site-footer { padding:55px 0 70px; }.footer-grid { grid-template-columns:1fr 1fr;gap:35px 25px; }.footer-brand { grid-column:1/-1; }.footer-brand .brand-logo { width:255px; }.footer-cta { grid-column:1/-1; display:block; }.footer-cta h3 { margin-bottom:20px; font-size:29px; }.footer-bottom { margin-top:35px; flex-direction:column;gap:10px;line-height:1.8; }
  .footer-col a { font-size:12px; }
  .subhero { min-height:0; padding:120px 0 65px; }.subhero-grid { grid-template-columns:1fr; gap:36px; }.subhero h1 { font-size:49px; }.subhero-meta { font-size:12px; }.subhero.centred { min-height:75vh; }
  .date-card { padding:27px; }.date-card::before { height:190px; }.date-card>strong { font-size:33px; }
  .three-col { grid-template-columns:1fr; gap:12px; }.icon-card { min-height:0; margin-right:0; }.icon-card h2 { margin-top:30px; }
  .newsletter-card,.final-offer { padding:26px; gap:24px; }.newsletter-card h2,.final-offer h2 { font-size:33px; }.form-line { flex-direction:column; }.form-line .btn { align-self:flex-start; }.form-line input { min-height:50px; }
  .offer-grid { grid-template-columns:1fr;gap:30px; }.offer-list article { gap:17px;grid-template-columns:33px 1fr; }.offer-list h3 { font-size:26px; }.split-basic { grid-template-columns:1fr;gap:25px; }
  .year-wheel { width:310px; }.programme-chapter { grid-template-columns:1fr;gap:25px;padding:45px 0; }.programme-chapter>div:first-child { display:flex;align-items:center;gap:24px; }.programme-chapter>div:first-child span { font-size:59px; }.programme-chapter h2 { font-size:38px; }.outcome { padding:21px; }
  .profile-hero { padding-top:120px; }.profile-grid { grid-template-columns:1fr;gap:32px; }.profile-portrait { max-width:340px; }.profile-content h2 { font-size:35px; }
  [data-hf-page="ressources"] .subhero > .container { padding-right:0; }.subhero> .container::after { display:none; }[data-hf-page="ressources"] .subhero h1 { font-size:49px; }
  [data-hf-page="ressources"] .subhero > .container::after { display:block; position:relative; top:auto; bottom:auto; margin-top:32px; width:100%;height:215px; }
  .catalogue-v6 { grid-template-columns:1fr 1fr;gap:15px; }.catalogue-v6-card.available { grid-column:1/-1;display:flex; }.catalogue-v6-card.available>img { height:auto;min-height:0;aspect-ratio:1.85; }.catalogue-v6-body { padding:20px; }.catalogue-v6-card.upcoming h3 { font-size:24px; }.catalogue-v6-card.upcoming p { font-size:12px; }.catalogue-v6-number { padding:22px 20px 0; }.catalogue-v6-link { font-size:10px; }.catalogue-v6-body .eyebrow { font-size:8px; }
  .resource-v6-hero { padding:117px 0 45px; }.resource-v6-hero-grid { grid-template-columns:1fr;gap:30px; }.resource-v6-hero h1 { font-size:48px; }.resource-v6-hero .back-resource { margin-bottom:22px; }.resource-v6-hero-grid>img { aspect-ratio:1.85; }.resource-v6-hero p { font-size:15px; }
  .resource-explorer { padding-top:15px; }.resource-tabs-v6 button { min-height:58px;font-size:13px; }.resource-tabs-v6 button small { display:none; }.extract-toolbar { font-size:11px;line-height:1.8; }.extract-sheet-wrapper { padding:12px; }.extract-sheet { padding:28px 20px;font-size:15px;min-height:0; }.extract-sheet h2 { font-size:33px; }.extract-sheet h3 { font-size:24px; }.extract-sheet .extract-subtitle { font-size:18px; }.extract-topline { font-size:8px;gap:8px; }.extract-sheet blockquote { font-size:21px; }.extract-comparison { grid-template-columns:1fr;gap:20px; }.extract-labels { grid-template-columns:1fr; }.extract-image { height:180px; }
  .listen-v6,.quiz-v6 { padding:26px 22px; }.quiz-v6 [data-question] { font-size:18px; }.quiz-v6-options button { font-size:14px;padding:15px; }.quiz-v6 [data-feedback] { font-size:13px; }.extract-pagination { gap:13px; }.extract-pagination button { font-size:11px;padding:11px 14px; }
  .v6-next { grid-template-columns:1fr; gap:22px; }.v6-next h2 { font-size:37px; }
  .legal-hero { padding:120px 0 45px; }.legal-hero h1 { font-size:42px;overflow-wrap:anywhere; }.legal-hero .lead { font-size:16px; }.legal-layout { grid-template-columns:1fr;gap:35px; }.legal-toc { position:static;flex-direction:row;flex-wrap:wrap;gap:10px 20px;border-width:0 0 1px;padding:0 0 22px; }.legal-toc>b { width:100%; }
  .legal-content h2 { font-size:30px;margin-top:42px; }.legal-content h3 { font-size:25px; }.legal-content p,.legal-content li { font-size:15px;line-height:1.85; }.legal-table th,.legal-table td { font-size:12px;padding:10px; }.legal-table { min-width:460px; }.legal-table-wrap { overflow:auto; }
  .legal-action { grid-template-columns:1fr;gap:30px; }.legal-action h2 { font-size:32px; }.legal-form-card { position:static; }.legal-form-card .btn { max-width:100%; }.legal-form-card p { overflow-wrap:anywhere; }
  .hf-intro-name { width:74vw;top:62%; }.hf-intro-skip { right:20px;top:20px; }.hf-intro-enter { bottom:7%; }
  .modal { padding:32px 25px; max-height:calc(100dvh - 40px); overflow:auto; }.modal h2 { font-size:31px; }.modal p { font-size:14px; }
}
@media(max-width:370px) {
 .hero-home .hero-copy h1 { font-size:39px; }.hero-home .hero-copy .actions { flex-direction:column;align-items:flex-start; }.hero-home .hero-copy .btn { min-height:45px; }.hero-home .hero-bg { height:300px; }.brand-logo { width:178px; } h2 { font-size:35px; }
 .team-card-person { display:block; }.team-photo { margin-bottom:20px; }.catalogue-v6 { grid-template-columns:1fr; }.catalogue-v6-card.available { grid-column:auto; }.subhero h1 { font-size:43px; }.price-card { padding:25px; }.price-number strong { font-size:92px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
 .hf-intro,.hf-transition { display:none!important; }.hf-intro-ready body { overflow:auto; }
 .js .reveal { opacity:1!important;transform:none!important; }.js .hf-picture-reveal img { clip-path:none!important;transform:none!important; }.home-resource-real { transform:none; }
}
@media print {
 .site-header,.hf-intro,.hf-transition,.hf-progress,.preview-pill,.modal-backdrop { display:none!important; }
 body { color:black;background:white; }.section,.subhero,.legal-hero { padding:25px 0!important; }
 .container { width:100%; }.js .reveal { opacity:1;transform:none; }.legal-layout { display:block; }.legal-toc { display:none; }
 .season-content,.faq-list article>div { max-height:none!important;grid-template-rows:1fr!important;opacity:1!important; }
}
/* Final mobile navigation and cover polish. */
.hero-meta { background:transparent!important; backdrop-filter:none!important; border:0!important; padding:0!important; border-radius:0!important; box-shadow:none!important; }
@media(max-width:980px) {
 .nav-links .nav-cta { display:inline-flex; width:auto; padding:0 24px; min-height:47px; margin-top:22px; align-self:flex-start; font:600 12px var(--font-sans); letter-spacing:0; border:0; color:var(--mist); background:var(--ink); }
}
/* Intrinsic-size safeguards: keep tables locally scrollable, not the whole page. */
.legal-content,.legal-toc,.subhero-grid>*,.rhythm-card { min-width:0; }
.legal-content { overflow-wrap:anywhere; }
.legal-table-wrap { min-width:0; width:100%; }
.year-wheel { max-width:100%; }
@media(max-width:700px) {
 .proof-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
 .proof-list span { min-width:0; width:auto; flex:none; }
 .rhythm-grid,.subhero-grid,.legal-layout { grid-template-columns:minmax(0,1fr); }
 .rhythm-card h3 { overflow-wrap:anywhere; }
 .legal-content { width:100%; }
}
