/* VibeCMS – Modular CSS Entrypoint */

/* Auto-generated: component files concatenated below */

/* === base.css === */
:root {
  --clr-primary: #0c1f2d;
  --clr-primary-light: #1a3a52;
  --clr-accent: #d3a625;
  --clr-accent-hover: #b8921e;
  --clr-bg: #ffffff;
  --clr-bg-alt: #f5f5f7;
  --clr-text: #1d1d1f;
  --clr-text-secondary: #6b7280;
  --clr-border: #e5e5e7;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 2rem;
  --text-3xl: 3rem;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --spacing-sm: 3rem;
  --spacing-md: 5rem;
  --spacing-lg: 7rem;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ff: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ff-heading: var(--ff);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--ff);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:1.6;color:var(--clr-text);background:var(--clr-bg);min-height:100vh;display:flex;flex-direction:column}
img,picture,video,canvas,svg{display:block;max-width:100%}
input,button,textarea,select{font:inherit;color:inherit}
a{color:var(--clr-primary);text-decoration:none;transition:color .2s var(--ease),opacity .2s var(--ease)}
a:hover{opacity:.8}
::selection{background:var(--clr-primary);color:#fff}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}
@media(max-width:640px){.container{padding:0 1rem}}
h1,h2,h3,h4,h5,h6{font-weight:var(--weight-bold);line-height:1.2;color:var(--clr-text);margin-bottom:.75rem}
h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}
p{margin-bottom:1rem}ul,ol{padding-left:1.5rem;margin-bottom:1rem}
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.bg--white{background:var(--clr-bg)}
.bg--alt{background:var(--clr-bg-alt)}
.bg--primary{background:var(--clr-primary);color:#fff}
.bg--primary .section__subtitle,.bg--primary .content p,.bg--primary .content li{color:rgba(255,255,255,.75)}
.bg--dark{background:#0a0a0f;color:#fff}
.bg--dark .section__subtitle,.bg--dark .content p,.bg--dark .content li{color:rgba(255,255,255,.7)}
.text--light{color:#fff}
.text--light .section__title{color:#fff}
.text--light .section__subtitle{color:rgba(255,255,255,.75)}
.text--muted{color:var(--clr-text-secondary)}
.padding--sm{padding:var(--spacing-sm) 0}
.padding--md{padding:var(--spacing-md) 0}
.padding--lg{padding:var(--spacing-lg) 0}
.text-center{text-align:center}
.text-right{text-align:right}
.page-lead{font-size:var(--text-lg);color:var(--clr-text-secondary);line-height:1.7;max-width:680px;margin-bottom:2rem}

/* === header.css === */
/* === PUBLIC === */

/* Header */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease);
}
.header.scrolled{border-bottom-color:var(--clr-border);box-shadow:0 2px 16px rgba(0,0,0,.06)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:60px}
.header__logo{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--clr-primary);letter-spacing:-.02em}
.header__nav-list{display:flex;gap:2px;list-style:none}
.header__nav-link{
  display:block;padding:8px 14px;font-size:var(--text-sm);font-weight:var(--weight-medium);
  color:var(--clr-text-secondary);border-radius:6px;transition:all .2s var(--ease);
}
.header__nav-link:hover{color:var(--clr-text);background:var(--clr-bg-alt)}
.header__nav-link--active{color:var(--clr-primary);font-weight:var(--weight-semibold)}
.header__menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.header__menu-toggle span{display:block;width:22px;height:2px;background:var(--clr-text);border-radius:2px;transition:transform .3s var(--ease)}

/* === layout.css === */
/* Main */
.main{flex:1}

/* Sections */
.section{padding:var(--spacing-md) 0;position:relative}
.section--alt{background:var(--clr-bg-alt)}
.section__label{
  font-size:var(--text-xs);font-weight:var(--weight-semibold);
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--clr-accent);margin-bottom:.75rem;
}
.section__title{font-size:var(--text-2xl);line-height:1.15;margin-bottom:1rem}
.section__subtitle{
  font-size:var(--text-lg);color:var(--clr-text-secondary);
  max-width:600px;line-height:1.7;font-weight:var(--weight-normal);
}

