/* ─────────────────────────────────────────────
   Eletus Corporate Theme – main.css
   Design system: editorial, restrained, Japanese-readable
   ───────────────────────────────────────────── */

/* ── Variables ── */
:root {
--eletus-paper: #f5f1e8;
--eletus-paper-deep: #eee8de;
--eletus-ink: #1a2636;
--eletus-ink-soft: #4a5568;
--eletus-muted: #6b7a8d;
--eletus-accent: #1f8a78;
--eletus-accent-alt: #b86c43;
--eletus-mist: #fdfbf7;
--eletus-surface: #ffffff;
--eletus-rule: rgba(26, 38, 54, 0.08);

--eletus-font-serif: "Noto Serif JP", "Hiragino Mincho ProN", serif;
--eletus-font-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
--eletus-font-accent: "Space Grotesk", "Noto Sans JP", sans-serif;

--eletus-radius-sm: 12px;
--eletus-radius-md: 20px;
--eletus-radius-lg: 28px;

--eletus-shadow-card: 0 1px 3px rgba(17, 25, 39, 0.06), 0 6px 18px rgba(17, 25, 39, 0.04);
--eletus-shadow-soft: 0 16px 48px rgba(17, 25, 39, 0.07);

--eletus-shell-max: 1120px;
--eletus-shell-pad: clamp(20px, 4vw, 48px);
--eletus-header-height: 64px;
}

/* ── Reset & Base ── */
*,
*::before,
*::after {
box-sizing: border-box;
}

html {
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}

body {
margin: 0;
background: var(--eletus-paper);
color: var(--eletus-ink);
font-family: var(--eletus-font-sans);
font-size: 1rem;
line-height: 1.85;
font-feature-settings: "palt";
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

a {
color: var(--eletus-accent);
text-decoration: none;
transition: opacity 0.2s;
}

a:hover {
opacity: 0.7;
}

img {
max-width: 100%;
height: auto;
}

h1, h2, h3, h4, h5, h6 {
font-family: var(--eletus-font-serif);
font-weight: 700;
line-height: 1.3;
letter-spacing: 0.01em;
font-feature-settings: "palt";
margin-top: 0;
}

h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); line-height: 1.2; }
h2 { font-size: clamp(1.4rem, 2.5vw, 2rem); margin-bottom: 0.75rem; }
h3 { font-size: clamp(1.1rem, 1.8vw, 1.35rem); }
h4 { font-size: 1.1rem; }

p {
margin-top: 0;
margin-bottom: 1rem;
}

/* ── Layout ── */
.site-shell {
max-width: var(--eletus-shell-max);
margin-inline: auto;
padding-inline: var(--eletus-shell-pad);
}

.site-main {
min-height: 60vh;
}

/* ── Announcement Bar ── */
.site-announcement {
background: var(--eletus-ink);
color: var(--eletus-mist);
font-size: 0.82rem;
letter-spacing: 0.04em;
text-align: center;
padding: 0.6rem 0;
}

.site-announcement a {
color: inherit;
text-decoration: underline;
text-underline-offset: 3px;
}

/* ── Header ── */
.site-header {
position: sticky;
top: 0;
z-index: 100;
background: rgba(245, 241, 232, 0.92);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border-bottom: 1px solid var(--eletus-rule);
}

.site-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
height: var(--eletus-header-height);
}

.site-brand {
display: flex;
align-items: center;
gap: 0.65rem;
color: var(--eletus-ink);
text-decoration: none;
flex-shrink: 0;
min-width: 0;
}

.site-brand__mark {
display: flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 10px;
background: var(--eletus-accent);
color: #fff;
font-family: var(--eletus-font-accent);
font-size: 14px;
font-weight: 700;
letter-spacing: 0.06em;
}

.site-brand__logo img {
height: 32px;
width: auto;
}

.site-brand__logo--fallback img {
display: block;
width: 36px;
height: 36px;
border-radius: 10px;
object-fit: cover;
}

.site-brand__meta {
display: flex;
flex-direction: column;
line-height: 1.3;
min-width: 0;
}

.site-brand__meta strong {
font-size: 0.92rem;
font-weight: 700;
letter-spacing: 0.02em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.site-brand__tagline {
font-family: var(--eletus-font-accent);
font-size: 0.65rem;
color: var(--eletus-muted);
letter-spacing: 0.08em;
text-transform: uppercase;
}

.site-header__right {
display: flex;
align-items: center;
gap: 1rem;
flex-shrink: 0;
}

/* ── Nav Wrap (desktop: flex layout for nav + CTA) ── */
.site-nav-wrap {
display: flex;
align-items: center;
gap: 1.25rem;
}

/* ── Navigation ── */
.site-nav__menu {
display: flex;
align-items: center;
gap: 0.25rem;
list-style: none;
margin: 0;
padding: 0;
}

.site-nav__menu .menu-item > a {
display: flex;
align-items: center;
gap: 0.4rem;
padding: 0.5rem 0.75rem;
color: var(--eletus-ink);
font-size: 0.88rem;
font-weight: 500;
letter-spacing: 0.02em;
border-radius: var(--eletus-radius-sm);
transition: background 0.15s;
}

.site-nav__menu .menu-item > a:hover {
background: rgba(26, 38, 54, 0.04);
opacity: 1;
}

.site-nav__menu .menu-item.current-menu-item > a,
.site-nav__menu .menu-item.current_page_item > a {
color: var(--eletus-accent);
}

/* Submenu */
.site-nav__menu .has-submenu {
position: relative;
display: flex;
align-items: center;
}

.site-nav__menu .has-submenu::after {
content: "";
position: absolute;
top: 100%;
left: 0;
right: 0;
height: 20px;
}

.site-nav__menu > .has-submenu > a {
padding-right: 0.3rem;
}

.submenu-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
padding: 0;
margin-left: -0.1rem;
border: none;
background: none;
cursor: pointer;
color: var(--eletus-muted);
flex-shrink: 0;
transition: color 0.15s;
}

