@font-face{font-family: 'Fraunces';font-style: normal;font-display: swap;font-weight: 100 900;src: url('/assets/fonts/fraunces-latin-opsz-normal.woff2') format('woff2')}@font-face{font-family: 'Fraunces';font-style: italic;font-display: swap;font-weight: 100 900;src: url('/assets/fonts/fraunces-latin-opsz-italic.woff2') format('woff2')}@font-face{font-family: 'Figtree';font-style: normal;font-display: swap;font-weight: 300 900;src: url('/assets/fonts/figtree-latin-wght-normal.woff2') format('woff2')}@font-face{font-family: 'Figtree';font-style: italic;font-display: swap;font-weight: 300 900;src: url('/assets/fonts/figtree-latin-wght-italic.woff2') format('woff2')}:root{--bg: #f7f3ec;--bg-alt: #efe8dc;--surface: #fffdf9;--ink: #1b2620;--ink-soft: #3f4d45;--muted: #66736b;--line: #e2d9cb;--leaf: #2c5a43;--leaf-deep: #1b3d2d;--leaf-soft: #e1ebe2;--petal: #b43f6d;--petal-deep: #8e2c53;--petal-soft: #f6e2ea;--water: #2b6b8f;--water-soft: #e0edf4;--sun: #b87a1f;--sun-soft: #f8ecd4;--on-dark: #f7f3ec;--radius: 22px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(27,38,32,0.05),0 12px 32px -12px rgba(27,38,32,0.18);--shadow-lg: 0 2px 4px rgba(27,38,32,0.05),0 28px 60px -24px rgba(27,38,32,0.32);--display: 'Fraunces','Iowan Old Style',Georgia,serif;--body: 'Figtree',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--wrap: 1180px;--gutter: clamp(16px,4vw,32px);color-scheme: light}@media (prefers-color-scheme: dark){:root{--bg: #111814;--bg-alt: #172019;--surface: #1a241e;--ink: #ece8df;--ink-soft: #cdd3cc;--muted: #9aa69e;--line: #2c3a31;--leaf: #8cc4a2;--leaf-deep: #0d1b14;--leaf-soft: #1e3127;--petal: #ec8fb2;--petal-deep: #f3a9c4;--petal-soft: #3a2230;--water: #8cc1e0;--water-soft: #1a2e3a;--sun: #e3b060;--sun-soft: #33291a;--on-dark: #f7f3ec;--shadow: 0 1px 2px rgba(0,0,0,0.3),0 12px 32px -12px rgba(0,0,0,0.6);--shadow-lg: 0 2px 4px rgba(0,0,0,0.3),0 28px 60px -24px rgba(0,0,0,0.7);color-scheme: dark}}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: 96px}body{margin: 0;background: var(--bg);color: var(--ink);font-family: var(--body);font-size: 1.0625rem;line-height: 1.65;font-feature-settings: 'kern','liga';-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;overflow-x: hidden}img{display: block;max-width: 100%;height: auto}svg{display: inline-block;vertical-align: middle}a{color: var(--leaf);text-decoration-thickness: 1px;text-underline-offset: 3px}a:hover{color: var(--petal)}:focus-visible{outline: 3px solid var(--petal);outline-offset: 3px;border-radius: 4px}h1,h2,h3,h4{font-family: var(--display);font-weight: 560;line-height: 1.12;letter-spacing: -0.01em;color: var(--ink);margin: 0 0 0.5em;font-optical-sizing: auto;text-wrap: balance}p{margin: 0 0 1em;text-wrap: pretty}.wrap{width: 100%;max-width: var(--wrap);margin-inline: auto;padding-inline: var(--gutter)}.narrow{max-width: calc(780px + 2 * var(--gutter))}.center{text-align: center}.sr{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: absolute;left: 12px;top: -60px;z-index: 100;background: var(--leaf);color: #fff;padding: 10px 16px;border-radius: 10px;transition: top 0.2s}.skip:focus{top: 12px;color: #fff}.site-header{position: sticky;top: 0;z-index: 50;background: color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter: saturate(1.4) blur(14px);-webkit-backdrop-filter: saturate(1.4) blur(14px);border-bottom: 1px solid color-mix(in srgb,var(--line) 70%,transparent)}.site-header__inner{display: flex;align-items: center;justify-content: space-between;gap: 24px;min-height: 72px}.logo{display: inline-flex;align-items: center;gap: 10px;text-decoration: none;color: var(--ink);flex-shrink: 0}.logo:hover{color: var(--ink)}.logo__mark{width: 34px;height: 34px;color: var(--leaf)}.logo__text{font-family: var(--display);font-size: 1.28rem;font-weight: 600;letter-spacing: -0.015em;line-height: 1}.logo__text em{font-style: italic;font-weight: 420;color: var(--petal)}.nav__list{list-style: none;display: flex;align-items: center;gap: 4px;margin: 0;padding: 0}.nav__link{display: block;padding: 10px 14px;border-radius: 999px;color: var(--ink-soft);font-weight: 560;font-size: 0.97rem;text-decoration: none;transition: background 0.2s,color 0.2s}.nav__link:hover,.nav__link[aria-current='page']{background: var(--leaf-soft);color: var(--leaf)}.nav__item--menu{position: relative}.nav__sub{list-style: none;margin: 0;padding: 10px;position: absolute;top: calc(100% + 6px);left: -10px;min-width: 270px;background: var(--surface);border: 1px solid var(--line);border-radius: 16px;box-shadow: var(--shadow-lg);opacity: 0;visibility: hidden;transform: translateY(-6px);transition: opacity 0.18s,transform 0.18s,visibility 0.18s}.nav__sub::before{content: '';position: absolute;top: -10px;left: 0;right: 0;height: 10px}.nav__item--menu:hover .nav__sub,.nav__item--menu:focus-within .nav__sub{opacity: 1;visibility: visible;transform: none}.nav__sub a{display: block;padding: 9px 12px;border-radius: 10px;color: var(--ink-soft);text-decoration: none;font-size: 0.95rem}.nav__sub a:hover,.nav__sub a[aria-current='page']{background: var(--leaf-soft);color: var(--leaf)}.nav-toggle{display: none;border: 1px solid var(--line);background: var(--surface);color: var(--ink);width: 46px;height: 46px;border-radius: 14px;cursor: pointer;align-items: center;justify-content: center}.nav-toggle svg{width: 24px;height: 24px}.nav-toggle__close{display: none}@media (max-width: 960px){.nav-toggle{display: inline-flex}.nav{position: fixed;inset: 72px 0 0 0;background: var(--bg);padding: 16px var(--gutter) 40px;overflow-y: auto;display: none}.nav-open .nav{display: block}.nav-open .nav-toggle__open{display: none}.nav-open .nav-toggle__close{display: inline}.nav-open body{overflow: hidden}.nav__list{flex-direction: column;align-items: stretch;gap: 2px}.nav__link{font-family: var(--display);font-size: 1.5rem;font-weight: 500;padding: 12px 8px;border-radius: 12px}.nav__sub{position: static;opacity: 1;visibility: visible;transform: none;box-shadow: none;border: 0;background: transparent;padding: 0 0 8px 8px;min-width: 0}.nav__sub a{font-size: 1.02rem;padding: 8px 10px}}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 10px;padding: 14px 22px;border-radius: 999px;font-family: var(--body);font-weight: 650;font-size: 1rem;line-height: 1.2;text-decoration: none;border: 1.5px solid transparent;cursor: pointer;transition: transform 0.2s,background 0.2s,color 0.2s,border-color 0.2s,box-shadow 0.2s}.btn svg{width: 20px;height: 20px;flex-shrink: 0}.btn:hover{transform: translateY(-1px)}.btn--primary{background: var(--leaf);color: #fff;box-shadow: 0 10px 24px -10px color-mix(in srgb,var(--leaf) 70%,transparent)}.btn--primary:hover{background: var(--leaf-deep);color: #fff}@media (prefers-color-scheme: dark){.btn--primary{color: #0d1b14}.btn--primary:hover{background: #a9d6ba;color: #0d1b14}}.btn--ghost{border-color: var(--line);color: var(--ink);background: transparent}.btn--ghost:hover{border-color: var(--leaf);color: var(--leaf)}.btn--light{background: var(--on-dark);color: #1b3d2d}.btn--light:hover{background: #fff;color: var(--petal-deep)}.btn--small{padding: 10px 16px;font-size: 0.93rem}.eyebrow{display: inline-block;font-size: 0.8rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--petal);margin-bottom: 14px}.chip{display: inline-block;padding: 5px 12px;border-radius: 999px;background: var(--leaf-soft);color: var(--leaf);font-size: 0.8rem;font-weight: 700;letter-spacing: 0.02em;text-decoration: none;margin-bottom: 12px}.chip:hover{background: var(--petal-soft);color: var(--petal-deep)}.link-arrow{display: inline-flex;align-items: center;gap: 8px;font-weight: 650;text-decoration: none;color: var(--leaf)}.link-arrow svg{width: 18px;height: 18px;transition: transform 0.2s}.link-arrow:hover svg{transform: translateX(4px)}.dot{display: inline-block;width: 12px;height: 12px;border-radius: 50%;flex-shrink: 0}.dot--silver{background: linear-gradient(135deg,#e7ebe8,#a7b2ac);box-shadow: 0 0 0 3px rgba(255,255,255,0.6)}.hero{padding: clamp(28px,5vw,64px) 0 clamp(40px,6vw,80px);position: relative}.hero::before{content: '';position: absolute;inset: 0 0 auto auto;width: min(60vw,720px);height: min(60vw,720px);background: radial-gradient(circle at 70% 30%,color-mix(in srgb,var(--petal) 16%,transparent),transparent 60%);pointer-events: none;z-index: -1}.hero__grid{display: grid;grid-template-columns: 1.02fr 1fr;gap: clamp(28px,5vw,72px);align-items: center}.hero__title{font-size: clamp(2.6rem,6.2vw,4.9rem);font-weight: 520;line-height: 1.02;letter-spacing: -0.03em;margin-bottom: 24px}.hero__title span{display: block;font-style: italic;font-weight: 380;color: var(--petal)}.hero__lead{font-size: clamp(1.1rem,1.6vw,1.28rem);color: var(--ink-soft);max-width: 36em;margin-bottom: 30px}.hero__actions{display: flex;flex-wrap: wrap;gap: 12px;margin-bottom: 36px}.hero__facts{list-style: none;display: flex;flex-wrap: wrap;gap: 12px 32px;margin: 0;padding: 22px 0 0;border-top: 1px solid var(--line)}.hero__facts li{display: flex;align-items: baseline;gap: 8px;color: var(--muted);font-size: 0.95rem}.hero__facts strong{font-family: var(--display);font-size: 1.9rem;font-weight: 500;color: var(--leaf);line-height: 1}.hero__media{position: relative;margin: 0}.hero__img{width: 100%;aspect-ratio: 4 / 4.4;object-fit: cover;object-position: 42% center;border-radius: 200px 200px var(--radius) var(--radius);box-shadow: var(--shadow-lg)}.hero__badge{position: absolute;left: -18px;bottom: 32px;display: flex;align-items: center;gap: 12px;max-width: 290px;padding: 14px 18px;background: var(--surface);border: 1px solid var(--line);border-radius: 16px;box-shadow: var(--shadow);font-weight: 600;font-size: 0.95rem;line-height: 1.35}@media (max-width: 900px){.hero__grid{grid-template-columns: 1fr}.hero__media{order: -1}.hero__img{aspect-ratio: 3 / 2.3;border-radius: var(--radius)}.hero__badge{left: 12px;bottom: 12px;max-width: calc(100% - 24px)}}.section{padding: clamp(56px,8vw,104px) 0}.section--tint{background: var(--bg-alt)}.section--flush{padding-top: 8px}.section__head{max-width: 680px;margin-bottom: clamp(28px,4vw,48px)}.section__head--row{max-width: none;display: flex;align-items: flex-end;justify-content: space-between;gap: 16px;flex-wrap: wrap}.section__title{font-size: clamp(1.9rem,3.6vw,2.75rem);margin-bottom: 12px}.section__lead{font-size: 1.12rem;color: var(--ink-soft);margin: 0}.steps{list-style: none;counter-reset: step;display: grid;grid-template-columns: repeat(4,1fr);gap: 20px;margin: 0;padding: 0}.step{counter-increment: step;position: relative;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);padding: 28px 24px 24px;display: flex;flex-direction: column;transition: transform 0.25s,box-shadow 0.25s}.step:hover{transform: translateY(-3px);box-shadow: var(--shadow)}.step::after{content: counter(step,decimal-leading-zero);position: absolute;top: 20px;right: 22px;font-family: var(--display);font-size: 2.4rem;font-weight: 300;font-style: italic;color: color-mix(in srgb,var(--petal) 45%,transparent);line-height: 1}.step__icon{display: inline-flex;width: 52px;height: 52px;border-radius: 16px;background: var(--leaf-soft);color: var(--leaf);align-items: center;justify-content: center;margin-bottom: 18px}.step__icon svg{width: 26px;height: 26px}.step h3{font-size: 1.45rem;margin-bottom: 8px}.step p{color: var(--ink-soft);font-size: 0.98rem;flex: 1}.step a{font-weight: 650;font-size: 0.93rem}@media (max-width: 1000px){.steps{grid-template-columns: repeat(2,1fr)}}@media (max-width: 560px){.steps{grid-template-columns: 1fr}}.roots{display: grid;grid-template-columns: 1fr 1.1fr;gap: clamp(28px,5vw,72px);align-items: center}.roots__text p:not(.eyebrow){font-size: 1.1rem;color: var(--ink-soft)}.roots__scale{list-style: none;margin: 0;padding: 0;display: grid;gap: 12px}.root{display: flex;align-items: center;gap: 18px;background: var(--surface);border: 1px solid var(--line);border-radius: 18px;padding: 16px 20px}.root div{display: flex;flex-direction: column}.root strong{font-family: var(--display);font-weight: 560;font-size: 1.2rem}.root span:not(.root__swatch){color: var(--muted);font-size: 0.97rem}.root__swatch{width: 58px;height: 18px;border-radius: 999px;flex-shrink: 0;box-shadow: inset 0 -3px 6px rgba(0,0,0,0.12),inset 0 2px 3px rgba(255,255,255,0.4)}.root--green .root__swatch{background: linear-gradient(90deg,#4f8f4a,#7cb56a 70%,#b6dc8c)}.root--silver .root__swatch{background: linear-gradient(90deg,#b9c2bd,#e6ebe7 60%,#9fb3a2)}.root--brown .root__swatch{background: linear-gradient(90deg,#4a3322,#7a5638 60%,#5b3e27)}.root--crisp .root__swatch{background: repeating-linear-gradient(90deg,#a7a39a 0 6px,#c8c3b8 6px 9px)}@media (max-width: 860px){.roots{grid-template-columns: 1fr}}.topics{display: grid;grid-template-columns: repeat(3,1fr);gap: 20px}.topic{position: relative;display: block;border-radius: var(--radius);overflow: hidden;text-decoration: none;color: #fff;aspect-ratio: 4 / 4.6;isolation: isolate;box-shadow: var(--shadow)}.topic__img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;z-index: -2;transition: transform 0.6s cubic-bezier(0.2,0.7,0.2,1)}.topic::after{content: '';position: absolute;inset: 0;z-index: -1;background: linear-gradient(180deg,rgba(12,24,18,0) 30%,rgba(12,24,18,0.78) 72%,rgba(12,24,18,0.92))}.topic:hover{color: #fff}.topic:hover .topic__img{transform: scale(1.05)}.topic__body{position: absolute;left: 0;right: 0;bottom: 0;padding: 24px;display: flex;flex-direction: column;gap: 6px}.topic__count{align-self: flex-start;font-size: 0.78rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;background: rgba(255,255,255,0.18);backdrop-filter: blur(6px);-webkit-backdrop-filter: blur(6px);padding: 4px 10px;border-radius: 999px}.topic__title{font-family: var(--display);font-size: 1.6rem;font-weight: 540;line-height: 1.12}.topic__desc{font-size: 0.95rem;opacity: 0.88;line-height: 1.45}@media (max-width: 1000px){.topics{grid-template-columns: repeat(2,1fr)}}@media (max-width: 600px){.topics{grid-template-columns: 1fr}.topic{aspect-ratio: 4 / 3.6}}.tools{display: grid;grid-template-columns: 1fr 1fr;gap: 20px}.tool-card{position: relative;overflow: hidden;border-radius: var(--radius);padding: clamp(28px,4vw,48px);color: var(--on-dark);isolation: isolate}.tool-card--calc{background: #1f4a37}.tool-card--diag{background: #6e2445}.tool-card::after{content: '';position: absolute;right: -80px;top: -80px;width: 260px;height: 260px;border-radius: 50%;background: rgba(255,255,255,0.07);z-index: -1}.tool-card__icon{display: inline-flex;width: 56px;height: 56px;border-radius: 18px;background: rgba(255,255,255,0.12);align-items: center;justify-content: center;margin-bottom: 20px}.tool-card__icon svg{width: 28px;height: 28px}.tool-card h2{color: #fff;font-size: clamp(1.6rem,2.8vw,2.2rem)}.tool-card p{opacity: 0.88;max-width: 34em;margin-bottom: 24px}@media (max-width: 800px){.tools{grid-template-columns: 1fr}}.cards{display: grid;grid-template-columns: repeat(3,1fr);gap: 24px}.card{display: flex;flex-direction: column;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);overflow: hidden;transition: transform 0.25s,box-shadow 0.25s}.card:hover{transform: translateY(-4px);box-shadow: var(--shadow-lg)}.card__media{display: block;overflow: hidden}.card__media img{width: 100%;aspect-ratio: 3 / 2;object-fit: cover;transition: transform 0.6s cubic-bezier(0.2,0.7,0.2,1)}.card:hover .card__media img{transform: scale(1.04)}.card__body{display: flex;flex-direction: column;flex: 1;padding: 22px 24px 20px}.card__body .chip{align-self: flex-start}.card__title{font-size: 1.32rem;line-height: 1.2;margin-bottom: 10px}.card__title a{color: var(--ink);text-decoration: none}.card__title a:hover{color: var(--petal)}.card__excerpt{color: var(--ink-soft);font-size: 0.97rem;line-height: 1.55;flex: 1;display: -webkit-box;-webkit-line-clamp: 4;-webkit-box-orient: vertical;overflow: hidden}.card__meta{margin: 8px 0 0;color: var(--muted);font-size: 0.86rem}.card__meta svg{width: 16px;height: 16px;margin-right: 6px;margin-top: -2px}@media (max-width: 1000px){.cards{grid-template-columns: repeat(2,1fr)}}@media (max-width: 640px){.cards{grid-template-columns: 1fr}}.month-grid{display: grid;grid-template-columns: 0.9fr 1.1fr;gap: clamp(28px,5vw,64px);align-items: start}.month{background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);padding: clamp(28px,4vw,44px);box-shadow: var(--shadow);position: sticky;top: 96px}.month__icon{display: flex;width: 52px;height: 52px;border-radius: 16px;background: var(--sun-soft);color: var(--sun);align-items: center;justify-content: center;margin-bottom: 18px}.month__icon svg{width: 26px;height: 26px}.month__name{font-family: var(--display);font-size: clamp(2.2rem,4vw,3.2rem);font-style: italic;font-weight: 420;color: var(--leaf);line-height: 1.05;margin: 0 0 14px}.month__tip{font-size: 1.12rem;color: var(--ink-soft)}.month--banner{position: static;margin: 8px 0 28px;background: var(--leaf-soft);border-color: transparent;box-shadow: none}.month--banner .month__name{font-size: 2rem}.mistakes__list{list-style: none;counter-reset: err;margin: 24px 0 0;padding: 0;display: grid;gap: 10px}.mistakes__list li{counter-increment: err}.mistakes__list a{display: grid;grid-template-columns: 44px 1fr;gap: 2px 14px;padding: 18px 20px;background: var(--surface);border: 1px solid var(--line);border-radius: 16px;text-decoration: none;color: var(--ink);transition: border-color 0.2s,transform 0.2s}.mistakes__list a::before{content: counter(err);grid-row: span 2;width: 40px;height: 40px;border-radius: 50%;background: var(--petal-soft);color: var(--petal-deep);font-family: var(--display);font-weight: 600;font-size: 1.2rem;display: flex;align-items: center;justify-content: center}.mistakes__list a:hover{border-color: var(--petal);transform: translateX(3px)}.mistakes__list strong{font-family: var(--display);font-weight: 560;font-size: 1.15rem}.mistakes__list span{color: var(--ink-soft);font-size: 0.96rem}@media (max-width: 860px){.month-grid{grid-template-columns: 1fr}.month{position: static}}.faq{margin: 48px 0 0}.faq > h2{font-size: clamp(1.6rem,3vw,2.2rem)}.faq__item{border-bottom: 1px solid var(--line)}.faq__item summary{list-style: none;cursor: pointer;position: relative;padding: 20px 48px 20px 0;font-family: var(--display);font-size: 1.18rem;font-weight: 540;line-height: 1.3}.faq__item summary::-webkit-details-marker{display: none}.faq__item summary::after{content: '';position: absolute;right: 6px;top: 50%;width: 26px;height: 26px;margin-top: -13px;border-radius: 50%;background:linear-gradient(var(--leaf),var(--leaf)) center / 12px 2px no-repeat,linear-gradient(var(--leaf),var(--leaf)) center / 2px 12px no-repeat,var(--leaf-soft);transition: transform 0.25s}.faq__item[open] summary::after{transform: rotate(45deg)}.faq__item summary:hover{color: var(--leaf)}.faq + .center{margin-top: 28px}.faq__answer{padding: 0 40px 18px 0;color: var(--ink-soft)}.faq--group{margin-top: 40px;scroll-margin-top: 96px}.faq-nav ul{list-style: none;display: flex;flex-wrap: wrap;gap: 8px;padding: 0;margin: 0 0 8px}.faq-nav a{display: block;padding: 8px 14px;border-radius: 999px;background: var(--surface);border: 1px solid var(--line);text-decoration: none;font-weight: 600;font-size: 0.93rem}.faq-nav a:hover{border-color: var(--leaf)}.crumbs ol{list-style: none;display: flex;flex-wrap: wrap;gap: 4px;margin: 0 0 18px;padding: 0;font-size: 0.88rem;color: var(--muted)}.crumbs li:not(:last-child)::after{content: '/';margin-left: 6px;opacity: 0.5}.crumbs a{color: var(--muted);text-decoration: none}.crumbs a:hover{color: var(--leaf);text-decoration: underline}.crumbs li[aria-current]{color: var(--ink-soft);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 36ch}.article__head{max-width: calc(880px + 2 * var(--gutter));padding-top: clamp(24px,4vw,48px);padding-bottom: 28px}.article__title{font-size: clamp(2.2rem,5vw,3.6rem);font-weight: 540;letter-spacing: -0.025em;line-height: 1.06;margin-bottom: 20px}.article__lead{font-size: clamp(1.14rem,1.8vw,1.32rem);line-height: 1.55;color: var(--ink-soft);margin-bottom: 22px}.article__meta{display: flex;flex-wrap: wrap;gap: 8px 22px;color: var(--muted);font-size: 0.9rem;margin: 0}.article__meta span{display: inline-flex;align-items: center;gap: 6px}.article__meta .meta-date{display: inline}.article__meta svg{width: 17px;height: 17px;color: var(--leaf)}.article__hero{margin: 0 auto clamp(32px,5vw,56px);max-width: calc(1100px + 2 * var(--gutter))}.article__hero img,.page-cover img{width: 100%;border-radius: var(--radius);aspect-ratio: 16 / 9;object-fit: cover;box-shadow: var(--shadow)}.article__layout{display: grid;grid-template-columns: 250px minmax(0,740px);gap: clamp(32px,5vw,72px);justify-content: center;padding-bottom: clamp(48px,7vw,96px)}.article__aside{position: sticky;top: 96px;align-self: start;display: grid;gap: 20px;max-height: calc(100vh - 120px);overflow-y: auto;scrollbar-width: thin;padding-bottom: 4px}.toc{border-left: 2px solid var(--line);padding-left: 18px}.toc__title{font-size: 0.8rem;font-weight: 700;letter-spacing: 0.12em;text-transform: uppercase;color: var(--muted);margin-bottom: 10px}.toc ol{list-style: none;margin: 0;padding: 0;display: grid;gap: 8px}.toc a{display: block;color: var(--ink-soft);text-decoration: none;font-size: 0.92rem;line-height: 1.35;position: relative}.toc a:hover{color: var(--leaf)}.toc a[aria-current]{color: var(--petal);font-weight: 650}.toc a[aria-current]::before{content: '';position: absolute;left: -20px;top: 0;bottom: 0;width: 2px;background: var(--petal)}.aside-tool{background: var(--leaf-soft);border-radius: 18px;padding: 18px;display: grid;gap: 8px}.aside-tool p{font-weight: 650;font-size: 0.95rem;margin: 0 0 4px}.aside-tool a{display: flex;align-items: center;gap: 8px;font-size: 0.93rem;font-weight: 600;text-decoration: none;padding: 8px 10px;border-radius: 10px;background: var(--surface)}.aside-tool a:hover{color: var(--petal)}.aside-tool svg{width: 19px;height: 19px}@media (max-width: 1020px){.article__layout{grid-template-columns: minmax(0,740px)}.article__aside{position: static;max-height: none;overflow: visible}.aside-tool{display: none}.toc{border: 1px solid var(--line);border-radius: 18px;padding: 18px 20px;background: var(--surface)}.toc a[aria-current]::before{display: none}}.keypoints{background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);padding: 24px 28px;margin-bottom: 36px;box-shadow: var(--shadow)}.keypoints__title{font-family: var(--display);font-size: 1.3rem;font-weight: 560;font-style: italic;color: var(--petal);margin-bottom: 12px}.keypoints ul{list-style: none;margin: 0;padding: 0;display: grid;gap: 10px}.keypoints li{position: relative;padding-left: 32px}.keypoints li::before{content: '';position: absolute;left: 0;top: 4px;width: 20px;height: 20px;border-radius: 50%;background: var(--leaf-soft)}.keypoints li::after{content: '';position: absolute;left: 7px;top: 8px;width: 6px;height: 10px;border: solid var(--leaf);border-width: 0 2px 2px 0;transform: rotate(45deg)}.prose{font-size: 1.09rem;line-height: 1.75}.prose > * + *{margin-top: 0}.prose h2{font-size: clamp(1.6rem,3vw,2.1rem);margin: 2.1em 0 0.6em;scroll-margin-top: 96px}.prose h2:first-child{margin-top: 0}.prose h3{font-size: 1.35rem;margin: 1.8em 0 0.5em;scroll-margin-top: 96px}.prose p,.prose ul,.prose ol{margin: 0 0 1.15em}.prose ul,.prose ol{padding-left: 1.4em}.prose li{margin-bottom: 0.45em;padding-left: 0.2em}.prose li::marker{color: var(--petal);font-weight: 700}.prose strong{font-weight: 700;color: var(--ink)}.prose a{font-weight: 560;text-decoration-color: color-mix(in srgb,var(--leaf) 45%,transparent)}.prose a:hover{text-decoration-color: currentColor}.prose blockquote{margin: 1.6em 0;padding: 0 0 0 22px;border-left: 3px solid var(--petal);font-family: var(--display);font-size: 1.25rem;font-style: italic;color: var(--ink-soft)}.prose hr{border: 0;height: 1px;background: var(--line);margin: 2.5em 0}.table-wrap{overflow-x: auto;margin: 1.6em 0;border: 1px solid var(--line);border-radius: 16px;background: var(--surface)}.prose table{width: 100%;border-collapse: collapse;font-size: 0.96rem;line-height: 1.5;min-width: 520px}.prose th,.prose td{text-align: left;vertical-align: top;padding: 12px 16px;border-bottom: 1px solid var(--line)}.prose thead th{background: var(--leaf-soft);color: var(--leaf);font-weight: 700;font-size: 0.88rem;letter-spacing: 0.02em}.prose tbody tr:last-child td{border-bottom: 0}.prose tbody tr:nth-child(even) td{background: color-mix(in srgb,var(--bg-alt) 45%,transparent)}.callout{position: relative;margin: 1.8em 0;padding: 20px 24px 20px 24px;border-radius: 18px;background: var(--leaf-soft);border: 1px solid color-mix(in srgb,var(--leaf) 20%,transparent);font-size: 1.02rem;line-height: 1.65}.callout > :last-child{margin-bottom: 0}.callout__title{display: flex;align-items: center;gap: 8px;font-size: 0.8rem;font-weight: 800;letter-spacing: 0.12em;text-transform: uppercase;color: var(--leaf);margin-bottom: 6px !important}.callout__title::before{content: '';width: 8px;height: 8px;border-radius: 50%;background: currentColor}.callout--attention{background: var(--petal-soft);border-color: color-mix(in srgb,var(--petal) 25%,transparent)}.callout--attention .callout__title{color: var(--petal-deep)}.callout--bon-a-savoir{background: var(--water-soft);border-color: color-mix(in srgb,var(--water) 22%,transparent)}.callout--bon-a-savoir .callout__title{color: var(--water)}.signature{display: flex;gap: 16px;align-items: flex-start;margin-top: 48px;padding: 22px 24px;border-radius: 18px;border: 1px dashed var(--line);color: var(--ink-soft);font-size: 0.95rem}.signature p{margin: 0}.signature__mark{flex-shrink: 0;color: var(--leaf)}.signature__mark svg{width: 40px;height: 40px}.page-hero{padding: clamp(24px,4vw,48px) 0 clamp(32px,5vw,64px)}.page-hero__grid{display: grid;grid-template-columns: 1.1fr 0.9fr;gap: clamp(28px,5vw,64px);align-items: center}.page-hero__title{font-size: clamp(2.3rem,5vw,3.8rem);font-weight: 520;letter-spacing: -0.025em;line-height: 1.04}.page-hero__intro p{font-size: 1.1rem;color: var(--ink-soft)}.page-hero__media{margin: 0}.page-hero__media img{width: 100%;aspect-ratio: 4 / 3.4;object-fit: cover;border-radius: var(--radius) var(--radius) var(--radius) 120px;box-shadow: var(--shadow-lg)}@media (max-width: 860px){.page-hero__grid{grid-template-columns: 1fr}.page-hero__media{order: -1}.page-hero__media img{aspect-ratio: 3 / 2;border-radius: var(--radius)}}.page-head{padding-top: clamp(24px,4vw,48px);padding-bottom: 28px;max-width: calc(880px + 2 * var(--gutter))}.page-head__title{font-size: clamp(2.2rem,5vw,3.5rem);font-weight: 540;letter-spacing: -0.025em;line-height: 1.06}.page-head__lead{font-size: clamp(1.12rem,1.8vw,1.28rem);color: var(--ink-soft);margin-bottom: 18px}.page-cover{margin: 0 auto clamp(32px,5vw,56px);max-width: 1100px}.page .prose{padding-bottom: clamp(48px,7vw,96px)}.pill-list{list-style: none;display: flex;flex-wrap: wrap;gap: 10px;padding: 0;margin: 0}.pill-list a{display: block;padding: 12px 18px;border-radius: 999px;background: var(--surface);border: 1px solid var(--line);text-decoration: none;font-weight: 600}.pill-list a:hover{border-color: var(--leaf)}.rubrique-list{display: grid;gap: 24px;padding-bottom: clamp(48px,7vw,96px)}.rubrique-block{display: grid;grid-template-columns: 380px 1fr;gap: clamp(20px,4vw,44px);background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);padding: 18px;align-items: start}.rubrique-block__media img{width: 100%;aspect-ratio: 4 / 3;object-fit: cover;border-radius: 14px}.rubrique-block__body{padding: 10px 10px 10px 0}.rubrique-block h2{font-size: 1.9rem}.rubrique-block h2 a{color: var(--ink);text-decoration: none}.rubrique-block h2 a:hover{color: var(--petal)}.rubrique-block p{color: var(--ink-soft)}.rubrique-block ul{list-style: none;margin: 0;padding: 0;display: grid;gap: 6px}.rubrique-block li a{display: inline-flex;gap: 10px;text-decoration: none;font-weight: 560}.rubrique-block li a::before{content: '';width: 6px;height: 6px;border-radius: 50%;background: var(--petal);margin-top: 0.65em;flex-shrink: 0}@media (max-width: 860px){.rubrique-block{grid-template-columns: 1fr}.rubrique-block__body{padding: 0 6px 6px}}.tool{padding-bottom: clamp(40px,6vw,72px)}.tool__grid{display: grid;grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);gap: clamp(20px,3vw,36px);align-items: start}.tool__form{background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius);padding: clamp(22px,3vw,36px)}.tool__title{font-size: 1.7rem}.tool__hint{color: var(--muted);font-size: 0.97rem}.q{border: 0;padding: 0;margin: 26px 0 0;min-width: 0}.q legend{display: flex;align-items: center;gap: 10px;font-family: var(--display);font-size: 1.18rem;font-weight: 560;margin-bottom: 12px;padding: 0}.q__n{display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;border-radius: 50%;background: var(--petal-soft);color: var(--petal-deep);font-family: var(--body);font-size: 0.85rem;font-weight: 800;flex-shrink: 0}.choices{display: grid;gap: 8px}.choices--4{grid-template-columns: repeat(4,1fr)}.choices--3{grid-template-columns: repeat(3,1fr)}@media (max-width: 640px){.choices--4,.choices--3{grid-template-columns: repeat(2,1fr)}}.choice,.check{position: relative;cursor: pointer}.choice input,.check input{position: absolute;opacity: 0;width: 1px;height: 1px}.choice span{display: flex;flex-direction: column;justify-content: center;height: 100%;min-height: 56px;padding: 10px 12px;border: 1.5px solid var(--line);border-radius: 14px;background: var(--bg);font-weight: 650;font-size: 0.95rem;line-height: 1.25;transition: border-color 0.15s,background 0.15s,color 0.15s}.choice small{display: block;font-weight: 500;font-size: 0.8rem;color: var(--muted);margin-top: 3px}.choice:hover span,.check:hover span{border-color: color-mix(in srgb,var(--leaf) 50%,var(--line))}.choice input:checked + span{border-color: var(--leaf);background: var(--leaf-soft);color: var(--leaf)}.choice input:focus-visible + span,.check input:focus-visible + span{outline: 3px solid var(--petal);outline-offset: 2px}.checks{display: grid;grid-template-columns: repeat(2,1fr);gap: 8px}@media (max-width: 640px){.checks{grid-template-columns: 1fr}}.check span{display: flex;align-items: flex-start;gap: 10px;height: 100%;padding: 12px 14px;border: 1.5px solid var(--line);border-radius: 14px;background: var(--bg);font-size: 0.95rem;line-height: 1.35;transition: border-color 0.15s,background 0.15s}.check span::before{content: '';width: 20px;height: 20px;flex-shrink: 0;border-radius: 6px;border: 1.5px solid color-mix(in srgb,var(--ink) 30%,transparent);background: var(--surface) center / 12px no-repeat;margin-top: 1px}.check input:checked + span{border-color: var(--petal);background: var(--petal-soft)}.check input:checked + span::before{border-color: var(--petal);background-color: var(--petal);background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.tool__result{position: sticky;top: 96px;max-height: calc(100vh - 116px);overflow-y: auto;border-radius: var(--radius);scrollbar-width: thin}.tool-bar{display: none}.result{background: #1f4a37;color: var(--on-dark);border-radius: var(--radius);padding: clamp(24px,3vw,34px);box-shadow: var(--shadow-lg)}.layout-diagnostic .result{background: var(--surface);color: var(--ink);border: 1px solid var(--line)}.result__label{font-size: 0.8rem;font-weight: 800;letter-spacing: 0.14em;text-transform: uppercase;opacity: 0.8;margin-bottom: 6px}.layout-diagnostic .result__label{color: var(--petal);opacity: 1}.result__value{font-family: var(--display);font-size: clamp(2rem,3.6vw,2.7rem);font-weight: 480;line-height: 1.08;margin-bottom: 16px;color: #fff}.gauge{height: 8px;border-radius: 999px;background: rgba(255,255,255,0.15);overflow: hidden;margin-bottom: 18px}.gauge__bar{display: block;height: 100%;width: 30%;border-radius: inherit;background: linear-gradient(90deg,#f0a8c3,#ffffff);transition: width 0.4s cubic-bezier(0.2,0.7,0.2,1)}.layout-diagnostic .gauge{background: var(--bg-alt);margin: 10px 0 14px}.layout-diagnostic .gauge__bar{background: linear-gradient(90deg,var(--petal),#e99ab8)}.result__next{font-size: 0.97rem;opacity: 0.9}.result__list{margin: 20px 0;display: grid;gap: 14px}.result__list div{padding-top: 14px;border-top: 1px solid rgba(255,255,255,0.14)}.result__list dt{font-weight: 800;font-size: 0.8rem;letter-spacing: 0.1em;text-transform: uppercase;opacity: 0.75;margin-bottom: 4px}.result__list dd{margin: 0;font-size: 0.98rem}.alert{font-size: 0.93rem;line-height: 1.5;border-radius: 12px;padding: 12px 14px;margin: 0 0 10px;background: rgba(255,255,255,0.1);border-left: 3px solid #b9dcc6}.alert--warn{border-left-color: #f2c46d}.alert--danger{border-left-color: #f58fb4;background: rgba(245,143,180,0.14)}.result__actions{margin: 18px 0}.result__links p{font-weight: 800;font-size: 0.8rem;letter-spacing: 0.1em;text-transform: uppercase;opacity: 0.75;margin-bottom: 6px}.result__links ul{margin: 0;padding-left: 1.1em}.result__links li{margin-bottom: 4px}.result a:not(.btn){color: #fff}.result a:not(.btn):hover{color: #f6c4d6}.layout-diagnostic .result a:not(.btn){color: var(--leaf)}.result__empty{color: var(--muted);margin: 0}.cause{padding: 18px 0;border-top: 1px solid var(--line)}.cause:first-child{border-top: 0;padding-top: 6px}.cause__head{display: flex;align-items: baseline;justify-content: space-between;gap: 12px}.cause h3{font-size: 1.3rem;margin: 0}.cause__level{font-size: 0.78rem;font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;color: var(--petal-deep);background: var(--petal-soft);padding: 4px 10px;border-radius: 999px;white-space: nowrap}.cause p{font-size: 0.97rem;color: var(--ink-soft)}.cause__sub{font-weight: 800;font-size: 0.8rem !important;letter-spacing: 0.1em;text-transform: uppercase;color: var(--leaf) !important;margin-bottom: 6px}.cause ol{margin: 0 0 12px;padding-left: 1.2em;font-size: 0.95rem}.cause__links{list-style: none;margin: 0;padding: 0;font-size: 0.93rem;font-weight: 600}@media (max-width: 900px){.tool__grid{grid-template-columns: 1fr}.tool__result{position: static;max-height: none;overflow: visible;scroll-margin-top: 84px}.tool-bar{position: sticky;bottom: 12px;z-index: 20;display: flex;align-items: center;gap: 10px;padding: 12px 16px;border-radius: 999px;background: #1f4a37;color: #fff;text-decoration: none;box-shadow: var(--shadow-lg);font-size: 0.95rem}.tool-bar[hidden]{display: none}.tool-bar:hover{color: #fff}.layout-diagnostic .tool-bar{background: #6e2445}.tool-bar__label{opacity: 0.75;font-size: 0.82rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase}.tool-bar strong{flex: 1;font-family: var(--display);font-weight: 560;font-size: 1.1rem}.tool-bar__more{font-weight: 700;font-size: 0.85rem;background: rgba(255,255,255,0.16);padding: 5px 12px;border-radius: 999px}}.letters{display: flex;flex-wrap: wrap;gap: 6px;margin: 0 0 32px;position: sticky;top: 72px;z-index: 5;padding: 12px 0;background: var(--bg)}.letters a{display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;border-radius: 12px;background: var(--surface);border: 1px solid var(--line);text-decoration: none;font-family: var(--display);font-weight: 600;font-size: 1.1rem}.letters a:hover{background: var(--leaf);border-color: var(--leaf);color: #fff}.layout-lexique .prose h2{font-size: 2.6rem;font-style: italic;font-weight: 400;color: var(--petal);border-bottom: 1px solid var(--line);padding-bottom: 8px;scroll-margin-top: 150px}.layout-lexique .prose h3{font-size: 1.25rem;margin-top: 1.4em}.layout-calendrier .prose h2.is-current{color: var(--leaf)}.layout-calendrier .prose h2.is-current::after{content: 'Ce mois-ci';display: inline-block;vertical-align: middle;margin-left: 12px;padding: 4px 10px;border-radius: 999px;background: var(--petal-soft);color: var(--petal-deep);font-family: var(--body);font-size: 0.75rem;font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase}.sitemap-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 36px;padding-bottom: clamp(48px,7vw,96px)}.sitemap-grid h2{font-size: 1.35rem}.sitemap-grid h2 a{color: var(--ink);text-decoration: none}.sitemap-grid ul{margin: 0;padding-left: 1.1em;display: grid;gap: 6px;font-size: 0.97rem}@media (max-width: 900px){.sitemap-grid{grid-template-columns: 1fr 1fr}}@media (max-width: 600px){.sitemap-grid{grid-template-columns: 1fr}}.notfound{padding-top: clamp(48px,8vw,96px)}.notfound__code{font-family: var(--display);font-size: clamp(5rem,16vw,9rem);font-style: italic;font-weight: 300;color: var(--petal);line-height: 1;margin: 0}.site-footer{background: #152c21;color: #d9e2da;padding: clamp(48px,7vw,80px) 0 28px;font-size: 0.96rem}.site-footer__grid{display: grid;grid-template-columns: 1.4fr 1fr 1fr 1fr;gap: 36px}.site-footer .logo{color: #fff;margin-bottom: 16px}.site-footer .logo__mark{color: #8cc4a2}.site-footer .logo__text em{color: #f0a8c3}.site-footer p{color: #b8c6bc;max-width: 30em}.site-footer__pledge{max-width: none !important;display: inline-flex;align-items: center;gap: 10px;padding: 8px 14px;border-radius: 999px;background: rgba(255,255,255,0.07);color: #e5ece6 !important;font-weight: 600;font-size: 0.9rem}.site-footer__pledge svg{width: 18px;height: 18px;color: #8cc4a2}.site-footer__title{font-weight: 800;font-size: 0.8rem;letter-spacing: 0.12em;text-transform: uppercase;color: #8cc4a2 !important;margin-bottom: 14px}.site-footer ul{list-style: none;margin: 0;padding: 0;display: grid;gap: 9px}.site-footer a{color: #e5ece6;text-decoration: none}.site-footer a:hover{color: #f0a8c3;text-decoration: underline}.site-footer__bottom{margin-top: 48px;padding-top: 22px;border-top: 1px solid rgba(255,255,255,0.1);font-size: 0.86rem}.site-footer__bottom p{margin: 0;max-width: none;color: #93a597}@media (max-width: 900px){.site-footer__grid{grid-template-columns: 1fr 1fr}.site-footer__brand{grid-column: 1 / -1}}@media (max-width: 520px){.site-footer__grid{grid-template-columns: 1fr}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.01ms !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important}}@media print{.site-header,.site-footer,.article__aside,.hero__actions,.tool__form{display: none !important}body{background: #fff;color: #000}.article__layout{display: block}}