/* === hero.css === */
/* Hero */
.hero{
  min-height:100vh;display:flex;align-items:center;
  padding:80px 0 60px;position:relative;overflow:hidden;
}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.hero__pretitle{
  font-size:var(--text-sm);font-weight:var(--weight-semibold);
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--clr-accent);margin-bottom:1rem;
}
.hero__title{font-size:var(--text-3xl);line-height:1.05;margin-bottom:1.5rem}
.hero__subtitle{
  font-size:var(--text-lg);color:var(--clr-text-secondary);
  line-height:1.7;margin-bottom:2rem;max-width:500px;
}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.hero__cta .btn{padding:14px 32px;font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-md)}
.hero__image{
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 4px 30px rgba(0,0,0,.08);
  transform:translateY(0);transition:transform .6s var(--ease);
}
.hero__image:hover{transform:translateY(-4px)}
.hero--center{min-height:auto;padding:var(--spacing-md) 0}
.hero--center .hero__title{font-size:clamp(2rem,4vw,3rem)}
.hero--image-bg{min-height:90vh}
.hero--image-bg .hero__pretitle,
.hero--image-bg .hero__title,
.hero--image-bg .hero__subtitle{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hero__overlay,.section__overlay{pointer-events:none}

/* === buttons.css === */
/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 28px;font-size:var(--text-base);font-weight:var(--weight-semibold);
  border-radius:10px;border:none;cursor:pointer;
  transition:all .25s var(--ease);text-decoration:none;
}
.btn--primary{background:var(--clr-primary);color:#fff}
.btn--primary:hover{
  background:var(--clr-primary-light);transform:translateY(-1px);box-shadow:0 4px 14px rgba(12,31,45,.2);
}
.btn--secondary{
  background:var(--clr-bg-alt);color:var(--clr-text);border:1px solid var(--clr-border);
}
.btn--secondary:hover{background:var(--clr-border);transform:translateY(-1px)}
.btn--accent{background:var(--clr-accent);color:var(--clr-primary)}
.btn--accent:hover{
  background:var(--clr-accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px rgba(211,166,37,.3);
}

/* === post-card.css === */
/* Post Grid */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post-card{
  border-radius:14px;overflow:hidden;background:var(--clr-bg);
  border:1px solid var(--clr-border);transition:all .3s var(--ease);
}
.post-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.06);border-color:var(--clr-accent)}
.post-card__image-wrap{position:relative;overflow:hidden;background:var(--clr-bg-alt);aspect-ratio:16/10}
.post-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.post-card__body{padding:1.25rem 1.5rem 1.5rem}
.post-card__meta{font-size:var(--text-xs);color:var(--clr-text-secondary);display:flex;gap:10px;align-items:center;margin-bottom:.5rem}
.post-card__category{
  font-size:var(--text-xs);font-weight:var(--weight-semibold);
  text-transform:uppercase;letter-spacing:.08em;color:var(--clr-accent);
}
.post-card__title{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.3;margin-bottom:.5rem}
.post-card__title a{color:var(--clr-text);transition:color .2s var(--ease)}
.post-card__title a:hover{color:var(--clr-primary)}
.post-card__excerpt{font-size:var(--text-sm);color:var(--clr-text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card__link{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--clr-primary);margin-top:.75rem;display:inline-flex;align-items:center;gap:4px;transition:gap .2s var(--ease)}
.post-card__link:hover{gap:8px}

/* === cta.css === */
/* CTA Section */
.cta-section{text-align:center;padding:var(--spacing-md) 0;background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-light));color:#fff}
.cta-section .section__title{color:#fff}
.cta-section .section__subtitle{color:rgba(255,255,255,.75);margin:0 auto 2rem}
.cta-section .btn--accent{font-size:var(--text-base);padding:16px 40px}

/* === contact.css === */
/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.contact-card{
  padding:1.75rem;border-radius:var(--radius-md);border:1px solid var(--clr-border);
  text-align:center;transition:all .25s var(--ease);
}
.contact-card:hover{border-color:var(--clr-accent);box-shadow:0 4px 20px rgba(0,0,0,.04)}
.contact-card__icon{font-size:var(--text-xl);margin-bottom:.75rem}
.contact-card__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--clr-text-secondary);margin-bottom:.25rem}
.contact-card__value{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--clr-text)}