.submenu-toggle:hover {
color: var(--eletus-ink);
}

.submenu-toggle__icon {
display: block;
width: 6px;
height: 6px;
border-right: 1.5px solid currentColor;
border-bottom: 1.5px solid currentColor;
transform: rotate(45deg);
transition: transform 0.2s;
margin-top: -2px;
}

.has-submenu.submenu-open > .submenu-toggle .submenu-toggle__icon {
transform: rotate(-135deg);
margin-top: 2px;
}

.site-nav__menu .sub-menu {
position: absolute;
top: calc(100% + 2px);
left: -8px;
min-width: 220px;
margin: 0;
padding: 8px;
list-style: none;
background: var(--eletus-surface);
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-md);
box-shadow: var(--eletus-shadow-soft);
opacity: 0;
visibility: hidden;
transform: translateY(-6px);
transition: opacity 0.18s, transform 0.18s, visibility 0.18s;
}

.site-nav__menu .sub-menu::before {
content: "";
position: absolute;
top: 0;
left: 12px;
right: 12px;
height: 2px;
background: var(--eletus-accent);
border-radius: 1px;
opacity: 0.3;
}

.has-submenu.submenu-open > .sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.sub-menu .menu-item > a {
padding: 0.55rem 0.85rem;
font-size: 0.84rem;
border-radius: var(--eletus-radius-sm);
color: var(--eletus-ink-soft);
transition: color 0.15s, background 0.15s;
}

.sub-menu .menu-item > a:hover {
color: var(--eletus-ink);
}

.sub-menu .sub-menu {
top: -6px;
left: 100%;
}

/* Mobile Nav Toggle */
.site-nav-toggle {
display: none;
align-items: center;
gap: 0.5rem;
padding: 0.4rem 0.65rem;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-sm);
background: transparent;
cursor: pointer;
color: var(--eletus-ink);
transition: border-color 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.site-nav-toggle__icon {
display: flex;
flex-direction: column;
gap: 4px;
width: 18px;
}

.site-nav-toggle__icon span {
display: block;
height: 2px;
border-radius: 2px;
background: currentColor;
transition: transform 0.2s, opacity 0.2s;
transform-origin: center;
}

.site-nav-toggle__label {
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.04em;
}

.site-nav-toggle[aria-expanded="true"] {
background: rgba(255, 255, 255, 0.8);
border-color: rgba(26, 38, 54, 0.12);
}

.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon span:nth-child(1) {
transform: translateY(6px) rotate(45deg);
}

.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon span:nth-child(2) {
opacity: 0;
}

.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon span:nth-child(3) {
transform: translateY(-6px) rotate(-45deg);
}

/* Header CTA */
.site-header__cta {
display: inline-flex;
align-items: center;
padding: 0.45rem 1.1rem;
background: var(--eletus-accent);
color: #fff !important;
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.04em;
border-radius: 999px;
transition: opacity 0.15s;
white-space: nowrap;
position: relative;
flex-shrink: 0;
}

.site-header__cta::before {
content: "";
position: absolute;
right: calc(100% + 0.55rem);
top: 50%;
transform: translateY(-50%);
width: 1px;
height: 22px;
background: var(--eletus-rule);
pointer-events: none;
}

.site-header__cta:hover {
opacity: 0.85;
}

/* ── Header Image ── */
.site-header-media-wrap {
padding: 0;
}

.site-header-media {
height: 200px;
border-radius: 0 0 var(--eletus-radius-lg) var(--eletus-radius-lg);
background-size: cover;
background-position: center;
}

/* ── Sections ── */
.section {
padding: clamp(3rem, 6vw, 5rem) 0;
}

.section--flush {
padding: 0;
}

.section--muted {
background: var(--eletus-paper-deep);
}

/* ── Buttons ── */
.wp-block-button__link,
.button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.85rem 1.5rem;
border: none;
border-radius: 999px;
font-size: 0.88rem;
font-weight: 600;
letter-spacing: 0.04em;
cursor: pointer;
text-decoration: none;
transition: opacity 0.15s;
}

.wp-block-button__link:hover,
.button:hover {
opacity: 0.85;
}

.wp-block-button__link,
.button--primary {
background: var(--eletus-accent);
color: #fff;
}

.is-style-outline .wp-block-button__link {
background: transparent;
border: 1.5px solid var(--eletus-accent);
color: var(--eletus-accent);
}

.wp-block-buttons {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
margin-top: 0.5rem;
}

/* ── Section Kicker ── */
.section-kicker {
display: inline-flex;
gap: 10px;
align-items: center;
margin-bottom: 0.5rem;
color: var(--eletus-muted);
font-family: var(--eletus-font-accent);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}

.section-kicker::before {
width: 24px;
height: 1px;
background: currentColor;
content: "";
}

/* ── Index Label ── */
.eletus-index {
margin-bottom: 0.35rem;
color: var(--eletus-accent);
font-family: var(--eletus-font-accent);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}

/* ── Lead Text ── */
.eletus-lead {
color: var(--eletus-ink-soft);
font-size: 1.05rem;
line-height: 1.9;
max-width: 640px;
}

/* ── Caption ── */
.eletus-caption {
color: var(--eletus-muted);
font-size: 0.85rem;
margin-top: 0.75rem;
}

/* ── Section CTA ── */
.eletus-section-cta {
margin-top: 1.5rem;
}

.eletus-section-cta a {
font-weight: 600;
font-size: 0.92rem;
}

/* ──────────────────────────────────────
   Homepage
   ────────────────────────────────────── */

