:root{
  --navy:#0e1f33; --navy-2:#16304d; --red:#b4210e; --red-d:#8f1a0b;
  --ink:#1b2430; --muted:#5b6675; --line:#e3e7ec; --bg:#fff; --alt:#f5f7fa;
  --radius:14px; --shadow:0 10px 30px rgba(14,31,51,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--red)}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.2;margin:0 0 .6em;color:var(--navy)}
h2{font-size:clamp(1.7rem,3vw,2.4rem)}
h3{font-size:1.25rem}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:600;color:var(--red);margin:0 0 .8rem}
.eyebrow.light{color:#f0a89d}
.lead{font-size:1.1rem;color:var(--muted);max-width:720px}
.lead.light{color:#c9d3df}
.section{padding:96px 0}
.section.alt{background:var(--alt)}

/* Buttons */
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font:600 .95rem Inter,sans-serif;padding:13px 26px;border-radius:999px;border:2px solid var(--red);cursor:pointer;transition:.2s}
.btn:hover{background:var(--red-d);border-color:var(--red-d)}
.btn:disabled{opacity:.6;cursor:wait}
.btn-small{padding:8px 16px;font-size:.85rem}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.6)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--line)}
.btn-outline:hover{background:var(--alt);border-color:var(--navy)}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn-outline-light:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-danger{background:transparent;color:var(--red);border-color:#f0c4be}
.btn-danger:hover{background:var(--red);color:#fff;border-color:var(--red)}
.btn-block{display:block;width:100%;text-align:center}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand img{height:44px;width:auto}
.links{display:flex;align-items:center;gap:30px}
.links a{color:var(--navy);text-decoration:none;font-weight:500;font-size:.95rem}
.links a:hover{color:var(--red)}
.links .btn{color:#fff}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}

/* Hero */
.hero{background:linear-gradient(100deg,rgba(14,31,51,.94) 25%,rgba(14,31,51,.55)),url(/static/img/windmill2.jpg) center/cover;color:#fff;padding:140px 0 120px}
.hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);max-width:820px}
.hero-sub{font-size:1.2rem;color:#d6deea;max-width:620px;margin:0 0 2rem}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}

/* Stats */
.stats{background:var(--navy);color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:34px 0}
.stats-grid div{display:flex;flex-direction:column;border-left:2px solid var(--red);padding-left:16px}
.stats-grid strong{font:600 1.9rem "Playfair Display",serif}
.stats-grid span{font-size:.88rem;color:#b8c4d3}

/* Layout */
.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.prose p{margin:0 0 1.1em;color:#3a4553;font-size:1.05rem}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);transition:.2s}
.card:hover{transform:translateY(-3px)}
.card p{color:var(--muted);margin:0 0 .8em}
.icon{width:52px;height:52px;border-radius:12px;background:#fbeceA;color:var(--red);display:grid;place-items:center;margin-bottom:18px}
.icon svg{width:26px;height:26px}

/* Resources */
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:40px}
.res-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.res-media video{width:100%;aspect-ratio:16/9;background:#000;display:block}
.pdf-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:16/9;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;text-decoration:none;font-weight:600;letter-spacing:.1em}
.pdf-thumb svg{width:44px;height:44px}
.res-body{padding:22px}
.res-body h3{font-size:1.1rem;margin-bottom:.4em}
.res-body p{color:var(--muted);margin:0 0 .8em;font-size:.95rem}
.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:600}
.link-arrow{font-weight:600;text-decoration:none}

/* Team */
.profile{display:grid;grid-template-columns:300px 1fr;gap:56px;margin-top:48px;align-items:start}
.profile-photo img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%}
.memberships{list-style:none;padding:0;margin:18px 0;font-size:.85rem;color:var(--muted)}
.memberships li{padding:8px 0;border-bottom:1px solid var(--line)}
.role{color:var(--red);font-weight:600;margin-top:-.3em}
.profile-text p{color:#3a4553}

/* CTA + footer */
.cta{background:var(--navy);color:#fff}
.cta h2{color:#fff}
.contact-box{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:30px}
.contact-box p{display:flex;gap:14px;align-items:center;margin:0 0 18px}
.contact-box svg{width:24px;height:24px;color:#f0a89d;flex:none}
.contact-box a:not(.btn){color:#fff}
.footer{background:#091525;color:#8fa0b5;font-size:.88rem}
.footer-inner{display:flex;justify-content:space-between;padding:22px 0}
.footer a{color:#c9d3df;text-decoration:none}

/* Admin */
.admin-body{background:var(--alt)}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.login-card{background:#fff;width:min(400px,100%);padding:36px;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}
.login-card img{height:48px;width:auto;margin:0 auto}
.login-card h1{font-size:1.4rem;text-align:center;margin:0}
.back{text-align:center;font-size:.9rem;color:var(--muted);text-decoration:none}
label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:500;color:var(--navy)}
input[type=text],input:not([type]),input[type=password],textarea{font:inherit;padding:11px 13px;border:1px solid #cfd6df;border-radius:10px;background:#fff}
input:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px}
input[type=file]{padding:10px;border:1px dashed #b9c3cf;border-radius:10px;background:#fff}
.check{flex-direction:row;align-items:center;gap:10px}
.admin-bar{background:var(--navy);color:#fff}
.admin-bar-inner{display:flex;justify-content:space-between;align-items:center;height:64px}
.admin-bar img{height:36px;width:auto}
.admin-bar a{color:#c9d3df;margin-right:16px;text-decoration:none;font-size:.9rem}
.admin-main{padding:36px 0 80px;display:grid;gap:24px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.panel h2{font-size:1.3rem}
.panel form{display:grid;gap:16px;max-width:640px}
.alert{padding:12px 16px;border-radius:10px;font-size:.92rem}
.alert.ok{background:#e6f5ec;color:#14532d;border:1px solid #b7e3c7}
.alert.err{background:#fdeceb;color:#8f1a0b;border:1px solid #f4c3bd}
.item{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.item-main{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start;flex:1;min-width:260px}
.item-main .meta{grid-column:2;color:var(--muted);font-size:.82rem}
.item-main details{grid-column:2}
.item-main summary{cursor:pointer}
.edit-form{margin-top:12px;max-width:520px}
.item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.item-actions form{display:inline;max-width:none}
.badge{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:6px;letter-spacing:.06em;margin-top:2px}
.badge.pdf{background:#fdeceb;color:var(--red)}
.badge.video{background:#e7eef8;color:#1d4e89}
.status{font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:999px}
.status.on{background:#e6f5ec;color:#14532d}
.status.off{background:#eef0f3;color:var(--muted)}
.muted{color:var(--muted)}
progress{width:100%;height:10px}

@media (max-width:860px){
  .burger{display:block}
  .links{position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;border-bottom:1px solid var(--line);display:none}
  .menu-open .links{display:flex}
  .links a{padding:12px 0}
  .stats-grid{grid-template-columns:1fr 1fr}
  .two-col,.profile,.cards{grid-template-columns:1fr}
  .two-col{gap:24px}
  .profile-photo{max-width:320px}
  .section{padding:64px 0}
  .hero{padding:90px 0 80px}
  .footer-inner{flex-direction:column;gap:6px}
}

.res-group{margin:44px 0 0;font-size:1.3rem;padding-bottom:10px;border-bottom:2px solid var(--red);display:inline-block}
.res-group+.res-grid{margin-top:24px}
.res-links{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.res-links a{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;text-decoration:none;overflow-wrap:anywhere}
.res-links a:hover{text-decoration:underline}
.res-links svg{width:16px;height:16px;flex:none}
.links-editor{display:grid;gap:8px}
.links-editor .lbl{font-size:.88rem;font-weight:500;color:var(--navy)}
.link-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;margin-bottom:8px}
.link-row input,select{font:inherit;padding:10px 12px;border:1px solid #cfd6df;border-radius:10px;background:#fff;min-width:0}
.links-editor .add-link{justify-self:start}
@media (max-width:860px){.link-row{grid-template-columns:1fr}}

.res-title a{color:var(--navy);text-decoration:none;background:linear-gradient(var(--red),var(--red)) 0 100%/0 2px no-repeat;transition:.25s}
.res-title a:hover{color:var(--red);background-size:100% 2px}

.res-media iframe{width:100%;aspect-ratio:16/9;border:0;display:block;background:#000}

.empty{color:var(--muted);margin-top:28px;font-style:italic}

/* Deals */
.deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:48px;align-items:start}
.deal{all:unset;box-sizing:border-box;position:relative;cursor:zoom-in;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 6px 22px rgba(14,31,51,.07);display:flex;flex-direction:column;gap:12px;transition:transform .25s,box-shadow .25s,border-color .25s}
.deal:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(14,31,51,.16);border-color:#d6dbe2}
.deal:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.deal img{width:100%;height:auto;display:block;border-radius:10px;background:var(--alt)}
.deal::before{content:"";position:absolute;top:22px;right:22px;width:38px;height:38px;border-radius:50%;background:rgba(14,31,51,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m20 20-4.2-4.2M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center/20px no-repeat;opacity:0;transform:scale(.8);transition:.25s;pointer-events:none}
.deal:hover::before{opacity:1;transform:none}
.deal span{padding:2px 6px 8px;font-weight:600;color:var(--navy);font-size:.95rem;text-align:center;line-height:1.4}
.lightbox{overflow:auto;position:fixed;inset:0;z-index:100;background:rgba(9,21,37,.92);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.lightbox img{max-width:none;max-height:none;object-fit:contain;border-radius:8px;background:#fff;display:block}
.lightbox figcaption{color:#e3e9f1;text-align:center}
.lb-close{position:absolute;top:14px;right:20px;background:none;border:0;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer}
body.lb-open{overflow:hidden}
.deal-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:20px}
.deal-item{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:10px;align-content:start}
.deal-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.deal-item form{display:flex;gap:6px;max-width:none}
.deal-item form input[name=caption]{flex:1;min-width:0;padding:7px 10px}
.deal-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.deal-actions form{display:inline}
.btn:disabled{opacity:.4;cursor:not-allowed}
@media (max-width:860px){.deal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media (max-width:520px){.deal-grid{grid-template-columns:1fr}}