/* === about.css === */
/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-image{border-radius:14px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.about-text .section__title{margin-top:0}
.about-text p{color:var(--clr-text-secondary);line-height:1.8;margin-bottom:1rem;font-size:var(--text-base)}

/* Team */
.team{margin-top:3rem}
.team h2{font-size:var(--text-xl);margin-bottom:1.5rem}
.team__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.team-member{
  background:var(--clr-bg);border:1px solid var(--clr-border);
  border-radius:var(--radius-md);padding:1.75rem;
  transition:all .25s var(--ease);
}
.team-member:hover{box-shadow:0 4px 20px rgba(0,0,0,.06);border-color:var(--clr-accent);transform:translateY(-2px)}
.team-member h3{font-size:var(--text-base);font-weight:var(--weight-bold);margin-bottom:.25rem}
.team-member__role{
  font-size:var(--text-xs);font-weight:var(--weight-semibold);
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--clr-accent);margin-bottom:.75rem;
}
.team-member p{font-size:var(--text-sm);color:var(--clr-text-secondary);line-height:1.6}

/* === footer.css === */
/* Footer */
.footer{border-top:1px solid var(--clr-border);padding:2.5rem 0;background:var(--clr-bg-alt)}
.footer__inner{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}
.footer__copy{font-size:var(--text-sm);color:var(--clr-text-secondary)}
.footer__nav{display:flex;gap:1.5rem;list-style:none}
.footer__nav a{font-size:var(--text-sm);color:var(--clr-text-secondary);transition:color .2s var(--ease)}
.footer__nav a:hover{color:var(--clr-primary)}