.eletus-home-stack {
display: grid;
gap: 0;
padding: clamp(2rem, 4vw, 4rem) var(--eletus-shell-pad);
max-width: calc(var(--eletus-shell-max) + var(--eletus-shell-pad) * 2);
margin-inline: auto;
}

/* Hero Section */
.eletus-hero-section {
padding: clamp(4rem, 10vw, 8rem) 0 clamp(3rem, 6vw, 5rem);
border-bottom: 1px solid var(--eletus-rule);
}

.eletus-hero-heading {
font-size: clamp(2.4rem, 5.5vw, 4rem) !important;
line-height: 1.15 !important;
letter-spacing: -0.01em;
margin-bottom: 1.25rem !important;
white-space: nowrap;
max-width: 100%;
}

/* Named Sections */
.eletus-section {
padding: clamp(3rem, 6vw, 5rem) 0;
border-bottom: 1px solid var(--eletus-rule);
}

.eletus-section:last-child {
border-bottom: none;
}

/* ── Cards ── */
.eletus-card {
padding: clamp(1.25rem, 2.5vw, 1.75rem);
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
background: rgba(255, 255, 255, 0.5);
transition: box-shadow 0.2s;
}

.eletus-card:hover {
box-shadow: var(--eletus-shadow-card);
}

.eletus-card h3 {
margin-bottom: 0.5rem;
}

.eletus-card p:last-child {
margin-bottom: 0;
}

/* Legacy panel class – map to card */
.eletus-panel {
padding: clamp(1.25rem, 2.5vw, 1.75rem);
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
background: rgba(255, 255, 255, 0.5);
}

.eletus-small-panel {
padding: clamp(1.25rem, 2.5vw, 1.75rem);
}

/* ── Column Grids ── */
.eletus-columns {
display: grid !important;
gap: clamp(1rem, 2vw, 1.25rem);
}

.eletus-columns--3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.eletus-columns--2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.eletus-columns > .wp-block-column {
margin: 0 !important;
flex-basis: auto !important;
}

/* ── Stat List ── */
.eletus-stat-list {
margin: 0;
padding: 0;
list-style: none;
display: grid;
gap: 0;
}

.eletus-stat-list li {
display: grid;
grid-template-columns: 120px minmax(0, 1fr);
gap: 1rem;
padding: 1rem 0;
border-bottom: 1px solid var(--eletus-rule);
align-items: baseline;
}

.eletus-stat-list li:first-child {
border-top: 1px solid var(--eletus-rule);
}

.eletus-stat-list span {
color: var(--eletus-muted);
font-family: var(--eletus-font-accent);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}

.eletus-stat-list strong {
font-weight: 600;
font-size: 0.95rem;
line-height: 1.7;
}

/* ── Diagram ── */
.eletus-diagram-card {
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
overflow: hidden;
background: var(--eletus-surface);
}

.eletus-diagram-card .eletus-caption {
padding: 1rem clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.5rem);
}

.eletus-diagram-image img {
width: 100%;
display: block;
}

/* ── Product Flow Diagram ── */
.eletus-flow {
display: flex;
align-items: stretch;
gap: 0;
margin: clamp(1.5rem, 3vw, 2.5rem) 0 1.5rem;
}

.eletus-flow__node {
flex: 1;
min-width: 0;
padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(0.75rem, 1.5vw, 1.25rem);
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
background: rgba(255, 255, 255, 0.5);
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.35rem;
}

.eletus-flow__num {
color: var(--eletus-accent);
font-family: var(--eletus-font-accent);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.16em;
}

.eletus-flow__title {
font-family: var(--eletus-font-serif);
font-size: clamp(0.92rem, 1.5vw, 1.05rem);
}

.eletus-flow__desc {
color: var(--eletus-ink-soft);
font-size: 0.82rem;
line-height: 1.65;
}

.eletus-flow__connector {
flex: 0 0 auto;
width: clamp(20px, 3vw, 40px);
display: flex;
align-items: center;
justify-content: center;
}

.eletus-flow__connector::after {
content: "→";
color: var(--eletus-accent);
font-size: 0.9rem;
opacity: 0.5;
}

/* ── Product Badge ── */
.eletus-product-badge {
display: inline-block;
margin-top: 0.5rem;
padding: 0.35rem 0.85rem;
font-family: var(--eletus-font-accent);
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.1em;
color: var(--eletus-accent);
border: 1px solid currentColor;
border-radius: 999px;
opacity: 0.8;
}

/* ── Guideline Grid ── */
.eletus-guideline-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 0.75rem;
margin-top: 1rem;
}

.eletus-guideline-grid p {
margin: 0;
padding: 1rem 1.1rem;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-md);
background: rgba(255, 255, 255, 0.5);
font-size: 0.92rem;
}

.eletus-guideline-grid strong {
color: var(--eletus-accent);
font-family: var(--eletus-font-accent);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.16em;
margin-right: 0.5rem;
}

/* ── Link List ── */
.eletus-link-list {
margin: 0;
padding: 0;
list-style: none;
}

.eletus-link-list li {
padding: 0.6rem 0;
border-bottom: 1px solid var(--eletus-rule);
}

.eletus-link-list li:first-child {
border-top: 1px solid var(--eletus-rule);
}

/* ── Profile Table ── */
.eletus-profile-table table {
width: 100%;
border-collapse: collapse;
}

.eletus-profile-table th,
.eletus-profile-table td {
padding: 0.85rem 1rem;
border-bottom: 1px solid var(--eletus-rule);
text-align: left;
font-size: 0.92rem;
vertical-align: top;
}

.eletus-profile-table th {
font-weight: 600;
white-space: nowrap;
width: 140px;
color: var(--eletus-ink-soft);
}

/* ──────────────────────────────────────
   Page Templates
   ────────────────────────────────────── */

