/*
Theme Name: Dentosofia
Theme URI: https://dentosofia.sk/
Author: Dentosofia
Description: Custom editorial WordPress theme for Dentosofia.sk. V2.7.23 adds a new page, /montaud-vo-svete/, a world-wide multi-language round-up of articles, reviews, and critical/testimonial reactions about Michel Montaud and dentosofia (~48 verified sources across FR/EN/SK+CZ/ES+DE), linked from /michel-montaud/ and the footer. V2.7.24 makes /montaud-vo-svete/ work purely from this theme package, the same way /prednasky/{slug}/ already does — no WP Page needs to be created in wp-admin. V2.7.25 adds a "Rádio" section to /montaud-vo-svete/ with 2 verified, caveated radio findings. V2.7.26 adds a "read more" expansion (native details/summary, no new JS) with our own contextual summary to 43 of the 46 source cards on /montaud-vo-svete/. V2.7.27 adds two new language regions to /montaud-vo-svete/ — Taliansko (4 sources) and Portugalsko (2 sources) — bringing the page to ~52 verified sources across 7 regions. V2.7.28 is a site-wide design/UX pass: raises the smallest CD-01 body-text sizes (10.5–12px) to a readable 13px floor, fixes a grid "orphan last row" bug on /montaud-vo-svete/, /michel-montaud/, the homepage and /poznanie/ by converting fixed 4-column grids to flexbox so an incomplete last row stretches evenly instead of leaving empty space, and finally loads the real Inter web font via Google Fonts (previously referenced in CSS but never enqueued). V2.7.29 fixes 3 broken links on front-page.php (nested /dentosofia/antropozofia/ and /dentosofia/veda-a-dokazy/ paths that didn't match the theme's actual flat slugs, corrected to /dentosofia-antropozofia/ and /veda-a-dokazy/ — the same bug footer.php had already fixed in V2.7.8, missed on the homepage) and audits the site's navigation depth (no fix needed there — every main page is already one click away via the sticky sitewide header, see changelog). V2.7.30 completes the theme's Hungarian/Polylang readiness: dentosofia_register_polylang_strings() now registers all 399 unique dentosofia_tr()-wrapped strings site-wide (auto-extracted from the templates), grouped by page for Polylang's Strings-translation screen, instead of only 9 nav/UI strings — the actual Hungarian (and Czech/English) translations still need to be entered in wp-admin once Polylang is active; see the new POLYLANG-SETUP.md. V2.7.31 removes that manual-typing step for Hungarian: a first-draft machine translation of all 399 strings now ships inside the theme (dentosofia_hu_translations()), and a new one-click tool (Nástroje → Dentosofia HU preklady) imports it straight into Polylang's own string-translation storage via PLL_MO — no copy-pasting through Preklady reťazcov required. The import only fills in translations that are still empty, so it can be run again safely without overwriting anything typed or corrected by hand afterwards. This is still a machine-translation draft, not a native-speaker-reviewed final text — see POLYLANG-SETUP.md. V2.7.32 fixes screenshot.png: its version badge had been hardcoded to "V2.7.27" since that version and just kept getting copied forward unchanged (never actually regenerated) all the way through V2.7.31 — the real version was always correct in this Version: line, but the thumbnail shown in wp-admin's theme list/Customizer was stuck and misleading. The generator script now always takes the version as an explicit argument. V2.7.33 fixes the real reason the homepage stayed almost entirely untranslated after V2.7.31's Hungarian import: front-page.php and page-reservation-fullwidth.php — the homepage and the booking page, the two most visited pages on the site — had never been wrapped in dentosofia_tr() at all, so their text could never be translated no matter what was imported into Polylang. All 46 (+3 on the booking page) literal strings on these two templates are now wrapped, 77 new strings were extracted and added to the Hungarian translation set (399 → 476 total), and the one-click import tool now covers them too. V2.7.34 follows up on a precise, fully re-audited pass of every template (not just the ones already known to be wrapped): page.php's 3 reachable legacy pages (/dentosofia-antropozofia/, /prednasky/, /veda-a-dokazy/ — reachable because they have no dedicated page-{slug}.php override), lecture-detail.php (the actual template WordPress serves for every individual /prednasky/{slug}/ lecture page), category.php (every /category/{slug}/ archive) and single.php (the landing template for individual "prednaska"/"pribeh" post-type entries) were previously wrapped 0% — genuinely reachable, linked pages that stayed entirely untranslatable, not the low-traffic system pages they were first mistaken for. All four are now fully wrapped in dentosofia_tr(); 74 new strings were extracted, registered, and given first-draft Hungarian translations (476 → 550 total). This version also ships CZ (Czech) and EN (English) machine-translation groundwork for all 550 strings (dentosofia_cz_translations() / dentosofia_en_translations()) — prepared ahead of time but not yet activated anywhere, since Czech/English are not yet added as languages in Polylang — and generalizes the former Hungarian-only one-click import tool (Nástroje → Dentosofia preklady) so the same import works for hu/cs/en alike once each language is added. Going forward, every new page/template/string created for this site is wrapped in dentosofia_tr() and registered for translation as part of creating it, not as a later clean-up pass.
Version: 2.7.50
Text Domain: dentosofia
*/
/* V2.7.50 — CUSTOM TRANSLATION SYSTEM, Polylang no longer required.
   Replaces the Polylang-dependent translation layer (V2.7.30–34) entirely, per
   explicit user direction: no per-language duplicate WordPress pages, and no
   external/paid translation API of any kind. See inc/dentosofia-custom-i18n.php
   for the full implementation. Two parts:
   (1) UI strings (menu/footer/buttons) — dentosofia_tr() now reads from a
       built-in seed dataset (the exact same 550 SK/HU/CS/EN texts already in
       functions.php, just no longer fed to Polylang) merged with edits made at
       Nástroje → Dentosofia preklady. No Polylang install/activation needed.
   (2) Per-page body content/title — translated directly on the existing
       Slovak Page via a new meta box ("Dentosofia — preklady obsahu stránky"),
       stored as postmeta, never a separate duplicate post. URLs use a
       /{lang}/{slug}/ prefix (e.g. /hu/kontakt/), handled by plain WordPress
       rewrite rules — no plugin dependency for routing either.
   Every translated field falls back to the Slovak original when empty, so a
   missing translation never shows a blank page or the wrong language.
   The 7 Hungarian page texts drafted in the previous (rejected) Polylang-
   duplicate approach are carried over via a one-time migration tool on the
   same admin screen (Nástroje → Dentosofia preklady) rather than re-typed. */