/* === content.css === */
/* Content / Article */
.content p,.content li{color:var(--clr-text-secondary);line-height:1.8;margin-bottom:1rem;font-size:clamp(1.1rem,1.2vw,1.5rem)}
.content ul,.content ol{padding-left:1.5rem;margin-bottom:1rem}
.content a{color:var(--clr-primary);text-decoration:underline}
.content a:hover{opacity:.8}
.content blockquote{position:relative;background:var(--clr-bg-alt);border-left:4px solid var(--clr-primary);padding:1.5rem 1.5rem 1.5rem 3.5rem;margin:1.5rem 0;border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--clr-text);font-style:italic;line-height:1.7}
.content blockquote::before{content:'\201C';position:absolute;left:.75rem;top:.5rem;font-size:4rem;line-height:1;color:var(--clr-primary);opacity:.12;font-style:normal;font-weight:var(--weight-bold);font-family:Georgia,'Times New Roman',serif;pointer-events:none}
.content blockquote p,.content blockquote li{color:var(--clr-text);margin-bottom:.75rem}
.content blockquote footer,.content blockquote cite{display:block;font-size:var(--text-sm);font-style:normal;color:var(--clr-text-secondary);margin-top:.75rem}
.content blockquote footer::before{content:'\2014\00A0'}
.content img,.content video,.content iframe{max-width:100%;height:auto;border-radius:10px}
.content pre{background:var(--clr-bg-alt);border:1px solid var(--clr-border);border-radius:10px;padding:1rem;overflow-x:auto;font-size:.9rem;margin-bottom:1rem}
.content code{background:var(--clr-bg-alt);padding:.15rem .4rem;border-radius:4px;font-size:.9em;color:var(--clr-primary)}
.content pre code{background:transparent;padding:0;border-radius:0;color:inherit;font-size:.875rem}
.content hr{border:none;border-top:1px solid var(--clr-border);margin:2rem 0}
.content h2{font-size:var(--text-xl);margin:2.5rem 0 1rem}
.content h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:2rem 0 .75rem}
.content .embed-video{position:relative;width:100%;margin:1.5rem 0;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#000}
.content .embed-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.content figure{margin:1.5rem auto;text-align:center;max-width:100%}
.content figure img{display:block;margin:0 auto;border-radius:10px}
.content figure figcaption{font-size:var(--text-sm);color:var(--clr-text-secondary);margin-top:.5rem;font-style:italic;line-height:1.5}

/* === blog.css === */
/* Blog list */
.blog-list{display:flex;flex-direction:column;gap:1.5rem;padding:calc(3rem + 60px) 0 3rem;list-style:none}
.blog-card{border:1px solid var(--clr-border);border-radius:14px;overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:var(--clr-bg)}
.blog-card:hover{border-color:var(--clr-accent);box-shadow:0 4px 20px rgba(0,0,0,.06)}
.blog-card article{display:flex;width:100%}
.blog-card__image{flex:0 0 260px;align-self:stretch;position:relative;overflow:hidden;background:var(--clr-bg-alt)}
.blog-card__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.blog-card__body{flex:1;padding:1.5rem 2rem;min-width:0;display:flex;flex-direction:column;justify-content:center}
.blog-card__body h2{margin:0 0 .35rem 0;font-size:var(--text-xl);line-height:1.3}
.blog-card__body h2 a{color:var(--clr-text);text-decoration:none;transition:color .2s var(--ease)}
.blog-card__body h2 a:hover{color:var(--clr-primary)}
.blog-card__dachzeile{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--clr-accent);margin-bottom:.35rem}
.blog-card__meta{display:flex;gap:.6rem 1rem;flex-wrap:wrap;align-items:center;font-size:var(--text-sm);color:var(--clr-text-secondary);margin-bottom:1rem}
.blog-card__tags{display:inline-flex;gap:.35rem;flex-wrap:wrap}
.blog-card__excerpt{color:var(--clr-text-secondary);margin-bottom:1.25rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-sm)}
.blog-card__link{color:var(--clr-primary);font-weight:var(--weight-semibold);text-decoration:none;font-size:var(--text-sm);margin-top:auto;align-self:flex-start}
.blog-card__link:hover{text-decoration:underline}
.blog-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.pill{display:inline-block;padding:.25rem .75rem;border:1px solid var(--clr-border);border-radius:999px;font-size:var(--text-xs);color:var(--clr-text-secondary);text-decoration:none;background:var(--clr-bg);transition:all .2s var(--ease);white-space:nowrap;font-weight:var(--weight-medium)}
.pill:hover{border-color:var(--clr-primary);color:var(--clr-primary)}
.pill--active{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}
.pill--active:hover{background:var(--clr-primary-light);border-color:var(--clr-primary-light);color:#fff}

/* === post.css === */
/* Post header */
.post-header{margin-bottom:2rem;padding:calc(1.5rem + 60px) 0 1.5rem;border-bottom:1px solid var(--clr-border)}
.post-header__dachzeile{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--clr-accent);margin-bottom:.75rem}
.post-header h1{font-size:clamp(2.5rem,5vw,4rem)}
.post-header__image{margin:.75rem 0 0;border-radius:var(--radius-md);overflow:hidden}
.post-header__image img{width:100%;display:block;border-radius:var(--radius-md)}
.post-header__image figcaption{font-size:var(--text-sm);color:var(--clr-text-secondary);margin-top:.5rem;font-style:italic;line-height:1.5;text-align:center}
.post-header__meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:var(--text-sm);color:var(--clr-text-secondary);margin-top:.75rem;align-items:center}
.post-header__tags{display:inline-flex;gap:.35rem;flex-wrap:wrap}
.post-nav{margin-top:var(--spacing-sm);padding-top:1.5rem;border-top:1px solid var(--clr-border)}
.post-nav a{color:var(--clr-primary);text-decoration:none;font-weight:var(--weight-medium)}
.post-nav a:hover{text-decoration:underline}

/* Page section */
.page-section{padding:calc(3rem + 60px) 0 3rem}
.page-section h1{font-size:var(--text-2xl);margin-bottom:1.5rem}

/* === sidebar.css === */
/* Sidebar */
.layout-sidebar{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;padding:calc(3rem + 60px) 0 3rem}
.layout-sidebar__sidebar{position:sticky;top:80px;align-self:start}