.eletus-page-stack {
display: grid;
gap: 0;
padding: 0 var(--eletus-shell-pad);
max-width: calc(var(--eletus-shell-max) + var(--eletus-shell-pad) * 2);
margin-inline: auto;
}

.eletus-page-hero {
padding: clamp(3rem, 8vw, 6rem) 0 clamp(2rem, 4vw, 3rem);
border-bottom: 1px solid var(--eletus-rule);
}

.eletus-page-hero h1 {
margin-bottom: 1rem;
}

/* CTA Section */
.eletus-cta-section {
border-bottom: none !important;
}

/* ──────────────────────────────────────
   Page Template – page.php
   ────────────────────────────────────── */

.page-article {
padding: clamp(3rem, 6vw, 5rem) 0;
}

.page-article__hero {
margin-bottom: clamp(2rem, 4vw, 3rem);
}

.page-article__hero--has-media {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: clamp(2rem, 5vw, 4rem);
align-items: end;
}

.page-article__hero-copy {
min-width: 0;
max-width: 720px;
}

.page-article__hero h1 {
margin-bottom: 0;
}

.page-article__title {
position: relative;
padding-bottom: clamp(1rem, 2vw, 1.5rem);
}

.page-article__title::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 40px;
height: 2px;
background: var(--eletus-accent);
border-radius: 1px;
}

.page-article__hero-media {
margin: 0;
width: clamp(140px, 18vw, 200px);
overflow: hidden;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
}

.page-article__hero-image {
display: block;
width: 100%;
height: auto;
aspect-ratio: 1 / 1;
object-fit: cover;
}

.page-article__body {
max-width: 860px;
padding: clamp(2rem, 4vw, 3rem);
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
background: rgba(255, 255, 255, 0.48);
backdrop-filter: blur(8px);
}

.page-article__body > :first-child {
margin-top: 0 !important;
}

.page-article__body > :last-child {
margin-bottom: 0 !important;
}

.page-article__body p {
color: var(--eletus-ink-soft);
font-size: 1rem;
line-height: 1.9;
}

.page-article__body img {
display: block;
border-radius: var(--eletus-radius-md);
}

.page-article__body blockquote {
margin: 1.5rem 0;
padding: 1rem 1.25rem;
border-left: 3px solid var(--eletus-accent);
background: rgba(255, 255, 255, 0.5);
border-radius: 0 var(--eletus-radius-md) var(--eletus-radius-md) 0;
}

.page-article__body h2 {
margin-top: 3rem;
padding-top: 1.5rem;
border-top: 1px solid var(--eletus-rule);
}

.page-article__body > h2:first-child,
.page-article__body > .wp-block-heading:first-child {
padding-top: 0;
border-top: none;
}

.page-article__body h3 {
margin-top: 2rem;
}

.page-article__body table {
width: 100%;
border-collapse: collapse;
margin: 2rem 0;
border-top: 2px solid var(--eletus-ink);
}

.page-article__body th,
.page-article__body td {
padding: 1rem 1.25rem;
border-bottom: 1px solid var(--eletus-rule);
text-align: left;
font-size: 0.92rem;
vertical-align: top;
line-height: 1.8;
}

.page-article__body th {
font-weight: 700;
color: var(--eletus-ink);
white-space: nowrap;
width: 140px;
font-size: 0.85rem;
letter-spacing: 0.03em;
background: rgba(245, 241, 232, 0.5);
}

.page-article__body td {
color: var(--eletus-ink-soft);
}

.page-article__body .wp-block-heading.has-background {
display: block;
width: 100%;
max-width: 100%;
margin-top: 2.5rem;
padding: 1rem 0 0;
border: none;
border-top: 2px solid var(--eletus-accent);
border-radius: 0;
background: transparent !important;
box-shadow: none;
color: var(--eletus-ink) !important;
font-family: var(--eletus-font-serif);
font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
font-weight: 700;
line-height: 1.35 !important;
}

.page-article__body .wp-block-heading.has-background::before {
display: none;
}

.page-article__body .wp-block-heading.has-background * {
color: inherit !important;
font-family: inherit !important;
font-size: inherit !important;
font-weight: inherit !important;
line-height: inherit !important;
letter-spacing: inherit !important;
}

.page-article__body ul.wp-block-list {
list-style: none;
margin: 1.5rem 0 0;
padding: 0;
display: grid;
gap: 0.8rem;
}

.page-article__body ul.wp-block-list > li {
position: relative;
margin: 0;
padding: 1rem 1rem 1rem 1.75rem;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-md);
background: rgba(255, 255, 255, 0.72);
}

.page-article__body ul.wp-block-list > li::before {
content: "";
position: absolute;
left: 1rem;
top: 1.45rem;
width: 7px;
height: 7px;
border-radius: 999px;
background: var(--eletus-accent);
}

.page-article__body ul.wp-block-list > li > :last-child {
margin-bottom: 0;
}

.page-article__body ul.wp-block-list > li :where(span, strong) {
color: var(--eletus-ink) !important;
font-family: inherit !important;
font-size: inherit !important;
line-height: 1.7 !important;
}

/* ──────────────────────────────────────
   News Room, Archive, Single
   ────────────────────────────────────── */

.news-room {
padding: clamp(3rem, 6vw, 5rem) 0;
}

.news-room__header {
margin-bottom: clamp(2rem, 4vw, 3rem);
padding-bottom: clamp(2rem, 4vw, 3rem);
border-bottom: 1px solid var(--eletus-rule);
}

.news-room__header h1 {
margin-bottom: 0.5rem;
}

.news-room__description {
color: var(--eletus-ink-soft);
max-width: 640px;
}

/* Category Nav */
.news-room__categories {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 1.5rem 0 0;
padding: 0;
}