:root{
  --paper:#f9f9f9;
  --white:#ffffff;
  --teal:#509961;
  --teal2:#438452;
  --gold:#e09900;
  --graphite:#4a4a4a;
  --sage:#dcebdd;
  --line:#e5e5e5;
  --radius:24px;
  --shadow:0 18px 50px rgba(80,153,97,.14);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--graphite);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}h1,h2,h3,.big-copy,.quote,blockquote{font-family:Georgia,"Times New Roman",serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;padding:15px 4vw;background:rgba(245,240,230,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,63,66,.08)}.brand{display:flex;align-items:center;gap:11px;min-width:190px}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:var(--paper);font-family:Georgia;font-size:22px}.brand-copy{display:flex;flex-direction:column;line-height:1.05;letter-spacing:.11em;color:var(--teal)}.brand-copy small{font-size:9px;letter-spacing:.12em;color:var(--gold);margin-top:4px}.nav{display:flex;gap:18px;flex:1;justify-content:center;font-size:14px}.nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}.nav a{opacity:.8}.nav a:hover{opacity:1;color:var(--teal)}.header-actions{display:flex;align-items:center;gap:14px}.langs{display:flex;gap:4px}.lang{font-size:11px;padding:5px;opacity:.55}.lang.active{opacity:1;color:var(--teal);font-weight:700;border-bottom:1px solid var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:var(--white);padding:13px 19px;border-radius:999px;font-weight:700;font-size:14px}.btn:hover{background:var(--teal2)}.btn-small{padding:10px 15px;font-size:12px}.btn-light{background:var(--white);color:var(--teal)}.menu-toggle{display:none;background:transparent;border:0;font-size:25px;color:var(--teal)}