/* === admin.css === */
/* === ADMIN – Shared component styles (used by admin HTML) === */
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:3px;color:var(--clr-text)}
.form-group .hint{font-size:var(--text-xs);color:var(--clr-text-secondary);margin-top:2px}
.btn-sm{padding:9px 20px;font-size:var(--text-sm);font-weight:var(--weight-semibold);border:none;border-radius:6px;cursor:pointer}
.btn-danger{background:#c0392b;color:#fff}
.btn-danger:hover{background:#a93226}
.btn-secondary{background:var(--clr-bg-alt);color:var(--clr-text);border:1px solid var(--clr-border)}
.btn-secondary:hover{background:var(--clr-border)}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}
.badge-yes{background:#d4edda;color:#155724}
.badge-no{background:#f8d7da;color:#721c24}
.badge-theme{background:#e2e3f1;color:#3a3b6b}
.flash{background:#d4edda;color:#155724;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:var(--text-sm)}
.flash-error{background:#f8d7da;color:#721c24}
.empty{text-align:center;color:var(--clr-text-secondary);padding:3rem 0;font-size:var(--text-base)}
.inline-flex{display:inline-flex;gap:4px}
.checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:1rem}
.checkbox-row input[type=checkbox]{width:18px;height:18px}
.serp-preview{background:#fff;border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:14px 16px;font-family:Arial,sans-serif;margin-top:6px;display:flex;gap:12px}
.serp-preview__body{flex:1;min-width:0}
.serp-preview__thumb{flex:0 0 80px;width:80px;height:80px;border-radius:4px;overflow:hidden;display:none}
.serp-preview__thumb.show{display:block}
.serp-preview__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.image-preview{margin-top:8px;border-radius:6px;overflow:hidden;max-width:400px}
.image-preview img{width:100%;height:auto;display:block;border-radius:6px;border:1px solid var(--clr-border)}

/* === editorial.css === */
/* ============================================================
   Editorial Blocks – journalist/magazine component styles
   Uses main theme variables (--clr-*, --ff-heading).
   ============================================================ */

/* Section header (editorial style) */
.editorial .section-header {
  max-width: 42rem;
  margin-bottom: 2.5rem;
}

.editorial .section-header__label {
  font-family: var(--ff);
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--clr-accent);
  margin-bottom: 0.75rem;
}

.editorial .section-header__title {
  font-family: var(--ff-heading);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--clr-text);
  margin-bottom: 0.75rem;
}

.editorial .section-header__text {
  font-size: clamp(1.1rem, 1.5vw, 1.25rem);
  line-height: 1.65;
  color: var(--clr-text-secondary);
}

/* Editorial Hero */
.editorial-hero {
  min-height: 90vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: var(--clr-bg-alt);
}

.editorial-hero::before {
  content: '';
  position: absolute;
  top: -30%;
  right: -10%;
  width: 60vmax;
  height: 60vmax;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--clr-accent) 8%, transparent) 0%, transparent 70%);
  pointer-events: none;
}

.editorial-hero .container {
  position: relative;
  z-index: 1;
}

.editorial-hero__body {
  max-width: 48rem;
}

.editorial-hero__pretitle {
  font-family: var(--ff);
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--clr-accent);
  margin-bottom: 1.5rem;
}

.editorial-hero__title {
  font-family: var(--ff-heading);
  font-size: clamp(2.4rem, 5.5vw, 4.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.08;
  color: var(--clr-text);
  margin-bottom: 1.5rem;
}

.editorial-hero__title-accent {
  font-style: italic;
  color: var(--clr-accent);
}

.editorial-hero__subtitle {
  font-size: clamp(1.1rem, 1.8vw, 1.3rem);
  line-height: 1.6;
  color: var(--clr-text-secondary);
  max-width: 36rem;
  margin-bottom: 2.5rem;
}

.editorial-hero__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.editorial-hero__actions .btn--outline {
  background: transparent;
  color: var(--clr-text);
  border: 1px solid var(--clr-border);
}

.editorial-hero__actions .btn--outline:hover {
  border-color: var(--clr-text);
  background: var(--clr-bg);
  transform: translateY(-1px);
}

.editorial-hero__actions .btn--outline .arrow {
  transition: transform .25s ease;
  display: inline-block;
}

.editorial-hero__actions .btn--outline:hover .arrow {
  transform: translateX(3px);
}

/* Profile Cards */
.profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
}

.profile-text {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--clr-text);
}

.profile-text p + p {
  margin-top: 1.25rem;
}