.news-room__categories a {
display: inline-flex;
padding: 0.4rem 0.85rem;
border: 1px solid var(--eletus-rule);
border-radius: 999px;
font-size: 0.82rem;
font-weight: 500;
color: var(--eletus-ink-soft);
transition: border-color 0.15s, color 0.15s;
}

.news-room__categories a:hover {
border-color: var(--eletus-accent);
color: var(--eletus-accent);
opacity: 1;
}

.news-room__categories .is-active a {
border-color: var(--eletus-accent);
background: var(--eletus-accent);
color: #fff;
}

/* News Grid */
.news-room__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: clamp(1rem, 2vw, 1.5rem);
}

/* News Card */
.news-card {
display: flex;
flex-direction: column;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
overflow: hidden;
background: var(--eletus-surface);
transition: box-shadow 0.2s;
}

.news-card:hover {
box-shadow: var(--eletus-shadow-card);
}

.news-card a {
color: inherit;
}

.news-card__thumb {
aspect-ratio: 16 / 9;
overflow: hidden;
}

.news-card__thumb img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s;
}

.news-card:hover .news-card__thumb img {
transform: scale(1.03);
}

.news-card__body {
padding: 1.25rem 1.5rem 1.5rem;
display: flex;
flex-direction: column;
flex: 1;
}

.news-card__meta {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 0.65rem;
}

.news-card__date {
font-family: var(--eletus-font-accent);
font-size: 0.78rem;
color: var(--eletus-muted);
letter-spacing: 0.04em;
}

.news-card__category {
display: inline-flex;
padding: 0.2rem 0.55rem;
border: 1px solid var(--eletus-rule);
border-radius: 999px;
font-family: var(--eletus-font-accent);
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--eletus-accent);
}

.news-card__title {
font-family: var(--eletus-font-serif);
font-size: 1.05rem;
font-weight: 700;
line-height: 1.45;
margin-bottom: 0.5rem;
}

.news-card__excerpt {
color: var(--eletus-ink-soft);
font-size: 0.88rem;
line-height: 1.7;
flex: 1;
}

.news-card__more {
margin-top: 0.75rem;
font-size: 0.85rem;
font-weight: 600;
}

/* Single Post */
.single-article {
padding: clamp(3rem, 6vw, 5rem) 0;
}

.single-article__header {
margin-bottom: 2rem;
padding-bottom: 2rem;
border-bottom: 1px solid var(--eletus-rule);
}

.single-article__meta {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 0.75rem;
}

.single-article__date {
font-family: var(--eletus-font-accent);
font-size: 0.82rem;
color: var(--eletus-muted);
}

.single-article__category {
display: inline-flex;
padding: 0.2rem 0.55rem;
border: 1px solid var(--eletus-rule);
border-radius: 999px;
font-family: var(--eletus-font-accent);
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--eletus-accent);
}

.single-article__title {
font-size: clamp(1.6rem, 3vw, 2.4rem);
line-height: 1.3;
margin-bottom: 0;
}

.single-article__body {
max-width: 780px;
}

.single-article__body h2 { margin-top: 2.5rem; }
.single-article__body h3 { margin-top: 2rem; }

.single-article__body img {
border-radius: var(--eletus-radius-md);
}

.single-article__body blockquote {
margin: 1.5rem 0;
padding: 1rem 1.25rem;
border-left: 3px solid var(--eletus-accent);
background: rgba(255, 255, 255, 0.4);
border-radius: 0 var(--eletus-radius-md) var(--eletus-radius-md) 0;
}

.single-article__nav {
margin-top: 3rem;
padding-top: 2rem;
border-top: 1px solid var(--eletus-rule);
display: flex;
justify-content: space-between;
gap: 1rem;
}

.single-article__nav a {
font-size: 0.9rem;
font-weight: 500;
}

/* Pagination */
.news-room__pagination {
margin-top: clamp(2rem, 4vw, 3rem);
padding-top: 2rem;
border-top: 1px solid var(--eletus-rule);
}

.news-room__pagination .nav-links {
display: flex;
justify-content: center;
align-items: center;
gap: 0.5rem;
}

.news-room__pagination .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 40px;
height: 40px;
padding: 0 0.5rem;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-sm);
font-size: 0.88rem;
font-weight: 500;
color: var(--eletus-ink-soft);
}

.news-room__pagination .page-numbers.current {
background: var(--eletus-accent);
border-color: var(--eletus-accent);
color: #fff;
}

/* Widgets */
.widget-area {
margin-top: 2rem;
padding-top: 2rem;
border-top: 1px solid var(--eletus-rule);
}

.widget {
margin-bottom: 1.5rem;
}

.widget-title {
font-size: 0.92rem;
font-weight: 700;
margin-bottom: 0.75rem;
}

