/*
Theme Name: TTA
Theme URI: https://totalkabout.it/
Author: Antonio De Santis
Author URI: https://www.linkedin.com/in/antonio-desantis-sysadmin/
Description: Tema editoriale dedicato a To Talk About . . .
Version: 0.3.9
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: tta
*/

:root { --navy:#071b3a; --blue:#163f75; --gold:#f5b400; --paper:#f4f1e9; --ink:#10213b; --line:#d9d7d0; --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-5:48px; --space-6:64px; --space-7:80px; --home-section-space:64px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.admin-bar .site-header { top:0; }
img { max-width:100%; height:auto; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; border-radius:6px; background:var(--gold); color:var(--navy); font-weight:900; transform:translateY(-160%); transition:transform .2s ease; }
.skip-link:focus { transform:translateY(0); }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.3); border-radius:50%; cursor:pointer; list-style:none; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu nav { position:absolute; right:0; top:52px; min-width:210px; max-height:calc(100vh - 100px); display:flex; flex-direction:column; overflow-y:auto; padding:10px; border:1px solid rgba(255,255,255,.15); border-radius:8px; background:#041126; box-shadow:0 20px 50px rgba(0,0,0,.32); }
.mobile-menu nav a { padding:12px 14px; border-radius:5px; color:#e2e9f3; font-size:14px; font-weight:750; }
.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible { background:rgba(255,255,255,.08); color:var(--gold); }
.mobile-submenu>summary { width:auto; height:auto; display:flex; justify-content:space-between; padding:12px 14px; border:0; border-radius:5px; color:#e2e9f3; font-size:14px; font-weight:750; }
.mobile-submenu[open]>summary { color:var(--gold); background:rgba(255,255,255,.06); }
.mobile-submenu[open]>summary svg { transform:rotate(180deg); }
.mobile-submenu>div { display:grid; padding:4px 0 5px 12px; border-left:1px solid rgba(245,180,0,.38); }
.mobile-submenu>div a { display:flex; flex-direction:column; gap:4px; }
.mobile-submenu>div a small { color:#93a6c0; font-size:10px; font-weight:550; line-height:1.35; }
.shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.site-header { position:relative; z-index:10; background:var(--navy); border-bottom:1px solid rgba(255,255,255,.13); color:white; }
.header-inner { height:82px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand { display:inline-flex; align-items:center; gap:12px; letter-spacing:.08em; }
.brand-mark { display:grid; place-items:center; width:47px; height:47px; border:2px solid var(--gold); border-radius:50%; color:var(--gold); font-size:12px; font-weight:900; }
.brand strong { display:block; font-size:14px; }
.brand small { display:block; margin-top:4px; color:#a9b9d1; font-size:8px; letter-spacing:.2em; }
.desktop-nav { display:flex; align-items:center; gap:32px; font-size:14px; color:#d9e2ef; }
.desktop-nav>a,.nav-dropdown-trigger { padding:30px 0; }
.desktop-nav a:hover { color:var(--gold); }
.nav-dropdown { position:relative; }
.nav-dropdown-trigger { display:inline-flex; align-items:center; gap:5px; }
.nav-dropdown-trigger svg { transition:transform .2s ease; }
.nav-dropdown-panel { position:absolute; z-index:30; top:calc(100% - 7px); left:50%; width:430px; padding:10px; border:1px solid rgba(255,255,255,.13); border-radius:9px; background:#041126; box-shadow:0 22px 55px rgba(0,0,0,.34); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,8px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.nav-dropdown:hover .nav-dropdown-panel,.nav-dropdown:focus-within .nav-dropdown-panel { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.nav-dropdown:hover .nav-dropdown-trigger svg,.nav-dropdown:focus-within .nav-dropdown-trigger svg { transform:rotate(180deg); }
.nav-dropdown-panel>a { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:14px; padding:15px; border-radius:6px; color:#e7edf5; }
.nav-dropdown-panel>a:hover,.nav-dropdown-panel>a:focus-visible { color:white; background:rgba(255,255,255,.07); }
.nav-preview-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(245,180,0,.36); border-radius:50%; color:var(--gold); }
.nav-dropdown-panel strong { display:block; font-size:14px; }
.nav-dropdown-panel small { display:block; margin-top:4px; color:#9eb0c8; font-size:11px; font-weight:500; line-height:1.4; }
.nav-dropdown-panel>a>svg { color:var(--gold); }
.topics-nav-dropdown .nav-dropdown-panel { width:470px; }
.desktop-nav a:focus-visible,.channel-link:focus-visible,.primary-button:focus-visible,.text-link:focus-visible,.brand:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.channel-link,.primary-button,.text-link { display:inline-flex; align-items:center; gap:9px; font-weight:800; }
.channel-link { padding:11px 16px; border:1px solid rgba(255,255,255,.3); border-radius:999px; font-size:13px; }
.hero { position:relative; overflow:hidden; display:flex; align-items:center; background:radial-gradient(circle at 83% 20%,rgba(30,76,132,.8),transparent 28%),linear-gradient(135deg,var(--navy),#09254c 66%,#0b315e); color:white; }
.hero-grid { display:grid; grid-template-columns:1.55fr .65fr; gap:64px; align-items:end; padding:72px 0; }
.eyebrow { margin:0 0 18px; color:var(--gold); font-size:12px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow.dark { color:#795600; }
.hero h1 { max-width:780px; margin:0; font-size:clamp(50px,7vw,88px); line-height:.94; letter-spacing:-.055em; }
.hero h1 span { color:var(--gold); }
.hero-intro { max-width:660px; margin:24px 0; color:#d6e0ee; font-size:19px; line-height:1.7; }
.primary-button { width:fit-content; padding:15px 20px; border-radius:8px; background:var(--gold); color:var(--navy); font-size:14px; }
.editorial-note { padding:26px; border:1px solid rgba(255,255,255,.2); background:rgba(4,17,39,.55); backdrop-filter:blur(8px); }
.editorial-note svg { color:var(--gold); }
.editorial-note p { margin:18px 0 8px; color:var(--gold); font-size:11px; font-weight:900; letter-spacing:.18em; }
.editorial-note strong { display:block; font-size:23px; line-height:1.2; }
.editorial-note span { display:block; margin-top:13px; color:#c5d1e2; line-height:1.6; font-size:14px; }
.hero-orbit { position:absolute; border:1px solid rgba(245,180,0,.5); border-radius:50%; pointer-events:none; }
.orbit-one { width:340px; height:340px; right:-180px; top:-160px; box-shadow:0 0 0 30px rgba(245,180,0,.04),0 0 0 60px rgba(245,180,0,.03); }
.orbit-two { width:120px; height:120px; left:-70px; bottom:40px; }
.featured,.topics-band,.manifesto { padding:var(--home-section-space) 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; }
.section-heading h2 { margin:0; max-width:720px; font-size:clamp(32px,4vw,50px); letter-spacing:-.04em; line-height:1.08; }
.fresh-badge { padding:8px 12px; background:var(--gold); color:var(--navy); font-size:11px; font-weight:900; letter-spacing:.14em; }
.featured-card { display:grid; grid-template-columns:.9fr 1.25fr; min-height:360px; background:var(--paper); border:1px solid var(--line); }
.featured-visual { position:relative; overflow:hidden; min-height:350px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--navy); color:white; }
.featured-visual:before { content:""; position:absolute; inset:35px; border:1px solid rgba(245,180,0,.34); border-radius:50%; }
.age-number { position:relative; z-index:2; color:var(--gold); font-size:142px; line-height:.78; font-weight:950; letter-spacing:-.08em; }
.age-label { position:relative; z-index:2; margin-top:14px; font-size:14px; font-weight:900; letter-spacing:.4em; }
.signal { position:absolute; border:2px solid rgba(255,255,255,.18); border-radius:50%; }
.signal-a { width:245px; height:245px; }.signal-b { width:315px; height:315px; }.signal-c { width:380px; height:380px; border-color:rgba(245,180,0,.2); }
.featured-content { display:flex; flex-direction:column; justify-content:center; padding:clamp(32px,5vw,56px); }
.category-label,.latest-body>p { margin:0 0 18px; color:#795600; font-size:11px; font-weight:900; letter-spacing:.14em; }
.featured-content h3 { margin:0; font-size:clamp(34px,4vw,54px); line-height:1.02; letter-spacing:-.04em; }
.featured-content>p:not(.category-label) { margin:20px 0; color:#536075; font-size:17px; line-height:1.7; }
.text-link { color:#0d3c73; font-size:14px; }
.topics-band { background:var(--navy); color:white; }
.section-heading.compact h2 { color:white; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.category-card { min-height:112px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding:20px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.04); }
.category-card { transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.category-card:hover,.category-card:focus-visible { transform:translateY(-3px); border-color:rgba(245,180,0,.55); background:rgba(255,255,255,.07); }
.category-card>svg:first-child { color:var(--gold); }.category-card span { font-size:16px; font-weight:800; }
.latest-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.latest-card { border:1px solid var(--line); background:#fff; }
.latest-cover { height:230px; overflow:hidden; display:grid; place-items:center; background:var(--navy); color:var(--gold); }
.latest-cover img { width:100%; height:100%; object-fit:cover; object-position:center 16%; }
.latest-cover span { font-size:90px; font-weight:950; opacity:.88; }
.cover-2 { background:linear-gradient(145deg,#143b6c,#071b3a); }.cover-3 { background:linear-gradient(145deg,#f5b400,#db8e00); color:var(--navy); }
.latest-body { padding:25px; }.latest-body h3 { margin:0 0 12px; font-size:23px; line-height:1.15; letter-spacing:-.025em; }.latest-body span { display:block; color:#667085; line-height:1.55; font-size:14px; }.latest-body small { display:block; margin-top:22px; color:#9b7000; font-size:10px; font-weight:900; letter-spacing:.13em; }
.manifesto { background:var(--gold); color:var(--navy); }
.manifesto-inner { display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center; }
.manifesto .eyebrow { color:var(--navy); }.manifesto h2 { margin:0; font-size:clamp(36px,5vw,62px); line-height:1; letter-spacing:-.05em; }.manifesto-inner>p { margin:0; font-size:18px; line-height:1.65; }
.project-heading { display:grid; grid-template-columns:160px minmax(0,1fr); gap:30px; align-items:center; }
.project-logo { display:block; width:160px; height:160px; border-radius:50%; object-fit:contain; box-shadow:0 16px 36px rgba(7,27,58,.16); }
.manifesto-side>p { margin:0; font-size:18px; line-height:1.65; }
.social-links { display:grid; gap:8px; margin-top:24px; }
.social-links a { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; padding:15px 17px; border:1px solid rgba(7,27,58,.22); background:rgba(255,255,255,.25); font-weight:850; transition:transform .2s ease,background .2s ease; }
.social-links a:hover { transform:translateX(4px); background:rgba(255,255,255,.45); }
.social-links a>span { display:flex; flex-direction:column; gap:3px; }
.social-links small { font-size:9px; letter-spacing:.14em; }
footer { padding:32px 0; background:#041126; color:#b8c6d9; }.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }.footer-brand { color:white; }.footer-inner p { font-size:13px; }.footer-links { display:flex; gap:18px; font-size:12px; font-weight:750; }.footer-links a:hover { color:var(--gold); }
.site-footer { display:grid; grid-template-columns:auto minmax(280px,1fr) auto; }
.footer-legal { max-width:520px; }
.footer-legal>strong { display:block; color:#f1f5fa; font-size:12px; line-height:1.45; }
.footer-legal p { margin:5px 0 0; color:#93a4bb; font-size:11px; line-height:1.5; }
.footer-legal a { color:#dce5f1; text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; }
.footer-actions { display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:11px; }
.footer-socials { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.footer-socials a { min-height:38px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 11px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#dce5f1; font-size:11px; font-weight:800; white-space:nowrap; transition:border-color .2s ease,color .2s ease,transform .2s ease; }
.footer-socials a:hover,.footer-socials a:focus-visible { border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.site-main-generic { min-height:60vh; padding:var(--space-6) 0; }
.site-main-generic h1 { margin-top:0; font-size:clamp(38px,6vw,68px); letter-spacing:-.045em; }
.empty-state { padding:var(--space-5); border-left:5px solid var(--gold); background:var(--paper); }
.empty-state p { margin:10px 0 0; color:#596579; line-height:1.65; }
.featured-cover-image img,.published-cover img { width:100%; height:100%; object-fit:cover; }
.featured-placeholder { position:relative; z-index:2; color:var(--gold); font-size:88px; font-weight:950; letter-spacing:-.08em; }
.article-content .entry-content > *:first-child { margin-top:0; }
.article-content .entry-content h2 { scroll-margin-top:var(--space-4); margin-top:var(--space-6); padding-top:var(--space-6); border-top:1px solid var(--line); }
.article-content .entry-content a { color:#0e4d8f; text-decoration:underline; text-underline-offset:3px; }
.article-content .entry-content ul,.article-content .entry-content ol { color:#3e4b60; font-size:18px; line-height:1.75; }
.article-content .entry-content blockquote { margin:var(--space-5) 0; padding:var(--space-4); border-left:5px solid var(--gold); background:var(--paper); }
.article-content .entry-content blockquote p { margin:0; color:var(--navy); font-weight:700; }
.mobile-menu > summary svg,.mobile-submenu > summary svg { pointer-events:none; }

.article-page { background:#fff; }
.article-hero { position:relative; overflow:hidden; padding:var(--space-6) 0 var(--space-7); background:radial-gradient(circle at 86% 12%,rgba(31,77,132,.78),transparent 29%),linear-gradient(135deg,var(--navy),#092b55); color:white; }
.article-hero:after { content:""; position:absolute; right:-120px; bottom:-190px; width:380px; height:380px; border:1px solid rgba(245,180,0,.28); border-radius:50%; box-shadow:0 0 0 34px rgba(245,180,0,.035),0 0 0 68px rgba(245,180,0,.025); pointer-events:none; }
.article-hero-inner { position:relative; z-index:1; max-width:1020px; }
.article-breadcrumb { margin-bottom:var(--space-5); }
.article-breadcrumb a { display:inline-flex; align-items:center; gap:8px; color:#b8c7da; font-size:12px; font-weight:800; }
.article-breadcrumb a:hover,.article-breadcrumb a:focus-visible { color:var(--gold); }
.article-hero h1 { margin:0; max-width:950px; font-size:clamp(48px,7vw,82px); line-height:.98; letter-spacing:-.055em; }
.article-deck { max-width:790px; margin:var(--space-4) 0; color:#cfdaea; font-size:20px; line-height:1.6; }
.article-meta { display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-4); padding-top:var(--space-3); border-top:1px solid rgba(255,255,255,.15); color:#b7c5d8; font-size:12px; font-weight:750; }
.article-meta span { display:inline-flex; align-items:center; gap:8px; }
.article-meta svg { color:var(--gold); }
.article-layout { display:grid; grid-template-columns:210px minmax(0,760px); gap:var(--space-7); justify-content:center; padding:var(--space-7) 0 110px; }
.article-index { position:sticky; top:var(--space-4); align-self:start; display:flex; flex-direction:column; gap:14px; padding-left:var(--space-3); border-left:3px solid var(--gold); font-size:13px; }
.article-index span { margin-bottom:4px; color:#9b7000; font-size:10px; font-weight:900; letter-spacing:.12em; }
.article-index a { color:#647087; transition:color .18s ease,transform .18s ease; }
.article-index a:hover,.article-index a:focus-visible { color:var(--navy); transform:translateX(3px); }
.article-content { font-family:Georgia,"Times New Roman",serif; }
.article-content section,.transparency-note { scroll-margin-top:var(--space-4); }
.article-content>section:not(.brief-box) { margin-top:var(--space-6); padding-top:var(--space-6); border-top:1px solid var(--line); }
.article-content h2 { margin:0 0 var(--space-3); font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:clamp(30px,3.5vw,38px); line-height:1.1; letter-spacing:-.035em; }
.article-content p { color:#3e4b60; font-size:19px; line-height:1.82; }
.brief-box { padding:var(--space-4); border-left:5px solid var(--gold); background:var(--paper); }
.brief-box p { margin:0 0 var(--space-2); color:#9b7000; font-family:Inter,sans-serif; font-size:10px; font-weight:900; letter-spacing:.16em; }
.brief-box strong { display:block; color:var(--navy); font-size:23px; line-height:1.5; }
.takeaway-list { display:grid; gap:0; padding:var(--space-2) var(--space-4); background:#f7f9fc; }
.takeaway-list p { display:flex; align-items:flex-start; gap:12px; margin:0; padding:var(--space-2) 0; font-family:Inter,sans-serif; font-size:15px; line-height:1.55; }
.takeaway-list p+p { border-top:1px solid #e2e6ec; }
.takeaway-list svg { flex:0 0 auto; margin-top:2px; color:#ad7d00; }
.transparency-note { display:grid; grid-template-columns:220px minmax(0,1fr); gap:var(--space-4); margin-top:var(--space-6); padding:var(--space-4); background:var(--navy); color:white; font-family:Inter,sans-serif; }
.transparency-heading { display:flex; align-items:flex-start; gap:var(--space-2); }
.transparency-heading svg { flex:0 0 auto; color:var(--gold); }
.transparency-heading small { display:block; margin-bottom:7px; color:#9eb0c8; font-size:9px; font-weight:900; letter-spacing:.12em; }
.transparency-heading strong { display:block; color:var(--gold); font-size:21px; line-height:1.15; }
.transparency-note p { margin:0; color:#cbd6e5; font-family:Inter,sans-serif; font-size:14px; line-height:1.7; }
.source-link { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); padding:var(--space-3); border:1px solid var(--line); color:#0e4d8f; font-family:Inter,sans-serif; transition:border-color .2s ease,background .2s ease; }
.source-link span { display:flex; flex-direction:column; gap:6px; }
.source-link small { color:#946b00; font-size:9px; font-weight:900; letter-spacing:.13em; }
.source-link strong { font-size:15px; }
.source-link:hover,.source-link:focus-visible { border-color:var(--gold); background:var(--paper); }
.article-content .prototype-note { margin:var(--space-4) 0 0; padding-top:var(--space-3); border-top:1px solid var(--line); color:#7a8495; font-family:Inter,sans-serif; font-size:12px; line-height:1.55; }
.article-next { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2); margin-top:var(--space-6); padding-top:var(--space-6); border-top:1px solid var(--line); font-family:Inter,sans-serif; }
.article-next a { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); padding:var(--space-3); border:1px solid var(--line); color:var(--navy); transition:border-color .2s ease,background .2s ease; }
.article-next a:hover,.article-next a:focus-visible { border-color:var(--gold); background:var(--paper); }
.article-next span { display:flex; flex-direction:column; gap:5px; font-size:14px; font-weight:850; }
.article-next small { color:#8a6500; font-size:9px; letter-spacing:.12em; }

.contact-page { min-height:100vh; background:#fff; }
.contact-hero { padding:var(--space-7) 0; background:radial-gradient(circle at 84% 15%,rgba(31,77,132,.78),transparent 28%),linear-gradient(135deg,var(--navy),#0a315e); color:white; }
.contact-hero h1 { margin:0; max-width:980px; font-size:clamp(48px,7vw,84px); line-height:.96; letter-spacing:-.055em; }
.contact-hero h1 span { color:var(--gold); }
.contact-hero>div>p:last-child { max-width:720px; margin:var(--space-4) 0 0; color:#cfdaea; font-size:19px; line-height:1.65; }
.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:var(--space-7); padding:var(--space-7) 0; }
.contact-intro { align-self:start; }
.contact-intro h2 { margin:0; font-size:clamp(34px,4vw,50px); line-height:1.05; letter-spacing:-.04em; }
.contact-intro>p:not(.eyebrow) { margin:var(--space-3) 0 0; color:#5d697c; font-size:16px; line-height:1.7; }
.contact-email-note { display:flex; align-items:flex-start; gap:var(--space-2); margin-top:var(--space-4); padding:var(--space-3); border-left:4px solid var(--gold); background:var(--paper); }
.contact-email-note>svg { flex:0 0 auto; color:#a77800; }
.contact-email-note strong { display:block; color:var(--navy); font-size:14px; }
.contact-email-note span { display:block; margin-top:7px; color:#687386; font-size:12px; line-height:1.55; }
.contact-options { border-top:1px solid var(--line); }
.contact-option { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:var(--space-4); padding:var(--space-4) 0; border-bottom:1px solid var(--line); }
.contact-option-icon { display:grid; place-items:center; width:54px; height:54px; border:1px solid rgba(7,27,58,.17); border-radius:50%; color:#a77800; background:var(--paper); transition:transform .22s ease,background .22s ease,color .22s ease; }
.contact-option small { color:#a77800; font-size:10px; font-weight:950; letter-spacing:.15em; }
.contact-option h2 { margin:8px 0 10px; font-size:clamp(25px,2.7vw,34px); line-height:1.08; letter-spacing:-.035em; }
.contact-option p { max-width:620px; margin:0; color:#657084; font-size:14px; line-height:1.6; }
.contact-option>a { display:inline-flex; align-items:center; gap:8px; color:#0d3c73; font-size:12px; font-weight:900; white-space:nowrap; }
.contact-option>a svg { transition:transform .22s ease; }
.contact-option:hover .contact-option-icon { color:var(--navy); background:var(--gold); transform:rotate(5deg) scale(1.06); }
.contact-option>a:hover svg,.contact-option>a:focus-visible svg { transform:translateX(5px); }
.contact-channels { padding:var(--space-6) 0; background:var(--gold); color:var(--navy); }
.contact-channels-grid { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:var(--space-7); }
.contact-channels .eyebrow { color:var(--navy); }
.contact-channels h2 { margin:0; max-width:620px; font-size:clamp(34px,4.5vw,56px); line-height:1.02; letter-spacing:-.045em; }
.contact-channels>div>div:first-child>p:last-child { max-width:620px; margin:var(--space-3) 0 0; font-size:16px; line-height:1.65; }
.contact-channel-links { display:grid; gap:10px; }
.contact-channel-links a { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:var(--space-2); padding:var(--space-2) var(--space-3); border:1px solid rgba(7,27,58,.24); background:rgba(255,255,255,.2); transition:transform .2s ease,background .2s ease; }
.contact-channel-links a:hover,.contact-channel-links a:focus-visible { background:rgba(255,255,255,.42); transform:translateX(4px); }
.contact-channel-links span { display:flex; flex-direction:column; gap:4px; font-size:14px; font-weight:900; }
.contact-channel-links small { font-size:8px; letter-spacing:.13em; }
@media (prefers-reduced-motion:reduce) { .contact-option-icon,.contact-option>a svg,.contact-channel-links a { transition:none; } .contact-option:hover .contact-option-icon,.contact-channel-links a:hover,.contact-channel-links a:focus-visible { transform:none; } }

/* Privacy e cookie */
.legal-page { background:#fff; }
.legal-hero { padding:82px 0; background:linear-gradient(135deg,var(--navy),#0a315e); color:white; }
.legal-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) 170px; align-items:center; gap:var(--space-6); }
.legal-hero h1 { max-width:900px; margin:0; font-size:clamp(48px,7vw,82px); line-height:.97; letter-spacing:-.055em; }
.legal-hero h1 span { color:var(--gold); }
.legal-hero p:last-child { max-width:720px; margin:28px 0 0; color:#cfdaea; font-size:19px; line-height:1.65; }
.legal-hero-mark { display:grid; place-items:center; width:145px; height:145px; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:var(--gold); background:rgba(255,255,255,.055); box-shadow:0 24px 60px rgba(0,0,0,.16); }
.legal-summary { padding:var(--space-6) 0; border-bottom:1px solid var(--line); }
.legal-summary-title { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:end; gap:var(--space-4); margin-bottom:var(--space-4); }
.legal-summary-title .eyebrow { margin:0 0 7px; }
.legal-summary-title h2 { max-width:760px; margin:0; color:var(--navy); font-size:clamp(34px,4vw,50px); line-height:1.05; letter-spacing:-.04em; }
.legal-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-3); }
.legal-summary-grid article { min-height:190px; padding:var(--space-4); border-top:4px solid var(--gold); background:var(--paper); }
.legal-summary-grid article>svg { margin-bottom:var(--space-3); color:#a77800; }
.legal-summary-grid strong { display:block; margin-bottom:11px; color:var(--navy); font-size:19px; }
.legal-summary-grid p { margin:0; color:#596579; font-size:15px; line-height:1.65; }
.legal-layout { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:var(--space-6); padding:var(--space-6) 0 var(--space-7); }
.legal-index { position:sticky; top:98px; display:flex; flex-direction:column; padding-left:var(--space-3); border-left:1px solid var(--line); }
.legal-index>span { margin-bottom:var(--space-2); color:#9a7200; font-size:10px; font-weight:900; letter-spacing:.16em; }
.legal-index a { display:grid; grid-template-columns:28px minmax(0,1fr); gap:8px; padding:10px 0; color:#697487; font-size:13px; font-weight:760; line-height:1.35; }
.legal-index a small { color:#aa7c00; font-size:9px; font-weight:900; letter-spacing:.08em; }
.legal-index a:hover,.legal-index a:focus-visible { color:var(--navy); }
.legal-content { min-width:0; }
.legal-content>section { scroll-margin-top:105px; padding:var(--space-6) 0; border-bottom:1px solid var(--line); }
.legal-content>section:first-of-type { padding-top:var(--space-5); }
.legal-content .eyebrow { margin-bottom:15px; }
.legal-content h2 { max-width:850px; margin:0 0 var(--space-3); color:var(--navy); font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-.04em; }
.legal-content p { max-width:900px; margin:0 0 17px; color:#536075; font-size:16px; line-height:1.78; }
.legal-content p:last-child { margin-bottom:0; }
.legal-content p strong,.legal-content p a { color:var(--navy); }
.legal-content p a { font-weight:850; text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:4px; }
.legal-update { padding:var(--space-3) var(--space-4); border-left:4px solid var(--gold); background:var(--navy); color:white; }
.legal-update span { display:block; color:var(--gold); font-size:9px; font-weight:900; letter-spacing:.16em; }
.legal-update strong { display:block; margin:8px 0; font-size:20px; }
.legal-update p { margin:0; color:#cbd6e5; font-size:13px; line-height:1.6; }
.legal-callout,.legal-rights-action { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--space-3); margin-top:var(--space-4); padding:var(--space-4); background:var(--paper); border:1px solid var(--line); }
.legal-callout>svg,.legal-rights-action>svg { margin-top:3px; color:#a77800; }
.legal-callout strong,.legal-rights-action strong { display:block; margin-bottom:8px; color:var(--navy); font-size:18px; }
.legal-callout p,.legal-rights-action p { margin:0; font-size:15px; }
.legal-rights-action a { display:inline-flex; align-items:center; gap:7px; margin-top:14px; color:#0d3c73; font-size:13px; font-weight:850; }
.legal-icon-heading { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--space-3); align-items:start; margin-bottom:17px; }
.legal-icon-heading>svg { margin-top:5px; color:#a77800; }
.legal-icon-heading p { margin:0; }
.legal-table-wrap { margin:var(--space-4) 0; overflow-x:auto; border:1px solid var(--line); }
.legal-table { width:100%; min-width:720px; border-collapse:collapse; background:#fff; }
.legal-table th { padding:15px 18px; color:var(--navy); background:var(--paper); font-size:11px; font-weight:900; letter-spacing:.08em; text-align:left; text-transform:uppercase; }
.legal-table td { padding:18px; border-top:1px solid var(--line); color:#566276; font-size:14px; line-height:1.6; vertical-align:top; }
.legal-table td:first-child { width:21%; color:var(--navy); font-weight:850; }
.legal-table th+th,.legal-table td+td { border-left:1px solid var(--line); }
.cookie-status { margin:var(--space-4) 0; padding:var(--space-4); border:1px solid rgba(7,27,58,.15); background:linear-gradient(135deg,rgba(245,180,0,.12),rgba(245,180,0,.035)); }
.cookie-status>div { display:flex; align-items:center; gap:11px; color:var(--navy); font-size:18px; }
.cookie-status-dot { width:11px; height:11px; border-radius:50%; background:#3a9d5d; box-shadow:0 0 0 5px rgba(58,157,93,.12); }
.cookie-status ul { margin:var(--space-3) 0 0; padding-left:20px; color:#536075; }
.cookie-status li { margin:9px 0; line-height:1.55; }
.legal-content .legal-final-note { margin-top:var(--space-5); padding:var(--space-4); border:0; background:var(--gold); }
.legal-final-note h2 { font-size:30px; }
.legal-final-note p { color:#263752; }
.terms-copyright { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:var(--space-3); margin:var(--space-4) 0; padding:var(--space-3) var(--space-4); color:white; background:var(--navy); }
.terms-copyright>svg { color:var(--gold); }
.terms-copyright strong { display:block; margin-bottom:5px; font-size:17px; }
.terms-copyright span { color:#cbd6e5; font-size:13px; line-height:1.55; }
.terms-list { margin:var(--space-4) 0; padding:var(--space-4); border:1px solid var(--line); }
.terms-list>strong { display:block; margin-bottom:var(--space-2); color:var(--navy); font-size:18px; }
.terms-list ul { margin:0; padding-left:22px; color:#536075; }
.terms-list li { margin:11px 0; padding-left:3px; line-height:1.6; }
.allowed-list { border-left:5px solid #3a9d5d; background:rgba(58,157,93,.045); }
.prohibited-list { border-left:5px solid #bd6d3a; background:rgba(189,109,58,.045); }
.source-principles { display:grid; grid-template-columns:repeat(2,1fr); margin:var(--space-4) 0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.source-principles>div { min-height:170px; padding:var(--space-3); border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper); }
.source-principles small { color:#a77800; font-size:10px; font-weight:950; letter-spacing:.14em; }
.source-principles strong { display:block; margin:15px 0 8px; color:var(--navy); font-size:20px; }
.source-principles p { margin:0; font-size:14px; line-height:1.6; }
.terms-report { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--space-3); margin:var(--space-4) 0; padding:var(--space-4); color:white; background:linear-gradient(135deg,var(--navy),#0a315e); }
.terms-report>svg { margin-top:3px; color:var(--gold); }
.terms-report strong { display:block; color:white; font-size:18px; }
.terms-report ul { margin:var(--space-2) 0 0; padding-left:20px; color:#cbd6e5; }
.terms-report li { margin:8px 0; line-height:1.55; }
@media (max-width:850px) { .legal-hero-inner{grid-template-columns:1fr 110px;gap:var(--space-4)}.legal-hero-mark{width:110px;height:110px}.legal-summary-title{grid-template-columns:1fr;gap:var(--space-2)}.legal-summary-grid{grid-template-columns:1fr}.legal-summary-grid article{min-height:0}.legal-layout{grid-template-columns:1fr;gap:var(--space-4)}.legal-index{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-3);padding:0 0 var(--space-4);border-left:0;border-bottom:1px solid var(--line)}.legal-index>span{grid-column:1/-1}.legal-content>section:first-of-type{padding-top:var(--space-4)} }
@media (max-width:560px) { .legal-hero{padding:62px 0}.legal-hero-inner{grid-template-columns:1fr}.legal-hero h1{font-size:45px}.legal-hero p:last-child{font-size:17px}.legal-hero-mark{width:85px;height:85px}.legal-summary{padding:var(--space-5) 0}.legal-summary-grid article{padding:var(--space-3)}.legal-layout{padding:var(--space-5) 0 var(--space-6)}.legal-index{grid-template-columns:1fr}.legal-content>section{padding:var(--space-5) 0}.legal-content h2{font-size:34px}.legal-update,.legal-callout,.legal-rights-action,.cookie-status,.terms-list,.terms-report{padding:var(--space-3)}.legal-callout,.legal-rights-action,.terms-report{grid-template-columns:1fr}.legal-table-wrap{margin-right:-14px}.legal-content .legal-final-note{padding:var(--space-3)}.terms-copyright{grid-template-columns:1fr;padding:var(--space-3)}.source-principles{grid-template-columns:1fr} }

.articles-page { min-height:100vh; background:#fff; }
.catalog-hero { padding:var(--space-6) 0; background:linear-gradient(135deg,var(--navy),#0a315e); color:white; }
.catalog-hero h1 { margin:0; font-size:clamp(48px,7vw,82px); line-height:.96; letter-spacing:-.055em; }
.catalog-hero h1 span { color:var(--gold); }
.catalog-hero>div>p:last-child { max-width:720px; margin:26px 0 0; color:#cfdaea; font-size:18px; line-height:1.65; }
.catalog-section { padding:var(--space-6) 0 var(--space-7); }
.catalog-toolbar { display:grid; grid-template-columns:160px minmax(0,1fr); align-items:start; gap:var(--space-4); padding-bottom:var(--space-4); border-bottom:1px solid var(--line); }
.catalog-toolbar>p { margin:11px 0 0; color:#7a8495; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.article-filters { display:flex; flex-wrap:wrap; gap:9px; }
.article-filters button,.article-filters a { display:inline-flex; align-items:center; min-height:44px; padding:11px 15px; border:1px solid #cdd3dc; border-radius:999px; background:white; color:#46546a; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.article-filters button:hover,.article-filters button:focus-visible,.article-filters a:hover,.article-filters a:focus-visible { border-color:var(--blue); color:var(--blue); }
.article-filters button.active,.article-filters a.active { border-color:var(--navy); background:var(--navy); color:white; }
.results-count { display:flex; align-items:center; gap:9px; margin:var(--space-3) 0 var(--space-5); color:#6b7688; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.results-count strong { color:var(--navy); }
.results-count span { color:#b7bec8; }
.catalog-section-heading { display:flex; align-items:end; justify-content:space-between; gap:var(--space-4); margin-bottom:var(--space-3); }
.catalog-section-heading .eyebrow { margin-bottom:10px; }
.catalog-section-heading h2 { margin:0; font-size:clamp(30px,3.8vw,46px); line-height:1.06; letter-spacing:-.04em; }
.catalog-section-heading>span { color:#a77800; font-size:42px; font-weight:950; line-height:1; }
.published-articles { display:grid; gap:var(--space-3); }
.published-article-link { display:block; }
.published-article { display:grid; grid-template-columns:300px minmax(0,1fr); min-height:330px; overflow:hidden; border:1px solid var(--line); background:var(--paper); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.published-cover { display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; background:var(--navy); color:var(--gold); }
.published-cover strong { font-size:108px; line-height:.82; letter-spacing:-.07em; }
.published-cover span { margin-top:14px; color:white; font-size:12px; font-weight:900; letter-spacing:.3em; }
.catalog-data { background:linear-gradient(145deg,#153f72,var(--navy)); }
.catalog-watch { background:linear-gradient(145deg,var(--gold),#d88d00); color:var(--navy); }
.published-body { display:flex; flex-direction:column; justify-content:center; padding:var(--space-5); }
.published-body>p { margin:0 0 var(--space-2); color:#946b00; font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.published-body h3 { max-width:690px; margin:0; font-size:clamp(32px,4vw,50px); line-height:1.04; letter-spacing:-.04em; }
.published-body>span { display:block; max-width:650px; margin-top:var(--space-3); color:#596579; font-size:16px; line-height:1.7; }
.published-body>strong { display:inline-flex; align-items:center; gap:8px; width:fit-content; margin-top:var(--space-4); color:#0d3c73; font-size:13px; }
.published-body>strong svg { transition:transform .22s ease; }
.published-article-link:hover .published-article,.published-article-link:focus-visible .published-article { transform:translateY(-4px); border-color:var(--gold); box-shadow:0 18px 42px rgba(7,27,58,.12); }
.published-article-link:hover .published-body>strong svg,.published-article-link:focus-visible .published-body>strong svg { transform:translateX(5px); }
.articles-empty { display:flex; flex-direction:column; gap:8px; padding:var(--space-4); border-left:4px solid var(--gold); background:var(--paper); }
.articles-empty strong { font-size:18px; }
.articles-empty span { color:#647087; font-size:14px; }
.tta-pagination { margin-top:var(--space-5); }
.tta-pagination .page-numbers { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.tta-pagination a,.tta-pagination .current { min-width:44px; min-height:44px; display:grid; place-items:center; padding:8px 12px; border:1px solid var(--line); font-weight:800; }
.tta-pagination .current { border-color:var(--navy); background:var(--navy); color:white; }
.legal-hero-mark { font-size:42px; font-weight:900; }
.upcoming-section { margin-top:var(--space-7); }
.upcoming-list { border-top:1px solid var(--line); }
.upcoming-row { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:var(--space-4); padding:var(--space-4) var(--space-2); border-bottom:1px solid var(--line); transition:background .2s ease; }
.upcoming-row:hover { background:linear-gradient(90deg,rgba(245,180,0,.07),transparent 70%); }
.upcoming-index { color:#b88700; font-size:12px; font-weight:950; letter-spacing:.16em; }
.upcoming-copy>p { margin:0 0 9px; color:#946b00; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.upcoming-copy h3 { margin:0; font-size:clamp(22px,2.5vw,30px); line-height:1.14; letter-spacing:-.03em; }
.upcoming-copy>span { display:block; max-width:720px; margin-top:9px; color:#687386; font-size:14px; line-height:1.55; }
.upcoming-row>small { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid #d3d7de; border-radius:999px; color:#707b8c; font-size:10px; font-weight:850; white-space:nowrap; }
@media (prefers-reduced-motion:reduce) { .published-article,.published-body>strong svg,.upcoming-row { transition:none; } .published-article-link:hover .published-article,.published-article-link:focus-visible .published-article { transform:none; } }

.topics-page { min-height:100vh; background:#fff; }
.topics-hero { padding:var(--space-6) 0; background:radial-gradient(circle at 84% 18%,rgba(31,77,132,.75),transparent 28%),linear-gradient(135deg,var(--navy),#0a315e); color:white; }
.topics-hero h1 { margin:0; max-width:900px; font-size:clamp(48px,7vw,82px); line-height:.97; letter-spacing:-.055em; }
.topics-hero h1 span { color:var(--gold); }
.topics-hero>div>p:last-child { max-width:690px; margin:28px 0 0; color:#cfdaea; font-size:19px; line-height:1.65; }
.topics-directory { padding:var(--space-5) 0 var(--space-6); }
.topic-directory-item { scroll-margin-top:var(--space-3); margin:0; border-top:1px solid var(--line); }
.topic-directory-item:last-child { border-bottom:1px solid var(--line); }
.topic-directory-row { position:relative; display:grid; grid-template-columns:120px minmax(0,1fr) auto; align-items:center; gap:var(--space-4); min-height:164px; overflow:hidden; padding:var(--space-3); transition:background .24s ease,transform .24s ease; }
.topic-directory-row:before { content:""; position:absolute; inset:var(--space-3) auto var(--space-3) 0; width:4px; background:var(--gold); transform:scaleY(0); transform-origin:center; transition:transform .24s ease; }
.topic-identity { display:flex; align-items:center; gap:var(--space-3); }
.topic-number { color:#a77800; font-size:12px; font-weight:950; letter-spacing:.18em; }
.topic-icon { display:grid; place-items:center; width:56px; height:56px; flex:0 0 auto; border:1px solid rgba(7,27,58,.16); border-radius:50%; color:#a77800; background:var(--paper); transition:transform .24s ease,background .24s ease,color .24s ease; }
.topic-copy { display:block; max-width:700px; }
.topic-copy h2 { margin:0 0 var(--space-2); font-size:clamp(30px,3.4vw,46px); line-height:1.05; letter-spacing:-.04em; }
.topic-copy>span { display:block; max-width:660px; color:#566277; font-size:16px; line-height:1.7; }
.topic-action { display:inline-flex; align-items:center; gap:var(--space-1); white-space:nowrap; color:#0d3c73; font-size:13px; font-weight:900; }
.topic-action svg { transition:transform .24s ease; }
.topic-directory-row:hover,.topic-directory-row:focus-visible { background:linear-gradient(90deg,rgba(245,180,0,.1),rgba(245,180,0,.025) 48%,transparent); transform:translateX(4px); }
.topic-directory-row:hover:before,.topic-directory-row:focus-visible:before { transform:scaleY(1); }
.topic-directory-row:hover .topic-icon,.topic-directory-row:focus-visible .topic-icon { color:var(--navy); background:var(--gold); transform:rotate(6deg) scale(1.08); }
.topic-directory-row:hover .topic-action svg,.topic-directory-row:focus-visible .topic-action svg { transform:translateX(5px); }
@media (prefers-reduced-motion:reduce) { .topic-directory-row,.topic-directory-row:before,.topic-icon,.topic-action svg { transition:none; } .topic-directory-row:hover,.topic-directory-row:focus-visible { transform:none; } .topic-directory-row:hover .topic-icon,.topic-directory-row:focus-visible .topic-icon { transform:none; } }

.topic-suggestion { padding:var(--space-6) 0; background:var(--paper); border-top:1px solid var(--line); }
.topic-suggestion-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); gap:var(--space-6); align-items:start; }
.topic-suggestion h2 { margin:0; max-width:620px; font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.04em; }
.topic-suggestion h2+p { max-width:620px; margin:var(--space-3) 0 0; color:#536075; font-size:17px; line-height:1.7; }
.editorial-policy { max-width:620px; margin:var(--space-3) 0 0; padding-top:var(--space-3); border-top:1px solid #d2d0c9; color:#687386; font-size:13px; line-height:1.65; }
.suggestion-form { padding:var(--space-4); border:1px solid var(--line); background:#fff; }
.suggestion-form fieldset { display:grid; gap:10px; margin:0; padding:0; border:0; }
.suggestion-form label { margin-top:8px; color:var(--navy); font-size:13px; font-weight:850; }
.suggestion-form select,.suggestion-form textarea,.suggestion-form input { width:100%; border:1px solid #cfd3da; border-radius:0; background:#f6f7f9; color:#596579; font:inherit; font-size:15px; }
.suggestion-form select,.suggestion-form input { min-height:46px; padding:0 13px; }
.suggestion-form textarea { resize:vertical; padding:13px; line-height:1.5; }
.suggestion-form button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; margin-top:10px; border:0; background:#c7cbd1; color:#fff; font-size:13px; font-weight:900; }
.suggestion-form :disabled { cursor:not-allowed; opacity:.78; }
.suggestion-status { margin:var(--space-2) 0 0; padding:12px 14px; border-left:3px solid var(--gold); background:#fff8dd; color:#67501a; font-size:12px; line-height:1.55; }
.suggestion-form .fluentform { color:var(--ink); }
.suggestion-form .ff-el-group { margin-bottom:18px; }
.suggestion-form .ff-el-input--label label { margin:0 0 8px; color:var(--navy); font-size:13px; font-weight:850; }
.suggestion-form .ff-el-form-control { min-height:46px; border:1px solid #cfd3da; border-radius:0; background:#f6f7f9; color:var(--ink); font:inherit; font-size:15px; box-shadow:none; }
.suggestion-form textarea.ff-el-form-control { min-height:132px; padding:13px; line-height:1.5; }
.suggestion-form .ff-el-form-control:focus { border-color:var(--blue); outline:3px solid rgba(22,63,117,.14); box-shadow:none; }
.suggestion-form .ff-el-form-check { margin-bottom:8px; }
.suggestion-form .ff-el-form-check-label { display:flex; align-items:flex-start; gap:8px; margin:0; color:#46546a; font-size:14px; font-weight:600; line-height:1.5; }
.suggestion-form .ff-el-form-check-input { width:18px; min-height:18px; flex:0 0 18px; margin:2px 0 0; accent-color:var(--navy); }
.suggestion-form .ff-el-input--content p { color:#5f6c7e; font-size:13px; line-height:1.6; }
.suggestion-form .ff-el-input--content a { color:var(--blue); text-decoration:underline; text-underline-offset:2px; }
.suggestion-form .ff-btn-submit { min-height:48px; width:100%; margin-top:4px; padding:0 18px; border:0; border-radius:0; background:var(--gold); color:var(--navy); font-size:13px; font-weight:900; cursor:pointer; transition:background .2s ease,transform .2s ease; }
.suggestion-form .ff-btn-submit:hover,.suggestion-form .ff-btn-submit:focus-visible { background:#ffc425; transform:translateY(-1px); }
.suggestion-form .ff-message-success { margin:0; padding:16px 18px; border:0; border-left:4px solid var(--gold); background:#fff8dd; color:#534214; font-size:14px; line-height:1.6; box-shadow:none; }
.suggestion-form .error { color:#9e2525; font-size:12px; }

.project-story-link { display:inline-flex; align-items:center; gap:8px; margin-top:20px; color:var(--navy); font-size:13px; font-weight:900; }
.project-page { background:#fff; }
.project-hero { padding:var(--space-6) 0; overflow:hidden; background:radial-gradient(circle at 84% 14%,rgba(31,77,132,.72),transparent 27%),linear-gradient(135deg,var(--navy),#0a315e); color:white; }
.project-hero-grid { display:grid; grid-template-columns:1fr 250px; gap:80px; align-items:center; }
.project-hero h1 { margin:0; font-size:clamp(50px,7vw,86px); line-height:.95; letter-spacing:-.055em; }
.project-hero h1 span { color:var(--gold); }
.project-hero p:last-child { max-width:710px; margin:28px 0 0; color:#cfdaea; font-size:19px; line-height:1.65; }
.project-page-logo { width:250px; height:250px; border-radius:50%; object-fit:contain; box-shadow:0 26px 70px rgba(0,0,0,.28); }
.project-story { display:flex; flex-direction:column; gap:var(--space-5); padding:var(--space-6) 0; }
.project-lead { width:100%; max-width:900px; margin:0 auto; text-align:center; }
.project-lead blockquote { margin:0; color:var(--navy); font-size:clamp(31px,4.5vw,54px); font-weight:900; line-height:1.12; letter-spacing:-.04em; }
.project-lead>p:last-child { max-width:720px; margin:30px auto 0; color:#5d697c; font-size:17px; line-height:1.75; }
.story-split { width:100%; display:grid; grid-template-columns:130px minmax(0,820px); gap:60px; justify-content:center; align-items:start; margin:0; }
.story-split.reverse { grid-template-columns:minmax(0,820px) 130px; }
.story-split.reverse>div:last-child { grid-column:1; grid-row:1; }
.story-split.reverse .story-number { grid-column:2; grid-row:1; }
.story-number { color:var(--gold); font-size:106px; font-weight:950; line-height:.8; letter-spacing:-.08em; }
.story-split h2,.turning-point h2,.project-purpose h2,.author-section h2 { margin:0; font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.04em; }
.story-split>div:last-child>p:not(.eyebrow) { color:#536075; font-size:17px; line-height:1.75; }
.turning-point { width:100%; max-width:920px; display:grid; grid-template-columns:70px minmax(0,1fr); gap:30px; margin:0 auto; padding:45px; background:var(--navy); color:white; }
.turning-icon { display:grid; place-items:center; width:62px; height:62px; border:1px solid rgba(245,180,0,.55); border-radius:50%; color:var(--gold); }
.turning-point p:last-child { margin:20px 0 0; color:#ccd7e6; font-size:17px; line-height:1.75; }
.audience-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.audience-tags span { padding:9px 12px; border:1px solid #d4d8df; border-radius:999px; color:#35445b; font-size:12px; font-weight:800; }
.project-purpose { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:var(--space-4); margin:0; padding:var(--space-4); background:var(--gold); color:var(--navy); }
.project-purpose .eyebrow { color:var(--navy); }
.project-purpose h2 { font-size:clamp(32px,3.4vw,46px); }
.project-purpose>div:last-child p { margin:0 0 13px; font-size:16px; line-height:1.58; }
.project-purpose>div:last-child p:last-child { margin-bottom:0; }
.project-method { margin-top:0; }
.method-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.method-grid>div { position:relative; z-index:0; min-height:220px; padding:28px; border:1px solid var(--line); background:#fff; transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease; }
.method-grid svg { color:#a77800; }
.method-grid strong { display:block; margin:22px 0 10px; font-size:20px; }
.method-grid p { margin:0; color:#596579; font-size:16px; line-height:1.6; }
@media (hover:hover) and (pointer:fine) {
  .method-grid>div:hover { z-index:2; transform:translateY(-6px) scale(1.025); border-color:var(--gold); box-shadow:0 18px 38px rgba(7,27,58,.14); }
}
@media (prefers-reduced-motion:reduce) {
  .method-grid>div { transition:none; }
  .method-grid>div:hover { transform:none; }
}
.author-section { margin-top:120px; padding-top:90px; border-top:1px solid var(--line); }
.author-intro { display:flex; align-items:end; justify-content:space-between; width:100%; gap:var(--space-4); margin:0; }
.author-intro blockquote { flex:0 0 340px; margin:0; padding:var(--space-3) var(--space-4); border-left:4px solid var(--gold); background:var(--navy); box-shadow:0 14px 32px rgba(7,27,58,.12); }
.author-intro blockquote small { display:block; color:var(--gold); font-size:10px; font-style:normal; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.author-intro blockquote strong { display:block; margin-top:8px; color:white; font-size:clamp(24px,2.6vw,34px); line-height:1.08; letter-spacing:-.035em; }
.author-copy { width:100%; max-width:none; }
.author-copy p { color:#536075; font-size:17px; line-height:1.8; }
.author-copy>p { max-width:900px; }
.author-copy .author-opening { color:var(--navy); font-size:21px; font-weight:720; line-height:1.6; }
.author-paths { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:var(--space-3); margin:0; }
.author-paths article { padding:var(--space-4); border:1px solid var(--line); background:var(--paper); }
.author-path-icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:25px; border:1px solid rgba(7,27,58,.18); border-radius:50%; color:#a77800; background:#fff; }
.author-paths h3 { margin:0 0 16px; color:var(--navy); font-size:27px; line-height:1.15; letter-spacing:-.025em; }
.author-paths article>p:last-child { margin:0; color:#596579; font-size:16px; line-height:1.72; }
.author-profession { display:grid; grid-template-columns:.8fr 1.2fr; width:100%; gap:var(--space-5); margin:0; padding:var(--space-5); background:var(--navy); color:white; }
.author-profession-title { display:flex; align-items:flex-start; gap:var(--space-3); }
.author-profession-title>svg { flex:0 0 auto; margin-top:3px; color:var(--gold); }
.author-profession h3 { margin:0; font-size:clamp(28px,3vw,38px); line-height:1.08; letter-spacing:-.035em; }
.author-profession>div:last-child p { margin:0 0 17px; color:#cbd6e5; font-size:16px; line-height:1.72; }
.author-profession>div:last-child p:last-child { margin-bottom:0; }
.author-profession strong { color:white; }
.author-connection { display:flex; justify-content:space-between; align-items:center; width:100%; gap:var(--space-5); padding:0; }
.author-connection p { max-width:760px; margin:0; color:#46546a; font-size:18px; line-height:1.7; }
.author-connection a { flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; padding:13px 16px; border:1px solid #bcc4cf; color:#0d3c73; font-size:13px; font-weight:850; }
.author-connection a:hover { border-color:var(--navy); background:var(--navy); color:white; }
.author-hero { padding:var(--space-6) 0; background:linear-gradient(135deg,var(--navy),#0a315e); color:white; }
.author-hero-inner { max-width:1180px; }
.author-hero h1 { margin:0; font-size:clamp(48px,7vw,82px); line-height:.97; letter-spacing:-.055em; }
.author-hero h1 span { color:var(--gold); }
.author-hero p:last-child { max-width:760px; margin:28px 0 0; color:#cfdaea; font-size:19px; line-height:1.65; }
.author-page-content { display:flex; flex-direction:column; gap:var(--space-5); padding:var(--space-6) 0 var(--space-7); }
.author-page .author-section { display:flex; flex-direction:column; width:100%; gap:var(--space-5); margin:0; padding:0; border-top:0; }
.page-crosslink { display:flex; align-items:end; justify-content:space-between; width:100%; gap:var(--space-5); margin:0; padding:var(--space-5); border-left:5px solid var(--gold); background:var(--paper); }
.page-crosslink>div { max-width:760px; }
.page-crosslink h2 { margin:0; font-size:clamp(30px,4vw,46px); line-height:1.06; letter-spacing:-.04em; }
.page-crosslink p:last-child { margin:18px 0 0; color:#5e697b; font-size:16px; line-height:1.65; }
.page-crosslink>a { flex:0 0 auto; display:inline-flex; align-items:center; gap:9px; padding:14px 17px; background:var(--navy); color:white; font-size:13px; font-weight:850; }
.page-crosslink>a:hover,.page-crosslink>a:focus-visible { background:#0d3c73; color:var(--gold); }
.project-cta { padding:var(--space-6) 0; background:var(--navy); color:white; }
.project-cta>.shell { display:grid; grid-template-columns:1fr .75fr; gap:90px; align-items:end; }
.project-cta h2 { margin:0; max-width:680px; font-size:clamp(36px,4vw,54px); line-height:1.04; letter-spacing:-.04em; }
.project-cta-links { display:grid; gap:10px; }
.project-cta-links a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 17px; border:1px solid rgba(255,255,255,.22); color:#e0e8f3; font-size:13px; font-weight:850; }
.project-cta-links a>span { display:inline-flex; align-items:center; gap:10px; }
.project-cta-links a:hover { border-color:var(--gold); color:var(--gold); }

@media (max-width:1050px) { .published-article{grid-template-columns:250px minmax(0,1fr)} }
@media (max-width:850px) { .desktop-nav,.header-inner>.channel-link{display:none}.mobile-menu{display:block}.hero-grid,.featured-card,.manifesto-inner,.project-purpose,.project-cta>.shell,.author-profession{grid-template-columns:1fr}.hero-grid{gap:40px;padding:64px 0}.hero{min-height:auto}.category-grid{grid-template-columns:repeat(2,1fr)}.latest-grid{grid-template-columns:1fr}.latest-cover{height:300px}.manifesto-inner,.project-cta>.shell{gap:38px}.site-footer{grid-template-columns:1fr;gap:var(--space-3)}.footer-actions{align-items:flex-start;justify-content:flex-start}.footer-socials{justify-content:flex-start}.article-layout{grid-template-columns:1fr;gap:var(--space-5)}.article-index{position:static;flex-direction:row;flex-wrap:wrap;gap:10px 18px;padding:0 0 var(--space-3);border-left:0;border-bottom:1px solid var(--line)}.article-index span{flex-basis:100%}.article-index a:hover,.article-index a:focus-visible{transform:none}.transparency-note{grid-template-columns:1fr}.contact-layout,.contact-channels-grid{grid-template-columns:1fr;gap:var(--space-5)}.project-hero-grid{grid-template-columns:1fr 180px;gap:38px}.project-page-logo{width:180px;height:180px}.project-purpose{gap:26px;padding:40px}.method-grid{grid-template-columns:repeat(2,1fr)}.topic-directory-row{grid-template-columns:100px minmax(0,1fr);gap:var(--space-4)}.topic-action{grid-column:2}.topic-suggestion-grid{grid-template-columns:1fr;gap:var(--space-4)}.author-profession{gap:var(--space-4)}.author-connection{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.page-crosslink{align-items:flex-start;flex-direction:column;gap:var(--space-3)} }
@media (max-width:560px) { :root{--home-section-space:48px}.shell{width:min(100% - 28px,1180px)}.header-inner{height:72px}.brand small{display:none}.mobile-menu nav{min-width:260px}.hero-grid{gap:32px;padding:56px 0}.hero h1{font-size:48px}.hero-intro{font-size:17px}.featured,.topics-band,.manifesto{padding:var(--home-section-space) 0}.featured-visual{min-height:300px}.category-grid{grid-template-columns:1fr}.category-card{min-height:90px}.latest-cover{height:235px}.project-heading{grid-template-columns:105px minmax(0,1fr);gap:18px;align-items:start}.project-logo{width:105px;height:105px}.manifesto h2{font-size:36px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-actions{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.catalog-hero,.topics-hero{padding:var(--space-5) 0}.catalog-toolbar{grid-template-columns:1fr;gap:var(--space-2)}.catalog-toolbar>p{margin:0}.results-count{margin-bottom:var(--space-4)}.catalog-section-heading>span{font-size:34px}.published-article{grid-template-columns:1fr}.published-cover{min-height:220px}.published-body{padding:var(--space-4)}.upcoming-section{margin-top:var(--space-6)}.upcoming-row{grid-template-columns:42px minmax(0,1fr);gap:var(--space-2);padding:var(--space-4) 0}.upcoming-row>small{grid-column:2;width:fit-content}.topics-hero h1{font-size:47px}.topics-directory{padding:var(--space-4) 0 var(--space-5)}.topic-directory-row{grid-template-columns:1fr;gap:var(--space-3);min-height:0;padding:var(--space-3) var(--space-2)}.topic-identity{justify-content:space-between}.topic-action{grid-column:1;padding-top:var(--space-1)}.topic-suggestion{padding:var(--space-5) 0}.suggestion-form{padding:var(--space-3)}.contact-hero{padding:var(--space-6) 0}.contact-hero h1{font-size:45px}.contact-layout{padding:var(--space-6) 0}.contact-option{grid-template-columns:54px minmax(0,1fr);gap:var(--space-2)}.contact-option>a{grid-column:2;width:fit-content}.contact-channels{padding:var(--space-6) 0}.project-hero,.author-hero{padding:var(--space-5) 0}.project-hero-grid{grid-template-columns:1fr}.project-page-logo{width:125px;height:125px}.project-story{gap:var(--space-4);padding:var(--space-5) 0}.author-page-content{gap:var(--space-5);padding:var(--space-6) 0}.story-split,.story-split.reverse{grid-template-columns:1fr;gap:22px;margin:0}.story-split.reverse>div:last-child,.story-split.reverse .story-number{grid-column:1;grid-row:auto}.story-number{font-size:74px}.turning-point{grid-template-columns:1fr;margin:0;padding:30px}.project-purpose{margin:0;padding:32px 25px}.method-grid{grid-template-columns:1fr}.author-section{margin-top:80px;padding-top:65px}.author-page .author-section{gap:var(--space-5);margin:0;padding:0}.author-intro{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.author-intro blockquote{width:100%;flex-basis:auto;padding:var(--space-3)}.author-copy .author-opening{font-size:18px}.author-paths{grid-template-columns:1fr;gap:var(--space-3);margin:0}.author-paths article{padding:var(--space-3)}.author-profession{gap:var(--space-4);padding:var(--space-4)}.author-profession-title{flex-direction:column}.author-connection a{width:100%;justify-content:center}.page-crosslink{margin:0;padding:var(--space-4)}.page-crosslink>a{width:100%;justify-content:center}.project-cta{padding:var(--space-5) 0}.article-hero{padding:var(--space-5) 0 var(--space-6)}.article-breadcrumb{margin-bottom:var(--space-4)}.article-hero h1{font-size:45px}.article-deck{font-size:18px}.article-meta{align-items:flex-start;flex-direction:column}.article-layout{padding:var(--space-6) 0 var(--space-7)}.article-index{gap:9px 14px}.article-content p{font-size:17px}.brief-box{padding:var(--space-3)}.brief-box strong{font-size:20px}.takeaway-list{padding:var(--space-2) var(--space-3)}.transparency-note{padding:var(--space-3)}.article-next{grid-template-columns:1fr}.project-cta{padding:var(--space-5) 0} }

/* Shared editorial rhythm and readable archive controls. */
.project-hero-grid > div, .author-intro > div, .page-crosslink > div,
.author-profession > div, .project-purpose > div { min-width:0; }
.project-page h1, .articles-page h1 { line-height:1.08; overflow-wrap:break-word; }
.author-copy p:first-child { margin-top:0; }
.author-copy p:last-child, .story-split > div > p:last-child { margin-bottom:0; }
.purpose-link { display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-size:16px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.purpose-link svg { flex-shrink:0; }
.catalog-results-title { margin:0 0 var(--space-3); font-size:clamp(24px,3vw,34px); line-height:1.2; }
.catalog-toolbar > p { font-size:14px; letter-spacing:.04em; color:#536075; }
.article-filters button, .published-body > strong { font-size:14px; }
.results-count { font-size:14px; letter-spacing:0; text-transform:none; margin-bottom:var(--space-4); }
.published-body > p { font-size:13px; letter-spacing:.03em; }
.articles-empty { line-height:1.6; }
.articles-empty button { display:inline-flex; align-items:center; gap:8px; width:fit-content; margin-top:8px; padding:12px 16px; border:0; background:var(--navy); color:white; font:inherit; font-weight:700; cursor:pointer; }
:focus-visible { outline:3px solid #3976bd; outline-offset:4px; }
.site-header :focus-visible, .project-cta :focus-visible { outline-color:var(--gold); }
@media (max-width:850px) {
  .project-hero-grid, .author-profession, .project-purpose { gap:var(--space-4); }
  .published-article { grid-template-columns:220px minmax(0,1fr); }
  .published-body { padding:var(--space-4); }
}
@media (max-width:560px) {
  .project-page h1, .articles-page h1 { font-size:clamp(34px,9vw,48px); letter-spacing:-.035em; }
  .project-purpose, .page-crosslink, .author-profession { padding:var(--space-3); }
  .published-article { grid-template-columns:1fr; }
  .published-body h3 { font-size:30px; line-height:1.15; }
  .author-page-content { padding:var(--space-5) 0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .published-article, .published-body > strong svg { transition:none; }
  .published-article-link:hover .published-article,
  .published-article-link:focus-visible .published-article { transform:none; }
}

.author-copy p + p { margin-top:var(--space-2); }
.story-split h2 + p { margin-top:var(--space-2); }
.story-split p + p:not(.eyebrow) { margin-top:var(--space-2); }
.story-number { letter-spacing:-.04em; }

/* Mobile navigation: comfortable touch targets and controlled menu state. */
@media (max-width:850px) {
  .mobile-menu > summary { width:44px; height:44px; }
  .mobile-menu nav { max-width:calc(100vw - 28px); }
  .mobile-submenu > summary, .mobile-menu nav a { min-height:44px; }
}
@media (max-width:560px) {
  .header-inner { gap:12px; }
  .mobile-menu { flex-shrink:0; }
}

/* Homepage mobile: denser reading rhythm without sacrificing touch comfort. */
@media (max-width:560px) {
  :root { --home-section-space:40px; }
  .hero-grid { gap:24px; padding:40px 0; }
  .hero-intro { margin:20px 0; }
  .editorial-note { padding:24px; }
  .section-heading { gap:16px; margin-bottom:20px; }
  .featured-visual { min-height:240px; }
  .featured-visual::before { inset:28px; }
  .age-number { font-size:118px; }
  .featured-content { padding:24px; }
  .category-label { margin-bottom:14px; font-size:10px; letter-spacing:.08em; }
  .project-heading { grid-template-columns:82px minmax(0,1fr); gap:16px; }
  .project-logo { width:82px; height:82px; }
  .manifesto h2 { font-size:32px; line-height:1.06; }
  .manifesto-inner { gap:28px; }
  .footer-socials a { min-height:44px; font-size:12px; }
}
@media (max-width:375px) {
  .hero h1 { font-size:44px; line-height:.98; }
}

/* Shared article closing: social profiles and topic suggestions. */
.article-content .article-engagement { margin-top:32px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.article-engagement-row { display:flex; align-items:center; justify-content:space-between; gap:16px 24px; }
.article-content .article-engagement-row p { margin:0; font-size:16px; line-height:1.6; color:var(--navy); }
.article-social-icons { display:flex; flex-wrap:wrap; align-items:center; gap:8px; flex-shrink:0; }
.article-social-icons a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; color:var(--navy); text-decoration:none; transition:background-color .15s ease,border-color .15s ease; }
.article-social-icons a:hover,.article-social-icons a:focus-visible { background:var(--gold); border-color:var(--gold); color:var(--navy); }
.article-social-icons a:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.article-engagement .article-suggest-link { display:inline-flex; align-items:center; min-height:44px; margin-top:16px; font-size:15px; line-height:1.5; color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.article-engagement + .article-next { margin-top:32px; padding-top:0; border-top:0; }
#topic-suggestion-title { scroll-margin-top:32px; }
@media (max-width:700px) {
  .article-engagement-row { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  .article-social-icons a { transition:none; }
}

/* Homepage author introduction. */
.home-author { padding:var(--home-section-space) 0; background:var(--paper); color:var(--ink); }
.home-author-grid { display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); gap:40px; align-items:center; }
.home-author-photo { display:block; width:100%; height:auto; border-radius:8px; }
.home-author-copy { min-width:0; }
.home-author .home-author-copy h2 { font-size:clamp(28px,3.4vw,42px); line-height:1.12; letter-spacing:-.035em; margin:0 0 20px; }
.home-author-copy p { font-size:17px; line-height:1.65; margin:0 0 16px; }
.home-author-copy .project-story-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:0; }
@media (max-width:900px) {
  .home-author-grid { grid-template-columns:minmax(0,240px) minmax(0,1fr); gap:24px; }
}
@media (max-width:700px) {
  .home-author-grid { grid-template-columns:minmax(0,1fr); }
  .home-author-photo { max-width:240px; justify-self:center; }
}

/* Homepage only: latest three posts, using the archive card identity. */
.home-latest .home-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-latest .published-article-link { min-width:0; height:100%; }
.home-latest .published-article { display:flex; flex-direction:column; height:100%; min-height:0; }
.home-latest .published-cover { aspect-ratio:16/9; min-height:0; width:100%; flex:none; }
.home-latest .published-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.home-latest .published-cover strong { font-size:64px; }
.home-latest .published-body { flex:1; justify-content:flex-start; padding:24px; min-width:0; }
.home-latest .published-body>p { margin:0 0 12px; font-size:11px; line-height:1.6; letter-spacing:.04em; color:#665000; }
.home-latest .published-body h3 { font-size:clamp(23px,2.1vw,28px); line-height:1.18; letter-spacing:-.025em; overflow-wrap:break-word; }
.home-latest .published-body>span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:16px 0 24px; font-size:15px; line-height:1.6; }
.home-latest .published-body>strong { margin-top:auto; padding-top:0; font-size:14px; line-height:1.5; }
.home-latest .published-body>strong svg { flex-shrink:0; }
.home-latest .home-archive-link { margin-top:24px; }
.home-latest .home-archive-link a { min-height:44px; display:inline-flex; align-items:center; gap:8px; }
@media (max-width:1000px) {
  .home-latest .home-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .home-latest .home-article-grid { grid-template-columns:minmax(0,1fr); }
  .home-latest .published-body { padding:20px; }
}

/* Newsletter prepared for a later launch. No layout space while hidden. */
.tta-newsletter[hidden] { display:none !important; }
.tta-newsletter { color:var(--ink); }
.tta-newsletter--home { padding:var(--home-section-space) 0; background:var(--paper); }
.tta-newsletter--article { margin:32px 0; }
.tta-newsletter--article .tta-newsletter-inner { padding:32px; border:1px solid var(--line); border-radius:16px; background:var(--paper); }
.tta-newsletter h2 { margin:0 0 16px; color:var(--navy); font-size:clamp(24px,3vw,34px); line-height:1.2; }
.tta-newsletter-description { margin:0 0 24px; max-width:720px; line-height:1.65; }
.tta-newsletter-fields { display:flex; align-items:flex-end; gap:16px; max-width:760px; }
.tta-newsletter-email { flex:1; min-width:0; }
.tta-newsletter label { display:block; margin-bottom:8px; font-weight:700; }
.tta-newsletter input { width:100%; min-height:48px; padding:12px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }
.tta-newsletter button { min-height:48px; padding:12px 20px; border:0; border-radius:8px; background:var(--gold); color:var(--navy); font-weight:700; }
.tta-newsletter :focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.tta-newsletter .tta-newsletter-privacy { margin:12px 0 0; font-size:13px; line-height:1.6; }
.tta-newsletter-privacy a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:700px) {
  .tta-newsletter-fields { flex-direction:column; align-items:stretch; }
  .tta-newsletter--article .tta-newsletter-inner { padding:24px 20px; }
}

/* Attestato: link leggibile sul riquadro scuro, anche su smartphone. */
.author-profession .author-credential-link { color:var(--gold); font-weight:700; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.author-profession .author-credential-link svg { display:inline-block; vertical-align:middle; margin-left:4px; }
.author-profession .author-credential-link:hover { color:white; }
.author-profession .author-credential-link:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