.profile-values {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.value-card {
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: 12px;
  padding: 1.25rem;
  transition: transform .25s ease, box-shadow .25s ease;
}

.value-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.06);
}

.value-card__icon {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  display: block;
}

.value-card__title {
  font-family: var(--ff);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--clr-text);
  margin-bottom: 0.25rem;
}

.value-card__text {
  font-size: 0.85rem;
  color: var(--clr-text-secondary);
  line-height: 1.5;
  margin: 0;
}

/* Topic Cloud */
.topic-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.topic-cloud__item {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1.2rem;
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 450;
  color: var(--clr-text);
  transition: all .25s ease;
  cursor: default;
}

.topic-cloud__item:hover {
  border-color: var(--clr-accent);
  background: color-mix(in srgb, var(--clr-accent) 8%, transparent);
  transform: translateY(-1px);
}

/* Portfolio Grid */
.portfolio-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.portfolio-card {
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: 12px;
  overflow: hidden;
  transition: all .25s ease;
}

.portfolio-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.06);
  border-color: var(--clr-border);
}

.portfolio-card__visual {
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.portfolio-card__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 60%, rgba(0,0,0,0.03));
}

.portfolio-card__letter {
  font-family: var(--ff-heading);
  font-size: 3.5rem;
  font-weight: 700;
  color: rgba(255,255,255,0.25);
  position: relative;
  z-index: 1;
  line-height: 1;
}

.portfolio-card__body {
  padding: 1.25rem;
}

.portfolio-card__meta {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 0.35rem;
}

.portfolio-card__tag {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--clr-accent);
  background: color-mix(in srgb, var(--clr-accent) 10%, transparent);
  padding: 0.2rem 0.6rem;
  border-radius: 100px;
}

.portfolio-card__date {
  font-size: 0.8rem;
  color: var(--clr-text-secondary);
}

.portfolio-card__title {
  font-family: var(--ff);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--clr-text);
  margin-bottom: 0.3rem;
}

.portfolio-card__desc {
  font-size: 0.85rem;
  color: var(--clr-text-secondary);
  line-height: 1.5;
  margin: 0;
}

/* Contact Split */
.contact-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}

.contact-split__intro {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--clr-text-secondary);
  margin-bottom: 1.5rem;
}

.contact-split__links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.contact-split__link {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem 1.2rem;
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: 8px;
  font-size: 0.95rem;
  color: var(--clr-text);
  text-decoration: none;
  transition: all .25s ease;
  width: fit-content;
  min-width: 220px;
}

.contact-split__link:hover {
  border-color: var(--clr-accent);
  background: color-mix(in srgb, var(--clr-accent) 8%, transparent);
  transform: translateX(3px);
}

.contact-split__link-icon {
  font-size: 1.2rem;
  flex-shrink: 0;
}

.contact-split__form {
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: 12px;
  padding: 1.5rem;
}

.contact-split__form .form-group {
  margin-bottom: 1rem;
}

.contact-split__form .form-group label {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 0.35rem;
  color: var(--clr-text);
}

.contact-split__form .form-group input,
.contact-split__form .form-group textarea {
  width: 100%;
  padding: 0.7rem 0.9rem;
  font-family: var(--ff);
  font-size: 0.95rem;
  border: 1px solid var(--clr-border);
  border-radius: 4px;
  background: var(--clr-bg-alt);
  color: var(--clr-text);
  transition: border-color .25s ease;
  -webkit-appearance: none;
}

.contact-split__form .form-group input:focus,
.contact-split__form .form-group textarea:focus {
  outline: none;
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--clr-accent) 15%, transparent);
}

.contact-split__form .form-group textarea {
  min-height: 120px;
  resize: vertical;
}

/* Columns Rich */
.editorial-columns .columns-rich-grid {
  display: grid;
  gap: 2rem;
}

.columns-rich-col__icon {
  font-size: 1.8rem;
  margin-bottom: 0.75rem;
  line-height: 1;
}

.columns-rich-col__heading {
  font-family: var(--ff);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--clr-text);
  margin-bottom: 0.5rem;
}

.columns-rich-col__content {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--clr-text);
}

.columns-rich-col--wide {
  grid-column: span 1;
}

/* Heading Block */
.heading-block {
  padding: var(--spacing-sm) 0;
}