.newsroom-utility-area {
margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/* ──────────────────────────────────────
   Front-page editorial (post embeds)
   ────────────────────────────────────── */

.front-editorial {
margin-top: 0;
}

:is(.front-editorial, .page-article__body, .single-article__body) .wp-block-embed {
margin: 0;
}

:is(.front-editorial, .page-article__body, .single-article__body) .is-eletus-embed {
position: relative;
}

:is(.front-editorial, .page-article__body, .single-article__body) .is-eletus-embed .wp-block-embed__wrapper {
display: none;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card {
display: flex;
align-items: stretch;
gap: 0;
overflow: hidden;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
background: var(--eletus-surface);
color: inherit;
text-decoration: none;
transition: box-shadow 0.2s;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card:hover {
box-shadow: var(--eletus-shadow-card);
opacity: 1;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card__media {
flex: 0 0 200px;
overflow: hidden;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card__body {
padding: 1.25rem 1.5rem;
display: flex;
flex-direction: column;
justify-content: center;
gap: 0.25rem;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card__eyebrow {
font-family: var(--eletus-font-accent);
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--eletus-accent);
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card__title {
font-family: var(--eletus-font-serif);
font-size: 1rem;
font-weight: 700;
line-height: 1.4;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card__excerpt {
font-size: 0.85rem;
color: var(--eletus-ink-soft);
line-height: 1.6;
}

.front-editorial .eletus-embed-card__action {
font-size: 0.82rem;
font-weight: 600;
color: var(--eletus-accent);
margin-top: 0.25rem;
}

.page-article__body .eletus-embed-card__action {
font-size: 0.82rem;
font-weight: 600;
color: var(--eletus-accent);
margin-top: 0.35rem;
}

.single-article__body .eletus-embed-card__action {
display: none;
}

:is(.front-editorial, .page-article__body, .single-article__body) .is-empty-paragraph {
display: none;
}

/* ──────────────────────────────────────
   Footer
   ────────────────────────────────────── */

.site-footer__cta {
padding: clamp(3rem, 8vw, 6rem) 0;
text-align: center;
}

.site-footer__cta-content {
max-width: 640px;
margin-inline: auto;
}

.site-footer__kicker {
justify-content: center;
}

.site-footer__title {
font-size: clamp(1.5rem, 3vw, 2.2rem);
margin-bottom: 1rem;
}

.site-footer__description {
color: var(--eletus-ink-soft);
margin-bottom: 1.5rem;
}

.site-footer__button {
margin-top: 0.5rem;
}

.site-footer__body {
padding: clamp(1.75rem, 3.5vw, 2.5rem) 0;
border-top: 1px solid var(--eletus-rule);
}

.site-footer__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 2rem;
flex-wrap: wrap;
}

.site-footer__brand {
display: flex;
flex-direction: column;
gap: 0.2rem;
}

.site-footer__brand-name {
font-size: 0.95rem;
font-weight: 600;
}

.site-footer__brand-tagline {
font-family: var(--eletus-font-accent);
font-size: 0.63rem;
color: var(--eletus-muted);
letter-spacing: 0.08em;
text-transform: uppercase;
}

.site-footer__nav .footer-menu {
display: flex;
flex-wrap: wrap;
gap: 0.2rem 1.5rem;
list-style: none;
margin: 0;
padding: 0;
}

.footer-menu {
list-style: none;
margin: 0;
padding: 0;
}

.footer-menu li {
margin-bottom: 0;
}

.footer-menu a {
font-size: 0.88rem;
color: var(--eletus-ink-soft);
}

.footer-menu a:hover {
color: var(--eletus-accent);
opacity: 1;
}

.site-footer__bottom {
padding: 1.5rem 0;
border-top: 1px solid var(--eletus-rule);
}

.site-footer__bottom-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 1rem;
}

.site-footer__copyright {
font-size: 0.82rem;
color: var(--eletus-muted);
margin: 0;
}

/* Legal links in footer bottom */
.site-footer__legal .legal-menu {
display: flex;
gap: 1.25rem;
list-style: none;
margin: 0;
padding: 0;
}

.legal-menu a {
font-size: 0.78rem;
color: var(--eletus-muted);
}

.legal-menu a:hover {
color: var(--eletus-accent);
opacity: 1;
}

/* Social Menu */
.social-menu {
display: flex;
gap: 0.75rem;
list-style: none;
margin: 0;
padding: 0;
}

.social-menu a {
font-size: 0.85rem;
color: var(--eletus-muted);
}

/* ── Block Styles ── */
.wp-block-group.is-style-eletus-panel {
padding: clamp(1.25rem, 2.5vw, 1.75rem);
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-lg);
background: rgba(255, 255, 255, 0.5);
}

.wp-block-group.is-style-eletus-band {
padding: clamp(2rem, 4vw, 3rem);
border-radius: var(--eletus-radius-lg);
background:
linear-gradient(145deg, rgba(31, 138, 120, 0.06), rgba(255, 252, 247, 0.94) 44%, rgba(184, 108, 67, 0.04));
}

.wp-block-group.is-style-eletus-note {
padding: 1rem 1.1rem;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-md);
background: rgba(255, 255, 255, 0.5);
}

.wp-block-columns.is-style-eletus-columns {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: clamp(1rem, 2vw, 1.25rem);
}

.wp-block-columns.is-style-eletus-columns > .wp-block-column {
margin: 0;
}

.wp-block-image.is-style-eletus-frame img {
border-radius: var(--eletus-radius-md);
border: 1px solid var(--eletus-rule);
box-shadow: var(--eletus-shadow-card);
}

.wp-block-quote.is-style-eletus-quote {
padding: 1.1rem 1.25rem;
border: 1px solid var(--eletus-rule);
border-left: 3px solid var(--eletus-accent);
border-radius: 0 var(--eletus-radius-md) var(--eletus-radius-md) 0;
background: rgba(255, 255, 255, 0.4);
}

.wp-block-list.is-style-eletus-signal-list {
margin: 1rem 0 0;
padding: 0;
list-style: none;
display: grid;
gap: 0.75rem;
}

.wp-block-list.is-style-eletus-signal-list li {
display: grid;
grid-template-columns: 120px minmax(0, 1fr);
gap: 1rem;
padding: 1rem;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-md);
background: rgba(255, 255, 255, 0.5);
}

.wp-block-list.is-style-eletus-signal-list li strong {
color: var(--eletus-accent);
font-family: var(--eletus-font-accent);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}

/* ── Scroll Reveal ── */
.js-reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-reveal.is-visible {
opacity: 1;
transform: translateY(0);
}

/* ── 404 ── */
.error-404 {
text-align: center;
padding: clamp(4rem, 10vw, 8rem) 0;
}

/* ──────────────────────────────────────
   Responsive
   ────────────────────────────────────── */

@media (max-width: 1080px) {
}

@media (max-width: 900px) {
.eletus-columns--3 {
grid-template-columns: 1fr;
}

.eletus-columns--2 {
grid-template-columns: 1fr;
}

.wp-block-columns.is-style-eletus-columns {
grid-template-columns: 1fr;
}

.wp-block-list.is-style-eletus-signal-list li {
grid-template-columns: 1fr;
}

.eletus-stat-list li {
grid-template-columns: 1fr;
gap: 0.25rem;
}

.eletus-flow {
flex-direction: column;
}

.eletus-flow__connector {
width: auto;
height: 20px;
}

.eletus-flow__connector::after {
content: "↓";
}

.news-room__grid {
grid-template-columns: 1fr;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card {
flex-direction: column;
}

:is(.front-editorial, .page-article__body, .single-article__body) .eletus-embed-card__media {
flex: 0 0 auto;
aspect-ratio: 16 / 9;
}

.page-article__hero--has-media {
grid-template-columns: 1fr;
align-items: start;
}

.page-article__hero-media {
width: min(220px, 42vw);
}
}

@media (min-width: 821px) {
.site-nav__menu .has-submenu:hover > .sub-menu,
.site-nav__menu .has-submenu:focus-within > .sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.site-nav__menu .has-submenu:hover > .submenu-toggle .submenu-toggle__icon,
.site-nav__menu .has-submenu:focus-within > .submenu-toggle .submenu-toggle__icon {
transform: rotate(-135deg);
margin-top: 2px;
}
}

@media (max-width: 820px) {
body.mobile-nav-open {
overflow: hidden;
}

.site-header {
position: fixed;
top: 0;
left: 0;
right: 0;
width: 100%;
z-index: 130;
background: rgba(245, 241, 232, 0.98);
backdrop-filter: none;
-webkit-backdrop-filter: none;
}

.site-header + .site-main {
padding-top: var(--eletus-header-height);
}

.site-header + .site-header-media-wrap {
margin-top: var(--eletus-header-height);
}

.site-brand {
flex: 1 1 auto;
}

.site-header__right {
gap: 0.75rem;
min-width: 0;
flex: 0 0 auto;
position: relative;
z-index: 141;
}

.page-article__body {
padding: 1.5rem;
border-radius: var(--eletus-radius-md);
}

.page-article__body .wp-block-heading.has-background {
margin-top: 2rem;
padding-top: 0.85rem;
}

.site-nav-toggle {
display: flex;
min-width: 52px;
min-height: 52px;
padding: 0.7rem 0.9rem;
position: relative;
z-index: 141;
flex: 0 0 auto;
touch-action: manipulation;
-webkit-tap-highlight-color: transparent;
user-select: none;
}

.site-nav-wrap {
display: grid !important;
grid-template-rows: minmax(0, 1fr) auto;
row-gap: 0.75rem;
position: fixed !important;
top: var(--eletus-header-height);
left: 0;
right: 0;
bottom: 0;
height: auto;
min-height: 0;
background:
linear-gradient(180deg, rgba(245, 241, 232, 0.98), rgba(245, 241, 232, 0.94) 22%, rgba(253, 251, 247, 0.98));
padding: 0 var(--eletus-shell-pad);
overflow: hidden;
overscroll-behavior: contain;
-webkit-overflow-scrolling: touch;
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(-12px);
transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
z-index: 140;
}

.site-nav-wrap.is-open {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateY(0);
}

.site-nav {
width: 100%;
min-height: 0;
overflow-y: auto;
padding: max(1rem, env(safe-area-inset-top)) 0 0.75rem;
}

.site-nav__menu {
flex-direction: column;
align-items: stretch;
gap: 0.55rem;
width: 100%;
min-width: 0;
}

.site-nav__menu > .menu-item {
opacity: 0;
transform: translateY(14px);
transition: opacity 0.34s ease, transform 0.34s ease;
transition-delay: calc(var(--nav-item-index, 0) * 40ms);
}

.site-nav-wrap.is-open .site-nav__menu > .menu-item {
opacity: 1;
transform: translateY(0);
}

.site-nav__menu .menu-item > a {
display: flex;
padding: 1rem 1.05rem;
min-height: 56px;
width: 100%;
border: 1px solid var(--eletus-rule);
background: rgba(255, 255, 255, 0.64);
border-radius: var(--eletus-radius-md);
font-size: 1rem;
}

.site-nav__menu .menu-item > a:hover {
background: rgba(255, 255, 255, 0.8);
}

.site-nav__menu .sub-menu {
position: static;
opacity: 1;
visibility: visible;
transform: none;
border: none;
box-shadow: none;
background: transparent;
border-radius: 0;
padding: 0 0 0 0.45rem;
display: block;
max-height: 0;
overflow: hidden;
opacity: 0;
transition: max-height 0.28s ease, opacity 0.22s ease, padding 0.22s ease;
}

.has-submenu.submenu-open > .sub-menu {
width: 100%;
max-height: 420px;
opacity: 1;
padding-top: 0.2rem;
}

.site-nav__menu .has-submenu {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
column-gap: 0.6rem;
row-gap: 0.2rem;
align-items: stretch;
min-width: 0;
}

.site-nav__menu .has-submenu > a {
min-width: 0;
padding-right: 1rem;
}

.site-nav__menu .sub-menu::before {
display: none;
}

.site-nav__menu .submenu-toggle {
width: 48px;
height: 56px;
margin-left: 0;
border: 1px solid var(--eletus-rule);
border-radius: var(--eletus-radius-md);
background: rgba(255, 255, 255, 0.64);
}

.site-nav__menu .submenu-toggle__icon {
width: 8px;
height: 8px;
margin-top: -1px;
}

.has-submenu.submenu-open > .submenu-toggle {
color: var(--eletus-accent);
background: rgba(31, 138, 120, 0.08);
}

.sub-menu .menu-item > a {
display: flex;
margin-top: 0.45rem;
padding: 0.82rem 1rem;
min-height: 0;
width: 100%;
border-radius: 16px;
border: 1px solid rgba(26, 38, 54, 0.06);
border-bottom: 1px solid rgba(26, 38, 54, 0.06);
background: rgba(255, 255, 255, 0.44);
font-size: 0.94rem;
}

.site-header__cta {
display: inline-flex;
width: 100%;
justify-content: center;
margin: 0 0 calc(0.6rem + env(safe-area-inset-bottom));
padding: 0.9rem 1.1rem;
position: static;
box-shadow: 0 12px 24px rgba(17, 25, 39, 0.08);
}

.site-header__cta::before {
display: none;
}

/* Product / AsagamiAI — intentional mobile layout */
.front-editorial .eletus-product-section .eletus-lead,
#product.eletus-product-section .eletus-lead {
max-width: none;
font-size: 1rem;
line-height: 1.8;
}

.front-editorial .eletus-product-section .eletus-lead br,
#product.eletus-product-section .eletus-lead br {
display: none;
}

.front-editorial .eletus-product-section .eletus-flow,
#product.eletus-product-section .eletus-flow {
display: grid !important;
grid-template-columns: 1fr;
gap: 0.75rem;
}

.front-editorial .eletus-product-section .eletus-flow__node,
#product.eletus-product-section .eletus-flow__node {
display: grid !important;
grid-template-columns: 2.25rem 1fr;
grid-template-rows: auto auto;
gap: 0.05rem 0.7rem;
text-align: left;
padding: 1rem 1.1rem;
align-items: start;
}

