/*
Theme Name: Lütters Academic
Theme URI: https://luetters.de/
Author: Prof. Dr. Holger Lütters
Description: A focused academic WordPress theme with a dark editorial hero, orange accent colour, structured news cards and clear research pages.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: luetters-academic
*/

:root { --ink:#2c3e50; --ink-deep:#1f2f3d; --orange:#ff6600; --orange-soft:#ff8a3d; --mist:#f4f6f8; --line:#d4dce3; --muted:#5a6c7d; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--mist); color:var(--ink); font-family:Roboto,Arial,sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; }
img { display:block; max-width:100%; height:auto; }
.site-shell { min-height:100vh; display:flex; flex-direction:column; }
.site-main { flex:1; }
.wrap { width:min(1120px, calc(100% - 40px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:30; background:rgba(44,62,80,.97); border-bottom:1px solid rgba(255,255,255,.14); backdrop-filter:blur(12px); }
.header-row { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { color:#fff; text-decoration:none; font-size:19px; line-height:1.05; font-weight:900; letter-spacing:-.035em; text-transform:uppercase; }
.brand small { display:block; margin-top:5px; color:var(--orange-soft); font-size:10px; font-family:"Roboto Mono",monospace; letter-spacing:.13em; }
.primary-menu { margin:0; padding:0; list-style:none; display:flex; align-items:center; gap:7px; }
.primary-menu a { display:block; padding:10px 9px; color:rgba(255,255,255,.84); font-family:"Roboto Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; transition:color .18s ease, background .18s ease; }
.primary-menu a:hover,.primary-menu .current-menu-item>a { color:#fff; background:rgba(255,255,255,.11); }
.menu-toggle { display:none; border:1px solid rgba(255,255,255,.45); background:transparent; color:#fff; padding:9px 11px; font:700 12px "Roboto Mono",monospace; }
.hero { position:relative; overflow:hidden; color:#fff; background:linear-gradient(115deg,rgba(52,73,94,.98),rgba(31,47,61,.98)); }
.hero:before,.hero:after { content:""; position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; pointer-events:none; }
.hero:before { width:360px; height:360px; right:-110px; top:38px; }.hero:after { width:180px;height:180px;right:14%;top:130px; }
.hero-grid { position:relative; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:72px; padding:88px 0 92px; }
.eyebrow { margin:0 0 19px; color:var(--orange-soft); font:700 12px "Roboto Mono",monospace; letter-spacing:.17em; text-transform:uppercase; }
.hero h1 { max-width:680px; margin:0; color:#fff; font-size:clamp(49px,6vw,84px); line-height:.91; letter-spacing:-.06em; }
.orange-rule { width:82px; height:4px; margin:31px 0; background:var(--orange); }
.hero-copy { max-width:640px; margin:0; color:rgba(255,255,255,.82); font-size:20px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:35px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px 18px; border:1px solid transparent; border-radius:4px; font:700 13px "Roboto Mono",monospace; text-decoration:none; letter-spacing:.02em; transition:transform .18s ease, background .18s ease, border .18s ease; }
.button:hover { transform:translateY(-2px); }.button-primary { color:#fff;background:var(--orange); }.button-primary:hover { background:var(--orange-soft); }.button-outline { color:#fff;border-color:rgba(255,255,255,.4); }.button-outline:hover { background:rgba(255,255,255,.1);border-color:#fff; }
.portrait-frame { position:relative; max-width:390px; margin:0 auto; padding:12px; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.23); border-radius:18px; box-shadow:0 28px 55px rgba(0,0,0,.28); }.portrait-frame img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top; border-radius:11px; background:#fff; }.portrait-label { position:absolute; bottom:-20px; left:-25px; padding:10px 15px; color:#fff; background:var(--orange); border:1px solid rgba(255,255,255,.18); font:700 12px "Roboto Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.feature-band { margin-top:-1px; padding:40px 0 76px; background:var(--mist); }.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.feature-card { position:relative; display:block; min-height:244px; padding:29px; overflow:hidden; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:11px; box-shadow:0 7px 20px rgba(44,62,80,.06); text-decoration:none; transition:transform .2s ease,border .2s ease,box-shadow .2s ease; }.feature-card:hover { transform:translateY(-5px); border-color:rgba(255,102,0,.6); box-shadow:0 18px 35px rgba(44,62,80,.13); }.feature-number { position:absolute; top:22px;right:23px;color:var(--line);font:700 12px "Roboto Mono",monospace; }.feature-icon { display:grid; width:49px;height:49px;place-items:center;margin-bottom:30px;color:var(--ink);background:var(--mist);border-radius:8px;font-size:22px; }.feature-card h2 { margin:0 0 10px;font-size:22px;line-height:1.15; }.feature-card p { margin:0 0 20px;color:var(--muted);font-size:14px;line-height:1.6; }.feature-link { position:absolute;bottom:27px;color:var(--ink);font:700 11px "Roboto Mono",monospace;letter-spacing:.06em;text-transform:uppercase; }.feature-card:hover .feature-link { color:var(--orange); }
.section { padding:74px 0; background:#fff; }.section-mist { background:var(--mist); }.section-grid { display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:start; }.section-title { margin:0 0 20px;font-size:clamp(32px,4vw,49px);line-height:.98;letter-spacing:-.04em; }.section-copy { color:#425466;font-size:18px; }.notice-card { padding:32px;color:#fff;background:var(--ink);border-radius:12px;box-shadow:0 18px 34px rgba(44,62,80,.19); }.notice-card h2 { margin:0 0 10px;font-size:28px;line-height:1.1; }.notice-card p { color:rgba(255,255,255,.76); }.notice-card .button { color:var(--ink);background:#fff; }.notice-card .button:hover { color:#fff;background:var(--orange); }
.page-hero { padding:66px 0 48px; background:var(--mist); border-bottom:1px solid var(--line); }.page-hero .eyebrow { margin-bottom:12px;color:var(--orange); }.page-hero h1 { margin:0;font-size:clamp(41px,5vw,65px);line-height:.96;letter-spacing:-.05em; }.content-wrap { width:min(880px,calc(100% - 40px));margin:0 auto;padding:65px 0 82px; }.entry-content { color:#405364; font-size:17px; }.entry-content h2 { margin:48px 0 14px;color:var(--ink);font-size:31px;line-height:1.12; }.entry-content h3 { margin:31px 0 10px;color:var(--ink);font-size:23px; }.entry-content a { color:var(--orange);font-weight:700; }.entry-content img { margin:28px 0;border-radius:9px; }.entry-content ul { padding-left:22px; }
.news-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }.news-card { display:flex;flex-direction:column;min-height:100%;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 7px 20px rgba(44,62,80,.06); }.news-card img,.news-placeholder { width:100%;aspect-ratio:16/10;object-fit:cover;background:linear-gradient(135deg,#34495e,#1f2f3d); }.news-body { display:flex;flex:1;flex-direction:column;padding:24px; }.news-meta { margin:0 0 14px;color:var(--orange);font:700 11px "Roboto Mono",monospace;letter-spacing:.08em;text-transform:uppercase; }.news-card h2 { margin:0 0 13px;font-size:22px;line-height:1.18; }.news-card h2 a { text-decoration:none; }.news-card p { margin:0 0 20px;color:var(--muted);font-size:14px; }.read-more { margin-top:auto;color:var(--ink);font:700 11px "Roboto Mono",monospace;letter-spacing:.08em;text-decoration:none;text-transform:uppercase; }.read-more:hover { color:var(--orange); }.post-navigation { display:flex;justify-content:space-between;gap:15px;margin-top:48px;padding-top:26px;border-top:1px solid var(--line); }
.site-footer { padding:62px 0 27px;color:#fff;background:var(--ink);border-top:2px solid var(--line); }.footer-grid { display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:50px; }.site-footer h2 { margin:0 0 19px;font-size:18px; }.site-footer p,.site-footer li { color:rgba(255,255,255,.72);font-size:14px; }.site-footer ul { margin:0;padding:0;list-style:none; }.site-footer li { margin:7px 0; }.site-footer a { text-decoration:none; }.site-footer a:hover { color:var(--orange-soft); }.footer-bottom { display:flex;justify-content:space-between;gap:12px;margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.65);font:11px "Roboto Mono",monospace; }
@media(max-width:850px){.header-row{min-height:67px}.menu-toggle{display:block}.primary-menu{display:none;position:absolute;top:67px;right:0;left:0;padding:10px 20px;background:var(--ink);border-top:1px solid rgba(255,255,255,.14);flex-direction:column;align-items:stretch}.primary-menu.is-open{display:flex}.primary-menu a{padding:12px 0}.hero-grid,.section-grid{grid-template-columns:1fr;gap:46px}.hero-grid{padding:62px 0 73px}.hero-copy{font-size:17px}.portrait-frame{max-width:330px}.feature-grid,.news-grid{grid-template-columns:1fr}.feature-card{min-height:220px}.footer-grid{grid-template-columns:1fr;gap:27px}.footer-bottom{flex-direction:column}.page-hero{padding:48px 0 36px}.section,.content-wrap{padding-top:50px;padding-bottom:56px}}
