:root{
  --red:#8b0000;
  --red-2:#aa151b;
  --yellow:#f1bf00;
  --yellow-soft:#f7d85b;
  --ink:#17120f;
  --muted:#6f6259;
  --paper:#f8f3e9;
  --paper-2:#fffdf8;
  --line:rgba(23,18,15,.14);
  --white:#fffdf8;
  --shadow:0 24px 60px rgba(49,25,13,.14);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper-2);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.skip-link{
  position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden
}
.skip-link:focus{
  left:16px;top:16px;width:auto;height:auto;padding:10px 14px;background:#fff;z-index:9999;border-radius:8px
}
.site-header{
  position:absolute;inset:0 0 auto 0;z-index:20;padding:24px 5vw;color:white
}
.brand-wrap{display:flex;align-items:center;gap:14px;max-width:1320px;margin:0 auto}
.flag-mark{
  width:52px;height:34px;border:1px solid rgba(255,255,255,.45);box-shadow:0 6px 16px rgba(0,0,0,.18);overflow:hidden
}
.flag-mark span{display:block;width:100%}
.flag-red{height:25%;background:#aa151b}
.flag-yellow{height:50%;background:#f1bf00;position:relative}
.flag-seal{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:13px!important;height:17px!important;border:1px solid rgba(101,50,24,.68);
  display:grid!important;place-items:center;font-size:6px;font-weight:900;color:#6c311b;
  background:rgba(255,255,255,.22)
}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand-main{font-weight:780;letter-spacing:.01em;font-size:15px}
.brand-sub{font-size:11px;opacity:.74;margin-top:5px;text-transform:uppercase;letter-spacing:.16em}

.hero{
  min-height:92vh;position:relative;display:grid;place-items:center;overflow:hidden;color:white;
  background:
    radial-gradient(circle at 74% 26%, rgba(241,191,0,.18), transparent 33%),
    radial-gradient(circle at 20% 60%, rgba(170,21,27,.24), transparent 34%),
    linear-gradient(135deg,#270c0b 0%,#6f0b0d 45%,#3a0808 100%);
}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(115deg,transparent 0 41%,rgba(255,255,255,.025) 41.2% 42.2%,transparent 42.4% 100%),
    repeating-linear-gradient(90deg,transparent 0 124px,rgba(255,255,255,.025) 125px,transparent 126px);
  mask-image:linear-gradient(to bottom,black,transparent 92%);
}
.hero:before{
  content:"";position:absolute;width:630px;height:630px;border:1px solid rgba(241,191,0,.15);
  border-radius:50%;right:-170px;top:12%;box-shadow:0 0 0 70px rgba(241,191,0,.025),0 0 0 140px rgba(241,191,0,.018)
}
.hero-inner{
  position:relative;z-index:3;max-width:940px;text-align:center;padding:150px 24px 120px
}
.eyebrow,.kicker{
  font-size:12px;font-weight:850;letter-spacing:.24em;text-transform:uppercase;color:var(--red)
}
.hero .eyebrow{color:var(--yellow-soft);margin-bottom:22px}
.hero h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,8.5vw,126px);
  line-height:.9;letter-spacing:-.055em;font-weight:700;text-wrap:balance
}
.hero-lead{
  max-width:720px;margin:32px auto 34px;font-size:clamp(18px,2vw,24px);line-height:1.5;
  color:rgba(255,255,255,.82)
}
.primary-cta,.secondary-cta{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;
  font-size:13px;font-weight:850;letter-spacing:.14em;border-radius:999px;transition:.25s ease
}
.primary-cta{
  min-width:220px;padding:17px 28px;background:var(--yellow);color:#42100d;
  box-shadow:0 16px 40px rgba(241,191,0,.17)
}
.primary-cta:hover{transform:translateY(-2px);background:#ffd235}
.flag-ribbon{position:absolute;left:0;right:0;bottom:0;height:18px;display:grid;grid-template-rows:1fr 2fr 1fr}
.flag-ribbon span:nth-child(1),.flag-ribbon span:nth-child(3){background:#aa151b}
.flag-ribbon span:nth-child(2){background:#f1bf00}

.section-shell{width:min(1180px,90vw);margin:0 auto}
.narrow{width:min(820px,88vw)}
.center{text-align:center}
.intro-band{padding:110px 0;background:var(--paper)}
.intro-band h2,.section-heading h2,.territory-section h2,.community h2,.closing h2{
  margin:10px 0 20px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4.6vw,64px);
  line-height:1.02;letter-spacing:-.04em
}
.intro-band p:last-child{font-size:20px;color:#514842}

.consultation{padding:115px 0;background:var(--paper-2)}
.section-heading{
  display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end;margin-bottom:50px
}
.section-intro{margin:0;color:var(--muted);font-size:18px}
.proposal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.proposal-card{
  border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:34px;min-height:300px;
  position:relative;overflow:hidden;transition:.25s ease
}
.proposal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.proposal-card.featured{
  background:linear-gradient(145deg,#7c0b0e,#4e0809);color:white;border-color:transparent
}
.proposal-number{
  display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:var(--paper);font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--red)
}
.featured .proposal-number{background:var(--yellow);color:#5c150f}
.proposal-card h3{font-size:26px;margin:26px 0 12px;line-height:1.15}
.proposal-card p{color:var(--muted);font-size:17px;margin:0}
.featured p{color:rgba(255,255,255,.78)}

.territory-section{
  padding:115px 0;background:#1c1512;color:white;position:relative;overflow:hidden
}
.territory-section:after{
  content:"";position:absolute;inset:auto -150px -250px auto;width:600px;height:600px;
  border-radius:50%;border:1px solid rgba(241,191,0,.12);box-shadow:0 0 0 80px rgba(241,191,0,.018),0 0 0 160px rgba(241,191,0,.012)
}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.light{color:var(--yellow)}
.territory-copy p:last-child{font-size:18px;color:rgba(255,255,255,.72)}
.territory-emblem{display:grid;place-items:center;min-height:360px}
.sun{
  width:280px;height:280px;border-radius:50%;display:grid;place-items:center;position:relative;
  border:1px solid rgba(241,191,0,.5);box-shadow:0 0 0 24px rgba(241,191,0,.03),0 0 60px rgba(241,191,0,.08)
}
.sun:before,.sun:after{
  content:"";position:absolute;background:linear-gradient(#aa151b 0 26%,#f1bf00 26% 74%,#aa151b 74% 100%);
  width:170px;height:105px;border:1px solid rgba(255,255,255,.3);box-shadow:0 18px 40px rgba(0,0,0,.25)
}
.sun:after{display:none}
.sun span{position:absolute;bottom:-48px;font-weight:900;letter-spacing:.25em;color:var(--yellow);font-size:11px}

.community{padding:120px 0;background:var(--paper)}
.community-grid{align-items:start}
.community p:not(.kicker){font-size:18px;color:#5f554d}
.signup-panel{
  background:white;border:1px solid rgba(139,0,0,.14);box-shadow:var(--shadow);
  border-radius:28px;padding:36px
}
.signup-label{font-size:11px!important;font-weight:900!important;letter-spacing:.22em!important;color:var(--red)!important;margin:0 0 8px!important}
.signup-panel h3{font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1.05;margin:0 0 12px}
.signup-copy{font-size:16px!important;margin-top:0!important}
.signup-form{display:grid;gap:10px;margin-top:26px}
.signup-form label:not(.check-row){font-size:13px;font-weight:800}
.signup-form input[type="text"],.signup-form input[type="email"]{
  width:100%;border:1px solid #d8cec5;border-radius:13px;padding:15px 14px;font:inherit;background:#fffdf9;
  outline:none;transition:.2s ease
}
.signup-form input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(139,0,0,.08)}
.check-row{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin:10px 0;font-size:13px;color:#62584f}
.check-row input{margin-top:4px;accent-color:var(--red)}
.submit-btn{
  border:0;border-radius:999px;padding:16px 22px;background:var(--red);color:white;font-weight:850;letter-spacing:.12em;
  text-transform:uppercase;cursor:pointer;transition:.2s ease
}
.submit-btn:hover{transform:translateY(-1px);background:#a10b10}
.submit-btn:disabled{opacity:.58;cursor:not-allowed;transform:none}
.form-message{font-size:13px!important;min-height:20px;margin:2px 0!important}
.privacy-note{font-size:12px!important;line-height:1.45!important;color:#8a7c72!important;margin:18px 0 0!important}

.closing{padding:110px 0;background:#fff}
.mini-flag{width:96px;height:58px;margin:0 auto 24px;display:grid;grid-template-rows:1fr 2fr 1fr;box-shadow:0 12px 30px rgba(55,24,12,.13)}
.mini-flag i{background:#aa151b}
.mini-flag b{background:#f1bf00}
.closing p{font-size:18px;color:var(--muted)}
.secondary-cta{margin-top:16px;border:1px solid rgba(139,0,0,.24);padding:14px 22px;color:var(--red)}
.secondary-cta:hover{background:var(--paper)}

.site-footer{background:#120e0c;color:rgba(255,255,255,.62);padding:28px 0;font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:20px}

@media (max-width:860px){
  .site-header{padding-top:18px}
  .brand-main{font-size:13px}
  .brand-sub{font-size:9px}
  .hero{min-height:88vh}
  .hero-inner{padding-top:130px}
  .section-heading,.split{grid-template-columns:1fr;gap:32px}
  .proposal-grid{grid-template-columns:1fr}
  .proposal-card{min-height:auto}
  .territory-emblem{min-height:280px}
  .sun{width:220px;height:220px}
  .community{padding-top:90px}
}
@media (max-width:560px){
  .flag-mark{width:44px;height:29px}
  .hero h1{font-size:clamp(54px,18vw,78px)}
  .hero-lead{font-size:18px}
  .intro-band,.consultation,.territory-section,.community,.closing{padding:82px 0}
  .proposal-card{padding:26px}
  .signup-panel{padding:26px 20px}
  .footer-inner{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