.front-editorial .eletus-product-section .eletus-flow__num,
#product.eletus-product-section .eletus-flow__num {
grid-column: 1;
grid-row: 1 / 3;
align-self: center;
font-size: 1rem;
letter-spacing: 0;
line-height: 1;
}

.front-editorial .eletus-product-section .eletus-flow__title,
#product.eletus-product-section .eletus-flow__title {
grid-column: 2;
grid-row: 1;
font-size: 0.95rem;
min-width: 0;
}

.front-editorial .eletus-product-section .eletus-flow__desc,
#product.eletus-product-section .eletus-flow__desc {
grid-column: 2;
grid-row: 2;
margin-top: 0.1rem;
min-width: 0;
line-height: 1.7;
}

.front-editorial .eletus-product-section .eletus-flow__desc br,
#product.eletus-product-section .eletus-flow__desc br {
display: none;
}

.front-editorial .eletus-product-section .eletus-flow__connector,
#product.eletus-product-section .eletus-flow__connector {
width: 100%;
height: 16px;
}

.front-editorial .eletus-product-section .eletus-flow__connector::after,
#product.eletus-product-section .eletus-flow__connector::after {
content: "↓";
}

.front-editorial .eletus-product-section .eletus-card,
#product.eletus-product-section .eletus-card {
border-left: 3px solid var(--eletus-accent);
border-radius: 0 var(--eletus-radius-lg) var(--eletus-radius-lg) 0;
padding: 1.05rem 1.1rem;
}

