.editorial-page { background: #f4f1e8; color: #23374a; }
.editorial-header,.editorial-footer { padding: 24px max(20px,calc((100% - 1120px)/2)); background: #fff; }
.editorial-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.editorial-header img { display:block; object-fit:contain; }
.editorial-header nav,.editorial-footer nav { display:flex; flex-wrap:wrap; gap:12px 22px; }
.editorial-header a,.editorial-footer a { font-size:14px; }
.editorial-shell { width:min(1120px,calc(100% - 40px)); margin:auto; padding-bottom:64px; }
.editorial-crumbs { display:flex; flex-wrap:wrap; gap:8px; padding-top:28px; font-size:13px; overflow-wrap:anywhere; }
.editorial-intro { padding:48px 0 36px; max-width:900px; }
.editorial-intro h1 { font:500 clamp(32px,5vw,56px)/1.12 Georgia,serif; letter-spacing:-.03em; }
.editorial-eyebrow { font-size:12px; color:#31658a; letter-spacing:.08em; text-transform:uppercase; font-weight:700; }
.editorial-deck { font-size:19px; line-height:1.65; max-width:780px; color:#526371; }
.editorial-meta { font-size:13px; line-height:1.6; color:#526371; margin-top:18px; }
.editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.editorial-card { background:#fff; border:1px solid #e0e5e8; border-radius:16px; padding:26px; overflow-wrap:anywhere; }
.editorial-card h2,.editorial-card h3 { font-size:23px; line-height:1.3; margin:12px 0; }
.editorial-card p { margin-bottom:16px; }
.editorial-card ul { padding-left:20px; margin-bottom:16px; }
.editorial-featured { grid-column:1/-1; background:#edf3ff; padding:36px; }
.editorial-featured h2 { max-width:740px; font-size:32px; }
.editorial-page section { margin-top:40px; }
.editorial-page section>h2 { font-size:28px; }
.editorial-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.editorial-filters button { border:1px solid #64748b; background:#fff; color:#23374a; border-radius:24px; min-height:44px; padding:10px 16px; font:inherit; cursor:pointer; }
.editorial-filters button[aria-pressed=true] { background:#2563eb; color:#fff; border-color:#2563eb; }
.editorial-page [hidden] { display:none!important; }
.editorial-prose { max-width:840px; margin:0 auto; }
.editorial-prose p,.editorial-prose li,.editorial-prose dd { font-size:17px; line-height:1.75; }
.editorial-prose p { margin:16px 0; }
.editorial-prose ul { padding-left:24px; }
.editorial-prose dt { font-weight:700; margin-top:16px; }
.editorial-answer { color:#18324d; font-weight:500; }
.editorial-callout,.editorial-preview { background:#edf3ff; padding:24px; border-radius:14px; margin:24px 0; }
.editorial-preview { background:#fff5d8; }
.editorial-preview ul { padding-left:22px; }
.editorial-preview h2 { font-size:22px; }
.editorial-table { width:100%; overflow:auto; margin:24px 0; }
.editorial-table-scroll table { min-width:700px; }
.editorial-table-scroll thead th { overflow-wrap:normal; word-break:normal; }
.editorial-table-scroll:focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
.editorial-hero { width:100%; aspect-ratio:16/9; margin:0 0 24px; overflow:hidden; border-radius:12px; }
.editorial-hero img { display:block; width:100%; height:100%; object-fit:cover; }
.editorial-section-image { width:100%; margin:28px 0 32px; }
.editorial-section-image img { display:block; width:100%; height:auto; border-radius:12px; }
.editorial-hero-pending { display:grid; place-items:center; color:#425466; background:linear-gradient(135deg,#f5eddf,#e5eadd); border:1px solid #dce3e8; }
.editorial-table table { border-collapse:collapse; width:100%; background:#fff; table-layout:fixed; }
.editorial-table th,.editorial-table td { padding:14px; border:1px solid #dce3e8; text-align:left; vertical-align:top; overflow-wrap:anywhere; font-size:15px; }
.editorial-table caption { text-align:left; font-size:14px; padding-bottom:10px; }
.editorial-footer p { margin:16px 0; }
.editorial-enhanced .editorial-prose section { margin-top:52px; }
.editorial-enhanced h2 { color:#18324d; line-height:1.3; margin-bottom:20px; }
.editorial-enhanced h3 { color:var(--color-primary); line-height:1.4; margin:28px 0 12px; }
.editorial-enhanced a { color:var(--color-primary-dark); text-decoration:underline; text-underline-offset:3px; }
.editorial-enhanced a:hover { color:#18324d; }
.editorial-enhanced .editorial-prose li { margin:10px 0; }
.editorial-enhanced .editorial-callout { border:1px solid #cfdef5; padding:clamp(20px,4vw,32px); }
.editorial-enhanced .editorial-tip { margin:24px 0; padding:20px 24px; background:#edf3ff; border-left:4px solid var(--color-primary); border-radius:0 12px 12px 0; font-size:16px; line-height:1.75; }
.editorial-enhanced .editorial-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.editorial-enhanced .editorial-actions a { display:inline-flex; align-items:center; min-height:48px; padding:12px 18px; border:1px solid #cfdef5; border-radius:10px; background:#fff; font-size:16px; font-weight:600; line-height:1.5; text-decoration:none; }
.editorial-enhanced .editorial-action-primary a { background:var(--color-primary-dark); border-color:var(--color-primary-dark); color:#fff; }
.editorial-enhanced .editorial-actions a:hover { background:#e0ebff; color:#18324d; }
.editorial-page a:focus-visible,.editorial-page button:focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
.editorial-skip,.editorial-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.editorial-skip:focus { position:fixed; top:10px; left:10px; width:auto; height:auto; clip-path:none; background:#fff; padding:15px; z-index:100; }
.journal-index { color:#17372e; padding-top:24px; }
.journal-index a { color:inherit; text-decoration:none; }
.journal-hero { position:relative; min-height:650px; overflow:hidden; background:#17372e; color:#fff; isolation:isolate; }
.journal-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.journal-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,27,20,.78),rgba(8,27,20,.22)),linear-gradient(0deg,rgba(8,27,20,.32),transparent); z-index:-1; }
.journal-hero-copy { padding:84px 60px 108px; max-width:930px; }
.journal-kicker { font:600 11px/1.5 var(--font-primary); letter-spacing:.14em; text-transform:uppercase; }
.journal-hero h1 { font:400 clamp(58px,7.2vw,100px)/.99 var(--font-display); letter-spacing:-.045em; margin:32px 0 26px; color:#fff; }
.journal-deck { font-size:18px; line-height:1.65; max-width:370px; }
.journal-hero-link { display:inline-flex; gap:32px; align-items:center; padding:14px 0; margin-top:30px; border-bottom:1px solid #d8ef9a; font-size:16px; }
.journal-hero-link span { color:#d8ef9a; font-size:28px; }
.journal-hero-note { position:absolute; bottom:28px; right:32px; font-size:12px; letter-spacing:.03em; }
.journal-index section { margin-top:96px; }
.editorial-page .journal-index h2 { font:400 clamp(40px,5vw,64px)/1.08 var(--font-display); letter-spacing:-.035em; color:#17372e; margin:14px 0 32px; }
.journal-featured { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:28px; align-items:start; }
.journal-story { display:block; min-width:0; }
.journal-story-photo { position:relative; aspect-ratio:4/5; overflow:hidden; background:#e2e6db; }
.journal-story-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.journal-story:nth-child(2) .journal-story-photo { aspect-ratio:1/1; }
.journal-story:nth-child(3) .journal-story-photo { aspect-ratio:4/5; }
.journal-story:nth-child(2) { margin-top:60px; }
.journal-arrow { position:absolute; bottom:16px; right:16px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#f8f6ed; color:#17372e; font-size:24px; transition:background .2s,transform .2s; }
.journal-story .journal-kicker { margin:22px 0 12px; font-size:10px; }
.journal-story h3 { font:400 clamp(24px,2.3vw,32px)/1.17 var(--font-display); letter-spacing:-.025em; color:#17372e; margin:0; }
.journal-story:hover img { transform:scale(1.035); }
.journal-story:hover .journal-arrow { background:#d8ef9a; transform:rotate(8deg); }
.journal-story:focus-visible { outline-offset:7px; }
.journal-moods { border-top:1px solid #c7cec4; padding-top:40px; }
.journal-moods nav { display:flex; flex-wrap:wrap; gap:0 32px; }
.journal-moods nav a { display:flex; gap:26px; align-items:center; font-size:20px; padding:18px 0; border-bottom:1px solid #abb9aa; min-height:56px; }
.journal-moods nav a:hover { border-color:#17372e; }
.journal-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 28px; }
.journal-story-grid .journal-story:nth-child(4n+1) { grid-column:span 2; }
.journal-story-grid .journal-story { margin-top:0; }
.journal-story-grid .journal-story-photo { aspect-ratio:3/2; }
.journal-summary { font-size:16px; line-height:1.7; margin-top:16px; }
.journal-closing { position:relative; background:#d8ef9a; padding:52px 60px; }
.editorial-page .journal-closing h2 { font-size:clamp(54px,7vw,90px); margin:28px 0; }
.journal-closing>a { display:inline-flex; gap:40px; align-items:center; padding:16px 0; border-bottom:1px solid #17372e; font-weight:600; }
.journal-closing>a span { font-size:28px; }
.journal-drafts { margin-top:48px; padding:20px; border:1px dashed #abb9aa; }
.journal-drafts ul { padding:20px; }
@media(min-width:1500px) { .editorial-shell:has(.journal-index) { width:min(1360px,calc(100% - 80px)); } }
@media(max-width:900px) { .journal-hero-copy { padding:64px 36px 100px; } .journal-hero { min-height:580px; } .journal-featured { gap:20px; grid-template-columns:1fr 1fr; } .journal-featured .journal-story:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.2fr 1fr; column-gap:28px; } .journal-featured .journal-story:first-child .journal-story-photo { grid-row:span 2; aspect-ratio:4/3; } .journal-featured .journal-story:first-child h3 { align-self:start; } .journal-featured .journal-story:first-child .journal-kicker { align-self:end; } .journal-featured .journal-story:nth-child(2) { margin-top:20px; } .journal-featured .journal-story:nth-child(3) { margin-top:20px; } .journal-featured .journal-story-photo { aspect-ratio:4/3; } }
@media(max-width:560px) { .journal-index { padding-top:12px; } .journal-hero { min-height:570px; } .journal-hero-copy { padding:48px 24px 80px; } .journal-hero h1 { font-size:clamp(45px,12vw,64px); margin-top:36px; } .journal-deck { font-size:16px; } .journal-hero-note { left:24px; right:24px; font-size:10px; } .journal-index section { margin-top:64px; } .journal-featured { display:block; } .journal-featured .journal-story:first-child { display:block; } .journal-featured .journal-story { margin-top:36px; } .journal-featured .journal-story:first-child { margin-top:0; } .journal-featured .journal-story:nth-child(n) .journal-story-photo { aspect-ratio:4/3; } .journal-story h3 { font-size:29px; } .journal-moods nav { display:block; } .journal-moods nav a { justify-content:space-between; font-size:20px; } .journal-story-grid { display:block; } .journal-story-grid .journal-story { margin-bottom:36px; } .journal-closing { padding:36px 24px; } .editorial-page .journal-closing h2 { font-size:56px; } .journal-closing>a { gap:16px; font-size:15px; } }
/* Full-bleed journal cover; other editorial pages keep their existing shell. */
.editorial-page:has(.journal-index) { position:relative; }
.editorial-page:has(.journal-index)>.editorial-header { position:absolute; inset:0 0 auto; z-index:2; background:transparent; border-bottom:1px solid rgba(255,255,255,.25); }
.editorial-page:has(.journal-index)>.editorial-header a { color:#fff; }
.editorial-page:has(.journal-index)>.editorial-header>a { position:relative; flex-shrink:0; }
.editorial-page:has(.journal-index)>.editorial-header>a img { opacity:0; }
.editorial-page:has(.journal-index)>.editorial-header>a::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#36d2dc 0 38%,#fff 38% 100%); mask:url('/resources/rovairo-logo.png') center/contain no-repeat; -webkit-mask:url('/resources/rovairo-logo.png') center/contain no-repeat; pointer-events:none; }
.editorial-page:has(.journal-index)>.editorial-header nav a { font-size:17px; font-weight:500; line-height:1.5; }
.editorial-page:has(.journal-index)>.editorial-preview { position:absolute; top:110px; left:20px; z-index:2; margin:0; padding:8px 12px; max-width:calc(100% - 40px); font-size:11px; background:rgba(255,245,216,.94); }
.editorial-shell:has(.journal-index) { width:100%; }
.journal-index { padding-top:0; }
.journal-hero { min-height:760px; min-height:100svh; }
.journal-hero-copy { padding:220px max(24px,calc((100vw - 1120px)/2)) 120px; max-width:none; }
.journal-hero h1 { max-width:1000px; }
.journal-index>section,.journal-index>.journal-drafts { width:min(1120px,calc(100% - 40px)); margin-left:auto; margin-right:auto; }
@media(min-width:1500px) { .journal-index>section,.journal-index>.journal-drafts { width:min(1360px,calc(100% - 80px)); } }
@media(max-width:760px) { .editorial-page:has(.journal-index)>.editorial-header { padding:20px; gap:12px; } .editorial-page:has(.journal-index)>.editorial-preview { top:155px; } .journal-hero-copy { padding:240px 24px 100px; } .journal-hero { min-height:800px; } }
@media(prefers-reduced-motion:reduce) { .journal-story-photo img,.journal-arrow { transition:none; } }
@media(max-width:760px) { .editorial-header { align-items:flex-start; flex-direction:column; gap:16px; } .editorial-grid { grid-template-columns:1fr; } .editorial-intro { padding:32px 0 24px; } .editorial-card,.editorial-featured { padding:22px; } .editorial-featured h2 { font-size:27px; } .editorial-table th,.editorial-table td { padding:9px; font-size:13px; } .editorial-deck { font-size:17px; } }
/* Lower journal refinements; cover and featured stories remain unchanged. */
.journal-moods nav a { position:relative; transition:background .2s; }
.journal-moods nav a::after { content:""; position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:#73963a; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.journal-moods nav a span { transition:transform .25s; }
.journal-moods nav a:hover,.journal-moods nav a:focus-visible { background:rgba(216,239,154,.22); }
.journal-moods nav a:hover::after,.journal-moods nav a:focus-visible::after { transform:scaleX(1); }
.journal-moods nav a:hover span { transform:translate(3px,-3px); }
.journal-next-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:32px 40px; }
.journal-next-grid>.journal-story:first-child { grid-row:span 2; }
.journal-next-grid>.journal-story:first-child .journal-story-photo { aspect-ratio:4/3; }
.journal-next-grid>.journal-story:not(:first-child) { display:grid; grid-template-columns:40% 1fr; column-gap:20px; margin:0; }
.journal-next-grid>.journal-story:not(:first-child) .journal-story-photo { grid-row:span 2; aspect-ratio:1; }
.journal-next-grid>.journal-story:not(:first-child) .journal-kicker { margin:0 0 10px; align-self:end; }
.journal-next-grid>.journal-story:not(:first-child) h3 { font-size:25px; }
.journal-closing { display:grid; grid-template-columns:1.1fr 1fr; padding:0; overflow:hidden; }
.journal-closing-copy { padding:52px 40px; }
.editorial-page .journal-closing h2 { font-size:clamp(48px,5vw,72px); }
.journal-closing-description { max-width:390px; font-size:17px; line-height:1.7; margin-bottom:26px; }
.journal-closing-copy>a { display:inline-flex; align-items:center; gap:24px; padding:16px 22px; background:#17372e; color:#fff; border-radius:32px; font-size:16px; line-height:1.5; transition:background .2s; }
.journal-closing-copy>a:hover { background:#284d40; }
.journal-closing-image { display:block; width:100%; height:100%; min-height:420px; object-fit:cover; }
.editorial-shell:has(.journal-index) { padding-bottom:80px; }
.journal-footer { background:#102c26; color:#f5f4e9; padding:64px max(20px,calc((100% - 1120px)/2)) 24px; }
.journal-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.journal-footer-brand img { filter:brightness(0) invert(1); object-fit:contain; }
.journal-footer-brand p { font-size:19px; line-height:1.6; margin-top:24px; }
.journal-footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.journal-footer h2 { color:#d8ef9a; font:600 12px/1.5 var(--font-primary); letter-spacing:.1em; text-transform:uppercase; margin:0 0 10px; }
.journal-footer a { color:#f5f4e9; font-size:14px; text-decoration:none; line-height:1.7; }
.journal-footer a:hover { color:#d8ef9a; text-decoration:underline; text-underline-offset:4px; }
.journal-footer-bottom { border-top:1px solid #456056; padding-top:24px; margin-top:48px; display:flex; justify-content:space-between; gap:20px; font-size:12px; line-height:1.7; }
@media(max-width:760px) { .journal-next-grid { display:block; } .journal-next-grid>.journal-story { margin-bottom:32px!important; } .journal-next-grid>.journal-story:not(:first-child) h3 { font-size:23px; } .journal-closing { grid-template-columns:1fr; } .journal-closing-copy { padding:36px 24px; } .journal-closing-image { min-height:0; height:auto; aspect-ratio:4/3; } .journal-footer-grid { grid-template-columns:1fr 1fr; gap:36px 24px; } .journal-footer-brand { grid-column:1/-1; } .journal-footer-bottom { flex-direction:column; gap:12px; } }
@media(prefers-reduced-motion:reduce) { .journal-moods nav a,.journal-moods nav a::after,.journal-moods nav a span,.journal-closing-copy>a { transition:none; } }