.heading-block__inner {
  max-width: 48rem;
}

.text-center .heading-block__inner {
  margin-left: auto;
  margin-right: auto;
}

.text-right .heading-block__inner {
  margin-left: auto;
}

.heading-block__label {
  font-family: var(--ff);
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--clr-accent);
  margin-bottom: 0.5rem;
}

.heading-block__title {
  font-family: var(--ff-heading);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--clr-text);
  margin-bottom: 0.5rem;
}

.heading-block__title:is(h1) { font-size: clamp(2rem, 4vw, 3.2rem); }
.heading-block__title:is(h2) { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
.heading-block__title:is(h3) { font-size: clamp(1.3rem, 2vw, 1.6rem); }
.heading-block__title:is(h4) { font-size: clamp(1.1rem, 1.3vw, 1.3rem); }

.heading-block__subtitle {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.65;
  color: var(--clr-text-secondary);
}

/* === blog-magazine.css === */
/* Blog Magazine Grid */
.blog-magazine {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  align-items: stretch;
}

.blog-magazine__featured,
.blog-magazine__item {
  display: block;
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

.blog-magazine__featured:hover,
.blog-magazine__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0,0,0,.1);
}

.blog-magazine__featured .blog-magazine__media,
.blog-magazine__item .blog-magazine__media {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: flex;
  align-items: flex-end;
  background: linear-gradient(135deg, #0c1f2d, #1a3a52);
}

.blog-magazine__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.blog-magazine__featured .blog-magazine__media img {
  object-position: center 30%;
}

.blog-magazine__item .blog-magazine__media img {
  object-position: center 25%;
}

.blog-magazine__vignette {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.88) 0%,
    rgba(0,0,0,0.70) 25%,
    rgba(0,0,0,0.35) 50%,
    rgba(0,0,0,0.10) 75%,
    transparent 100%
  );
}

.blog-magazine__featured .blog-magazine__media {
  aspect-ratio: 3 / 4;
}

.blog-magazine__item .blog-magazine__media {
  aspect-ratio: 16 / 10;
}

.blog-magazine__text {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 1.25rem;
}

.blog-magazine__featured .blog-magazine__text {
  padding: 1.5rem;
}

.blog-magazine__tag {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--clr-accent);
  margin-bottom: .35rem;
}

.blog-magazine__date {
  display: block;
  font-size: var(--text-xs);
  color: rgba(255,255,255,.7);
  margin-bottom: .35rem;
}

.blog-magazine__headline {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.25;
  color: #fff;
  margin: 0;
  text-shadow: 0 1px 4px rgba(0,0,0,.35);
}

.blog-magazine__featured .blog-magazine__headline {
  font-size: var(--text-xl);
}

.blog-magazine__excerpt {
  font-size: var(--text-sm);
  color: rgba(255,255,255,.82);
  line-height: 1.5;
  margin-top: .5rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 3px rgba(0,0,0,.4);
}

.blog-magazine__side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  align-content: stretch;
}

.blog-magazine__side[data-count="2"] {
  grid-template-columns: 1fr;
}

.blog-magazine__side[data-count="2"] .blog-magazine__item .blog-magazine__media {
  aspect-ratio: 16 / 9;
}

@media (max-width: 900px) {
  .blog-magazine {
    grid-template-columns: 1fr;
  }
  .blog-magazine__featured .blog-magazine__media {
    aspect-ratio: 16 / 10;
  }
  .blog-magazine__side[data-count="4"] {
    grid-template-columns: 1fr 1fr;
  }
  .blog-magazine__featured .blog-magazine__media img {
    object-position: center 35%;
  }
}

@media (max-width: 640px) {
  .blog-magazine__side {
    grid-template-columns: 1fr !important;
  }
  .blog-magazine__featured .blog-magazine__headline {
    font-size: var(--text-lg);
  }
}