.front-editorial .eletus-product-section .eletus-columns,
#product.eletus-product-section .eletus-columns {
gap: 0.85rem;
}

.front-editorial .eletus-product-section .eletus-product-badge,
#product.eletus-product-section .eletus-product-badge {
margin-top: 1.25rem;
}
}

@media (max-width: 640px) {
:root {
--eletus-header-height: 56px;
}

.page-article__hero {
margin-bottom: 1.5rem;
}

.page-article__body {
padding: 1.25rem;
}

.page-article__body th {
white-space: normal;
width: auto;
}

.page-article__body ul.wp-block-list > li {
padding: 0.9rem 0.9rem 0.9rem 1.55rem;
}

.page-article__body ul.wp-block-list > li::before {
top: 1.3rem;
}

.site-brand__tagline {
display: none;
}

.site-brand__meta {
max-width: min(42vw, 180px);
}

.eletus-hero-heading {
font-size: clamp(1.55rem, 6.8vw, 2.8rem) !important;
}

.single-article__title {
font-size: 1.5rem;
}

.site-footer__bottom-inner {
flex-direction: column;
align-items: flex-start;
}

.site-footer__inner {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}

.site-footer__nav .footer-menu {
flex-direction: column;
gap: 0.45rem;
}

.site-footer__legal .legal-menu {
flex-direction: column;
gap: 0.5rem;
}
}

@media (max-width: 480px) {
.site-header__inner {
gap: 0.75rem;
}

.site-nav-toggle {
padding: 0.7rem 0.85rem;
min-width: 52px;
min-height: 52px;
justify-content: center;
}

.site-nav-toggle__label {
display: inline;
font-size: 0.72rem;
}

.site-brand {
gap: 0.5rem;
}

.site-brand__meta {
max-width: min(38vw, 148px);
}

.site-brand__meta strong {
max-width: 100%;
}

.news-card__body {
padding: 1rem 1.1rem 1.1rem;
}

.eletus-card {
padding: 1rem 1.1rem;
}

.eletus-panel {
padding: 1rem 1.1rem;
}

.site-footer__cta-content {
text-align: left;
}

.site-footer__kicker {
justify-content: flex-start;
}

.eletus-profile-table th {
width: auto;
display: block;
padding-bottom: 0.25rem;
border-bottom: none;
}

.eletus-profile-table td {
display: block;
padding-top: 0;
}
}

/* ── Print ── */
@media print {
.site-header,
.site-announcement,
.site-footer__cta,
.site-nav-toggle {
display: none;
}

body {
background: #fff;
color: #000;
font-size: 11pt;
}
}
