@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Manrope:wght@500;600;700;800&display=swap");

:root {
  --ink: #12100f;
  --paper: #f6f1e9;
  --white: #fffdf9;
  --blue: #ff642e;
  --coral: #e34d16;
  --acid: #ffb07a;
  --orange: #ff642e;
  --orange-deep: #d9470d;
  --night: #101a20;
  --night-2: #17242b;
  --line: rgba(23, 23, 20, .18);
  --muted: rgba(23, 23, 20, .58);
  --sans: "DM Sans", "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  --serif: "DM Sans", "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  --display: "Manrope", "DM Sans", "Segoe UI", Arial, sans-serif;
  --max: 1480px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input { color: inherit; font: inherit; }
button { cursor: pointer; }
::selection { color: var(--white); background: var(--blue); }
.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-link { position: fixed; z-index: 999; left: 1rem; top: -4rem; padding: .8rem 1rem; color: var(--ink); background: var(--acid); font-size: .75rem; font-weight: 800; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--acid); outline-offset: 3px; }

.utility-bar { min-height: 31px; display: flex; align-items: center; gap: 1rem; padding: 0 2.5vw; color: var(--paper); background: var(--ink); font-size: .6rem; font-weight: 750; letter-spacing: .15em; }
.utility-bar__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }
.utility-bar__end { margin-left: auto; color: rgba(244,240,231,.6); }
.editorial-header { position: sticky; z-index: 50; top: 0; min-height: 84px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 3rem; padding: 0 2.5vw; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--paper) 95%, transparent); backdrop-filter: blur(20px); }
.editorial-brand { display: inline-flex; align-items: center; gap: .75rem; font-size: .72rem; font-weight: 900; line-height: .92; }
.editorial-brand__mark { display: grid; place-items: center; width: 41px; aspect-ratio: 1; color: var(--white); background: var(--blue); font-size: .95rem; letter-spacing: -.05em; }
.editorial-nav { display: flex; justify-content: center; gap: clamp(1.2rem, 3vw, 3.4rem); text-transform: uppercase; font-size: .66rem; font-weight: 750; letter-spacing: .13em; }
.editorial-nav a { position: relative; padding: 2.15rem 0; }
.editorial-nav a::after { content: ""; position: absolute; right: 100%; bottom: 1.5rem; left: 0; height: 2px; background: var(--blue); transition: right .22s ease; }
.editorial-nav a:hover::after, .editorial-nav a.is-active::after { right: 0; }
.header-tools { display: flex; align-items: center; gap: .8rem; }
.language-switch, .menu-button { padding: .55rem; border: 0; background: transparent; text-transform: uppercase; font-size: .66rem; font-weight: 850; letter-spacing: .08em; }
.language-switch span:first-child { color: var(--blue); }
.back-home { padding: .72rem 1rem; color: var(--white); background: var(--ink); text-transform: uppercase; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.menu-button { display: none; }

.page-shell { width: min(var(--max), calc(100% - 5vw)); margin-inline: auto; }
.eyebrow { margin: 0; text-transform: uppercase; font-size: .63rem; font-weight: 850; letter-spacing: .18em; }
.eyebrow strong { margin-right: .65rem; color: var(--blue); }
.visual-note { color: var(--muted); font-size: .58rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.section-title { display: grid; grid-template-columns: .6fr 2fr 1fr; gap: 2rem; align-items: end; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.section-title h2 { margin: 0; font-size: clamp(2.7rem, 5vw, 5.7rem); line-height: .9; letter-spacing: -.06em; }
.section-title p { max-width: 36ch; margin: 0; font-family: var(--serif); font-size: 1.05rem; line-height: 1.45; }

.listing-hero { padding: clamp(4.5rem, 8vw, 8rem) 0 clamp(5rem, 8vw, 8rem); }
.listing-hero__top { display: grid; grid-template-columns: .55fr 2.2fr 1fr; gap: 2rem; align-items: end; margin-bottom: 3rem; }
.listing-hero__number { font-size: clamp(4rem, 8vw, 9rem); font-weight: 850; line-height: .72; letter-spacing: -.08em; color: var(--blue); }
.listing-hero h1 { margin: 0; font-size: clamp(4rem, 8vw, 9.2rem); line-height: .78; letter-spacing: -.075em; }
.listing-hero__deck { margin: 0; font-family: var(--serif); font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.5; }
.featured-story { display: grid; grid-template-columns: 1.5fr .7fr; min-height: 620px; border: 1px solid var(--line); background: var(--white); }
.featured-story__visual { position: relative; min-height: 620px; overflow: hidden; }
.featured-story__visual img { height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.02); transition: transform .7s ease; }
.featured-story:hover img { transform: scale(1.018); }
.featured-story__visual .visual-note { position: absolute; right: 0; bottom: 0; left: 0; padding: .75rem 1rem; color: var(--white); background: rgba(23,23,20,.82); }
.featured-story__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 4.5rem); border-left: 1px solid var(--line); }
.story-meta { display: flex; flex-wrap: wrap; gap: .7rem 1.3rem; color: var(--muted); font-size: .57rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.featured-story h2 { margin: 1.7rem 0 1.2rem; font-size: clamp(3rem, 5vw, 6rem); line-height: .85; letter-spacing: -.065em; }
.featured-story__copy > p { margin: 0; font-family: var(--serif); font-size: 1.1rem; line-height: 1.55; }
.story-link { display: inline-flex; align-self: flex-start; gap: .7rem; margin-top: 2rem; padding-bottom: .25rem; border-bottom: 1px solid; text-transform: uppercase; font-size: .64rem; font-weight: 850; letter-spacing: .11em; }

.category-feed { padding-bottom: clamp(6rem, 10vw, 11rem); }
.category-feed__grid { display: grid; grid-template-columns: repeat(12, 1fr); border-left: 1px solid var(--line); }
.story-card { grid-column: span 4; display: flex; flex-direction: column; min-height: 510px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.story-card--wide { grid-column: span 8; display: grid; grid-template-columns: 1.15fr .85fr; }
.story-card__image { min-height: 235px; overflow: hidden; background: #ddd7cb; }
.story-card--wide .story-card__image { min-height: 510px; }
.story-card__image img { height: 100%; object-fit: cover; filter: saturate(.88); transition: transform .6s ease; }
.story-card:hover .story-card__image img { transform: scale(1.025); }
.story-card__copy { display: flex; flex: 1; flex-direction: column; padding: 1.8rem; }
.story-card h3 { margin: 1.4rem 0 .8rem; font-size: clamp(1.8rem, 2.5vw, 3rem); line-height: .92; letter-spacing: -.045em; }
.story-card p { margin: 0; font-family: var(--serif); line-height: 1.45; }
.story-card .story-link { margin-top: auto; padding-top: 1.5rem; }
.editorial-index { padding: clamp(5rem, 8vw, 8rem) 0; color: var(--white); background: var(--ink); }
.editorial-index__inner { width: min(var(--max), calc(100% - 5vw)); margin-inline: auto; }
.editorial-index .section-title { border-color: rgba(255,255,255,.2); }
.editorial-index .section-title p { color: rgba(255,255,255,.68); }
.index-list { margin-top: 2.5rem; border-top: 1px solid rgba(255,255,255,.22); }
.index-row { display: grid; grid-template-columns: 90px .7fr 2fr auto; gap: 1.5rem; align-items: center; padding: 1.3rem 0; border-bottom: 1px solid rgba(255,255,255,.16); transition: color .2s ease, padding .2s ease; }
.index-row:hover { padding-left: .6rem; color: #aebdff; }
.index-row span { font-size: .58rem; font-weight: 800; letter-spacing: .1em; }
.index-row h3 { margin: 0; font-size: clamp(1.4rem, 2.4vw, 2.7rem); letter-spacing: -.04em; }
.index-row em { font-family: var(--serif); }

.article-hero { padding: clamp(4rem, 7vw, 7rem) 0 0; }
.article-hero__top { display: grid; grid-template-columns: .7fr 2.3fr .8fr; gap: 2rem; align-items: start; }
.article-hero h1 { max-width: 1050px; margin: 1.3rem 0 1.5rem; font-size: clamp(4rem, 8.2vw, 9.3rem); line-height: .78; letter-spacing: -.078em; }
.article-hero__deck { max-width: 780px; margin: 0; font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.45; }
.article-hero__side { padding-top: 1.8rem; border-top: 1px solid var(--ink); }
.article-hero__side p { margin: 0 0 1.4rem; color: var(--muted); font-size: .65rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.action-button { width: 100%; min-height: 46px; border: 1px solid var(--ink); background: transparent; text-transform: uppercase; font-size: .62rem; font-weight: 850; letter-spacing: .1em; }
.action-button:hover { color: var(--white); background: var(--ink); }
.article-cover { position: relative; margin: clamp(3rem, 5vw, 5rem) 0 0; min-height: 680px; overflow: hidden; background: #d8d1c5; }
.article-cover img { height: min(75vw, 820px); min-height: 680px; object-fit: cover; filter: saturate(.9) contrast(1.02); }
.article-cover figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; padding: .8rem 1rem; color: var(--white); background: rgba(23,23,20,.84); font-size: .58rem; font-weight: 800; letter-spacing: .1em; }
.article-layout { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.5fr) minmax(220px,.65fr); gap: clamp(2rem, 5vw, 6rem); padding: clamp(5rem, 8vw, 9rem) 0; }
.article-toc { align-self: start; position: sticky; top: 115px; }
.article-toc p, .article-aside > p:first-child { margin: 0 0 1.2rem; font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.article-toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.article-toc li { padding: .8rem 0; border-bottom: 1px solid var(--line); font-family: var(--serif); }
.article-body { min-width: 0; }
.article-body__intro { margin: 0 0 4rem; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1.18; }
.article-section { margin-bottom: 4rem; scroll-margin-top: 120px; }
.article-section h2 { margin: 0 0 1.3rem; font-size: clamp(2.4rem, 4vw, 4.6rem); line-height: .9; letter-spacing: -.055em; }
.article-section p { margin: 0; font-family: var(--serif); font-size: 1.2rem; line-height: 1.72; }
.article-section p + p { margin-top: 1rem; }
.article-section__list { margin: 1.15rem 0 0; padding: 1rem 1rem 1rem 2.35rem; border-left: 3px solid var(--orange, #e8662b); background: rgba(232,102,43,.07); }
.article-section__list li + li { margin-top: .55rem; }
.article-section__links { margin-top: 1.2rem !important; padding-top: .9rem; border-top: 1px solid rgba(25,22,19,.14); font-size: .94rem !important; }
.article-section__links a { color: var(--orange-deep, #a93e12); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-cover img, .story-card img, .news-card img, .category-card img { -webkit-user-drag: none; user-select: none; }
.pull-quote { margin: 4.5rem -8vw; padding: 3.5rem 8vw; color: var(--white); background: var(--blue); font-family: var(--serif); font-size: clamp(2.5rem, 5vw, 5.8rem); font-style: italic; line-height: 1; letter-spacing: -.04em; }
.ad-slot { display: grid; place-items: center; min-height: 150px; margin: 4rem 0; border: 1px solid var(--line); color: var(--muted); background: #eeeae2; text-align: center; }
.ad-slot span { font-size: .56rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.article-aside { align-self: start; padding: 1.5rem; border-top: 5px solid var(--blue); background: var(--white); }
.article-aside ul { margin: 0; padding: 0; list-style: none; }
.article-aside li { padding: 1rem 0; border-bottom: 1px solid var(--line); font-family: var(--serif); line-height: 1.4; }
.article-aside li::before { content: "↳"; margin-right: .6rem; color: var(--blue); font-family: var(--sans); }
.related { padding: clamp(5rem, 8vw, 8rem) 0; border-top: 1px solid var(--line); }
.related-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 2rem; border-left: 1px solid var(--line); }
.related-grid .story-card { grid-column: auto; }

.editorial-footer { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 3rem; padding: 4.5rem 2.5vw 2rem; color: var(--paper); background: var(--ink); border-top: 5px solid var(--blue); }
.editorial-footer p { margin: 0; color: rgba(244,240,231,.66); font-family: var(--serif); font-size: 1.3rem; font-style: italic; }
.editorial-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; text-transform: uppercase; font-size: .62rem; font-weight: 750; letter-spacing: .1em; }
.editorial-footer__legal { grid-column: 1 / -1; margin-top: 2rem !important; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.18); font-family: var(--sans) !important; font-size: .56rem !important; font-style: normal !important; letter-spacing: .12em; }
.toast { position: fixed; z-index: 200; left: 50%; bottom: 2rem; translate: -50% 140%; padding: .9rem 1.2rem; color: var(--white); background: var(--ink); border: 1px solid var(--white); font-size: .68rem; font-weight: 800; transition: translate .25s ease; }
.toast.is-visible { translate: -50% 0; }

.article-share { position: sticky; z-index: 70; top: 78px; display: flex; align-items: center; gap: 1rem; width: min(var(--max), calc(100% - 5vw)); margin: 14px auto -28px; padding: .72rem .8rem .72rem 1.05rem; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; color: var(--white); background: rgba(8,13,16,.94); box-shadow: 0 16px 38px rgba(8,13,16,.18); backdrop-filter: blur(16px); }
.article-share__label { flex: none; padding-right: 1rem; border-right: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.7); font-size: .61rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.article-share__buttons { display: flex; flex: 1; gap: .48rem; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.article-share__buttons::-webkit-scrollbar { display: none; }
.share-chip { display: inline-flex; align-items: center; gap: .48rem; min-height: 38px; flex: none; padding: .4rem .68rem .4rem .42rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: var(--white); background: rgba(255,255,255,.06); font: 750 .65rem/1 var(--sans); transition: border-color .2s ease, background .2s ease, translate .2s ease; }
.share-chip > span { display: grid; place-items: center; min-width: 27px; height: 27px; padding-inline: .3rem; border-radius: 999px; color: var(--night); background: var(--white); font-size: .66rem; font-weight: 900; }
.share-chip:hover { translate: 0 -2px; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.13); }
.share-chip--pinterest > span { color: #fff; background: #bd081c; }
.share-chip--facebook > span { color: #fff; background: #1877f2; }
.share-chip--whatsapp > span { color: #082b18; background: #25d366; }
.share-chip--telegram > span { color: #fff; background: #229ed9; }
.share-chip--linkedin > span { color: #fff; background: #0a66c2; }
.share-chip--instagram > span { color: #fff; background: linear-gradient(135deg,#feda75,#d62976 55%,#4f5bd5); }
.share-chip--copy > span { color: #241006; background: var(--orange); }

@media (max-width: 1050px) {
  .menu-button { display: grid; gap: 5px; width: 36px; }
  .menu-button span { height: 2px; background: var(--ink); }
  .editorial-header { grid-template-columns: auto auto 1fr; gap: 1rem; }
  .editorial-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; gap: 0; padding: 1rem 2.5vw; background: var(--paper); border-bottom: 1px solid var(--line); }
  .editorial-nav.is-open { display: flex; }
  .editorial-nav a { padding: .8rem 0; }
  .editorial-nav a::after { bottom: .45rem; }
  .header-tools { justify-self: end; }
  .featured-story { grid-template-columns: 1.15fr .85fr; }
  .article-hero__top { grid-template-columns: 1fr 2.3fr; }
  .article-hero__side { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; }
  .article-hero__side p { margin: 0; }
  .article-hero__side .action-button { width: auto; padding-inline: 1.5rem; }
  .article-layout { grid-template-columns: minmax(180px,.5fr) minmax(0,1.5fr); }
  .article-aside { grid-column: 2; }
}

@media (max-width: 720px) {
  .article-page { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  .article-share { position: fixed; top: auto; right: .5rem; bottom: calc(.5rem + env(safe-area-inset-bottom)); left: .5rem; width: auto; margin: 0; padding: .5rem; border-radius: 15px; }
  .article-share__label { display: none; }
  .share-chip { min-width: 42px; min-height: 42px; justify-content: center; padding: .35rem; }
  .share-chip > span { min-width: 30px; height: 30px; }
  .share-chip b { display: none; }
  .utility-bar { min-height: 28px; padding: 0 .8rem; font-size: .51rem; }
  .utility-bar__end { display: none; }
  .editorial-header { min-height: 70px; padding: 0 1rem; }
  .editorial-brand__mark { width: 36px; }
  .editorial-brand { font-size: .63rem; }
  .back-home { display: none; }
  .page-shell { width: calc(100% - 1.25rem); }
  .listing-hero { padding-top: 4rem; }
  .listing-hero__top, .section-title { grid-template-columns: 1fr; gap: 1.3rem; }
  .listing-hero__number { font-size: 3.2rem; }
  .listing-hero h1 { font-size: clamp(4rem, 20vw, 6.3rem); }
  .featured-story { grid-template-columns: 1fr; }
  .featured-story__visual { min-height: 470px; }
  .featured-story__copy { border-top: 1px solid var(--line); border-left: 0; }
  .category-feed__grid { grid-template-columns: 1fr; }
  .story-card, .story-card--wide { grid-column: auto; display: flex; min-height: 480px; }
  .story-card--wide .story-card__image { min-height: 300px; }
  .index-row { grid-template-columns: 45px 1fr auto; gap: .8rem; }
  .index-row span:nth-child(2) { display: none; }
  .article-hero { padding-top: 4rem; }
  .article-hero__top { grid-template-columns: 1fr; }
  .article-hero h1 { font-size: clamp(4rem, 19vw, 6.4rem); }
  .article-hero__side { display: block; padding-top: 1rem; }
  .article-hero__side p { margin-bottom: 1rem; }
  .article-hero__side .action-button { width: 100%; }
  .article-cover { min-height: 500px; }
  .article-cover img { height: 620px; min-height: 500px; }
  .article-cover figcaption span:last-child { display: none; }
  .article-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .article-toc { position: static; }
  .article-aside { grid-column: 1; }
  .pull-quote { margin-inline: -.625rem; padding-inline: 1.25rem; }
  .related-grid { grid-template-columns: 1fr; }
  .editorial-footer { grid-template-columns: 1fr; padding-bottom: 4rem; }
  .editorial-footer__legal { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* V05 — denser publication rhythm */
@media (min-width: 721px) {
  .listing-hero { padding: 3.6rem 0 5rem; }
  .listing-hero__top { grid-template-columns: 110px minmax(0,1.7fr) minmax(260px,.7fr); margin-bottom: 2rem; }
  .listing-hero__number { font-size: clamp(3.8rem,5.5vw,6.2rem); }
  .listing-hero h1 { font-size: clamp(4.2rem,6vw,6.8rem); line-height: .82; }
  .featured-story, .featured-story__visual { min-height: 500px; }
  .featured-story h2 { font-size: clamp(2.7rem,4vw,4.7rem); }
  .section-title { grid-template-columns: .45fr 1.5fr .8fr; padding-bottom: 1.4rem; }
  .section-title h2 { font-size: clamp(2.6rem,4vw,4.5rem); }
  .category-feed { padding-bottom: 6rem; }
  .story-card { min-height: 430px; }
  .story-card--wide { grid-template-columns: 1.2fr .8fr; }
  .story-card__image { min-height: 205px; }
  .story-card--wide .story-card__image { min-height: 430px; }
  .editorial-index { padding: 4.5rem 0; }
  .index-list { margin-top: 1.5rem; }
  .index-row { padding: 1rem 0; }
  .index-row h3 { font-size: clamp(1.25rem,1.8vw,2rem); }
  .article-hero { padding-top: 3.6rem; }
  .article-hero h1 { max-width: 980px; font-size: clamp(4rem,6.2vw,7rem); line-height: .82; }
  .article-hero__deck { font-size: clamp(1.15rem,1.6vw,1.5rem); }
  .article-cover { min-height: 540px; margin-top: 3rem; }
  .article-cover img { height: min(62vw,680px); min-height: 540px; }
  .article-layout { padding: 4.5rem 0 6rem; }
  .article-body__intro { margin-bottom: 3rem; font-size: clamp(1.5rem,2.3vw,2.35rem); }
  .article-section { margin-bottom: 3.2rem; }
  .article-section h2 { font-size: clamp(2.2rem,3.2vw,3.5rem); }
  .pull-quote { margin-block: 3.5rem; font-size: clamp(2.4rem,4vw,4.5rem); }
  .related { padding: 4.5rem 0; }
}

@media (max-width: 720px) {
  .listing-hero h1 { font-size: clamp(3.4rem,16vw,5.2rem); }
  .featured-story__visual { min-height: 390px; }
  .story-card, .story-card--wide { min-height: 420px; }
  .article-hero h1 { font-size: clamp(3.4rem,16vw,5.4rem); }
  .article-cover, .article-cover img { min-height: 440px; }
}

/* V06 — typography tuned for long-form reading */
body { font-optical-sizing: auto; font-weight: 400; }
.editorial-brand,
.editorial-nav,
.language-switch,
.menu-button,
.back-home,
.story-meta,
.story-link,
.action-button,
.editorial-footer nav { font-weight: 700; }
.listing-hero h1,
.featured-story h2,
.section-title h2,
.article-hero h1,
.article-section h2 {
  font-weight: 700;
  line-height: .92;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.story-card h3,
.index-row h3 {
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.026em;
  text-wrap: pretty;
}
.listing-hero__deck,
.featured-story__copy > p,
.story-card p,
.article-hero__deck,
.article-body__intro,
.article-section p,
.article-toc li,
.article-aside li,
.editorial-footer p {
  font-weight: 400;
  letter-spacing: -.006em;
}
.article-section p { line-height: 1.68; }
.pull-quote { letter-spacing: -.018em; }

/* V09 — clean contemporary reading system */
.listing-hero h1,
.featured-story h2,
.section-title h2,
.story-card h3,
.index-row h3,
.article-hero h1,
.article-section h2,
.listing-hero__number,
.pull-quote {
  font-family: var(--display);
}
.listing-hero h1,
.article-hero h1 {
  font-size: clamp(3.2rem, 5.5vw, 6rem);
  line-height: .94;
  letter-spacing: -.04em;
}
.featured-story h2,
.section-title h2,
.article-section h2 {
  line-height: .98;
  letter-spacing: -.032em;
}
.story-card h3,
.index-row h3 {
  line-height: 1.06;
  letter-spacing: -.02em;
}
.listing-hero__deck,
.featured-story__copy > p,
.story-card p,
.index-row em,
.article-hero__deck,
.article-body__intro,
.article-section p,
.article-toc li,
.article-aside li,
.editorial-footer p,
.pull-quote {
  font-family: var(--sans);
  font-style: normal;
}
.listing-hero__deck,
.article-hero__deck { color: rgba(23,23,20,.74); line-height: 1.62; }
.article-body__intro { line-height: 1.38; letter-spacing: -.025em; font-weight: 500; }
.article-section p { color: rgba(23,23,20,.82); line-height: 1.75; }
.pull-quote { font-weight: 600; line-height: 1.08; letter-spacing: -.028em; }
.editorial-footer p { font-style: normal; }

/* V10 — Manrope / DM Sans orange edition */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: dh-fade-out .16s ease both; }
::view-transition-new(root) { animation: dh-fade-in .24s ease both; }
@keyframes dh-fade-out { to { opacity: 0; transform: translateY(-4px); } }
@keyframes dh-fade-in { from { opacity: 0; transform: translateY(7px); } }

.breadcrumbs { display:flex; align-items:center; gap:.55rem; padding-top:1rem; color:rgba(255,255,255,.66); font:600 .72rem/1.4 var(--sans); letter-spacing:.06em; text-transform:uppercase; }
.breadcrumbs a { color:inherit; text-decoration:none; }
.breadcrumbs a:hover { color:var(--orange); }
.breadcrumbs span:last-child { color:rgba(255,255,255,.9); max-width:42rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.article-pagination { display:grid; grid-template-columns:1fr minmax(12rem,.6fr) 1fr; gap:1px; margin-top:3rem; margin-bottom:5rem; padding:0; overflow:hidden; border:1px solid rgba(255,100,46,.35); border-radius:1.25rem; background:rgba(255,100,46,.35); }
.article-pagination a { min-height:9rem; display:flex; flex-direction:column; justify-content:space-between; gap:1rem; padding:1.4rem; color:#fff; background:var(--night); text-decoration:none; transition:background .2s ease,color .2s ease; }
.article-pagination a:hover { background:var(--orange); color:var(--night); }
.article-pagination span { font:700 .7rem/1 var(--sans); letter-spacing:.09em; text-transform:uppercase; }
.article-pagination strong { font:700 clamp(1rem,1.4vw,1.25rem)/1.25 var(--display); letter-spacing:-.035em; }
.article-pagination__category { text-align:center; align-items:center; }
@media (max-width:760px) { .breadcrumbs span:last-child { max-width:12rem; } .article-pagination { grid-template-columns:1fr; } .article-pagination a { min-height:7rem; } }
body { color: var(--ink); background: var(--paper); }
::selection { color: var(--night); background: var(--orange); }
:focus-visible { outline-color: var(--orange); }
.utility-bar { color: #ffe7d8; background: #080d10; }
.utility-bar__dot { background: var(--orange); }
.editorial-header { min-height: 78px; border-color: rgba(18,16,15,.13); background: rgba(248,243,235,.96); }
.editorial-brand { font-family: var(--display); letter-spacing: -.03em; }
.editorial-brand__mark { border-radius: 11px; background: var(--orange); }
.editorial-nav { font-family: var(--sans); font-size: .68rem; letter-spacing: .045em; text-transform: none; }
.editorial-nav a::after { background: var(--orange); }
.language-switch span:first-child { color: var(--orange-deep); }
.back-home { border-radius: 10px; background: var(--night); }
.eyebrow strong, .listing-hero__number { color: var(--orange); }

.listing-hero { width: min(var(--max),calc(100% - 3vw)); margin-top: 18px; padding: clamp(3.5rem,6vw,6rem) clamp(1.4rem,4vw,4.5rem); border: 1px solid rgba(255,255,255,.12); border-radius: 24px; color: var(--white); background: radial-gradient(circle at 86% 5%,rgba(255,100,46,.2),transparent 28%), var(--night); }
.listing-hero__top { grid-template-columns: 100px minmax(0,1.55fr) minmax(270px,.65fr); }
.listing-hero h1 { font-family: var(--display); font-size: clamp(3.8rem,6vw,6.9rem); font-weight: 700; line-height: 1; letter-spacing: -.06em; }
.listing-hero__deck { color: rgba(255,255,255,.68); font-family: var(--sans); font-size: 1.08rem; line-height: 1.65; }
.featured-story { min-height: 560px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; color: var(--white); background: var(--night-2); overflow: hidden; }
.featured-story__visual { min-height: 560px; }
.featured-story__copy { border-color: rgba(255,255,255,.13); }
.featured-story .story-meta { color: rgba(255,255,255,.58); }
.featured-story .story-meta span:first-child { color: #ff9a64; }
.featured-story h2 { font-family: var(--display); font-weight: 700; line-height: 1.04; letter-spacing: -.05em; }
.featured-story__copy > p { color: rgba(255,255,255,.66); font-family: var(--sans); line-height: 1.65; }
.story-link { border: 0; border-radius: 10px; padding: .82rem 1rem; color: #241006; background: var(--orange); }

.category-feed { padding-top: 6rem; }
.section-title { border-color: rgba(18,16,15,.2); }
.section-title h2 { font-family: var(--display); font-weight: 700; line-height: 1.04; letter-spacing: -.05em; }
.section-title p { font-family: var(--sans); line-height: 1.6; }
.category-feed__grid { gap: 14px; border: 0; }
.story-card { border: 1px solid rgba(18,16,15,.12); border-radius: 17px; background: var(--white); overflow: hidden; }
.story-card h3 { font-family: var(--display); font-weight: 700; line-height: 1.14; letter-spacing: -.035em; }
.story-card p { color: rgba(18,16,15,.68); font-family: var(--sans); line-height: 1.58; }
.story-card .story-link { color: var(--orange-deep); background: transparent; padding-inline: 0; }
.editorial-index { color: #241006; background: linear-gradient(115deg,#ff642e,#ff9a64); }
.editorial-index .section-title { border-color: rgba(36,16,6,.22); }
.editorial-index .section-title p { color: rgba(36,16,6,.68); }
.index-list { border-color: rgba(36,16,6,.2); }
.index-row { border-color: rgba(36,16,6,.17); }
.index-row:hover { color: #fff5ed; }
.index-row h3 { font-family: var(--display); font-weight: 700; }
.index-row em { font-family: var(--sans); }

.article-hero { width: min(var(--max),calc(100% - 3vw)); margin-top: 18px; padding: clamp(3.5rem,6vw,6rem) clamp(1.4rem,4vw,4.5rem) 0; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; color: var(--white); background: radial-gradient(circle at 90% 0,rgba(255,100,46,.18),transparent 30%), var(--night); overflow: hidden; }
.article-hero h1 { color: var(--white); font-family: var(--display); font-size: clamp(3.7rem,6.1vw,6.8rem); font-weight: 700; line-height: 1.02; letter-spacing: -.06em; }
.article-hero__deck { color: rgba(255,255,255,.7); font-family: var(--sans); line-height: 1.6; }
.article-hero__side { border-color: rgba(255,255,255,.3); }
.article-hero__side p { color: rgba(255,255,255,.56); }
.action-button { border-color: rgba(255,255,255,.38); border-radius: 10px; color: var(--white); }
.action-button:hover { color: #241006; background: var(--orange); }
.article-cover { min-height: 580px; border-radius: 18px 18px 0 0; }
.article-cover img { min-height: 580px; }
.article-cover figcaption { background: rgba(8,13,16,.86); }
.article-layout { padding-top: 6rem; }
.article-body__intro { font-family: var(--display); font-weight: 600; line-height: 1.35; letter-spacing: -.035em; }
.article-section h2 { font-family: var(--display); font-weight: 700; line-height: 1.08; letter-spacing: -.045em; }
.article-section p { color: rgba(18,16,15,.78); font-family: var(--sans); font-size: 1.13rem; line-height: 1.82; }
.article-toc li, .article-aside li { font-family: var(--sans); }
.pull-quote { border-radius: 18px; color: #241006; background: linear-gradient(120deg,#ff642e,#ff9b63); font-family: var(--display); font-style: normal; font-weight: 700; line-height: 1.08; }
.ad-slot { border-style: dashed; border-color: rgba(227,77,22,.35); border-radius: 15px; color: var(--orange-deep); background: rgba(255,100,46,.06); }
.article-aside { border-top-color: var(--orange); border-radius: 0 0 14px 14px; background: #fff7ef; }
.article-aside li::before { color: var(--orange); }
.related-grid { gap: 14px; border: 0; }
.article-enrichment { display:grid; gap:3.5rem; margin-top:5rem; }
.quick-answer { padding:1.5rem 1.6rem; border:1px solid rgba(227,77,22,.24); border-left:5px solid var(--orange); border-radius:0 16px 16px 0; background:#fff7ef; }
.quick-answer > span, .decision-matrix header > span, .application-checklist > span, .article-faq header > span { display:block; margin-bottom:.75rem; color:var(--orange-deep); font:800 .65rem/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.quick-answer p { margin:0; color:var(--night); font:650 1.08rem/1.65 var(--sans); }
.decision-matrix h2, .application-checklist h2, .editorial-notes h2, .article-faq h2 { margin:0; font-family:var(--display); letter-spacing:-.035em; }
.decision-matrix h2, .application-checklist h2, .article-faq h2 { font-size:clamp(2rem,3vw,3.25rem); }
.decision-matrix header, .article-faq header { margin-bottom:1.3rem; }
.decision-table { overflow:hidden; border:1px solid rgba(18,16,15,.14); border-radius:15px; }
.decision-table__head, .decision-table__row { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr); }
.decision-table__head { color:#fff; background:var(--night); }
.decision-table__head strong { padding:.85rem 1rem; font:800 .67rem/1.3 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.decision-table__row + .decision-table__row { border-top:1px solid rgba(18,16,15,.11); }
.decision-table__row b, .decision-table__row span { padding:1.05rem 1rem; font:600 .9rem/1.55 var(--sans); }
.decision-table__row b { color:var(--orange-deep); background:rgba(255,100,46,.06); }
.application-checklist { display:grid; grid-template-columns:75px 1fr; gap:1.4rem; padding:1.7rem; border-radius:17px; color:#fff; background:var(--night); }
.application-checklist > span { color:#ff9a64; }
.application-checklist ol { display:grid; gap:.2rem; margin:1.2rem 0 0; padding:0; list-style:none; }
.application-checklist li { display:flex; align-items:center; gap:.85rem; padding:.8rem 0; border-top:1px solid rgba(255,255,255,.12); font:650 .94rem/1.4 var(--sans); }
.application-checklist li span { display:grid; place-items:center; width:1.6rem; height:1.6rem; flex:none; border-radius:50%; color:#241006; background:var(--orange); }
.editorial-notes { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.editorial-notes article { display:grid; grid-template-columns:42px 1fr; gap:1rem; padding:1.4rem; border:1px solid rgba(18,16,15,.12); border-radius:15px; background:#fff; }
.editorial-notes article > span { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#241006; background:var(--orange); font:850 1.1rem/1 var(--sans); }
.editorial-notes h2 { font-size:1.2rem; }
.editorial-notes p { margin:.55rem 0 0; color:rgba(18,16,15,.72); font:500 .9rem/1.6 var(--sans); }
.article-faq { padding-top:1rem; }
.article-faq details { border-top:1px solid rgba(18,16,15,.17); }
.article-faq details:last-child { border-bottom:1px solid rgba(18,16,15,.17); }
.article-faq summary { display:flex; justify-content:space-between; gap:1rem; padding:1.2rem 0; cursor:pointer; font:750 1rem/1.45 var(--sans); list-style:none; }
.article-faq summary::-webkit-details-marker { display:none; }
.article-faq summary span { color:var(--orange-deep); font-size:1.2rem; }
.article-faq details[open] summary span { transform:rotate(45deg); }
.article-faq details p { margin:0 0 1.35rem; color:rgba(18,16,15,.72); font:500 .98rem/1.72 var(--sans); }
.editorial-footer { border-color: var(--orange); background: #080d10; }
.editorial-footer p { font-family: var(--display); font-style: normal; }
.toast { border-radius: 12px; background: var(--orange-deep); }

@media (max-width: 1050px) {
  .editorial-nav { background: var(--paper); }
  .listing-hero__top { grid-template-columns: 82px 1fr; }
  .listing-hero__deck { grid-column: 2; }
}

@media (max-width: 720px) {
  .listing-hero, .article-hero { width: calc(100% - 1rem); margin-top: .5rem; padding-inline: 1rem; border-radius: 18px; }
  .listing-hero__top { grid-template-columns: 1fr; }
  .listing-hero__deck { grid-column: 1; }
  .listing-hero h1, .article-hero h1 { font-size: clamp(3rem,10.5vw,4.25rem); line-height: 1.04; }
  .featured-story { grid-template-columns: 1fr; border-radius: 16px; }
  .featured-story__copy { border-color: rgba(255,255,255,.14); }
  .category-feed { padding-top: 4rem; }
  .category-feed__grid { gap: 12px; }
  .story-card, .story-card--wide { border-radius: 15px; }
  .article-cover { min-height: 440px; border-radius: 15px 15px 0 0; }
  .article-cover img { min-height: 440px; }
  .pull-quote { border-radius: 14px; }
  .article-enrichment { gap:2.6rem; margin-top:3.5rem; }
  .decision-table__head { display:none; }
  .decision-table__row { grid-template-columns:1fr; }
  .decision-table__row b { padding-bottom:.35rem; }
  .decision-table__row span { padding-top:.35rem; }
  .application-checklist { grid-template-columns:1fr; }
  .editorial-notes { grid-template-columns:1fr; }
}

/* V12 — expert guide hubs */
.guide-hubs-home { padding:clamp(5rem,8vw,8rem) 0; color:#fff; background:var(--night); }
.guide-hubs-home .category-header { border-color:rgba(255,255,255,.18); }
.guide-hubs-home .category-header > p { color:rgba(255,255,255,.62); }
.guide-hubs-home__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:2rem; border:1px solid rgba(255,255,255,.14); border-radius:20px; overflow:hidden; background:rgba(255,255,255,.14); }
.guide-hubs-home__grid a { min-height:270px; display:flex; flex-direction:column; padding:1.25rem; color:#fff; background:#10191d; text-decoration:none; transition:background .2s ease,color .2s ease; }
.guide-hubs-home__grid a:hover { color:#241006; background:var(--orange); }
.guide-hubs-home__grid span { color:#ff9a64; font:800 .66rem/1 var(--sans); letter-spacing:.1em; }
.guide-hubs-home__grid a:hover span { color:#241006; }
.guide-hubs-home__grid h3 { margin:2rem 0 .7rem; font:750 1.45rem/1.02 var(--display); letter-spacing:-.04em; }
.guide-hubs-home__grid p { margin:0; color:rgba(255,255,255,.58); font:500 .84rem/1.55 var(--sans); }
.guide-hubs-home__grid a:hover p { color:rgba(36,16,6,.7); }
.guide-hubs-home__grid b { margin-top:auto; padding-top:1.25rem; font:800 .66rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.guide-hub-page { background:var(--paper); }
.guide-nav { gap:1rem; }
.guide-nav a { font-size:.62rem; }
.guide-hero { width:min(var(--max),calc(100% - 3vw)); margin:18px auto 0; padding:clamp(3.5rem,7vw,7rem) 0 3rem; border-radius:24px; color:#fff; background:radial-gradient(circle at 88% 12%,rgba(255,100,46,.25),transparent 28%),var(--night); overflow:hidden; }
.guide-breadcrumb { display:flex; gap:.55rem; margin-bottom:3rem; color:rgba(255,255,255,.58); font:700 .7rem/1 var(--sans); letter-spacing:.07em; text-transform:uppercase; }
.guide-breadcrumb a { color:inherit; text-decoration:none; }
.guide-hero .page-shell > p { color:#ff9a64; font:800 .7rem/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.guide-hero h1 { max-width:1050px; margin:1.1rem 0 3.5rem; font:750 clamp(3.3rem,7vw,7.2rem)/.92 var(--display); letter-spacing:-.065em; }
.guide-hero__bottom { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr); gap:4rem; align-items:end; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.18); }
.guide-hero__bottom > p { max-width:700px; margin:0; color:rgba(255,255,255,.68); font:500 1.05rem/1.7 var(--sans); }
.guide-hero dl { display:grid; grid-template-columns:1fr 1fr; margin:0; }
.guide-hero dl div { padding-left:1.2rem; border-left:1px solid rgba(255,255,255,.2); }
.guide-hero dt { font:750 2.8rem/1 var(--display); }
.guide-hero dd { margin:.4rem 0 0; color:rgba(255,255,255,.55); font:700 .65rem/1.3 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.guide-start { padding:clamp(5rem,8vw,8rem) 0; }
.guide-start > header, .guide-library header { display:grid; grid-template-columns:160px 1fr; align-items:end; padding-bottom:1.5rem; border-bottom:1px solid rgba(18,16,15,.17); }
.guide-start > header span, .guide-library header span { color:var(--orange-deep); font:800 .66rem/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.guide-start h2, .guide-library h2 { margin:0; font:750 clamp(2.6rem,5vw,5.5rem)/.96 var(--display); letter-spacing:-.055em; }
.guide-start__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:2rem; border:1px solid rgba(18,16,15,.13); border-radius:18px; overflow:hidden; background:rgba(18,16,15,.13); }
.guide-start__grid article { min-height:310px; padding:1.35rem; background:#fff; }
.guide-start__grid article > span { color:var(--orange-deep); font:800 .7rem/1 var(--sans); }
.guide-start__grid h3 { margin:3rem 0 1rem; font:750 1.65rem/1.04 var(--display); letter-spacing:-.04em; }
.guide-start__grid p { margin:0; color:rgba(18,16,15,.62); font:500 .88rem/1.6 var(--sans); }
.guide-start aside { display:grid; grid-template-columns:160px 1fr; gap:0; margin-top:1.5rem; padding:1.3rem; border-left:5px solid var(--orange); background:#fff7ef; }
.guide-start aside strong { color:var(--orange-deep); font:800 .68rem/1.4 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.guide-start aside p { max-width:850px; margin:0; font:600 .94rem/1.65 var(--sans); }
.guide-library { padding:clamp(5rem,8vw,8rem) 0; color:#fff; background:var(--night); }
.guide-library header { grid-template-columns:160px minmax(0,1fr) minmax(260px,.6fr); border-color:rgba(255,255,255,.18); }
.guide-library header p { margin:0; color:rgba(255,255,255,.58); font:500 .92rem/1.6 var(--sans); }
.guide-library__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:2rem; }
.guide-library__card { display:grid; grid-template-columns:45% 1fr; min-height:330px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:17px; color:#fff; background:#10191d; text-decoration:none; }
.guide-library__card img { width:100%; height:100%; min-height:330px; object-fit:cover; }
.guide-library__card > div { display:flex; flex-direction:column; padding:1.25rem; }
.guide-library__card span { color:#ff9a64; font:800 .65rem/1 var(--sans); letter-spacing:.08em; }
.guide-library__card h3 { margin:1.4rem 0 .8rem; font:750 1.65rem/1.04 var(--display); letter-spacing:-.04em; }
.guide-library__card p { margin:0; color:rgba(255,255,255,.58); font:500 .85rem/1.55 var(--sans); }
.guide-library__card b { margin-top:auto; padding-top:1.2rem; color:#ff9a64; font:800 .66rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:1050px) { .guide-hubs-home__grid, .guide-start__grid { grid-template-columns:repeat(2,1fr); } .guide-library__card { grid-template-columns:40% 1fr; } }
@media (max-width:760px) { .guide-hubs-home__grid, .guide-start__grid, .guide-library__grid { grid-template-columns:1fr; } .guide-hero { width:calc(100% - 1rem); margin-top:.5rem; padding-inline:1rem; border-radius:18px; } .guide-hero__bottom { grid-template-columns:1fr; gap:2rem; } .guide-start > header, .guide-library header, .guide-start aside { grid-template-columns:1fr; gap:1rem; } .guide-library__card { grid-template-columns:1fr; } .guide-library__card img { min-height:260px; height:260px; } }

/* V12 — decorating calculators */
.tools-promo { display:grid; grid-template-columns:140px minmax(0,1.2fr) minmax(220px,.65fr) auto; gap:2rem; align-items:center; margin-block:clamp(4rem,7vw,7rem); padding:2rem; border:1px solid rgba(18,16,15,.14); border-radius:18px; color:#fff; background:radial-gradient(circle at 80% 0,rgba(255,100,46,.3),transparent 30%),var(--night); }
.tools-promo > div span { color:var(--orange); font:800 1.5rem/1 var(--display); }
.tools-promo > div p { margin:.5rem 0 0; color:rgba(255,255,255,.55); font:800 .62rem/1.4 var(--sans); letter-spacing:.1em; }
.tools-promo h2 { margin:0; font:750 clamp(2rem,3.7vw,4.4rem)/.96 var(--display); letter-spacing:-.055em; }
.tools-promo > p { margin:0; color:rgba(255,255,255,.62); font:500 .9rem/1.6 var(--sans); }
.tools-promo > a { padding:.9rem 1.1rem; border-radius:10px; color:#241006; background:var(--orange); font:800 .7rem/1 var(--sans); letter-spacing:.06em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.tools-hero { width:min(var(--max),calc(100% - 3vw)); margin:18px auto 0; padding:clamp(4rem,8vw,8rem) 0; border-radius:24px; color:#fff; background:radial-gradient(circle at 85% 10%,rgba(255,100,46,.28),transparent 30%),var(--night); }
.tools-hero p:first-child { color:#ff9a64; font:800 .68rem/1 var(--sans); letter-spacing:.12em; }
.tools-hero h1 { margin:1.2rem 0 2rem; font:750 clamp(4rem,9vw,9rem)/.86 var(--display); letter-spacing:-.075em; }
.tools-hero h1 + p { max-width:760px; margin:0; color:rgba(255,255,255,.68); font:500 1.1rem/1.7 var(--sans); }
.tools-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:clamp(5rem,8vw,8rem) 0; }
.calculator-card { overflow:hidden; border:1px solid rgba(18,16,15,.14); border-radius:18px; background:#fff; }
.calculator-card > header { display:grid; grid-template-columns:65px 1fr; gap:1rem; min-height:190px; padding:1.4rem; color:#fff; background:#10191d; }
.calculator-card > header > span { color:#ff9a64; font:800 .7rem/1 var(--sans); }
.calculator-card h2 { margin:0 0 .75rem; font:750 2rem/1 var(--display); letter-spacing:-.045em; }
.calculator-card header p { margin:0; color:rgba(255,255,255,.6); font:500 .87rem/1.6 var(--sans); }
.calculator-card form { padding:1.4rem; }
.calculator-fields { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.calculator-fields label { display:grid; gap:.45rem; }
.calculator-fields label span { color:rgba(18,16,15,.66); font:700 .66rem/1.3 var(--sans); letter-spacing:.04em; }
.calculator-fields input { width:100%; min-height:46px; padding:.65rem .75rem; border:1px solid rgba(18,16,15,.18); border-radius:9px; color:var(--night); background:#fbf8f3; font:700 .95rem/1 var(--sans); }
.calculator-card button { width:100%; margin-top:1rem; padding:.9rem 1rem; border:0; border-radius:10px; color:#241006; background:var(--orange); font:850 .72rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.calculator-card output { display:none; margin-top:1rem; padding:1rem; border-left:4px solid var(--orange); border-radius:0 10px 10px 0; color:var(--night); background:#fff3e9; font:700 .9rem/1.55 var(--sans); }
.calculator-card output.is-visible { display:block; }
.tools-note { display:grid; grid-template-columns:150px 1fr; gap:1.5rem; margin-bottom:clamp(5rem,8vw,8rem); padding:1.4rem; border-left:5px solid var(--orange); background:#fff7ef; }
.tools-note strong { color:var(--orange-deep); font:800 .67rem/1.4 var(--sans); letter-spacing:.09em; }
.tools-note p { margin:0; font:600 .94rem/1.65 var(--sans); }
@media (max-width:900px) { .tools-promo { grid-template-columns:100px 1fr; } .tools-promo > p, .tools-promo > a { grid-column:2; } }
@media (max-width:720px) { .tools-promo, .tools-grid { grid-template-columns:1fr; } .tools-promo > p, .tools-promo > a { grid-column:1; } .tools-hero { width:calc(100% - 1rem); margin-top:.5rem; padding-inline:1rem; border-radius:18px; } .calculator-fields { grid-template-columns:1fr; } .tools-note { grid-template-columns:1fr; } }