/* === responsive.css === */
@media(max-width:900px){
  .hero__grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .hero__subtitle{margin:0 auto 2rem}
  .hero__cta{justify-content:center}
  .hero__image{max-width:400px;margin:0 auto}
  .post-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr;gap:2rem;text-align:center}
  .about-image{max-width:400px;margin:0 auto}
  .section{padding:var(--spacing-sm) 0}
  .blog-card__image{flex:0 0 220px}
  .blog-card__body{padding:1.25rem 1.5rem}
}
@media(max-width:640px){
  .header__nav{
    display:none;position:absolute;top:60px;left:0;right:0;
    background:rgba(255,255,255,.98);backdrop-filter:blur(12px);
    border-bottom:1px solid var(--clr-border);padding:1rem;
  }
  .header__nav.is-open{display:block}
  .header__nav-list{flex-direction:column;gap:2px}
  .header__menu-toggle{display:flex}
  .post-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr;text-align:center}
  .footer__nav{justify-content:center;flex-wrap:wrap;gap:1rem}
  .blog-card article{flex-direction:column}
  .blog-card__image{flex:none;width:100%;height:240px;align-self:auto}
  .blog-card__body{padding:1.25rem}
}
@media(max-width:768px){
  .admin-nav{width:100%;height:auto;position:static;padding:1rem}
  .admin-main{padding:1rem}
  .admin-row,.admin-row-3{grid-template-columns:1fr}
  .admin-body{flex-direction:column}
}
@media (max-width: 768px) {
  .profile-grid,
  .contact-split {
    grid-template-columns: 1fr;
  }

  .profile-values {
    grid-template-columns: 1fr 1fr;
  }

  .portfolio-grid {
    grid-template-columns: 1fr;
  }

  .editorial-hero {
    min-height: auto;
    padding: 5rem 0 3rem;
  }

  .editorial-columns .columns-rich-grid {
    grid-template-columns: 1fr !important;
  }
}
/* === Design Improvements === */
:focus-visible{outline:2px solid var(--clr-primary);outline-offset:3px;border-radius:4px}
a:focus-visible{outline-offset:2px}
img{height:auto}
.content a{text-decoration:underline;text-decoration-color:var(--clr-border);text-underline-offset:3px;transition:text-decoration-color .2s var(--ease)}
.content a:hover{text-decoration-color:var(--clr-primary);opacity:1}
.skip-link{position:absolute;top:-40px;left:0;background:var(--clr-primary);color:#fff;padding:8px 16px;text-decoration:none;z-index:200;transition:top .3s var(--ease)}
.skip-link:focus{top:0}

@media (max-width: 480px) {
  .profile-values {
    grid-template-columns: 1fr;
  }

  .editorial-hero__actions .btn {
    width: 100%;
    justify-content: center;
  }
}

/* === dynamic-partials.css === */
/* Dynamic partials – responsive & polish */
.block-navbar .container,
.block-footer .container,
.block-sidebar .container,
.block-page-header .container,
.block-cards .container,
.block-features .container,
.block-content-media .container,
.block-pricing .container,
.block-contact-form .container,
.block-newsletter .container,
.block-data-table .container,
.block-timeline .container,
.block-modal .container,
.block-faq .container,
.block-alert .container,
.block-gallery .container,
.block-carousel .container {
  padding-top: var(--spacing-md);
  padding-bottom: var(--spacing-md);
}

.block-card-article,
.block-cards article,
.block-pricing article,
.block-features > .container > div > div {
  background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:14px;overflow:hidden;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

.block-card-article:hover,
.block-cards article:hover,
.block-pricing article:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.08);
}

.block-gallery figure img {
  transition: transform .4s var(--ease);
}

.block-gallery figure:hover img {
  transform: scale(1.05);
}

.block-carousel .carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.block-faq details summary::-webkit-details-marker {
  display: none;
}

.block-faq details[open] summary span {
  transform: rotate(45deg);
}

@media(max-width:900px){
  .block-sidebar .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .block-cards .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr 1fr !important; }
  .block-features .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr 1fr !important; }
  .block-pricing .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr 1fr !important; }
  .block-gallery .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr 1fr !important; }
  .block-content-media .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; text-align: center; }
  .block-footer .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr 1fr !important; }
}

@media(max-width:640px){
  .block-cards .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .block-features .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .block-pricing .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .block-gallery .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .block-footer .container > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; text-align: center; }
  .block-timeline .container { padding-left: 1rem; }
  .block-data-table .container { overflow-x: auto; }
}

