
  :root{
    --cream:#F6F1E6;
    --cream-deep:#EEE4D2;
    --ink:#2B2118;
    --ink-soft:#5C4F3F;
    --gold:#C98A2C;
    --gold-deep:#A66E1E;
    --teal:#3F6B5C;
    --teal-deep:#2C4E43;
    --line:#DED0B4;
    --white:#FFFDF8;
    --radius-lg: 28px;
    --radius-sm: 10px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}

  html{scroll-behavior:smooth;}

  @keyframes floatY{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-14px); }
  }
  @keyframes fadeUp{
    from{ opacity:0; transform:translateY(18px); }
    to{ opacity:1; transform:translateY(0); }
  }
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; }
  }

  body{
    font-family:system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.8;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,.display{
    font-family:Georgia,"Times New Roman",serif;
    font-weight:700;
    color:var(--ink);
    line-height:1.25;
  }

  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  ul{list-style:none;}

  .wrap{
    max-width:1120px;
    margin:0 auto;
    padding:0 32px;
  }

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(246,241,230,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 0;
    gap:24px;
  }
  .brand{ display:flex; align-items:center; gap:12px; }
  .brand-mark{
    width:48px; height:48px; border-radius:50%;
    overflow:hidden; flex-shrink:0;
    box-shadow:0 2px 10px rgba(43,33,24,0.15);
  }
  .brand-mark img{ width:100%; height:100%; object-fit:cover; }
  .brand-name{ font-family:'Markazi Text', serif; font-weight:700; font-size:1.45rem; line-height:1.15;}
  .brand-name small{ display:block; font-family:system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif; font-weight:400; font-size:0.72rem; color:var(--ink-soft); letter-spacing:0.02em;}

  nav.links{ display:flex; align-items:center; gap:30px; }
  nav.links a{ font-size:0.98rem; font-weight:500; color:var(--ink-soft); position:relative; padding:4px 0;}
  nav.links a:hover{ color:var(--teal-deep); }

  .lang-switch{ display:flex; gap:8px; align-items:center; }
  .lang-switch a{
    width:32px; height:32px; border-radius:50%; overflow:hidden;
    border:2px solid var(--line); display:block;
    filter:grayscale(45%); opacity:.75;
    transition:filter .2s, border-color .2s, opacity .2s, transform .2s;
  }
  .lang-switch a.active, .lang-switch a:hover{ filter:none; opacity:1; border-color:var(--gold); transform:translateY(-2px); }
  .lang-switch img{ width:100%; height:100%; object-fit:cover; }

  .menu-toggle{ display:none; background:none; border:none; font-size:1.6rem; color:var(--ink); cursor:pointer; }

  /* ---------- Hero ---------- */
  .hero{
    padding:96px 0 60px;
    position:relative;
    overflow:hidden;
  }
  .hero-bg-dot{
    position:absolute; border-radius:50%;
    background:var(--gold); opacity:.16;
  }
  .hero-bg-dot.d1{ width:220px; height:220px; top:-60px; left:-60px; }
  .hero-bg-dot.d2{ width:140px; height:140px; bottom:10px; left:8%; background:var(--teal); opacity:.12; }
  .hero-bg-ring{
    position:absolute; width:520px; height:520px; border-radius:50%;
    border:1px solid var(--line); top:-120px; right:-160px;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:56px;
    align-items:center;
  }
  .eyebrow-plain{ color:var(--teal-deep); font-weight:700; font-size:1.05rem; margin-bottom:18px; }
  .hero h1{
    font-size:3.35rem;
    margin-bottom:26px;
  }
  .hero p.lead{
    font-size:1.2rem;
    color:var(--ink-soft);
    max-width:46ch;
    margin-bottom:34px;
  }
  .btn-row{ display:flex; gap:16px; flex-wrap:wrap; }
  .btn{
    display:inline-block;
    padding:15px 30px;
    border-radius:999px;
    font-weight:700;
    font-size:1.02rem;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-solid{ background:var(--teal); color:var(--white); }
  .btn-solid:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(44,78,67,0.28); }
  .btn-ghost{ border:1.5px solid var(--ink); color:var(--ink); }
  .btn-ghost:hover{ background:var(--ink); color:var(--white); }

  .hero-emblem{
    position:relative;
    max-width:320px; margin:0 0 0 auto;
    aspect-ratio:1/1;
    border-radius:50%;
    background:var(--white);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 30px 60px -20px rgba(43,33,24,0.35);
    animation:floatY 6s ease-in-out infinite;
  }
  .hero-emblem::before{
    content:"";
    position:absolute; inset:-16px;
    border-radius:50%;
    border:1.5px dashed var(--gold);
    opacity:.6;
  }
  .hero-emblem img{ width:64%; height:64%; object-fit:contain; }

  .wave-divider{ display:block; width:100%; height:auto; margin-top:-2px; }

  /* ---------- Section shell ---------- */
  section{ padding:78px 0; }
  .section-head{ max-width:60ch; margin-bottom:46px; }
  .section-head .kicker{ color:var(--gold-deep); font-weight:700; margin-bottom:10px; display:block; font-size:1rem;}
  .section-head h2{ font-size:2.35rem; }
  .section-head p{ color:var(--ink-soft); margin-top:14px; font-size:1.08rem; }

  /* ---------- Decision / About ---------- */
  .about{ background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
  .about-watermark{
    position:absolute; left:-90px; bottom:-90px;
    width:320px; height:320px; opacity:.05;
    pointer-events:none;
  }
  .about-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:start; }
  .about-card{
    background:var(--cream);
    border-radius:var(--radius-lg);
    padding:38px;
    border:1px solid var(--line);
  }
  .about-card h3{ font-size:1.5rem; margin-bottom:14px; color:var(--teal-deep); }
  .about-card p{ color:var(--ink-soft); }
  .about-card + .about-card{ margin-top:24px; }

  .objectives-list{ display:flex; flex-direction:column; gap:0; }
  .objectives-list li{
    display:flex; gap:18px; align-items:flex-start;
    padding:20px 0;
    border-bottom:1px solid var(--line);
  }
  .objectives-list li:first-child{ padding-top:0; }
  .objectives-list li:last-child{ border-bottom:none; }
  .dot{
    width:11px; height:11px; border-radius:50%;
    background:var(--gold); margin-top:9px; flex-shrink:0;
  }
  .objectives-list p{ font-size:1.06rem; }

  /* ---------- Activities ---------- */
  .activities{
    background:var(--cream-deep);
    background-image:radial-gradient(var(--line) 1.4px, transparent 1.4px);
    background-size:22px 22px;
    background-position:-11px -11px;
  }
  .activity-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
  }
  .activity-card{
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:32px 28px;
    border:1px solid var(--line);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .activity-card:hover{ transform:translateY(-4px); box-shadow:0 18px 34px -18px rgba(43,33,24,0.28); }
  .activity-icon{
    width:52px; height:52px; border-radius:14px;
    background:var(--teal); color:var(--white);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px;
  }
  .activity-icon svg{ width:26px; height:26px; }
  .activity-card h3{ font-size:1.28rem; margin-bottom:10px; }
  .activity-card p{ color:var(--ink-soft); font-size:0.98rem; }

  /* ---------- Membership ---------- */
  .membership-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:28px;
  }
  .member-card{
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    padding:34px;
    background:var(--white);
  }
  .member-card h3{ font-size:1.4rem; margin-bottom:14px; color:var(--teal-deep); }
  .member-card p{ color:var(--ink-soft); margin-bottom:10px; }
  .fee-row{
    display:flex; justify-content:space-between; align-items:center;
    padding:14px 0; border-bottom:1px solid var(--line);
    font-size:1.02rem;
  }
  .fee-row:last-child{ border-bottom:none; }
  .fee-amount{ font-family:Georgia,"Times New Roman",serif; font-weight:700; font-size:1.3rem; color:var(--gold-deep); }
  .join-panel{
    margin-top:28px; padding:34px;
    border:1px solid var(--line); border-radius:var(--radius-lg);
    background:linear-gradient(135deg,#FFFDF8 0%,#F2F6F2 100%);
  }
  .join-panel h3{ color:var(--teal-deep); font-size:1.45rem; margin-bottom:8px; }
  .join-panel > p{ color:var(--ink-soft); max-width:62ch; margin-bottom:22px; }
  .join-form{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
  .form-field{ display:grid; gap:7px; }
  .form-field.full{ grid-column:1 / -1; }
  .form-field label{ font-weight:700; color:var(--teal-deep); }
  .form-field input,.form-field select{
    width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:10px;
    background:var(--white); color:var(--ink); font:inherit;
  }
  .form-consent{ grid-column:1 / -1; display:flex; gap:10px; align-items:flex-start; color:var(--ink-soft); font-size:.93rem; }
  .form-consent input{ margin-top:5px; accent-color:var(--teal); }
  .form-actions{ grid-column:1 / -1; display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-top:4px; }
  .form-note{ color:var(--ink-soft); font-size:.88rem; }
  .email-link{ color:var(--teal-deep); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

  /* ---------- Voting note strip ---------- */
  .note-strip{
    background:var(--teal-deep);
    color:var(--white);
    padding:54px 0;
    position:relative; overflow:hidden;
  }
  .note-watermark{
    position:absolute; right:-60px; top:-60px;
    width:260px; height:260px; opacity:.09;
    pointer-events:none;
  }
  .note-strip .wrap{ display:flex; gap:40px; align-items:center; flex-wrap:wrap; justify-content:space-between; }
  .note-strip h3{ color:var(--white); font-size:1.7rem; max-width:22ch; }
  .note-strip p{ color:#E7DFC9; max-width:44ch; font-size:1.02rem; }

  /* ---------- Contact / Footer ---------- */
  footer{ padding:70px 0 40px; }
  .footer-grid{
    display:grid;
    grid-template-columns:1.2fr 0.8fr 0.8fr;
    gap:40px;
    padding-bottom:44px;
    border-bottom:1px solid var(--line);
  }
  .footer-brand p{ color:var(--ink-soft); margin-top:14px; max-width:36ch; }
  footer h4{ font-size:1.05rem; margin-bottom:16px; color:var(--teal-deep); }
  footer ul li{ margin-bottom:10px; color:var(--ink-soft); }
  .social-row{ display:flex; gap:14px; margin-top:16px; }
  .social-row a{
    width:38px; height:38px; border-radius:50%;
    border:1.5px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    transition:background .2s, border-color .2s;
  }
  .social-row a:hover{ background:var(--teal); border-color:var(--teal); color:var(--white); }
  .social-row svg{ width:17px; height:17px; }
  .bottom-row{
    display:flex; justify-content:space-between; align-items:center;
    padding-top:26px; flex-wrap:wrap; gap:12px;
    color:var(--ink-soft); font-size:0.92rem;
  }

  @media (max-width: 860px){
    nav.links{ display:none; }
    .menu-toggle{ display:block; }
    .hero-grid{ grid-template-columns:1fr; }
    .hero-emblem{ max-width:260px; margin:0 auto; order:-1; }
    .hero h1{ font-size:2.4rem; }
    .about-grid{ grid-template-columns:1fr; }
    .activity-grid{ grid-template-columns:1fr 1fr; }
    .membership-grid{ grid-template-columns:1fr; }
    .join-form{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr; }
    .wrap{ padding:0 20px; }
  }
  @media (max-width: 560px){
    .activity-grid{ grid-template-columns:1fr; }
    .hero h1{ font-size:2rem; }
  }

  @media (max-width: 860px){
    nav.links.is-open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:14px 20px 20px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(43,33,24,.12);}
    nav.links.is-open a{padding:10px 0;}
  }


.cookie-banner{position:fixed;z-index:1000;inset:auto 18px 18px;display:flex;justify-content:center;pointer-events:none}
.cookie-banner[hidden]{display:none}
.cookie-card{pointer-events:auto;width:min(720px,100%);background:var(--white);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 20px 60px rgba(43,33,24,.22)}
.cookie-card h2{font-size:1.25rem;color:var(--teal-deep);margin-bottom:8px}.cookie-card p{color:var(--ink-soft);font-size:.95rem;max-width:68ch}.cookie-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.cookie-action{font:inherit;font-weight:700;padding:10px 16px;border-radius:10px;cursor:pointer}.cookie-save{border:1px solid var(--teal-deep);background:var(--teal-deep);color:var(--white)}.cookie-reject{border:1px solid var(--teal-deep);background:var(--white);color:var(--teal-deep)}
.privacy-page{min-height:100vh;background:var(--cream)}.privacy-main{padding:80px 0 70px}.privacy-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(24px,5vw,54px);max-width:850px;margin:auto}.privacy-card h1{font-size:clamp(2rem,5vw,3.4rem);color:var(--teal-deep);margin-bottom:16px}.privacy-card h2{font-size:1.35rem;color:var(--teal-deep);margin:32px 0 9px}.privacy-card p{color:var(--ink-soft);max-width:70ch}.privacy-nav{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:20px 0}.privacy-nav a{font-weight:700;color:var(--teal-deep)}.privacy-footer{padding:30px 0 50px;color:var(--ink-soft);text-align:center}.privacy-settings{background:none;border:0;color:var(--teal-deep);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
@media(max-width:560px){.cookie-banner{inset:auto 10px 10px}.cookie-actions>*{width:100%;justify-content:center}.privacy-main{padding:44px 0}.privacy-nav{align-items:flex-start;flex-direction:column;gap:10px}}
