  :root{
    --bg: #2C2420;
    --bg-alt: #241d19;
    --cream: #F5F2ED;
    --gold: #C4A96A;
    --gold-soft: rgba(196,169,106,0.35);
    --text-dim: rgba(245,242,237,0.6);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--cream);
    font-family:'Montserrat',sans-serif;
    font-weight:300;
    line-height:1.7;
  }
  h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:500;}
  .fillet{width:60px;height:1px;background:var(--gold);margin:28px 0;}
  .fillet.center{margin:28px auto;}
  .tag{
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:11px;
    color:var(--gold);
    font-weight:500;
  }

  /* ---- layout ---- */
  #nav{
    position:fixed;
    top:0;left:0;
    height:100vh;
    width:220px;
    padding:48px 32px;
    border-right:1px solid rgba(196,169,106,0.15);
    display:flex;
    flex-direction:column;
    gap:18px;
    z-index:10;
  }
  #nav .brand{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--gold);margin-bottom:24px;}
  #nav a{
    color:var(--text-dim);
    text-decoration:none;
    font-size:12px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    transition:color .3s;
    position:relative;
    padding-left:14px;
  }
  #nav a::before{
    content:"";
    position:absolute;left:0;top:6px;
    width:6px;height:6px;
    border:1px solid var(--gold-soft);
    transform:rotate(45deg);
    transition:background .3s;
  }
  #nav a:hover, #nav a.active{color:var(--cream);}
  #nav a.active::before{background:var(--gold);}

  main{margin-left:220px;}
  section{
    min-height:100vh;
    padding:110px 80px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    max-width:980px;
    border-bottom:1px solid rgba(196,169,106,0.08);
  }
  #cover{
    align-items:flex-start;
    background:
      radial-gradient(circle at 85% 20%, rgba(196,169,106,0.08), transparent 45%),
      var(--bg-alt);
    max-width:none;
  }
  #cover h1{font-size:68px;line-height:1.05;margin:18px 0;}
  #cover .sub{font-size:19px;color:var(--text-dim);font-style:italic;font-family:'Cormorant Garamond',serif;max-width:560px;}
  #cover .crest{font-size:13px;letter-spacing:4px;color:var(--gold);margin-top:56px;text-transform:uppercase;}

  h2.section-title{font-size:38px;margin-bottom:6px;}
  .section-kicker{margin-bottom:10px;}
  .lede{font-size:17px;color:var(--text-dim);max-width:640px;margin-bottom:8px;}

  .big-idea-box{
    margin-top:36px;
    padding:44px 48px;
    border:1px solid var(--gold-soft);
    position:relative;
  }
  .big-idea-box::before,
  .big-idea-box::after{
    content:"◆";
    color:var(--gold);
    font-size:11px;
    position:absolute;
  }
  .big-idea-box::before{top:-7px;left:-7px;background:var(--bg);padding:0 4px;}
  .big-idea-box::after{bottom:-7px;right:-7px;background:var(--bg);padding:0 4px;}
  .big-idea-box p{
    font-family:'Cormorant Garamond',serif;
    font-size:30px;
    font-style:italic;
    line-height:1.5;
    color:var(--cream);
  }
  .big-idea-box .short{
    margin-top:22px;
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--gold);
  }

  .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px;margin-top:36px;}
  .ideal{
    padding-top:18px;
    border-top:1px solid rgba(196,169,106,0.2);
  }
  .ideal .num{color:var(--gold);font-size:12px;letter-spacing:2px;}
  .ideal p{font-size:15px;color:var(--text-dim);margin-top:6px;}

  ol.conduct-list{list-style:none;margin-top:32px;counter-reset:conduct;}
  ol.conduct-list li{
    counter-increment:conduct;
    display:flex;
    gap:24px;
    padding:20px 0;
    border-top:1px solid rgba(196,169,106,0.15);
    align-items:baseline;
  }
  ol.conduct-list li:last-child{border-bottom:1px solid rgba(196,169,106,0.15);}
  ol.conduct-list li::before{
    content:counter(conduct, decimal-leading-zero);
    font-family:'Cormorant Garamond',serif;
    font-size:22px;
    color:var(--gold);
    min-width:34px;
  }
  ol.conduct-list li span{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--cream);}

  .territory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px;}
  .territory-card{
    border:1px solid var(--gold-soft);
    padding:32px 26px;
  }
  .territory-card .tag{display:block;margin-bottom:14px;}
  .territory-card h3{font-size:24px;margin-bottom:12px;}
  .territory-card p{font-size:14px;color:var(--text-dim);}

  .enemy-block{margin-top:32px;}
  .enemy-primary{
    padding:32px 0 32px 28px;
    border-left:2px solid var(--gold);
    margin-bottom:28px;
  }
  .enemy-primary .tag{margin-bottom:10px;}
  .enemy-primary p{font-family:'Cormorant Garamond',serif;font-size:26px;font-style:italic;color:var(--cream);}
  .enemy-list{display:grid;gap:16px;margin-top:8px;}
  .enemy-list div{
    display:flex;gap:16px;
    font-size:15px;color:var(--text-dim);
    padding-bottom:16px;
    border-bottom:1px solid rgba(196,169,106,0.12);
  }
  .enemy-list .mark{color:var(--gold);font-family:'Cormorant Garamond',serif;font-style:italic;min-width:70px;}

  #manifesto{max-width:760px;}
  #manifesto .fillet.center{margin:0 0 40px 0;}
  #manifesto p{
    font-family:'Cormorant Garamond',serif;
    font-size:23px;
    font-style:italic;
    color:var(--cream);
    margin-bottom:26px;
    line-height:1.6;
  }
  #manifesto p.closing{
    font-style:normal;
    color:var(--gold);
    font-size:22px;
  }

  footer{
    margin-left:220px;
    padding:48px 80px 64px;
    color:var(--text-dim);
    font-size:12px;
    letter-spacing:1px;
    text-transform:uppercase;
  }

  @media (max-width: 900px){
    #nav{display:none;}
    main, footer{margin-left:0;}
    section{padding:80px 32px;}
    #cover h1{font-size:44px;}
    .grid, .territory-grid{grid-template-columns:1fr;}
  }
