/* Frau · Promo banner & actions. Deep plum, lavender, warm white. Rectangular imagery. */
:root{--plum:#2f193b;--plum-2:#4a2159;--plum-3:#6b2d82;--lilac:#d9c6e8;--lilac-soft:#efe6f5;--gold-ink:#f4ecf8}

/* ---------- Banner ---------- */
.f-banner{position:relative;display:grid;grid-template-columns:1.02fr .98fr;min-height:560px;margin:34px 0 10px;background:linear-gradient(115deg,var(--plum) 0%,var(--plum-2) 58%,var(--plum-3) 100%);color:#fff;overflow:hidden;isolation:isolate}
.f-banner::before{content:"";position:absolute;inset:auto auto -180px -160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#8f4fae55 0%,transparent 70%);z-index:-1}
.f-banner-text{padding:58px 20px 50px 58px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.f-banner .eyebrow{color:var(--lilac);display:flex;align-items:center;gap:12px}
.f-banner .eyebrow::before{content:"";width:28px;height:1px;background:var(--lilac)}
.f-banner h1,.f-banner h2{font:400 clamp(44px,4.6vw,70px)/1 var(--serif);letter-spacing:-.03em;margin:22px 0 22px;color:#fff}
.f-banner h1 em,.f-banner h2 em{font-style:normal;color:var(--lilac)}
.f-banner-lead{font-size:16px;line-height:1.75;color:#e3d6ec;max-width:470px}
.f-banner-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:30px 0 32px;background:#ffffff26;border:1px solid #ffffff26;max-width:560px}
.f-banner-offers a{background:#2f193bcc;padding:16px 16px 15px;display:block;transition:background .25s}
.f-banner-offers a:hover{background:#5a2a6dcc}
.f-banner-offers b{display:block;font:400 32px/1 var(--serif);color:#fff;letter-spacing:-.02em}
.f-banner-offers span{display:block;font-size:12px;line-height:1.45;color:#d8c9e3;margin-top:8px}
.f-banner-actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.f-banner .btn.f-btn-light{background:#fff;border-color:#fff;color:var(--plum)}
.f-banner .btn.f-btn-light:hover{background:var(--lilac-soft);border-color:var(--lilac-soft)}
.f-banner .f-btn-ghost{color:#fff;font-size:13px;border-bottom:1px solid #ffffff66;padding:6px 0;background:none;border-top:0;border-left:0;border-right:0}
.f-banner .f-btn-ghost:hover{border-color:#fff}
.f-banner-note{font-size:11px;color:#bba9c8;margin-top:26px;letter-spacing:.02em}
.f-banner-media{position:relative;min-height:100%}
.f-banner-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 30%}
.f-banner-media img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.f-banner-stamp{position:absolute;right:28px;bottom:28px;z-index:2;background:#ffffffeb;color:var(--plum);padding:16px 20px 14px;min-width:170px}
.f-banner-stamp small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7a5a8a}
.f-banner-stamp strong{display:block;font:500 30px/1.05 var(--serif);margin-top:6px}
.f-banner-ai{position:absolute;left:auto;right:28px;top:22px;z-index:2;font-size:10px;color:#ffffffb3;letter-spacing:.04em}

/* ---------- Promo section on home ---------- */
.f-promos{padding:70px 0 20px}
.f-promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px}
.f-promo-grid.f-3{grid-template-columns:repeat(3,1fr);gap:46px 28px}

/* ---------- Promo card ---------- */
.f-card{display:flex;flex-direction:column;min-width:0;background:var(--paper)}
.f-card[hidden]{display:none}
.f-card-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--lav)}
.f-card-media img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.f-card:hover .f-card-media img{transform:scale(1.045)}
.f-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#2f193b00 55%,#2f193b8c 100%);pointer-events:none}
.f-card-deadline{position:absolute;left:14px;top:14px;z-index:2;background:#fff;color:var(--plum);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:7px 10px}
.f-card-badge{position:absolute;left:14px;bottom:14px;z-index:2;background:var(--plum);color:#fff;font:400 34px/1 var(--serif);letter-spacing:-.02em;padding:12px 14px 10px;min-width:84px;text-align:center}
.f-card-badge.f-small{font-size:24px;padding:14px 14px 12px}
.f-card-body{display:flex;flex-direction:column;flex:1;padding:22px 0 0}
.f-card-body .eyebrow{color:var(--purple)}
.f-card-body h3{font:400 26px/1.12 var(--serif);letter-spacing:-.01em;margin:10px 0 12px;color:var(--text)}
.f-card-body>p{font-size:14px;line-height:1.7;color:var(--muted)}
.f-card-body>p{margin-bottom:16px}.f-card details{margin-top:auto;border-top:1px solid var(--line)}
.f-card summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--purple);padding:14px 0;min-height:44px}
.f-card summary::-webkit-details-marker{display:none}
.f-card summary::after{content:"+";font-size:20px;line-height:1;transition:transform .25s}
.f-card details[open] summary::after{transform:rotate(45deg)}
.f-card details ul{margin:0 0 14px;padding:0 0 0 18px;font-size:13px;line-height:1.7;color:var(--muted)}
.f-card details li+li{margin-top:6px}
.f-card details+.f-card-actions{margin-top:0}.f-card-actions{margin-top:auto;padding-top:16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.f-card-actions .btn{min-height:46px;padding:12px 20px}
.f-card.f-compact h3{font-size:23px}
.f-card.f-compact .f-card-actions{padding-top:14px}

/* ---------- Actions page ---------- */
.f-actions-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:64px 0 26px}
.f-actions-head h2{font:400 var(--e-heading)/1.05 var(--serif);margin-top:14px}
.f-actions-head p{max-width:420px;font-size:14px;color:var(--muted);line-height:1.75}
.f-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px;padding:16px;background:var(--lav)}
.f-tabs button{border:1px solid var(--line);background:var(--paper);color:var(--text);padding:11px 18px;font-size:13px;min-height:44px;display:inline-flex;gap:10px;align-items:center;transition:background .2s,color .2s,border-color .2s}
.f-tabs button span{font-size:11px;color:var(--muted)}
.f-tabs button:hover{border-color:var(--purple)}
.f-tabs button.selected{background:var(--plum);color:#fff;border-color:var(--plum)}
.f-tabs button.selected span{color:var(--lilac)}
.f-feature{display:grid;grid-template-columns:1.15fr .85fr;background:var(--lav);margin-bottom:56px}
.f-feature .f-card-media{aspect-ratio:auto;min-height:420px}
.f-feature-body{padding:46px 48px;display:flex;flex-direction:column;justify-content:center}
.f-feature-body .eyebrow{color:var(--purple)}
.f-feature-body h2{font:400 clamp(36px,3.4vw,50px)/1.04 var(--serif);margin:16px 0 18px}
.f-feature-body p{color:var(--muted);line-height:1.8;font-size:15px}
.f-feature-body ul{margin:20px 0 0;padding:0;list-style:none;font-size:14px;color:var(--text)}
.f-feature-body li{padding:11px 0;border-top:1px solid var(--line);display:flex;gap:12px}
.f-feature-body li::before{content:"—";color:var(--purple)}
.f-feature-body .f-card-actions{margin-top:26px}
.f-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:80px 0 0;background:var(--plum);color:#fff}
.f-steps article{padding:36px 34px;border-right:1px solid #ffffff22}
.f-steps article:last-child{border-right:0}
.f-steps span{font-size:12px;letter-spacing:.12em;color:var(--lilac)}
.f-steps h3{font:400 28px/1.1 var(--serif);margin:14px 0 10px}
.f-steps p{font-size:14px;line-height:1.7;color:#d9cbe3}
.f-empty{padding:40px;background:var(--lav);text-align:center;color:var(--muted)}
.f-crumbs{padding:24px 0 0;font-size:12px;color:var(--muted);display:flex;gap:10px}
.f-crumbs a:hover{color:var(--purple)}
.nav a[aria-current=page]{color:var(--purple);box-shadow:inset 0 -1px 0 var(--purple)}
.nav a.f-nav-promo{color:var(--brand,#72328b);font-weight:600}

/* ---------- Dark ---------- */
[data-theme=dark] .f-card{background:transparent}
[data-theme=dark] .f-card-badge{background:#c6b6e2;color:#241a35}
[data-theme=dark] .f-tabs button.selected{background:#c6b6e2;color:#241a35;border-color:#c6b6e2}
[data-theme=dark] .f-tabs button.selected span{color:#241a35}
[data-theme=dark] .f-banner .btn.f-btn-light{background:#fff;color:var(--plum);border-color:#fff}

/* ---------- Responsive ---------- */
@media(max-width:1180px){.f-promo-grid{grid-template-columns:repeat(2,1fr)}.f-banner-text{padding:48px 10px 44px 42px}}
@media(max-width:960px){
 .f-banner{grid-template-columns:1fr;min-height:0}
 .f-banner-media{order:-1;min-height:380px}
 .f-banner-media img{-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 40%);mask-image:linear-gradient(0deg,transparent 0,#000 40%)}
 .f-banner-media img{object-position:70% 25%}
 .f-banner-text{padding:8px 36px 44px}
 .f-promo-grid.f-3{grid-template-columns:repeat(2,1fr)}
 .f-feature{grid-template-columns:1fr}.f-feature .f-card-media{min-height:340px}
 .f-steps{grid-template-columns:1fr}.f-steps article{border-right:0;border-bottom:1px solid #ffffff22}
}
@media(max-width:760px){
 .f-banner{margin-top:18px;margin-left:-18px;margin-right:-18px}
 .f-banner-media{min-height:330px}
 .f-banner-text{padding:4px 24px 36px}
 .f-banner h1,.f-banner h2{font-size:42px;margin:16px 0}
 .f-banner-offers{grid-template-columns:1fr;max-width:none}
 .f-banner-offers a{display:flex;align-items:baseline;gap:14px}
 .f-banner-offers b{font-size:28px;min-width:74px}
 .f-banner-offers span{margin-top:0}
 .f-banner-actions .btn{width:100%}
 .f-banner-stamp{right:16px;bottom:16px;min-width:0;padding:12px 14px 10px}
 .f-banner-stamp strong{font-size:22px}
 .f-banner-ai{right:16px;top:14px}
 .f-promo-grid,.f-promo-grid.f-3{grid-template-columns:1fr;gap:40px}
 .f-promos{padding-top:52px}
 .f-actions-head{display:block;margin-top:44px}.f-actions-head p{margin-top:14px}
 .f-tabs{padding:12px;gap:8px;margin-left:-18px;margin-right:-18px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .f-tabs button{white-space:nowrap;flex-shrink:0}
 .f-feature-body{padding:30px 24px}
 .f-steps{margin-left:-18px;margin-right:-18px}.f-steps article{padding:28px 24px}
}
@media(prefers-reduced-motion:reduce){.f-card-media img{transition:none}.f-card:hover .f-card-media img{transform:none}}
