  :root{
    --ordine-gold: #AD8400;
    --ordine-gold-light: #C9A538;
    --ordine-gold-pale: #E8D89A;
    --navy: #14213D;
    --navy-deep: #0B1628;
    --ivory: #FAF6EE;
    --ivory-warm: #F2EADA;
    --crimson: #7A1F26;
    --ink: #1A1A1A;
    --muted: #6B6357;
    --line: rgba(173, 132, 0, 0.25);
  }
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:'Inter', sans-serif;
    background:var(--ivory);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  /* TOP STRIP */
  .topstrip{
    background:var(--navy-deep);
    color:var(--ivory-warm);
    font-size:11px;
    letter-spacing:0.15em;
    text-transform:uppercase;
    padding:8px 0;
    font-weight:300;
  }
  .topstrip-inner{
    max-width:1280px;
    margin:0 auto;
    padding:0 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
  }
  .topstrip-text{
    flex:1;
    text-align:center;
  }
  .topstrip-spacer{
    width:64px; /* mirrors lang switcher width for visual balance */
    flex-shrink:0;
  }
  .topstrip a{color:var(--ordine-gold-light); text-decoration:none; margin-left:6px}

  /* LANGUAGE SWITCHER */
  .lang-switch{
    display:flex;
    align-items:center;
    gap:4px;
    flex-shrink:0;
  }
  .lang-btn{
    background:transparent;
    border:1px solid transparent;
    padding:3px 6px;
    cursor:pointer;
    border-radius:2px;
    transition:all 0.2s ease;
    line-height:0;
    opacity:0.55;
    font-family:inherit;
  }
  .lang-btn:hover{opacity:0.9}
  .lang-btn.active{
    opacity:1;
    border-color:var(--ordine-gold);
  }
  .lang-btn svg{
    display:block;
    width:22px;
    height:14px;
    border-radius:1px;
  }

  /* HEADER */
  header{
    background:var(--ivory);
    border-bottom:1px solid var(--line);
    position:sticky; top:0; z-index:100;
    backdrop-filter: blur(8px);
    background:rgba(250, 246, 238, 0.95);
  }
  .header-inner{
    max-width:1280px; margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 40px;
  }
  .brand{display:flex; align-items:center; gap:18px; text-decoration:none; color:var(--ink)}
  .brand img{height:56px; width:auto; margin-right:18px}
  .brand-text{display:flex; flex-direction:column; line-height:1.15}
  .brand-text .order{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.22em;
    color:var(--muted);
    text-transform:uppercase;
  }
  .brand-text .city{
    font-family:'Cormorant Garamond', serif;
    font-size:24px;
    font-weight:600;
    color:var(--navy);
    letter-spacing:0.02em;
  }
  nav.primary{display:flex}
  nav.primary a{
    margin-left:34px;
    text-decoration:none;
    color:var(--navy);
    font-size:13px;
    font-weight:500;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:6px 0;
    border-bottom:1.5px solid transparent;
    transition:all 0.2s ease;
    cursor:pointer;
  }
  nav.primary a:first-child{margin-left:0}
  nav.primary a:hover,nav.primary a.active{
    color:var(--ordine-gold);
    border-bottom-color:var(--ordine-gold);
  }

  /* PAGE SECTIONS */
  .page{display:none; animation:fadeIn 0.4s ease}
  .page.active{display:block}
  @keyframes fadeIn{
    from{opacity:0; transform:translateY(8px)}
    to{opacity:1; transform:translateY(0)}
  }

  /* HERO */
  .hero{
    position:relative;
    min-height:680px;
    max-height:880px;
    height:78vh;
    background:
      linear-gradient(180deg, rgba(11,22,40,0.55) 0%, rgba(11,22,40,0.75) 100%),
      url('assets/heritage/white-truffles.png') center/cover no-repeat;
    display:flex; align-items:center; justify-content:center;
    color:var(--ivory);
    text-align:center;
    padding:80px 40px;
  }
  .hero-content{max-width:840px}
  .eyebrow{
    font-family:'Cinzel', serif;
    font-size:12px;
    letter-spacing:0.35em;
    color:var(--ordine-gold-light);
    text-transform:uppercase;
    margin-bottom:24px;
  }
  .ornament{
    display:flex; align-items:center; justify-content:center;
    gap:18px; margin:18px 0 28px;
  }
  .ornament .line{height:1px; width:80px; background:var(--ordine-gold-light)}
  .ornament .diamond{
    width:8px; height:8px; transform:rotate(45deg);
    border:1px solid var(--ordine-gold-light);
  }
  h1.hero-title{
    font-family:'Cormorant Garamond', serif;
    font-size:clamp(48px, 7vw, 88px);
    font-weight:500;
    line-height:1.05;
    margin:0 0 24px;
    letter-spacing:-0.01em;
  }
  h1.hero-title em{
    font-style:italic;
    color:var(--ordine-gold-light);
    font-weight:400;
  }
  .hero-sub{
    font-size:18px;
    line-height:1.7;
    font-weight:300;
    max-width:640px;
    margin:0 auto 40px;
    opacity:0.92;
  }
  .cta-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap}
  .btn{
    display:inline-block;
    padding:14px 32px;
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:600;
    text-decoration:none;
    border:1px solid var(--ordine-gold-light);
    color:var(--ivory);
    background:transparent;
    cursor:pointer;
    transition:all 0.25s ease;
    font-family:'Inter', sans-serif;
  }
  .btn:hover{background:var(--ordine-gold); border-color:var(--ordine-gold); color:var(--ivory)}
  .btn.primary{background:var(--ordine-gold); border-color:var(--ordine-gold)}
  .btn.primary:hover{background:var(--ordine-gold-light); border-color:var(--ordine-gold-light)}
  .btn.dark{color:var(--navy); border-color:var(--navy)}
  .btn.dark:hover{background:var(--navy); color:var(--ivory)}

  /* SECTION BASE */
  section.block{padding:100px 40px; max-width:1280px; margin:0 auto}
  section.block.tight{padding:60px 40px}
  .section-head{text-align:center; margin-bottom:60px}
  .section-head .eyebrow{color:var(--ordine-gold)}
  .section-head h2{
    font-family:'Cormorant Garamond', serif;
    font-size:clamp(36px, 5vw, 56px);
    font-weight:500;
    color:var(--navy);
    margin:8px 0 0;
    letter-spacing:-0.01em;
    line-height:1.1;
  }
  .section-head .ornament .line{background:var(--ordine-gold)}
  .section-head .ornament .diamond{border-color:var(--ordine-gold)}
  .section-head .lede{
    font-family:'Cormorant Garamond', serif;
    font-size:22px;
    font-style:italic;
    color:var(--muted);
    max-width:680px;
    margin:24px auto 0;
    line-height:1.5;
  }

  /* MISSION SECTION */
  .mission{background:var(--ivory-warm); position:relative; overflow:hidden}
  .mission::before{
    content:""; position:absolute; top:0; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--ordine-gold), transparent);
  }
  .mission-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
  }
  .mission-text h2{margin-top:8px}
  .mission-text p{
    font-size:17px; line-height:1.8; color:var(--ink); margin-bottom:18px;
  }
  .mission-text p.intro{
    font-family:'Cormorant Garamond', serif;
    font-size:24px;
    font-style:italic;
    color:var(--navy);
    line-height:1.5;
    margin-bottom:28px;
  }
  .mission-image{position:relative}
  .mission-image img{
    width:100%; height:560px; object-fit:cover;
    box-shadow:0 30px 60px -20px rgba(11,22,40,0.4);
  }
  .mission-image .badge{
    position:absolute; bottom:-30px; right:-30px;
    background:var(--navy); color:var(--ordine-gold-light);
    padding:24px 32px;
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    text-align:center;
    border:1px solid var(--ordine-gold);
  }
  .mission-image .badge strong{
    display:block;
    font-family:'Cormorant Garamond', serif;
    font-size:32px;
    color:var(--ivory);
    margin-top:6px;
    letter-spacing:0.02em;
  }

  /* PILLARS */
  .pillars{display:grid; grid-template-columns:repeat(3, 1fr); gap:40px; margin-top:60px}
  .pillar{
    text-align:center;
    padding:48px 32px;
    background:var(--ivory);
    border:1px solid var(--line);
    position:relative;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
  }
  .pillar:hover{transform:translateY(-6px); box-shadow:0 20px 40px -15px rgba(11,22,40,0.2)}
  .pillar .icon{
    width:64px; height:64px; margin:0 auto 24px;
    display:flex; align-items:center; justify-content:center;
    color:var(--ordine-gold);
  }
  .pillar h3{
    font-family:'Cormorant Garamond', serif;
    font-size:28px; font-weight:500;
    color:var(--navy);
    margin:0 0 16px;
  }
  .pillar p{font-size:15px; line-height:1.7; color:var(--muted); margin:0}

  /* EVENTS */
  .events{background:var(--ivory)}
  .event-list{display:flex; flex-direction:column; gap:0}
  .event{
    display:grid;
    grid-template-columns:140px 1fr auto;
    gap:48px;
    align-items:center;
    padding:36px 0;
    border-bottom:1px solid var(--line);
    transition:background 0.2s ease;
    cursor:pointer;
  }
  .event:first-child{border-top:1px solid var(--line)}
  .event:hover{background:rgba(173,132,0,0.04)}
  .event-date{text-align:center}
  .event-date .month{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.22em;
    color:var(--ordine-gold);
    text-transform:uppercase;
  }
  .event-date .day{
    font-family:'Cormorant Garamond', serif;
    font-size:56px; font-weight:500;
    color:var(--navy);
    line-height:1;
    margin:6px 0;
  }
  .event-date .year{
    font-size:12px; color:var(--muted); letter-spacing:0.1em;
  }
  .event-body h4{
    font-family:'Cormorant Garamond', serif;
    font-size:26px; font-weight:600;
    color:var(--navy);
    margin:0 0 8px;
  }
  .event-body .venue{
    font-size:13px; letter-spacing:0.1em;
    color:var(--ordine-gold);
    text-transform:uppercase;
    margin-bottom:10px;
  }
  .event-body p{font-size:15px; color:var(--muted); margin:0; line-height:1.6}
  .event-cta{
    font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
    font-weight:600; color:var(--navy);
    border:1px solid var(--navy); padding:12px 24px;
    transition:all 0.2s ease;
    white-space:nowrap;
  }
  .event:hover .event-cta{background:var(--navy); color:var(--ivory)}

  /* EVENTS PAGE — SECTION SEPARATION */
  .events-section{padding:80px 0 60px}
  .events-section + .events-section{border-top:1px solid var(--line); margin-top:40px}
  .events-section-head{
    text-align:center; margin-bottom:48px;
  }
  .events-section-head h3{
    font-family:'Cormorant Garamond', serif;
    font-size:clamp(28px, 4vw, 40px);
    font-weight:500;
    color:var(--navy);
    margin:0 0 12px;
    letter-spacing:-0.01em;
  }
  .events-section-head .sub{
    font-family:'Cormorant Garamond', serif;
    font-size:18px;
    font-style:italic;
    color:var(--muted);
    margin:0;
  }

  /* UPCOMING EMPTY STATE */
  .upcoming-empty{
    text-align:center;
    padding:60px 24px;
    background:var(--ivory-warm);
    border:1px solid var(--line);
    max-width:760px;
    margin:0 auto;
  }
  .upcoming-empty .crest{
    width:48px; height:auto;
    margin:0 auto 20px;
    opacity:0.6;
  }
  .upcoming-empty p{
    font-family:'Cormorant Garamond', serif;
    font-size:22px;
    font-style:italic;
    color:var(--navy);
    line-height:1.5;
    margin:0 0 18px;
    max-width:560px;
    margin-left:auto;
    margin-right:auto;
  }
  .upcoming-empty .sub{
    font-size:14px;
    color:var(--muted);
    margin:0;
  }
  .upcoming-empty .sub a{
    color:var(--ordine-gold);
    text-decoration:none;
    border-bottom:1px solid var(--ordine-gold);
  }

  /* PAST EVENT CARD (with photo) */
  .past-event{
    display:grid;
    grid-template-columns:1.1fr 1.4fr;
    gap:0;
    margin-bottom:48px;
    background:var(--ivory);
    border:1px solid var(--line);
    overflow:hidden;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration:none;
    color:inherit;
    cursor:pointer;
  }
  .past-event:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 48px -20px rgba(11,22,40,0.25);
  }
  .past-event-image{
    position:relative;
    min-height:380px;
    overflow:hidden;
    background:var(--navy);
  }
  .past-event-image img{
    width:100%; height:100%; object-fit:cover;
    display:block;
    transition:transform 0.6s ease;
  }
  .past-event:hover .past-event-image img{transform:scale(1.04)}
  .past-event-body{
    padding:48px 44px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .past-event-body .date-pill{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.22em;
    color:var(--ordine-gold);
    text-transform:uppercase;
    margin-bottom:18px;
  }
  .past-event-body h4{
    font-family:'Cormorant Garamond', serif;
    font-size:34px;
    font-weight:500;
    color:var(--navy);
    margin:0 0 6px;
    line-height:1.15;
    letter-spacing:-0.01em;
  }
  .past-event-body .subtitle{
    font-family:'Cormorant Garamond', serif;
    font-size:20px;
    font-style:italic;
    color:var(--muted);
    margin:0 0 22px;
  }
  .past-event-body .venue{
    font-size:13px; letter-spacing:0.1em;
    color:var(--ordine-gold);
    text-transform:uppercase;
    margin-bottom:18px;
  }
  .past-event-body p{
    font-size:16px;
    line-height:1.7;
    color:var(--ink);
    margin:0 0 24px;
  }
  .past-event-body .read-more{
    font-family:'Cinzel', serif;
    font-size:12px;
    letter-spacing:0.2em;
    color:var(--navy);
    text-transform:uppercase;
    font-weight:600;
    border-bottom:1.5px solid var(--ordine-gold);
    padding-bottom:6px;
    display:inline-block;
    align-self:flex-start;
    transition:color 0.2s ease;
  }
  .past-event:hover .read-more{color:var(--ordine-gold)}

  /* PAST CHAPTERS GALLERY */
  .past-gallery{background:var(--ivory-warm)}
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    gap:20px;
  }
  .gallery-item{
    position:relative;
    overflow:hidden;
    cursor:pointer;
    background:var(--navy);
  }
  .gallery-item img{
    width:100%; height:100%; object-fit:cover;
    display:block;
    transition:transform 0.6s ease, opacity 0.3s ease;
  }
  .gallery-item:hover img{transform:scale(1.05); opacity:0.7}
  .gallery-item .caption{
    position:absolute; bottom:0; left:0; right:0;
    padding:20px 24px;
    background:linear-gradient(180deg, transparent, rgba(11,22,40,0.92));
    color:var(--ivory);
    transform:translateY(20%);
    opacity:0;
    transition:all 0.3s ease;
  }
  .gallery-item:hover .caption{transform:translateY(0); opacity:1}
  .gallery-item .caption .label{
    font-family:'Cinzel', serif;
    font-size:10px;
    letter-spacing:0.22em;
    color:var(--ordine-gold-light);
    text-transform:uppercase;
    margin-bottom:4px;
  }
  .gallery-item .caption h5{
    font-family:'Cormorant Garamond', serif;
    font-size:20px; font-weight:500;
    margin:0; line-height:1.2;
  }
  .gal-1{grid-column:span 8; aspect-ratio:16/9}
  .gal-2{grid-column:span 4; aspect-ratio:4/5}
  .gal-3{grid-column:span 4; aspect-ratio:4/5}
  .gal-4{grid-column:span 4; aspect-ratio:4/5}
  .gal-5{grid-column:span 4; aspect-ratio:4/5}
  .gal-6{grid-column:span 7; aspect-ratio:16/9}
  .gal-7{grid-column:span 5; aspect-ratio:4/3}

  /* BECOME A KNIGHT */
  .knight-cta{
    background:
      linear-gradient(135deg, rgba(11,22,40,0.92), rgba(20,33,61,0.88)),
      url('assets/heritage/castle-council.png') center/cover no-repeat;
    color:var(--ivory);
    padding:120px 40px;
    text-align:center;
  }
  .knight-cta h2{color:var(--ivory)}
  .knight-cta .lede{color:var(--ordine-gold-pale)}
  .knight-steps{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;
    max-width:1100px; margin:60px auto 40px;
  }
  .step{
    text-align:left;
    padding:32px;
    border:1px solid rgba(201, 165, 56, 0.3);
    background:rgba(11,22,40,0.4);
    backdrop-filter:blur(10px);
  }
  .step .num{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.3em;
    color:var(--ordine-gold-light);
    margin-bottom:16px;
  }
  .step h4{
    font-family:'Cormorant Garamond', serif;
    font-size:24px; font-weight:600;
    color:var(--ivory); margin:0 0 12px;
  }
  .step p{font-size:14px; line-height:1.7; color:rgba(250,246,238,0.85); margin:0}

  /* LEADERSHIP */
  .leadership{background:var(--ivory)}
  .leader-card{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:60px;
    align-items:center;
    background:var(--ivory-warm);
    padding:0;
    border:1px solid var(--line);
  }
  .leader-photo{
    height:100%; min-height:520px;
    background:
      linear-gradient(135deg, rgba(20,33,61,0.15), rgba(173,132,0,0.1)),
      var(--navy);
    display:flex; align-items:center; justify-content:center;
    position:relative;
    overflow:hidden;
  }
  .leader-photo .placeholder{
    color:var(--ordine-gold-pale);
    text-align:center;
    padding:40px;
  }
  .leader-photo .placeholder .crest{
    font-family:'Cinzel', serif;
    font-size:60px;
    color:var(--ordine-gold);
    margin-bottom:20px;
  }
  .leader-photo .placeholder span{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.25em;
    text-transform:uppercase;
  }
  .leader-body{padding:60px 60px 60px 0}
  .leader-body .role{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--ordine-gold);
    text-transform:uppercase;
    margin-bottom:12px;
  }
  .leader-body h3{
    font-family:'Cormorant Garamond', serif;
    font-size:48px; font-weight:500;
    color:var(--navy);
    margin:0 0 8px;
    line-height:1;
  }
  .leader-body .since{
    font-style:italic; color:var(--muted); margin-bottom:24px;
    font-family:'Cormorant Garamond', serif; font-size:18px;
  }
  .leader-body .quote{
    font-family:'Cormorant Garamond', serif;
    font-size:22px;
    font-style:italic;
    color:var(--navy);
    line-height:1.5;
    padding:24px 0 24px 24px;
    border-left:2px solid var(--ordine-gold);
    margin:24px 0;
  }
  .leader-body p{font-size:16px; line-height:1.7; color:var(--ink)}
  .leader-vps{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    margin-top:32px;
  }
  .vp-card{
    background:var(--ivory-warm);
    border:1px solid var(--line);
    padding:36px 40px;
    text-align:center;
  }
  .vp-card .role{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--ordine-gold);
    text-transform:uppercase;
    margin-bottom:12px;
  }
  .vp-card h3{
    font-family:'Cormorant Garamond', serif;
    font-size:34px; font-weight:500;
    color:var(--navy);
    margin:0 0 6px;
    line-height:1;
  }
  .vp-card .since{
    font-style:italic; color:var(--muted);
    font-family:'Cormorant Garamond', serif; font-size:17px;
  }

  /* ROSTER */
  .roster{background:var(--ivory)}
  .roster-stats{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:0;
    margin:40px 0 60px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .stat{
    text-align:center; padding:36px 20px;
    border-right:1px solid var(--line);
  }
  .stat:last-child{border-right:none}
  .stat .num{
    font-family:'Cormorant Garamond', serif;
    font-size:56px; font-weight:500;
    color:var(--ordine-gold); line-height:1;
  }
  .stat .label{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.22em;
    color:var(--muted);
    text-transform:uppercase;
    margin-top:10px;
  }
  .roster-list{
    columns:3;
    column-gap:48px;
    padding:0;
  }
  .roster-list .roster-name{
    display:block;
    padding:10px 0;
    border-bottom:1px dotted var(--line);
    font-size:14px;
    color:var(--ink);
    break-inside:avoid;
  }
  .roster-list .roster-name .surname{
    font-weight:600; color:var(--navy);
  }
  .roster-list .roster-name .honorary{
    float:right;
    font-size:10px;
    letter-spacing:0.15em;
    color:var(--ordine-gold);
    text-transform:uppercase;
    font-style:italic;
    margin-top:2px;
  }

  /* TESTIMONIALS */
  .testimonials{background:var(--navy); color:var(--ivory); padding:100px 40px}
  .testimonials .inner{max-width:1280px; margin:0 auto}
  .testimonials .section-head h2{color:var(--ivory)}
  .testimonials .section-head .eyebrow{color:var(--ordine-gold-light)}
  .test-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:48px;
    margin-top:48px;
  }
  .testimonial{
    padding:40px;
    border:1px solid rgba(201, 165, 56, 0.25);
    background:rgba(255,255,255,0.02);
  }
  .testimonial blockquote{
    font-family:'Cormorant Garamond', serif;
    font-size:22px; font-style:italic;
    line-height:1.5;
    margin:0 0 24px;
    color:var(--ivory-warm);
  }
  .testimonial blockquote::before{
    content:"\201C";
    font-size:60px;
    color:var(--ordine-gold-light);
    line-height:0.5;
    display:block;
    margin-bottom:14px;
    font-family:'Cormorant Garamond', serif;
  }
  .testimonial .attr{
    font-family:'Cinzel', serif;
    font-size:11px;
    letter-spacing:0.22em;
    color:var(--ordine-gold-light);
    text-transform:uppercase;
  }
  .testimonial .attr .name{color:var(--ivory); display:block; margin-bottom:4px; font-size:13px}

  /* JOURNAL / NEWS */
  .journal{background:var(--ivory-warm)}
  .journal-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:32px}
  .article{
    background:var(--ivory);
    border:1px solid var(--line);
    overflow:hidden;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
    cursor:pointer;
  }
  .article:hover{transform:translateY(-6px); box-shadow:0 20px 40px -15px rgba(11,22,40,0.2)}
  .article-image{
    height:240px; overflow:hidden;
    background:var(--navy);
  }
  .article-image img{width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease}
  .article:hover .article-image img{transform:scale(1.05)}
  .article-body{padding:32px}
  .article-body .category{
    font-family:'Cinzel', serif;
    font-size:10px;
    letter-spacing:0.22em;
    color:var(--ordine-gold);
    text-transform:uppercase;
    margin-bottom:12px;
  }
  .article-body h4{
    font-family:'Cormorant Garamond', serif;
    font-size:24px; font-weight:600;
    color:var(--navy); margin:0 0 12px;
    line-height:1.3;
  }
  .article-body p{font-size:14px; color:var(--muted); line-height:1.6; margin:0 0 16px}
  .article-body .date{
    font-size:12px; letter-spacing:0.1em;
    color:var(--muted); text-transform:uppercase;
  }

  /* CONTACT */
  .contact-block{
    display:grid; grid-template-columns:1fr 1fr; gap:80px;
    align-items:center;
  }
  .contact-form{background:var(--ivory-warm); padding:60px; border:1px solid var(--line)}
  .contact-form h3{
    font-family:'Cormorant Garamond', serif;
    font-size:32px; font-weight:500;
    color:var(--navy); margin:0 0 8px;
  }
  .contact-form .sub{color:var(--muted); margin:0 0 28px; font-size:15px}
  .field{margin-bottom:18px}
  .field label{
    display:block;
    font-family:'Cinzel', serif;
    font-size:10px; letter-spacing:0.22em;
    color:var(--navy); text-transform:uppercase;
    margin-bottom:8px;
  }
  .field input, .field textarea, .field select{
    width:100%; padding:12px 16px;
    border:1px solid var(--line);
    background:var(--ivory);
    font-family:'Inter', sans-serif;
    font-size:14px;
    color:var(--ink);
  }
  .field input:focus, .field textarea:focus, .field select:focus{
    outline:none; border-color:var(--ordine-gold);
  }
  .contact-info h3{
    font-family:'Cormorant Garamond', serif;
    font-size:40px; font-weight:500;
    color:var(--navy); margin:0 0 24px; line-height:1.1;
  }
  .contact-info p{font-size:16px; line-height:1.8; color:var(--ink); margin-bottom:16px}
  .info-block{margin-bottom:32px}
  .info-block .label{
    font-family:'Cinzel', serif;
    font-size:10px; letter-spacing:0.22em;
    color:var(--ordine-gold); text-transform:uppercase;
    margin-bottom:8px;
  }
  .info-block a{color:var(--navy); text-decoration:none; border-bottom:1px solid var(--ordine-gold)}

  /* FOOTER */
  footer{
    background:var(--navy-deep);
    color:var(--ivory-warm);
    padding:80px 40px 40px;
  }
  .footer-inner{max-width:1280px; margin:0 auto}
  .footer-top{
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px;
    margin-bottom:60px;
  }
  .footer-brand img{height:64px; margin-bottom:20px}
  .footer-brand p{font-size:14px; line-height:1.7; opacity:0.7; max-width:340px}
  .footer-col h5{
    font-family:'Cinzel', serif;
    font-size:11px; letter-spacing:0.22em;
    color:var(--ordine-gold-light); text-transform:uppercase;
    margin:0 0 20px;
  }
  .footer-col a{
    display:block; color:var(--ivory-warm);
    text-decoration:none; font-size:14px;
    padding:6px 0; opacity:0.75;
    transition:opacity 0.2s ease;
  }
  .footer-col a:hover{opacity:1; color:var(--ordine-gold-light)}
  .footer-bottom{
    border-top:1px solid rgba(201, 165, 56, 0.15);
    padding-top:30px;
    display:flex; justify-content:space-between; align-items:center;
    font-size:12px; opacity:0.5; letter-spacing:0.05em;
  }
  .footer-version{
    text-align:center;
    margin-top:24px;
    font-family:'Cinzel', serif;
    font-size:13px;
    letter-spacing:0.28em;
    color:#FFFFFF;
    opacity:0.85;
  }

  /* RESPONSIVE */
  @media (max-width:980px){
    nav.primary{display:none}
    .mission-grid, .contact-block, .leader-card, .leader-vps{grid-template-columns:1fr; gap:40px}
    .leader-body{padding:40px}
    .pillars, .knight-steps, .journal-grid, .test-grid{grid-template-columns:1fr}
    .roster-stats{grid-template-columns:1fr}
    .stat{border-right:none; border-bottom:1px solid var(--line)}
    .stat:last-child{border-bottom:none}
    .roster-list{columns:1}
    .gallery-grid > *{grid-column:span 12 !important; aspect-ratio:16/9 !important}
    .footer-top{grid-template-columns:1fr 1fr}
    .event{grid-template-columns:80px 1fr; gap:24px}
    .event-cta{grid-column:1/-1; text-align:center; margin-top:12px}
    .past-event{grid-template-columns:1fr}
    .past-event-image{min-height:280px}
    .past-event-body{padding:32px 24px}
    .past-event-body h4{font-size:28px}
    section.block{padding:60px 24px}
    .header-inner{padding:14px 20px}
    .brand-text .city{font-size:18px}
    .topstrip-inner{padding:0 16px; gap:12px}
    .topstrip-text{font-size:10px; letter-spacing:0.1em}
    .topstrip-spacer{display:none}
  }