.hero{min-height:720px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:5vw;padding:80px 7vw 70px;background:radial-gradient(circle at 80% 20%,rgba(181,138,66,.12),transparent 28%),linear-gradient(180deg,var(--paper),#efe7d9)}.hero-copy{max-width:760px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--gold);margin:0 0 18px}.eyebrow.light{color:#d9bc82}.hero h1,.section-heading h2,.story-copy h2,.human-copy h2,.activator-copy h2,.consultation h2{font-weight:500;color:var(--teal);line-height:.98;margin:0}.hero h1{font-size:clamp(54px,6vw,92px)}.hero h1 em,.activator-copy h2 em{font-weight:400;color:var(--gold)}.lead{font-size:19px;max-width:690px;margin:28px 0;color:#46443e}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.text-link{font-weight:700;color:var(--teal);font-size:14px}.text-link span{color:var(--gold);margin-left:6px}.text-link.light{color:var(--white)}.hero-notes{display:flex;flex-wrap:wrap;gap:10px;margin-top:50px}.hero-notes span{border:1px solid rgba(7,63,66,.2);border-radius:999px;padding:7px 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.hero-art{position:relative;min-height:560px;display:grid;place-items:center;overflow:hidden}.hero-art svg{width:min(520px,100%);filter:drop-shadow(0 30px 50px rgba(7,63,66,.08))}.orbit{position:absolute;border:1px solid rgba(7,63,66,.15);border-radius:50%;max-width:92vw;max-height:92vw}.orbit-1{width:470px;height:470px}.orbit-2{width:610px;height:330px;transform:rotate(-20deg)}.art-caption{position:absolute;bottom:4%;right:8%;font-family:Georgia;color:var(--teal);font-style:italic}.section{padding:100px 7vw}.section-heading{text-align:center;max-width:900px;margin:0 auto 50px}.section-heading.left{text-align:left;margin-left:0}.section-heading h2{font-size:clamp(40px,4vw,68px)}.section-heading h2 span{color:var(--gold)}.subhead{color:#706d63;font-size:17px}.definition-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:start}.big-copy{font-size:34px;line-height:1.22;color:var(--teal);margin-top:0}.function-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.function-cards article{background:var(--white);padding:28px;border:1px solid #e5ddce;border-radius:var(--radius);min-height:250px;position:relative}.function-cards .num{position:absolute;right:20px;top:18px;color:var(--gold);font-size:12px}.function-cards h3{font-size:26px;color:var(--teal);margin:18px 0 10px}.mini-icon{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,var(--sage),#d5c596)}blockquote{margin:70px auto 0;padding:35px 45px;border-left:3px solid var(--gold);background:#eee5d5;max-width:900px;font-size:28px;color:var(--teal)}blockquote span,blockquote strong{display:block;font-family:Inter,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}blockquote strong{margin-top:12px;color:var(--gold)}
.story-band{display:grid;grid-template-columns:1.1fr .9fr;background:var(--teal);color:var(--white)}.media-placeholder{min-height:540px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.015)),repeating-linear-gradient(45deg,transparent 0 14px,rgba(255,255,255,.03) 14px 15px)}.media-placeholder div{text-align:center;border:1px solid rgba(255,255,255,.24);padding:32px;border-radius:20px}.media-placeholder span,.media-placeholder small{display:block;letter-spacing:.12em;font-size:11px;opacity:.7}.media-placeholder b{display:block;font-family:Georgia;font-size:30px;margin:9px 0}.story-copy{padding:70px 7vw 70px 6vw;align-self:center}.story-copy h2{color:var(--white);font-size:50px}.story-copy p{color:#d9e4df}.story-copy .quote{font-size:25px;color:#e8d6aa;border-left:2px solid var(--gold);padding-left:20px;margin:28px 0}.video-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:35px}.video-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,#4f8e5c,#93b99b);border-radius:var(--radius);display:grid;place-items:center;color:var(--white);position:relative;overflow:hidden;box-shadow:var(--shadow)}.video-placeholder iframe{width:100%;height:100%}.chapters{list-style:none;padding:0;margin:0;display:grid;gap:8px}.chapters li{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line)}.chapters b{color:var(--gold);font-size:11px}.human-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;padding:90px 7vw;background:#407d4d;color:var(--white)}.human-copy h2{color:var(--white);font-size:58px}.human-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.human-grid div{border:1px solid rgba(255,255,255,.14);padding:28px;border-radius:20px;background:rgba(255,255,255,.04)}.human-grid b{display:block;color:#e2c689;margin-bottom:12px}.human-grid span{font-family:Georgia;font-size:20px;line-height:1.5}.montaud-card{display:grid;grid-template-columns:.38fr .62fr;gap:45px;align-items:center;max-width:1100px;margin:auto}.portrait-placeholder{aspect-ratio:3/4;border-radius:var(--radius);background:linear-gradient(180deg,#c5cec2,#877c68);display:grid;place-items:end center;padding:18px;color:white;font-size:11px;letter-spacing:.15em}.montaud-card h2{font-family:Georgia;font-size:60px;font-weight:500;color:var(--teal);margin:.1em 0 .35em}.book-line{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line)}.book{font-family:Georgia;color:var(--teal)}.activator-section{display:grid;grid-template-columns:1fr 1fr;background:#5a8f66;color:white}.activator-visual{min-height:620px;display:grid;place-items:center;align-content:center;gap:25px;background:linear-gradient(135deg,#f3d39d,#86ad8f)}.activator-shape{width:300px;height:150px;border:28px solid rgba(255,255,255,.78);border-radius:50% 50% 44% 44%;box-shadow:0 25px 50px rgba(0,0,0,.15);transform:rotate(-4deg)}.activator-copy{padding:75px 7vw}.activator-copy h2{color:white;font-size:64px}.ticks{columns:2;padding:0;list-style:none}.ticks li{margin:10px 0}.ticks li:before{content:"✓";color:#e2c689;margin-right:8px}.context-box{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);padding:18px;border-radius:16px;margin:26px 0}.story-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.story-cards article{background:var(--white);border-radius:20px;overflow:hidden;border:1px solid #e6ddcc;padding-bottom:22px}.thumb{height:200px;background:linear-gradient(135deg,#c3b49a,#6f877d);object-fit:cover;width:100%}.thumb.alt{background:linear-gradient(135deg,#a8bcb1,#dec998)}.thumb.alt2{background:linear-gradient(135deg,#ddc89a,#7b9c9a)}.story-cards article>span,.story-cards h3,.story-cards a{display:block;margin-left:22px;margin-right:22px}.story-cards article>span{margin-top:18px;font-size:10px;letter-spacing:.12em;color:var(--gold)}.story-cards h3{color:var(--teal)}.story-cards a{font-weight:700;color:var(--teal);font-size:13px}.disclaimer{font-size:13px;color:#77736a;margin-top:22px}.lectures{padding:90px 7vw;background:#397347;color:white}.section-heading.light h2{color:white}.lecture-grid{display:grid;grid-template-columns:1.4fr repeat(3,.6fr);gap:18px}.lecture-grid article{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:16px}.lecture-thumb{height:220px;background:linear-gradient(135deg,#8e9d91,#4e6867);border-radius:14px;display:grid;place-items:center;font-size:40px;object-fit:cover;width:100%}.lecture-thumb.small{height:140px;font-size:25px}.lecture-grid h3{font-size:22px}.lecture-grid a{color:#e2c689;font-weight:700}.knowledge-grid{display:flex;flex-wrap:wrap;gap:14px}.knowledge-grid a{flex:1 1 240px;min-height:190px;background:var(--white);padding:24px;border-radius:18px;border:1px solid #e6ddcc;display:flex;flex-direction:column;transition:.2s}.knowledge-grid a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.knowledge-grid b{font-family:Georgia;font-size:25px;color:var(--teal)}.knowledge-grid span{font-size:13px;margin-top:8px}.knowledge-grid i{margin-top:auto;color:var(--gold);font-style:normal;font-size:25px}.consultation{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:70px 7vw;background:var(--teal2);color:white}.consultation h2{color:white;font-size:50px;max-width:880px}.consult-note{font-size:13px;line-height:1.6;color:rgba(255,255,255,.82);margin-top:16px;max-width:520px}.consult-note a{color:#e2c689;font-weight:700;text-decoration:none}/*V2.7.21: plain, honestly-labeled recommendation note — not a promo banner*/.content-wrap{max-width:1180px;margin:auto;padding:80px 24px}.entry-title{font-size:56px;color:var(--teal);font-family:Georgia;margin-bottom:25px}.entry-content{font-size:18px}footer{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px;padding:65px 7vw 25px;background:#315f3b;color:#d8e1dc}footer>div{display:flex;flex-direction:column;gap:8px}footer b{color:white}footer a,footer span{font-size:12px;opacity:.8}.footer-brand b{font-family:Georgia;font-size:24px;letter-spacing:.08em}.footer-bottom{grid-column:1/-1;flex-direction:row!important;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:20px}
@media(max-width:1180px){.nav{display:none}.menu-toggle{display:block;margin-left:auto}.site-header.open .nav{display:block;position:absolute;left:0;right:0;top:69px;background:var(--paper);padding:22px 5vw;border-bottom:1px solid var(--line)}.site-header.open .nav ul{flex-direction:column}.header-actions .langs{display:none}.function-cards{grid-template-columns:1fr}.knowledge-grid a{flex-basis:calc(50% - 7px)}.lecture-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.site-header{padding:12px 18px}.brand-copy small{display:none}.header-actions .btn{display:none}.hero,.story-band,.video-layout,.human-section,.montaud-card,.activator-section,.definition-grid{grid-template-columns:1fr}.hero{padding:60px 22px 40px}.hero-art{min-height:380px}.orbit-1{width:340px;height:340px}.orbit-2{width:440px;height:240px}.hero h1{font-size:52px}.lead{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column}.section{padding:70px 22px}.story-copy{padding:60px 22px}.story-copy h2,.human-copy h2,.activator-copy h2,.consultation h2,.montaud-card h2{font-size:42px}.human-section{padding:60px 22px}.human-grid{grid-template-columns:1fr}.activator-copy{padding:60px 22px}.story-cards{grid-template-columns:1fr}.knowledge-grid a{flex-basis:100%}.lecture-grid{grid-template-columns:1fr}.consultation{align-items:flex-start;flex-direction:column;padding:55px 22px}footer{grid-template-columns:1fr 1fr;padding:50px 22px 20px}.footer-brand{grid-column:1/-1}}
@media(max-width:520px){.brand{min-width:auto}.brand-copy b{font-size:13px}.hero h1{font-size:43px}blockquote{font-size:23px;padding:25px}.media-placeholder{min-height:360px}footer{grid-template-columns:1fr}.footer-brand,.footer-bottom{grid-column:auto}.footer-bottom{flex-direction:column!important}.hero-art{min-height:300px}.orbit-1{width:260px;height:260px}.orbit-2{width:330px;height:180px}}


/* V1.1 — pôvodná Dentosofia farebná identita */
.header-actions .btn-small{
  background:#e09900;
  color:#fff;
  box-shadow:0 8px 22px rgba(224,153,0,.24);
}
.header-actions .btn-small:hover{
  background:#c98500;
}
.hero .btn{
  background:#509961;
}
.hero .btn:hover{
  background:#438452;
}
.eyebrow,
.text-link span,
.function-cards .num,
.knowledge-grid i{
  color:#e09900;
}
blockquote{
  background:#fff7e7;
  border-left-color:#e09900;
}
.story-band,
.human-section,
.lectures{
  background:#509961;
}
.activator-section{
  background:#5a8f66;
}
.consultation{
  background:#438452;
}
footer{
  background:#315f3b;
}

/* V1.2 — obsahová vrstva */
.knowledge-posts{padding:0 7vw 100px}
.knowledge-posts .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.knowledge-posts article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.knowledge-posts .post-category{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:800}
.knowledge-posts h3{font-size:26px;color:var(--teal);line-height:1.15}
.knowledge-posts p{font-size:14px;color:#666}
.knowledge-posts a.more{font-size:13px;font-weight:700;color:var(--teal)}
.context-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff7e7;color:#9b6900;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.entry-content{max-width:860px}
.entry-content h2,.entry-content h3{color:var(--teal)}
.entry-content img{border-radius:16px}
@media(max-width:820px){.knowledge-posts{padding:0 22px 70px}.knowledge-posts .grid{grid-template-columns:1fr}}

.editorial-hero{padding:110px 7vw 70px;background:linear-gradient(135deg,#f7fbf8,#fff7e7)}
.editorial-hero h1{max-width:900px;font-size:clamp(48px,7vw,92px);line-height:.96;color:var(--teal);margin:0 0 28px}
.editorial-hero .lead{max-width:780px;font-size:20px;line-height:1.65;color:#56615a}
.editorial{padding:75px 7vw}.editorial.narrow{max-width:1050px;margin:auto}.editorial h2{font-size:clamp(34px,4vw,58px);color:var(--teal)}
.editorial p,.editorial li{font-size:17px;line-height:1.75;color:#4f5651}
.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.editorial-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff}
.editorial-card b{display:block;color:var(--gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.editorial-card h3{color:var(--teal)}
.editorial-band{padding:75px 7vw;background:var(--teal);color:#fff}.editorial-band h2,.editorial-band p{color:#fff}
.source-note{border-left:4px solid var(--gold);background:#fff7e7;padding:20px 24px;margin:30px 0;border-radius:0 16px 16px 0}
.media-frame{aspect-ratio:16/9;background:#e7efe9;border-radius:24px;display:flex;align-items:center;justify-content:center;color:var(--teal);font-weight:800;text-align:center;padding:30px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.library-links{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.library-links a{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--teal);font-weight:800}
@media(max-width:820px){.editorial-hero,.editorial,.editorial-band{padding-left:22px;padding-right:22px}.editorial-grid,.two-col,.library-links{grid-template-columns:1fr}}

.timeline{display:grid;gap:0;margin:35px 0}.timeline-row{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:24px 0;border-top:1px solid var(--line)}
.timeline-row strong{color:var(--gold);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.quote-panel{padding:38px;border-radius:24px;background:#f2f7f3;margin:35px 0}.quote-panel p{font-size:23px;line-height:1.55;color:var(--teal)}
.reference-list{display:grid;gap:12px}.reference-list div{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px}
.page-nav-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.page-nav-cards a{padding:22px;border-radius:18px;background:#fff;border:1px solid var(--line);color:var(--teal);font-weight:800}
@media(max-width:820px){.timeline-row{grid-template-columns:1fr;gap:5px}.page-nav-cards{grid-template-columns:1fr}}

/* V1.5 media & lectures */
.responsive-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#e7efe9;box-shadow:var(--shadow)}
.responsive-video iframe,.responsive-video>*{position:absolute;inset:0;width:100%;height:100%;border:0;margin:0}
.lecture-library{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.lecture-item{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.lecture-item .meta{padding:22px}
.lecture-item h3{font-size:27px;margin:.25em 0;color:var(--teal)}
.lecture-item small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:800}
.lecture-item p{font-size:14px;margin:.5em 0 0}
.video-caption{font-size:12px;color:#777;margin-top:10px}
.media-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.media-strip a{background:#fff;border:1px solid var(--line);padding:18px;border-radius:16px;color:var(--teal);font-weight:800}
@media(max-width:820px){.lecture-library,.media-strip{grid-template-columns:1fr}}


/* V1.6 — stories, knowledge, source architecture */
.story-archive,.knowledge-archive{padding:90px 7vw}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.story-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.story-card .story-media{aspect-ratio:4/3;background:linear-gradient(135deg,#edf5ef,#fff6e5);display:flex;align-items:center;justify-content:center;color:var(--teal);font-weight:800;text-align:center;padding:20px}
.story-card img{width:100%;height:100%;object-fit:cover}
.story-card .story-body{padding:24px;display:flex;flex-direction:column;flex:1}
.story-card h2,.story-card h3{font-size:27px;line-height:1.12;color:var(--teal);margin:.35em 0}
.story-card p{font-size:14px;line-height:1.65;color:#626862}
.story-card .story-link{margin-top:auto;font-weight:800;color:var(--teal)}
.disclaimer-box{background:#fff7e7;border:1px solid #f0d59f;border-radius:18px;padding:22px 24px;margin:0 0 32px}
.disclaimer-box p{margin:0;font-size:14px;line-height:1.65}
.disclaimer-box a{color:var(--teal);font-weight:700}/*V2.7.21: this box's first link — was inheriting invisible default text color*/
.topic-nav{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0 40px}
.topic-nav a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--teal);font-size:12px;font-weight:800}
.topic-nav a:hover{background:var(--sage)}
.lecture-detail{padding:90px 7vw}.lecture-detail-inner{max-width:1050px;margin:auto}
.lecture-meta{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 30px}.lecture-meta span{padding:7px 11px;border-radius:999px;background:#fff7e7;color:#956400;font-size:11px;font-weight:800}
.chapter-list{counter-reset:chapters;display:grid;gap:10px;margin:25px 0}
.chapter-list div{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}
.chapter-list div:before{counter-increment:chapters;content:counter(chapters,decimal-leading-zero);display:inline-block;width:38px;color:var(--gold);font-weight:900}
.source-library{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:28px 0}
.source-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}
.source-card small{display:block;color:var(--gold);font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
.source-card h3{margin:.2em 0;color:var(--teal)}
.evidence-hub{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.evidence-hub article{padding:28px;background:#fff;border:1px solid var(--line);border-radius:22px}
.evidence-hub h3{color:var(--teal)}
@media(max-width:980px){.story-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.story-grid,.source-library,.evidence-hub{grid-template-columns:1fr}.story-archive,.knowledge-archive,.lecture-detail{padding-left:22px;padding-right:22px}}

:root{--paper:#fff;--white:#fff;--teal:#509961;--teal2:#438452;--gold:#e09900;--graphite:#4a4a4a;--sage:#edf4ee;--line:#e6e6e6;--radius:24px;--shadow:0 14px 38px rgba(0,0,0,.07)}
body{background:#fff;color:#4a4a4a}.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid #ededed}.brand-mark{background:#509961}.brand-copy{color:#4a4a4a}.brand-copy small{color:#e09900}.nav a{color:#555;opacity:1}.nav a:hover{color:#509961}
.header-actions .btn-small{background:#e09900;color:#fff;box-shadow:none}.header-actions .btn-small:hover{background:#c98700}
.hero{background:radial-gradient(circle at 82% 20%,rgba(80,153,97,.08),transparent 26%),linear-gradient(180deg,#fff,#fafafa)}
.hero h1,.section-heading h2,.editorial-hero h1,.editorial h2,.entry-title,.story-card h2,.story-card h3,.knowledge-grid b,.montaud-card h2{color:#4a4a4a}
.hero h1 em{color:#509961}.hero .lead{color:#5e5e5e}.hero .btn{background:#509961}.hero .btn:hover{background:#438452}
.eyebrow,.function-cards .num,.knowledge-grid i,.lecture-item small,.source-card small{color:#e09900}
.function-cards article,.knowledge-grid a,.story-card,.editorial-card,.source-card,.evidence-hub article{background:#fff;border:1px solid #e7e7e7;box-shadow:none}
.function-cards h3,.story-card .story-link,.knowledge-posts a.more,.library-links a,.page-nav-cards a,.text-link{color:#509961}
.mini-icon{background:linear-gradient(135deg,#edf4ee,#fff4dc)}
blockquote{background:#fff8ec;border-left-color:#e09900;color:#4a4a4a}blockquote strong{color:#509961}.source-note,.disclaimer-box{background:#fff8ec;border-color:#efd9ac}
.story-band{background:#f7f7f7;color:#4a4a4a;border-top:1px solid #ececec;border-bottom:1px solid #ececec}.story-copy h2{color:#4a4a4a}.story-copy p{color:#5e5e5e}.story-copy .quote{color:#509961;border-left-color:#e09900}.story-copy .text-link.light{color:#509961}.story-copy .eyebrow.light{color:#e09900}
.media-placeholder{background:linear-gradient(135deg,rgba(80,153,97,.06),rgba(224,153,0,.04));color:#4a4a4a}.media-placeholder div{border-color:#d8d8d8}.media-placeholder span,.media-placeholder small{color:#777}
.human-section{background:#f3f8f4;color:#4a4a4a;border-top:1px solid #e4eee6;border-bottom:1px solid #e4eee6}.human-copy h2{color:#4a4a4a}.human-copy p{color:#5f665f}.human-copy .text-link.light{color:#509961}.human-grid div{background:#fff;border:1px solid #dfe9e1}.human-grid b{color:#509961}.human-grid span{color:#555}
.activator-section{background:#fff;color:#4a4a4a;border-top:1px solid #ececec;border-bottom:1px solid #ececec}.activator-visual{background:linear-gradient(135deg,#f1f6f2,#fff4df)}.activator-copy h2{color:#4a4a4a}.activator-copy h2 em{color:#509961}.activator-copy p,.activator-copy li{color:#5b5b5b}.activator-copy .btn-light{background:#509961;color:#fff}.activator-copy .context-box{background:#f7f7f7;border:1px solid #e3e3e3;color:#555}
.lectures{background:#f7f7f7;color:#4a4a4a;border-top:1px solid #ececec;border-bottom:1px solid #ececec}.section-heading.light h2{color:#4a4a4a}.lecture-grid article{background:#fff;border:1px solid #e4e4e4}.lecture-grid h3{color:#4a4a4a}.lecture-grid a{color:#509961}
.editorial-band{background:#f3f8f4;color:#4a4a4a;border-top:1px solid #e3ece4;border-bottom:1px solid #e3ece4}.editorial-band h2{color:#4a4a4a}.editorial-band p{color:#5f665f}
.editorial-hero{background:radial-gradient(circle at 85% 20%,rgba(224,153,0,.07),transparent 27%),linear-gradient(180deg,#fff,#fafafa);border-bottom:1px solid #eee}.editorial-hero .lead{color:#666}
.consultation{background:#509961;color:#fff}.consultation h2,.consultation p{color:#fff}.consultation .btn-light{background:#e09900;color:#fff}.consultation .btn-light:hover{background:#c98700}
footer{background:#3f3f3f;color:#ededed}footer b{color:#fff}footer a:hover{color:#f0b54a}.topic-nav a{background:#fff;border-color:#e5e5e5;color:#555}.topic-nav a:hover{background:#f3f8f4;color:#509961}.context-chip{background:#fff8ec;color:#a46d00}
.quote-panel{background:#f3f8f4}.quote-panel p{color:#4f7657}


/* =========================================================
   V1.8 — RESERVATION DESKTOP FIX
   Rezervačná stránka nesmie používať editorial max-width.
   ========================================================= */

body.dentosofia-reservation-page{
  background:#f7f7f7;
}

/* Celá rezervačná stránka využije desktopovú šírku */
.reservation-page-wrap{
  width:100%;
  max-width:none;
  margin:0;
  padding:38px 4vw 70px;
  background:#f7f7f7;
}

.reservation-shell{
  width:min(1380px,100%);
  max-width:1380px;
  margin:0 auto;
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 34px rgba(0,0,0,.05);
}

/* V2.7.21: the pre-consultation book note sits inside the same rounded
   white card as the booking embed, flush at the top by default — inset
   it so its own border-radius doesn't collide with the card's. */
.reservation-shell > .disclaimer-box{margin:24px 24px 0}

/* Wrapper pre iframe alebo embed rezervačného systému */
.reservation-embed{
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  overflow:visible;
}

.reservation-embed iframe{
  display:block;
  width:100% !important;
  max-width:none !important;
  min-width:100% !important;
  height:clamp(760px,82vh,1180px);
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff;
}

/* Ak je booking vložený priamo HTML/JS komponentom namiesto iframe */
.reservation-embed > div,
.reservation-embed > section,
.reservation-embed > main,
.reservation-embed .booking-app,
.reservation-embed .booking-container,
.reservation-embed .reservation-app{
  width:100% !important;
  max-width:none !important;
}

/* WordPress bloky nesmú zúžiť booking */
.dentosofia-reservation-page .wp-site-blocks,
.dentosofia-reservation-page .wp-block-group,
.dentosofia-reservation-page .entry-content,
.dentosofia-reservation-page .content-wrap{
  width:100%;
  max-width:none !important;
}

/* Skryť nadbytočný page-title/button typu "Rezervácia" */
.dentosofia-reservation-page .entry-title,
.dentosofia-reservation-page .page-title,
.dentosofia-reservation-page .reservation-page-title,
.dentosofia-reservation-page .wp-block-post-title,
.dentosofia-reservation-page .reservation-floating-label{
  display:none !important;
}

/* Desktop: booking má dostať reálnu desktopovú šírku */
@media (min-width:1200px){
  .reservation-page-wrap{
    padding-left:3vw;
    padding-right:3vw;
  }
  .reservation-shell{
    width:min(1440px,94vw);
    max-width:1440px;
  }
}

/* Tablet */
@media (max-width:980px){
  .reservation-page-wrap{
    padding:22px 16px 45px;
  }
  .reservation-shell{
    border-radius:16px;
  }
  .reservation-embed iframe{
    height:1100px;
  }
}

/* Mobil */
@media (max-width:640px){
  .reservation-page-wrap{
    padding:0;
    background:#fff;
  }
  .reservation-shell{
    width:100%;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .reservation-embed iframe{
    width:100% !important;
    min-width:100% !important;
    height:1250px;
  }
}

/* Menu: zabrániť rozbitiu desktop navigácie pri booking stránke */
.dentosofia-reservation-page .site-header{
  width:100%;
}

/* Ak starý obsah vložil HTML button s textom Rezervácia tesne pred bookingom */
.dentosofia-reservation-page .reservation-embed > button:first-child,
.dentosofia-reservation-page .reservation-embed > a.button:first-child{
  display:none !important;
}

.dentosofia-language-switcher{display:flex;align-items:center;gap:3px;margin:0;padding:0;list-style:none;white-space:nowrap}
.dentosofia-language-switcher li{list-style:none;margin:0;padding:0}
.dentosofia-language-switcher a,.dentosofia-language-switcher span{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;padding:0 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.05em;color:#777;transition:.18s}
.dentosofia-language-switcher a:hover{background:#f3f8f4;color:#509961}
.dentosofia-language-switcher .is-current a,.dentosofia-language-switcher .is-current span{background:#509961;color:#fff}
.dentosofia-language-switcher .is-unavailable span{opacity:.35}
.header-actions .langs{display:block}
@media(max-width:1180px){.header-actions .langs{display:block}.dentosofia-language-switcher a,.dentosofia-language-switcher span{min-width:29px;height:29px;padding:0 6px}}




/* =========================================================
   V2.1 rev3 — Dynamic Booking Height Fix
   No max-height: booking controls must never be clipped.
   JS can refine the height when the booking app reports it.
   ========================================================= */
.dentosofia-reservation-page .reservation-shell{
  overflow:hidden;
}
.dentosofia-reservation-page .reservation-embed{
  overflow:hidden;
}
.dentosofia-reservation-page .reservation-embed iframe{
  display:block;
  width:100% !important;
  min-width:100% !important;
  max-width:none !important;
  height:1280px;
  min-height:900px;
  max-height:none !important;
  overflow:hidden;
}
@media(max-width:980px){
  .dentosofia-reservation-page .reservation-embed iframe{
    height:1450px;
    min-height:1050px;
    max-height:none !important;
  }
}
@media(max-width:640px){
  .dentosofia-reservation-page .reservation-embed iframe{
    height:1650px;
    min-height:1200px;
    max-height:none !important;
  }
}

/* V2.2 Technical Consolidation */
html{scroll-behavior:smooth} body{overflow-x:hidden} img,video,svg{max-width:100%;height:auto} iframe{max-width:100%}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.skip-link{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;z-index:99999;padding:10px 14px;background:#fff;color:#222;border-radius:8px}
@media(max-width:980px){.header-inner{gap:12px}.header-actions{flex-wrap:wrap}}
@media(max-width:640px){.dentosofia-language-switcher{gap:1px}.dentosofia-language-switcher a,.dentosofia-language-switcher span{min-width:28px;padding:0 5px}}


/* =========================================================
   V2.3 — TECHNICAL COMPLETION
   ========================================================= */
.error404 .content-wrap{max-width:900px;margin:0 auto;padding:100px 7vw}
.error404 .content-wrap h1{font-size:clamp(42px,7vw,82px);color:#4a4a4a}
.error404 .content-wrap p{font-size:18px;line-height:1.7}
.archive-page{padding:90px 7vw}
.archive-page .archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.archive-card{padding:24px;border:1px solid #e7e7e7;border-radius:20px;background:#fff}
.archive-card h2{font-size:25px;line-height:1.15;color:#4a4a4a}
.archive-card a{color:#509961;font-weight:800}
@media(max-width:900px){.archive-page .archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.archive-page .archive-grid{grid-template-columns:1fr}.archive-page{padding-left:22px;padding-right:22px}}

/* booking dynamic height: exact values can be supplied by booking bridge */
.dentosofia-reservation-page .reservation-embed iframe{
  transition:height .16s ease;
  max-height:none !important;
}


/* =========================================================
   V2.4 — MOBILE NAVIGATION & CONSULTATION CTA
   ========================================================= */

/* Desktop/tablet CTA remains in header. */
.mobile-consultation-bar{
  display:none;
}

/* Prevent long navigation labels and translated labels from overflowing. */
.site-header,
.site-header *{
  box-sizing:border-box;
}
.nav a,
.header-actions a{
  overflow-wrap:anywhere;
}

/* Tablet/mobile navigation */
@media(max-width:1180px){
  .site-header{
    min-height:68px;
    padding:10px 18px;
    gap:10px;
  }

  .brand{
    min-width:0;
    flex:0 1 auto;
  }

  .brand-copy{
    min-width:0;
  }

  .menu-toggle{
    order:2;
    flex:0 0 auto;
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    margin-left:auto;
  }

  .header-actions{
    order:3;
    flex:0 0 auto;
    gap:6px;
    flex-wrap:nowrap;
  }

  /* Fixed mobile CTA replaces the header CTA below this breakpoint. */
  .header-actions > .btn-small{
    display:none !important;
  }

  .header-actions .langs{
    display:block;
  }

  .site-header.open .nav{
    top:68px;
    z-index:60;
    max-height:calc(100vh - 68px - 72px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:30px;
    background:#fff;
    box-shadow:0 18px 30px rgba(0,0,0,.08);
  }

  .site-header.open .nav ul{
    gap:0;
  }

  .site-header.open .nav li{
    border-bottom:1px solid #ededed;
  }

  .site-header.open .nav a{
    display:block;
    padding:13px 2px;
    font-size:16px;
  }

  /* Mobile CTA is independent from menu/header width. */
  .mobile-consultation-bar{
    position:fixed;
    z-index:90;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    align-items:center;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);
    border-top:1px solid #e5e5e5;
    box-shadow:0 -8px 24px rgba(0,0,0,.08);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .mobile-consultation-bar a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    padding:12px 18px;
    border-radius:12px;
    background:#e09900;
    color:#fff !important;
    text-decoration:none;
    font-size:14px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.01em;
    box-shadow:0 6px 18px rgba(224,153,0,.20);
  }

  .mobile-consultation-bar a:focus-visible{
    outline:3px solid #4a4a4a;
    outline-offset:3px;
  }

  /* Reserve space so the fixed CTA never covers page/footer controls. */
  body{
    padding-bottom:calc(78px + env(safe-area-inset-bottom));
  }
}

/* Small phones: 320–430px */
@media(max-width:430px){
  .site-header{
    padding-left:10px;
    padding-right:10px;
    gap:5px;
  }

  .brand-mark{
    flex:0 0 auto;
  }

  .brand-copy b{
    font-size:12px;
  }

  .brand-copy small{
    display:none;
  }

  .header-actions{
    gap:2px;
  }

  .dentosofia-language-switcher{
    gap:0;
  }

  .dentosofia-language-switcher a,
  .dentosofia-language-switcher span{
    min-width:25px;
    height:30px;
    padding:0 4px;
    font-size:9px;
  }

  .menu-toggle{
    width:38px;
    height:38px;
    font-size:22px;
  }

  .mobile-consultation-bar{
    padding-left:10px;
    padding-right:10px;
  }
}

/* Very narrow phones */
@media(max-width:350px){
  .brand-copy{
    display:none;
  }
}

/* V2.5 technical hardening */
html{-webkit-text-size-adjust:100%} body,main,section,article,.container,.wrap{min-width:0}
table{max-width:100%} pre,code{white-space:pre-wrap;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* V2.7 — CD-01 Content Preview */
.cd01-preview .editorial-hero{padding-bottom:52px}
.cd01-preview .cd01-status{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border:1px solid #efd9ac;border-radius:999px;background:#fff8ec;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.cd01-preview .cd01-intro{font-size:22px;line-height:1.65;max-width:850px}
.cd01-preview .cd01-section{padding:48px 0;border-bottom:1px solid var(--line)}
.cd01-preview .cd01-section:last-child{border-bottom:0}
.cd01-preview .cd01-section h2{font-size:clamp(34px,4vw,52px);line-height:1.08;margin:0 0 20px}
.cd01-preview .cd01-section h3{font-size:25px;margin:0 0 10px}
.cd01-preview .cd01-section p{font-size:17px;line-height:1.75}
.cd01-preview .cd01-question{font-family:Georgia,"Times New Roman",serif;font-size:clamp(26px,3vw,38px);line-height:1.25;padding:28px;border-radius:22px;background:#f7fbf8;border:1px solid #dcebdd;color:#4a4a4a;margin:30px 0}
.cd01-preview .cd01-function-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.cd01-preview .cd01-function-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px}
.cd01-preview .cd01-function-grid b{display:block;color:var(--gold);font-size:12px;letter-spacing:.1em;margin-bottom:12px}
.cd01-preview .cd01-layer{padding:28px;border-radius:22px;background:#fff8ec;border:1px solid #efd9ac;margin:26px 0}
.cd01-preview .cd01-layer strong{color:#509961}
.cd01-preview .cd01-research{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}
.cd01-preview .cd01-research article{padding:24px;border-radius:20px;border:1px solid var(--line);background:#fff}
.cd01-preview .cd01-not{display:grid;gap:12px;margin-top:24px}
.cd01-preview .cd01-not div{padding:18px 20px;background:#fafafa;border-left:4px solid #509961;border-radius:0 14px 14px 0}
.cd01-preview .cd01-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.cd01-preview .cd01-actions .btn-secondary{display:inline-flex;align-items:center;padding:12px 18px;border:1px solid #509961;border-radius:999px;color:#509961;font-weight:800}
.cd01-preview .cd01-next{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.cd01-preview .cd01-next a{padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;font-weight:800;color:#509961}
.cd01-preview .cd01-source{font-size:13px!important;color:#777;margin-top:14px}
@media(max-width:820px){.cd01-preview .cd01-function-grid,.cd01-preview .cd01-research,.cd01-preview .cd01-next{grid-template-columns:1fr}.cd01-preview .cd01-section{padding:36px 0}.cd01-preview .cd01-intro{font-size:19px}}



/* V2.7.2 — CD-01 faithful implementation of approved desktop master */
.cd01-page-shell{width:100%;max-width:none;margin:0;padding:0;overflow:hidden;background:#fff}
.cd01-ref{--g:#2d7b42;--gold:#d18a0a;--ink:#303230;--line:#e8e8e3;--soft:#f5faf5;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
.cd01-ref *{box-sizing:border-box}.cd01-ref h1,.cd01-ref h2,.cd01-ref h3{font-family:Georgia,"Times New Roman",serif;color:#343534}.cd01-ref p{line-height:1.58}
.cd01-ref a{text-decoration:none}.cd01-ref-hero{height:378px;display:grid;grid-template-columns:64.5% 35.5%;border-bottom:1px solid var(--line);background:#fff}
.cd01-ref-copy{padding:61px 0 42px 6.1vw;position:relative;z-index:2;background:linear-gradient(90deg,#fff 0%,#fff 78%,rgba(255,255,255,.9) 91%,rgba(255,255,255,0) 100%)}
.cd01-ref-kicker,.cd01-ref-label{font:800 10px/1.2 Arial,sans-serif;letter-spacing:.15em;color:var(--g);margin:0 0 20px;text-transform:uppercase}
.cd01-ref-copy h1{font-size:64px;line-height:.96;margin:0 0 13px;letter-spacing:-.025em}.cd01-ref-copy h2{font-size:28px;line-height:1.1;color:var(--gold);font-weight:400;margin:0 0 22px}
.cd01-ref-copy>p:not(.cd01-ref-kicker){font-size:14px;max-width:650px;margin:0}.cd01-ref-actions{display:flex;gap:20px;margin-top:28px}
.cd01-ref-primary,.cd01-ref-secondary{display:inline-flex;align-items:center;justify-content:center;height:41px;padding:0 28px;border-radius:999px;font-size:13px;font-weight:700}
.cd01-ref-primary{background:var(--g);color:#fff;min-width:220px}.cd01-ref-primary span{margin-left:25px}.cd01-ref-secondary{border:1px solid #dfa22c;color:#b87400;background:#fff;min-width:220px}
.cd01-ref-photo{background-size:cover;background-position:center right;position:relative}.cd01-ref-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.12) 31%,rgba(255,255,255,0) 54%)}
.cd01-ref-functions{min-height:246px;display:grid;grid-template-columns:27% 12% 12% 12% 37%;border-bottom:1px solid var(--line)}
.cd01-ref-functions-intro{padding:45px 3vw 34px 3.2vw}.cd01-ref-functions-intro h2{font-size:27px;line-height:1.05;margin:0 0 22px}.cd01-ref-functions-intro>p:not(.cd01-ref-label){font-size:12px;max-width:380px;margin:0 0 20px}.cd01-ref-functions-intro a{font-size:12px;color:var(--g);font-weight:700}
.cd01-ref-function{padding:45px 20px 24px;text-align:center;border-left:1px solid var(--line)}.cd01-ref-function h3{font-size:17px;margin:8px 0 8px}.cd01-ref-function p{font-size:11px;line-height:1.55;margin:0 auto;max-width:145px}
.cd01-lineicon{height:55px;font:50px/1 Georgia;color:var(--g)}.cd01-lineicon.gold{color:var(--gold)}
.cd01-ref-quick{padding:45px 3vw 25px;background:linear-gradient(135deg,#f5faf5,#fcfdfb)}.cd01-ref-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.cd01-ref-quick a{height:44px;display:grid;grid-template-columns:24px 1fr 16px;align-items:center;border-bottom:1px solid #dfe6df;color:#303530;font-size:12px;font-weight:700}.cd01-ref-quick i{font-style:normal;color:var(--g);font-size:18px}.cd01-ref-quick b{font-size:18px;color:var(--g);font-weight:400}
.cd01-ref-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:12px 2.2vw 14px}.cd01-ref-cards article{height:170px;border:1px solid #e3e4e1;border-radius:6px;padding:24px 20px;display:grid;grid-template-columns:58px 1fr;gap:12px}.cd01-card-icon{font:45px/1 Georgia;color:var(--g)}.cd01-card-icon.gold{color:var(--gold)}.cd01-ref-cards h3{font-size:16px;line-height:1.1;margin:0 0 10px}.cd01-ref-cards p{font-size:10.5px;line-height:1.55;margin:0 0 13px}.cd01-ref-cards a{font-size:11px;color:var(--g);font-weight:700}
.cd01-ref-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 2.2vw 20px}.cd01-ref-panels article{height:140px;border-radius:6px;display:grid;grid-template-columns:78px 1fr;gap:20px;align-items:center;padding:20px 30px}.cd01-ref-panels .green{background:linear-gradient(105deg,#eef6ef,#f9fbf8)}.cd01-ref-panels .warm{background:linear-gradient(105deg,#fff8ea,#fffdf8)}.cd01-ref-panels .round{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.05);font:34px Georgia;color:var(--g)}.cd01-ref-panels .warm .round{color:var(--gold)}.cd01-ref-panels h2{font-size:19px;margin:0 0 7px}.cd01-ref-panels p{font-size:10.5px;margin:0 0 10px}.cd01-ref-panels a{font-size:11px;color:var(--g);font-weight:700}.cd01-ref-panels .warm a{color:#b87400}
.cd01-ref-context{display:grid;grid-template-columns:.9fr 1.3fr .8fr;gap:50px;padding:58px 6vw;border-top:1px solid var(--line)}.cd01-ref-context h2{font-size:36px;line-height:1.05;margin:0}.cd01-ref-context p{font-size:13px;margin-top:0}.cd01-ref-context aside{background:#f5faf5;border:1px solid #dce7dc;border-radius:8px;padding:24px}.cd01-ref-context aside strong{font-family:Georgia;font-size:19px}.cd01-ref-context aside p{font-size:11px;margin:10px 0}.cd01-ref-context aside a{font-size:11px;color:var(--g);font-weight:700}
.cd01-ref-draft{padding:12px 6vw;background:#f2f2ef;color:#777;font-size:11px}
@media(max-width:1100px){.cd01-ref-hero{grid-template-columns:58% 42%}.cd01-ref-copy h1{font-size:52px}.cd01-ref-functions{grid-template-columns:32% repeat(3,1fr)}.cd01-ref-quick{grid-column:1/-1}.cd01-ref-cards{grid-template-columns:repeat(3,1fr)}.cd01-ref-cards article{height:auto;min-height:170px}.cd01-ref-context{grid-template-columns:1fr 1.4fr}.cd01-ref-context aside{grid-column:1/-1}}
@media(max-width:820px){.cd01-ref-hero{height:auto;grid-template-columns:1fr}.cd01-ref-copy{padding:42px 22px;background:#fff}.cd01-ref-copy h1{font-size:48px}.cd01-ref-copy h2{font-size:25px}.cd01-ref-photo{height:290px;background-position:center}.cd01-ref-actions{flex-direction:column;align-items:flex-start}.cd01-ref-functions{grid-template-columns:1fr}.cd01-ref-functions-intro{padding:38px 22px}.cd01-ref-function{border-left:0;border-top:1px solid var(--line);padding:25px 22px;text-align:left}.cd01-ref-function p{max-width:none;margin:0}.cd01-lineicon{height:42px}.cd01-ref-quick{grid-column:auto;padding:34px 22px}.cd01-ref-quick-grid{grid-template-columns:1fr}.cd01-ref-cards{grid-template-columns:1fr;padding:12px}.cd01-ref-panels{grid-template-columns:1fr;padding:0 12px 12px}.cd01-ref-panels article{height:auto;min-height:150px;padding:22px}.cd01-ref-context{grid-template-columns:1fr;gap:22px;padding:45px 22px}.cd01-ref-context aside{grid-column:auto}}

/* V2.7.3 — approved line-art icon system */
.cd01-svgicon{display:block;width:56px;height:56px;margin:0 auto;color:var(--g)}
.cd01-svgicon.gold{color:var(--gold)}
.cd01-svgicon svg,.cd01-ref-quick i svg,.cd01-ref-panels .round svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cd01-svgicon.card{width:50px;height:50px;margin:0;color:var(--g)}
.cd01-svgicon.card.gold{color:var(--gold)}
.cd01-ref-quick i{display:block;width:19px;height:19px;color:var(--g)}
.cd01-ref-quick i svg{display:block}
.cd01-ref-panels .round svg{width:34px;height:34px}
.cd01-lineicon,.cd01-card-icon{display:none!important}
@media(max-width:820px){.cd01-svgicon{margin:0 0 8px}}

/* V2.7.6 approved V2.7.5 prototype */
.cd01-v276{--g:#2d7b42;--gold:#d18a0a;--ink:#303230;--line:#e8e8e3;font-family:Arial,Helvetica,sans-serif;color:var(--ink)}.cd01-v276 *{box-sizing:border-box}.cd01-v276 h1,.cd01-v276 h2,.cd01-v276 h3{font-family:Georgia,"Times New Roman",serif}.cd01-v276 a{text-decoration:none}.cd01-v276-hero{height:378px;display:grid;grid-template-columns:64.5% 35.5%;border-bottom:1px solid var(--line)}.cd01-v276 .copy{padding:61px 0 42px 6.1vw;z-index:2}.cd01-v276 .kicker,.cd01-v276 .label{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--g);text-transform:uppercase}.cd01-v276 .copy h1{font-size:64px;line-height:.96;margin:25px 0 13px}.cd01-v276 .copy h2{font-size:28px;color:var(--gold);font-weight:400;margin:0 0 22px}.cd01-v276 .copy>p:not(.kicker){font-size:14px;max-width:650px;line-height:1.6}.cd01-v276 .photo{background-position:center right;background-size:cover}.cd01-v276 .actions{display:flex;gap:20px;margin-top:28px}.cd01-v276 .actions a{padding:13px 28px;border-radius:30px;font-weight:700;font-size:13px}.cd01-v276 .primary{background:var(--g);color:#fff}.cd01-v276 .secondary{border:1px solid #dfa22c;color:#b87400}.cd01-v276 .functions{display:grid;grid-template-columns:27% 12% 12% 12% 37%;min-height:246px;border-bottom:1px solid var(--line)}.cd01-v276 .intro{padding:45px 3vw 34px 3.2vw}.cd01-v276 .intro h2{font-size:27px;margin:20px 0}.cd01-v276 .intro>p:not(.label){font-size:12px;line-height:1.55}.cd01-v276 .intro a,.cd01-v276 .cards a,.cd01-v276 .panels a{color:var(--g);font-size:11px;font-weight:700}.cd01-v276 .function{padding:42px 18px 24px;text-align:center;border-left:1px solid var(--line)}.cd01-v276 .function img{height:64px;max-width:86px;object-fit:contain}.cd01-v276 .function h3{font-size:17px;margin:7px 0}.cd01-v276 .function p{font-size:11px;line-height:1.55}.cd01-v276 .quick{padding:45px 3vw 25px;background:#f7faf7}.cd01-v276 .quickgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.cd01-v276 .quick a{height:44px;display:grid;grid-template-columns:28px 1fr 14px;align-items:center;border-bottom:1px solid #dfe6df;color:#303530;font-size:12px;font-weight:700}.cd01-v276 .quick img{width:21px;height:21px;object-fit:contain}.cd01-v276 .cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:12px 2.2vw 14px}.cd01-v276 .cards article{height:170px;border:1px solid #e3e4e1;border-radius:6px;padding:24px 20px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;overflow:hidden}.cd01-v276 .cards img{width:54px;height:54px;object-fit:contain}.cd01-v276 .cards h3{font-size:16px;line-height:1.1;margin:0 0 9px}.cd01-v276 .cards p{font-size:10.5px;line-height:1.5;margin:0 0 10px}.cd01-v276 .panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 2.2vw 20px}.cd01-v276 .panels article{min-height:140px;border-radius:6px;display:grid;grid-template-columns:82px 1fr;gap:20px;align-items:center;padding:20px 30px}.cd01-v276 .green{background:#f1f7f1}.cd01-v276 .warm{background:#fff9ed}.cd01-v276 .round{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff}.cd01-v276 .round img{width:46px;height:46px;object-fit:contain}.cd01-v276 .panels h2{font-size:19px;margin:0 0 7px}.cd01-v276 .panels p{font-size:10.5px;line-height:1.55}.cd01-v276 .draft{padding:12px 6vw;background:#f2f2ef;color:#777;font-size:11px}@media(max-width:1100px){.cd01-v276 .cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.cd01-v276-hero{height:auto;grid-template-columns:1fr}.cd01-v276 .copy{padding:42px 22px}.cd01-v276 .copy h1{font-size:48px}.cd01-v276 .photo{height:290px}.cd01-v276 .actions{flex-direction:column;align-items:flex-start}.cd01-v276 .functions{grid-template-columns:1fr}.cd01-v276 .function{border-left:0;border-top:1px solid var(--line)}.cd01-v276 .quickgrid{grid-template-columns:1fr}.cd01-v276 .cards,.cd01-v276 .panels{grid-template-columns:1fr}.cd01-v276 .cards article{height:auto}}
