/* Cirigliano.org · Progetto Le parole di Cirigliano. Solo presentazione e collegamenti. */
:root { --cv-forest:#183a30; --cv-ink:#213e34; --cv-muted:#526359; --cv-paper:#faf7ef; --cv-line:#d7dfd3; --cv-gold:#ba8852; }
.cv-nav-link { color:var(--cv-forest); }
@media (min-width:901px) {
 .main-nav { gap:clamp(11px,1.25vw,22px); }
 .header-inner { gap:18px; }
}
@media (min-width:901px) and (max-width:1380px) {
 .header-visit { display:none; }
 .main-nav a { font-size:11px; }
 .main-nav { gap:13px; }
}
.cv-home { margin-block:48px 56px; }
.cv-feature { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); border:1px solid var(--cv-line); border-radius:24px; overflow:hidden; background:linear-gradient(125deg,#f2eee1,#faf9f2 55%); box-shadow:0 14px 44px #183a3009; }
.cv-feature-art { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:35px 28px; background:linear-gradient(135deg,#e6ebde,#f6f2e7); min-width:0; }
.cv-feature-art picture,.cv-hero-art picture { width:100%; display:block; }
.cv-feature-art img,.cv-hero-art img { width:100%; height:auto; display:block; mix-blend-mode:multiply; }
.cv-feature-art > p { margin:20px 0 0; text-align:center; color:var(--cv-ink); font-family:Georgia,serif; font-size:clamp(18px,2vw,25px); line-height:1.35; }
.cv-feature-copy { padding:clamp(27px,3.5vw,50px); min-width:0; }
.cv-feature-copy h2 { font-size:clamp(28px,3vw,42px); line-height:1.13; margin:12px 0 22px; }
.cv-feature-copy > p { max-width:62ch; line-height:1.75; }
.cv-feature-copy > p + p { margin-top:14px; }
.cv-label { display:inline-block; color:var(--cv-muted); font-size:11px; text-transform:uppercase; font-weight:700; letter-spacing:.14em; margin-bottom:22px; line-height:1.6; }
.cv-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:24px; }
.cv-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border:1px solid var(--cv-forest); border-radius:7px; padding:12px 18px; font-size:13px; font-weight:700; line-height:1.4; text-decoration:none; text-align:center; transition:background .18s,color .18s; max-width:100%; }
.cv-btn.cv-primary,.cv-btn.cv-primary:visited { background:var(--cv-forest); color:#fff; }
.cv-btn.cv-primary:hover { background:#285344; }
.cv-btn.cv-secondary,.cv-btn.cv-secondary:visited { color:var(--cv-forest); background:#fffaf2; }
.cv-btn.cv-secondary:hover { background:#e5ebdf; }
.cv-btn:focus-visible,.cv-text-link:focus-visible,.cv-page-nav a:focus-visible { outline:3px solid #ac7438; outline-offset:4px; }
.cv-text-link,.cv-text-link:visited { color:var(--cv-forest); font-weight:700; text-underline-offset:4px; line-height:1.65; }
.cv-small { color:var(--cv-muted); font-size:12px; line-height:1.7; }
.cv-open { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:18px!important; }
.cv-open span { align-self:center; }
.cv-breadcrumb { padding-top:27px; font-size:12px; color:var(--cv-muted); }
.cv-breadcrumb a { color:inherit; }
.cv-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,4vw,70px); padding-block:42px 55px; align-items:center; }
.cv-hero-copy h1 { font-size:clamp(43px,5.2vw,76px); line-height:1.04; letter-spacing:-.035em; margin:15px 0 24px; }
.cv-hero-copy h1 em { color:#53765a; font-weight:400; }
.cv-hero-copy > p { line-height:1.8; max-width:57ch; }
.cv-hero-copy .cv-lead { font-size:clamp(19px,2vw,23px); line-height:1.45; color:var(--cv-ink); margin-bottom:17px; }
.cv-hero-copy .cv-small { margin-top:16px; }
.cv-hero-art { border:1px solid #dce1d5; border-radius:160px 160px 24px 24px; min-height:380px; background:radial-gradient(ellipse at 55% 25%,#fffdf5,#e9ecdf); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:42px 28px 24px; }
.cv-art-caption { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; border-top:1px solid #cdd8c5; padding:20px 0 0; margin-top:18px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#3c5848; }
.cv-page-nav { display:flex; flex-wrap:wrap; gap:10px 24px; border-block:1px solid var(--cv-line); padding-block:17px; }
.cv-page-nav a { color:var(--cv-forest); font-size:13px; font-weight:700; text-decoration:none; padding:6px 0; }
.cv-page-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.cv-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:clamp(30px,5vw,80px); padding-top:52px; }
.cv-prose { min-width:0; max-width:820px; }
.cv-prose > section { margin-bottom:52px; scroll-margin-top:130px; }
.cv-prose h2 { font-size:clamp(28px,3vw,37px); line-height:1.17; margin:10px 0 24px; }
.cv-prose p { line-height:1.85; margin-bottom:17px; color:#344a40; }
.cv-prose strong { color:var(--cv-forest); }
.cv-aside { min-width:0; }
.cv-aside-panel { padding:27px; border:1px solid var(--cv-line); background:#eef1e6; border-radius:16px; }
.cv-aside-panel h2 { font-size:28px; line-height:1.2; margin:12px 0 18px; }
.cv-aside-panel p { font-size:14px; line-height:1.8; margin-bottom:22px; }
.cv-aside-panel .cv-btn { width:100%; margin-bottom:12px; }
.cv-aside-panel .cv-text-link { display:block; font-size:13px; margin-top:12px; }
.cv-aside-note { padding:25px 10px; }
.cv-aside-note h3 { font-size:21px; margin-bottom:12px; }
.cv-aside-note p { color:var(--cv-muted); font-size:13px; line-height:1.8; }
.cv-contributions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cv-contribution { border:1px solid var(--cv-line); border-radius:14px; padding:24px; background:#fdfbf5; min-width:0; }
.cv-number { color:#6c7959; font-size:13px; letter-spacing:.12em; font-weight:bold; }
.cv-contribution h3 { font-size:25px; margin:13px 0 16px; line-height:1.2; }
.cv-contribution p { font-size:14px; line-height:1.75; }
.cv-contribution a { font-size:13px; }
.cv-inline-links { display:flex; flex-wrap:wrap; gap:12px 22px; }
.cv-steps { padding-left:24px; line-height:1.8; }
.cv-steps li { padding:0 0 17px 10px; }
.cv-steps li::marker { color:#7a552c; font-weight:bold; }
.cv-faq { border-top:1px solid var(--cv-line); }
.cv-faq details { border-bottom:1px solid var(--cv-line); padding:19px 0; }
.cv-faq summary { cursor:pointer; color:var(--cv-forest); font-weight:700; font-size:15px; line-height:1.6; padding-right:12px; }
.cv-faq details p { margin:16px 0 0; font-size:14px; }
.cv-faq summary:focus-visible { outline:3px solid #ac7438; outline-offset:4px; }
.cv-final { padding:clamp(30px,5vw,65px); background:var(--cv-forest); color:white; border-radius:24px; margin-block:10px 42px; }
.cv-final .eyebrow { color:#d7c69e; }
.cv-final h2 { color:#fffaf1; font-size:clamp(34px,4vw,52px); line-height:1.12; margin:16px 0 24px; }
.cv-final p { color:#e5ebe1; max-width:73ch; line-height:1.85; }
.cv-btn.cv-ivory,.cv-btn.cv-ivory:visited { background:#faf3e2; color:#183a30; border-color:#faf3e2; }
.cv-btn.cv-outline,.cv-btn.cv-outline:visited { background:transparent; color:white; border-color:#cbd9c9; }
.cv-final .cv-btn:hover { background:#dfe7d9; color:#183a30; }
.cv-reference { padding-block:25px 55px; }
.cv-reference h2 { font-size:24px; margin-bottom:18px; }
.cv-reference p { font-size:13px; color:var(--cv-muted); line-height:1.8; max-width:92ch; margin-bottom:20px; }
.cv-reference a { font-size:13px; }
.cv-bridge { width:min(1180px,92%); margin:45px auto; border:1px solid var(--cv-line); border-radius:20px; background:#eef1e8; padding:clamp(25px,4vw,45px); }
.cv-bridge h2 { font-size:34px; margin:14px 0; }
.cv-bridge p { line-height:1.8; max-width:75ch; }
@media(max-width:1000px) { .cv-layout { grid-template-columns:minmax(0,1fr); }.cv-prose{max-width:none}.cv-aside{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:35px}.cv-aside-note{padding:22px}.cv-feature{grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr)} }
@media(max-width:760px) { .cv-hero,.cv-feature{grid-template-columns:minmax(0,1fr)}.cv-hero{gap:30px;padding-top:26px}.cv-hero-art{min-height:240px;max-width:620px;width:100%;margin:auto;padding:30px 24px 18px;border-radius:90px 90px 20px 20px}.cv-hero-art picture{max-width:480px}.cv-feature-art{padding:24px}.cv-feature-art picture{max-width:500px}.cv-feature-art>p{font-size:20px;margin-top:12px}.cv-feature-art .cv-label{margin-bottom:10px}.cv-feature-copy{padding:27px}.cv-home{margin-block:32px}.cv-layout{padding-top:32px}.cv-page-nav{gap:4px 20px}.cv-contributions{grid-template-columns:1fr}.cv-aside{grid-template-columns:1fr}.cv-aside-note{padding:0 5px}.cv-final{padding:28px}.cv-prose>section{margin-bottom:38px}.cv-breadcrumb{padding-top:20px}.cv-story .cv-feature-art{max-height:260px}.cv-feature-compact .cv-feature-art img{max-height:225px;object-fit:contain} }
@media(max-width:420px) { .cv-actions{align-items:stretch}.cv-actions .cv-btn{width:100%}.cv-feature-copy{padding:22px}.cv-hero-copy h1{font-size:45px}.cv-label{font-size:10px}.cv-contribution{padding:22px}.cv-open{gap:8px}.cv-art-caption{gap:10px;font-size:10px} }
@media(prefers-reduced-motion:reduce){.cv-btn{transition:none}}
@media print{.cv-page-nav,.cv-aside,.cv-actions,.cv-bridge,.cv-home{display:none}.cv-hero,.cv-layout{display:block}.cv-hero-art{display:none}.cv-final{background:none;color:#000;padding:0}.cv-final h2,.cv-final p{color:#000}.cv-contribution{break-inside:avoid}}
