/*
Theme Name: Küme Femnien | Academia
Theme URI: https://kume.cl
Author: Küme Femnien
Description: Tema editorial y comercial para capacitaciones, seguridad y emergencias.
Version: 1.0.0
Text Domain: kume-femnien
*/

:root { --lime:#9bd51e; --lime-dark:#76ad00; --ink:#0b1539; --ink-2:#16234e; --paper:#f6f8f3; --line:#dfe5d8; --text:#27313b; --muted:#66717c; --white:#fff; --radius:22px; --shadow:0 18px 50px rgba(11,21,57,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); background:var(--white); font-family:"Segoe UI", Arial, sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { z-index:100; top:12px; left:12px; width:auto; height:auto; padding:10px 14px; margin:0; overflow:visible; clip:auto; color:var(--ink); background:var(--lime); border-radius:8px; font-weight:800; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--lime-dark); outline-offset:3px; }
.container { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.topbar { background:var(--ink); color:#eaf0ff; font-size:.84rem; }
.topbar .container { min-height:40px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.topbar a { color:var(--lime); font-weight:700; }
.site-header { position:sticky; top:0; z-index:30; background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.header-main { min-height:78px; display:flex; align-items:center; gap:32px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:850; letter-spacing:-.04em; font-size:1.08rem; line-height:1; white-space:nowrap; }
.brand-image { flex:0 0 auto; }.brand-logo { display:block; width:176px; max-height:54px; object-fit:contain; object-position:left center; }
.brand-mark { width:35px; height:35px; background:var(--lime); border-radius:8px; position:relative; box-shadow:inset 0 0 0 3px rgba(11,21,57,.13); }
.brand-mark:before,.brand-mark:after { content:""; position:absolute; background:var(--white); left:50%; top:50%; transform:translate(-50%,-50%); border-radius:2px; }
.brand-mark:before { width:20px; height:7px; }.brand-mark:after { width:7px; height:20px; }
.brand small { display:block; color:var(--muted); font-size:.58rem; letter-spacing:.08em; margin-top:4px; }
.main-nav { margin-left:auto; }.main-nav ul { list-style:none; display:flex; align-items:center; gap:23px; padding:0; margin:0; }.main-nav li { position:relative; }.main-nav a { font-size:.9rem; font-weight:750; color:var(--ink); }.main-nav a:hover,.main-nav .current-menu-item>a { color:var(--lime-dark); }.main-nav .sub-menu { display:none; position:absolute; top:100%; min-width:210px; padding:14px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }.main-nav li:hover>.sub-menu { display:grid; gap:9px; }
.header-cta,.button { display:inline-flex; justify-content:center; align-items:center; gap:9px; border:0; border-radius:999px; padding:12px 19px; color:var(--ink); background:var(--lime); font-weight:850; cursor:pointer; transition:.2s transform,.2s background; }.header-cta:hover,.button:hover { transform:translateY(-2px); background:#b0ec2e; }.button-dark { background:var(--ink); color:#fff; }.button-dark:hover { background:var(--ink-2); }.menu-toggle { display:none; margin-left:auto; border:1px solid var(--line); padding:9px 12px; background:#fff; border-radius:9px; color:var(--ink); font-weight:800; }
.hero { color:#fff; background:linear-gradient(112deg, rgba(8,18,52,.96), rgba(12,33,65,.78)), url('assets/images/hero-kume.jpg') center/cover; }.hero .container { min-height:500px; display:flex; align-items:center; }.eyebrow { display:inline-flex; gap:9px; align-items:center; text-transform:uppercase; letter-spacing:.12em; font-size:.71rem; font-weight:850; color:var(--lime); }.eyebrow:before { content:""; height:2px; width:27px; background:currentColor; }.hero-copy { max-width:690px; padding:72px 0; }.hero h1 { margin:15px 0; font-size:clamp(2.4rem,5.4vw,4.8rem); line-height:1; letter-spacing:-.055em; }.hero p { max-width:570px; margin:0 0 28px; color:#e6ebf4; font-size:1.11rem; }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.trust-strip { background:var(--lime); color:var(--ink); }.trust-strip .container { min-height:77px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; gap:30px; }.trust-item { display:flex; align-items:center; gap:12px; font-size:.9rem; font-weight:700; }.trust-item b { display:block; font-size:1.15rem; }
.section { padding:88px 0; }.section-paper { background:var(--paper); }.section-head { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:32px; }.section-head h2 { max-width:660px; margin:7px 0 0; color:var(--ink); font-size:clamp(2rem,3.7vw,3.15rem); letter-spacing:-.05em; line-height:1.05; }.section-head p { max-width:450px; margin:0; color:var(--muted); }.course-grid,.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.course-card,.post-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; transition:.2s transform,.2s box-shadow; }.course-card:hover,.post-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }.course-card { padding:27px; min-height:290px; display:flex; flex-direction:column; }.course-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:var(--ink); background:#e9f8c7; font-size:1.3rem; }.course-card h3,.post-card h3 { color:var(--ink); font-size:1.28rem; line-height:1.2; letter-spacing:-.025em; }.course-card p { color:var(--muted); margin:0 0 18px; }.course-card a { margin-top:auto; font-weight:850; color:var(--lime-dark); }.post-card img { width:100%; height:190px; object-fit:cover; background:#e7ece4; }.post-body { padding:21px; }.post-meta { color:var(--lime-dark); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.post-card h3 { margin:9px 0 13px; }.post-card p { color:var(--muted); font-size:.92rem; margin:0; }
.office { overflow:hidden; position:relative; border-radius:28px; color:#fff; background:var(--ink); }.office:after { content:""; position:absolute; width:460px; height:460px; right:-210px; top:-285px; border:70px solid var(--lime); border-radius:50%; opacity:.9; }.office .inner { position:relative; z-index:1; padding:52px; display:grid; grid-template-columns:1.3fr .8fr; gap:48px; align-items:center; }.office h2 { font-size:clamp(2rem,4vw,3.3rem); line-height:1.03; letter-spacing:-.05em; margin:11px 0 15px; }.office p { max-width:620px; color:#dbe2f3; }.office-contact { padding:25px; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:rgba(255,255,255,.08); }.office-contact strong { display:block; color:var(--lime); margin-bottom:8px; }.office-contact a { display:block; font-size:1.07rem; font-weight:800; margin:6px 0; }
.page-hero { padding:86px 0 72px; background:var(--ink); color:#fff; }.page-hero h1 { max-width:700px; font-size:clamp(2.5rem,5vw,4.2rem); line-height:1; letter-spacing:-.055em; margin:12px 0; }.page-hero p { max-width:650px; color:#d6deef; font-size:1.08rem; }
.content-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:52px; }.entry-content h1,.entry-content h2,.entry-content h3 { color:var(--ink); line-height:1.15; letter-spacing:-.035em; }.entry-content h2 { font-size:2rem; margin-top:2em; }.entry-content a { color:var(--lime-dark); text-decoration:underline; font-weight:700; }.sidebar-box { padding:24px; border-radius:18px; border:1px solid var(--line); background:var(--paper); }.sidebar-box h3 { margin-top:0; color:var(--ink); }.sidebar-box a { display:block; padding:12px 0; border-bottom:1px solid var(--line); font-weight:750; }.sidebar-box a:last-child { border:0; }
.contact-shell { display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:var(--shadow); }.contact-intro { padding:47px; color:#fff; background:var(--ink); }.contact-intro h2 { font-size:2.5rem; line-height:1; letter-spacing:-.055em; margin:13px 0; }.contact-intro p { color:#d6deef; }.contact-points { display:grid; gap:15px; margin-top:35px; }.contact-point { padding:15px; border-radius:12px; background:rgba(255,255,255,.08); }.contact-point b { display:block; color:var(--lime); font-size:.78rem; text-transform:uppercase; letter-spacing:.09em; }.contact-form { padding:47px; }.contact-form h2 { margin-top:0; color:var(--ink); }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.field { display:grid; gap:7px; margin-bottom:16px; }.field.full { grid-column:1/-1; }.field label { color:var(--ink); font-size:.85rem; font-weight:800; }.field input,.field textarea,.field select { width:100%; padding:13px 14px; border:1px solid #cfd8ca; border-radius:10px; color:var(--text); background:#fff; font:inherit; outline:none; }.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--lime-dark); box-shadow:0 0 0 3px rgba(155,213,30,.2); }.field textarea { min-height:126px; resize:vertical; }.form-note { color:var(--muted); font-size:.79rem; }.notice { padding:13px 15px; border-radius:10px; margin:0 0 16px; font-weight:700; }.notice.success { color:#195727; background:#e6f8e8; }.notice.error { color:#7a1e1e; background:#ffe8e8; }
.site-footer { margin-top:0; padding:58px 0 22px; color:#d6deef; background:var(--ink); }.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:45px; padding-bottom:45px; }.site-footer .brand { color:#fff; }.site-footer p { color:#aebbd4; max-width:380px; }.site-footer h3 { color:var(--lime); font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; }.site-footer a { display:block; margin:9px 0; }.socials { display:flex; flex-wrap:wrap; gap:9px; }.socials a { display:grid; place-items:center; width:37px; height:37px; margin:0; border:1px solid rgba(255,255,255,.35); border-radius:50%; font-size:.78rem; font-weight:850; }.socials a:hover { color:var(--ink); background:var(--lime); border-color:var(--lime); }.footer-bottom { border-top:1px solid rgba(255,255,255,.15); padding-top:20px; color:#aebbd4; font-size:.8rem; display:flex; justify-content:space-between; gap:12px; }
@media (max-width:900px) { .header-main { min-height:68px; }.menu-toggle { display:block; }.main-nav { display:none; position:absolute; left:0; right:0; top:68px; padding:16px 20px; background:#fff; border-bottom:1px solid var(--line); }.main-nav.is-open { display:block; }.main-nav ul { display:grid; gap:16px; }.main-nav .sub-menu { position:static; margin-top:9px; box-shadow:none; }.header-cta { display:none; }.trust-strip .container { grid-template-columns:1fr; gap:10px; padding:18px 0; }.course-grid,.post-grid { grid-template-columns:repeat(2,1fr); }.office .inner,.contact-shell { grid-template-columns:1fr; }.content-layout { grid-template-columns:1fr; }.footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .main-nav.is-open .sub-menu { display:grid; gap:11px; padding:11px 0 0 14px; border:0; border-left:2px solid var(--lime); border-radius:0; } }
@media (max-width:600px) { .container { width:min(100% - 28px,1180px); }.topbar .container { justify-content:center; text-align:center; }.topbar .contact-email { display:none; }.brand { font-size:.98rem; }.brand-mark { width:31px; height:31px; }.hero .container { min-height:550px; }.hero-copy { padding:60px 0; }.section { padding:59px 0; }.section-head { display:block; }.section-head p { margin-top:16px; }.course-grid,.post-grid,.footer-grid { grid-template-columns:1fr; }.office .inner,.contact-intro,.contact-form { padding:30px 24px; }.form-grid { grid-template-columns:1fr; }.field.full { grid-column:auto; }.page-hero { padding:60px 0; }.footer-bottom { display:block; }.footer-bottom span { display:block; margin-top:8px; } }
.story-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }.story-copy h2 { margin:9px 0 20px; color:var(--ink); font-size:clamp(2rem,3.8vw,3.25rem); line-height:1.05; letter-spacing:-.05em; }.story-copy p { color:var(--muted); font-size:1.02rem; }.story-media { display:grid; grid-template-columns:1.1fr .9fr; gap:14px; min-height:400px; }.story-media img { width:100%; height:100%; object-fit:cover; border-radius:20px; box-shadow:var(--shadow); }.story-media img:first-child { grid-row:span 2; }.story-media img:nth-child(2) { min-height:175px; }.story-media .story-quote { display:flex; align-items:end; padding:20px; border-radius:20px; color:#fff; background:var(--lime-dark); font-size:1.1rem; font-weight:800; line-height:1.25; }.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.video-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 8px 25px rgba(11,21,57,.07); }.video-frame { position:relative; aspect-ratio:16/9; background:var(--ink); }.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }.video-card-body { padding:18px 20px 21px; }.video-card-body h3 { color:var(--ink); margin:0 0 6px; font-size:1.05rem; line-height:1.25; }.video-card-body p { margin:0; color:var(--muted); font-size:.88rem; }
.gallery-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:16px; }.gallery-grid img { width:100%; height:280px; border-radius:18px; object-fit:cover; }.gallery-grid img:first-child { height:100%; min-height:400px; grid-row:span 2; }.gallery-grid img:last-child { grid-column:span 2; }
@media (max-width:900px) { .video-grid { grid-template-columns:repeat(2,1fr); }.story-grid { grid-template-columns:1fr; gap:32px; } }
@media (max-width:600px) { .video-grid { grid-template-columns:1fr; }.story-media { min-height:300px; } }
@media (max-width:600px) { .gallery-grid { grid-template-columns:1fr 1fr; }.gallery-grid img:first-child { min-height:280px; grid-column:span 2; grid-row:auto; }.gallery-grid img { height:180px; }.gallery-grid img:last-child { grid-column:span 2; } }
