:root{
    --ink:        #0F1B2D;
    --ink-2:      #16273D;
    --ink-3:      #1E3350;
    --parchment:  #F6F3EC;
    --parchment-2:#ECE6D6;
    --brass:      #B8935B;
    --brass-light:#D8B788;
    --emerald:    #234B3E;
    --text-light: #ECE6D9;
    --text-dim:   #93A2B4;
    --text-dark:  #16202E;
    --text-dark-2:#4A5568;
    --rule:       rgba(236,230,217,0.14);
    --rule-dark:  rgba(22,32,46,0.14);

    --display: 'Fraunces', serif;
    --body: 'Inter', sans-serif;
    --mono: 'IBM Plex Mono', monospace;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--parchment);
    color:var(--text-dark);
    font-family:var(--body);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ list-style:none; }
  section{ position:relative; }

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

  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px; height:1px;
    background:currentColor;
    opacity:0.55;
  }

  h1,h2,h3{ font-family:var(--display); font-weight:500; letter-spacing:-0.01em; }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 28px;
    font-family:var(--body);
    font-size:14.5px;
    font-weight:600;
    letter-spacing:0.01em;
    border-radius:2px;
    cursor:pointer;
    border:1px solid transparent;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), background .3s ease, color .3s ease, border-color .3s ease;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-primary{ background:var(--brass); color:var(--ink); }
  .btn-primary:hover{ background:var(--brass-light); }
  .btn-ghost-dark{ border-color:rgba(236,230,217,0.35); color:var(--text-light); }
  .btn-ghost-dark:hover{ border-color:var(--brass-light); color:var(--brass-light); }
  .btn-ghost-light{ border-color:rgba(22,32,46,0.25); color:var(--text-dark); }
  .btn-ghost-light:hover{ border-color:var(--emerald); color:var(--emerald); }

  /* ---------- reveal on scroll ---------- */
  .reveal{ opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
  .reveal.is-visible{ opacity:1; transform:none; }

  /* ================= NAV ================= */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(15,27,45,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--rule);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 32px;
    max-width:1180px; margin:0 auto;
  }
  .logo{
    display:flex; align-items:center; gap:11px;
    color:var(--text-light);
  }
  .logo-mark{
    width:34px; height:34px;
    border:1px solid var(--brass-light);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--mono); font-size:11px; letter-spacing:0.02em;
    color:var(--brass-light);
    transform:rotate(45deg);
  }
  .logo-mark span{ transform:rotate(-45deg); }
  .logo-text{
    font-family:var(--display); font-size:18px; letter-spacing:0.01em;
    line-height:1.1;
  }
  .logo-text small{
    display:block; font-family:var(--mono); font-size:9.5px; letter-spacing:0.16em;
    color:var(--text-dim); margin-top:3px; text-transform:uppercase;
  }
  nav.links{ display:flex; align-items:center; gap:38px; }
  nav.links a{
    font-size:13.5px; color:var(--text-dim); letter-spacing:0.01em;
    transition:color .25s ease; position:relative;
  }
  nav.links a:hover{ color:var(--text-light); }
  .nav-right{ display:flex; align-items:center; gap:24px; }
  .nav-login{
    font-family:var(--body); font-size:13px; font-weight:600; color:var(--text-light);
    letter-spacing:0.01em; background:var(--emerald);
    padding:10px 18px; border-radius:2px;
    transition:background .25s ease, transform .25s ease;
  }
  .nav-login:hover{ background:#2c5c4c; transform:translateY(-1px); }
  .nav-cta{ padding:11px 22px; font-size:13px; }
  .menu-toggle{ display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; }
  .menu-toggle span{ width:22px; height:1.5px; background:var(--text-light); }

  /* ================= HERO ================= */
  .hero{
    background:
      radial-gradient(ellipse 900px 500px at 82% -10%, rgba(184,147,91,0.16), transparent 60%),
      var(--ink);
    color:var(--text-light);
    padding:168px 0 110px;
    overflow:hidden;
  }
  .hero-single{
    max-width:760px;
  }
  .hero .eyebrow{ color:var(--brass-light); margin-bottom:26px; }
  .hero h1{
    font-size:clamp(38px, 4.6vw, 62px);
    line-height:1.06;
    color:var(--text-light);
  }
  .hero h1 em{ font-style:italic; color:var(--brass-light); font-weight:400; }
  .hero p.sub{
    margin-top:26px;
    font-size:17px;
    line-height:1.65;
    color:var(--text-dim);
    max-width:560px;
  }
  .hero-actions{ display:flex; gap:16px; margin-top:40px; flex-wrap:wrap; }
  .hero-note{
    margin-top:34px; font-family:var(--mono); font-size:11.5px;
    color:var(--text-dim); letter-spacing:0.04em;
    display:flex; gap:26px; flex-wrap:wrap;
  }
  .hero-note b{ color:var(--brass-light); font-weight:500; }

  /* ================= LOGO/TRUST STRIP ================= */
  .trust{
    background:var(--ink-2); color:var(--text-dim);
    padding:26px 0; border-bottom:1px solid var(--rule);
  }
  .trust .wrap{
    display:flex; align-items:center; justify-content:center; gap:48px;
    flex-wrap:wrap; font-family:var(--mono); font-size:12px; letter-spacing:0.1em;
    text-transform:uppercase; text-align:center;
  }

  /* ================= MANIFEST / STATS ================= */
  .manifest{ background:var(--parchment); padding:110px 0 100px; }
  .manifest .head{ max-width:620px; margin-bottom:64px; }
  .manifest .eyebrow{ color:var(--emerald); margin-bottom:18px; }
  .manifest h2{ font-size:clamp(28px,3.2vw,40px); color:var(--text-dark); line-height:1.15; }
  .manifest h2 em{ font-style:italic; color:var(--emerald); font-weight:400; }

  .stub-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    border-top:1px solid var(--rule-dark);
  }
  .stub-card{
    padding:34px 26px; border-right:1px solid var(--rule-dark);
    position:relative;
  }
  .stub-card:last-child{ border-right:none; }
  .stub-card::after{
    content:""; position:absolute; right:-1px; top:14px; bottom:14px;
    border-right:1.5px dashed rgba(22,32,46,0.18);
  }
  .stub-card:last-child::after{ display:none; }
  .stub-num{
    font-family:var(--display); font-size:40px; color:var(--emerald); line-height:1;
  }
  .stub-num sup{ font-size:18px; top:-16px; }
  .stub-label{
    margin-top:14px; font-size:13.5px; color:var(--text-dark-2); line-height:1.5; max-width:210px;
  }

  /* ================= GROWTH PATH ================= */
  .growth{ background:var(--parchment-2); padding:100px 0 110px; border-top:1px solid var(--rule-dark); border-bottom:1px solid var(--rule-dark); }
  .growth .head{ max-width:600px; margin-bottom:60px; }
  .growth .eyebrow{ color:var(--emerald); margin-bottom:18px; }
  .growth h2{ font-size:clamp(28px,3.2vw,40px); color:var(--text-dark); line-height:1.15; }
  .growth h2 em{ font-style:italic; color:var(--emerald); font-weight:400; }

  .route-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; position:relative; }
  .route-grid::before{
    content:""; position:absolute; top:19px; left:8%; right:8%; height:1px;
    border-top:1.5px dashed rgba(22,32,46,0.22);
  }
  .route-step{ position:relative; background:var(--parchment); border:1px solid var(--rule-dark); padding:30px 26px 28px; }
  .route-dot{
    width:36px; height:36px; border-radius:50%; background:var(--emerald); color:var(--parchment);
    display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:12px;
    margin-bottom:22px; position:relative; z-index:2; box-shadow:0 0 0 6px var(--parchment-2);
  }
  .route-step h3{ font-size:19px; font-weight:500; color:var(--text-dark); margin-bottom:10px; }
  .route-step p{ font-size:13.5px; color:var(--text-dark-2); line-height:1.65; }
  .route-step .route-tag{
    display:inline-block; margin-top:16px; font-family:var(--mono); font-size:10.5px;
    letter-spacing:0.06em; text-transform:uppercase; color:var(--emerald);
    border:1px solid rgba(35,75,62,0.3); padding:5px 10px;
  }

  /* ================= SUPPORT PILLARS ================= */
  .pillars{ background:var(--ink); color:var(--text-light); padding:110px 0; }
  .pillars .head{ max-width:640px; margin-bottom:60px; }
  .pillars .eyebrow{ color:var(--brass-light); margin-bottom:18px; }
  .pillars h2{ font-size:clamp(28px,3.2vw,40px); line-height:1.15; }
  .pillars h2 em{ font-style:italic; color:var(--brass-light); font-weight:400; }

  .pillar-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--rule); border:1px solid var(--rule);
  }
  .pillar{
    background:var(--ink); padding:36px 32px 40px;
    transition:background .35s ease;
  }
  .pillar:hover{ background:var(--ink-3); }
  .pillar .pnum{
    font-family:var(--mono); font-size:11px; color:var(--brass-light); letter-spacing:0.1em;
  }
  .pillar h3{
    font-size:20px; font-weight:400; margin:18px 0 12px; color:var(--text-light);
  }
  .pillar p{ font-size:14px; color:var(--text-dim); line-height:1.65; }

  /* ================= PARTNERS ================= */
  .partners{ background:var(--ink); color:var(--text-light); padding:100px 0; border-top:1px solid var(--rule); }
  .partners .head{ max-width:620px; margin-bottom:56px; }
  .partners .eyebrow{ color:var(--brass-light); margin-bottom:18px; }
  .partners h2{ font-size:clamp(28px,3.2vw,40px); line-height:1.15; }
  .partners h2 em{ font-style:italic; color:var(--brass-light); font-weight:400; }

  .partner-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  }
  .partner-tile{
    border:1px solid rgba(236,230,217,0.22);
    padding:26px 20px;
    text-align:center;
    position:relative;
    transition:border-color .3s ease, background .3s ease;
  }
  .partner-tile:hover{ border-color:var(--brass-light); background:var(--ink-3); }
  .partner-tile .p-cat{
    font-family:var(--mono); font-size:9.5px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--brass-light); margin-bottom:10px;
  }
  .partner-tile .p-name{
    font-family:var(--display); font-size:16.5px; line-height:1.3; color:var(--text-light);
  }
  .partners-note{
    margin-top:34px; font-family:var(--mono); font-size:11.5px; color:var(--text-dim);
    letter-spacing:0.02em;
  }

  /* ================= TESTIMONIALS ================= */
  .voices{ background:var(--parchment-2); padding:100px 0; }
  .voices .head{ max-width:560px; margin:0 auto 56px; text-align:center; }
  .voices .eyebrow{ color:var(--emerald); justify-content:center; margin-bottom:18px; }
  .voices .eyebrow::before{ display:none; }
  .voices h2{ font-size:clamp(26px,3vw,36px); }

  .voice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
  .voice-card{
    background:var(--parchment); padding:34px 28px; border:1px solid var(--rule-dark);
    position:relative;
  }
  .voice-mark{ font-family:var(--display); font-size:44px; color:var(--brass); line-height:1; margin-bottom:6px; }
  .voice-card p.quote{ font-size:14.5px; line-height:1.7; color:var(--text-dark); margin-bottom:22px; }
  .voice-who{ font-family:var(--mono); font-size:11.5px; color:var(--text-dark-2); letter-spacing:0.03em; }
  .voice-who b{ color:var(--text-dark); font-weight:600; display:block; font-family:var(--body); font-size:14px; margin-bottom:3px; }

  /* ================= PROCESS ================= */
  .process{ background:var(--ink); color:var(--text-light); padding:110px 0 100px; }
  .process .head{ max-width:600px; margin-bottom:64px; }
  .process .eyebrow{ color:var(--brass-light); margin-bottom:18px; }
  .process h2{ font-size:clamp(28px,3.2vw,40px); line-height:1.15; }
  .process h2 em{ font-style:italic; color:var(--brass-light); font-weight:400; }

  .steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; position:relative; }
  .steps::before{
    content:""; position:absolute; top:17px; left:5%; right:5%; height:1px;
    border-top:1.5px dashed rgba(236,230,217,0.22);
  }
  .step{ position:relative; }
  .step-dot{
    width:34px; height:34px; border-radius:50%; background:var(--ink);
    border:1.5px solid var(--brass-light); color:var(--brass-light);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--mono); font-size:12px; margin-bottom:24px; position:relative; z-index:2;
  }
  .step h3{ font-size:17px; font-weight:500; margin-bottom:10px; }
  .step p{ font-size:13.5px; color:var(--text-dim); line-height:1.65; }

  /* ================= APPLY / CTA ================= */
  .apply{ background:var(--parchment); padding:110px 0 120px; }
  .apply-grid{
    display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px;
    background:var(--ink); color:var(--text-light);
    padding:64px; border-radius:3px;
  }
  .apply-copy .eyebrow{ color:var(--brass-light); margin-bottom:22px; }
  .apply-copy h2{ font-size:clamp(28px,3.4vw,42px); line-height:1.12; }
  .apply-copy h2 em{ font-style:italic; color:var(--brass-light); font-weight:400; }
  .apply-copy p{ margin-top:22px; font-size:15px; color:var(--text-dim); line-height:1.7; max-width:400px; }
  .apply-copy .apply-list{ margin-top:34px; display:flex; flex-direction:column; gap:14px; }
  .apply-copy .apply-list li{
    font-family:var(--mono); font-size:12.5px; color:var(--text-dim);
    display:flex; gap:12px; align-items:baseline;
  }
  .apply-copy .apply-list li b{ color:var(--brass-light); }

  form{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  form .full{ grid-column:1 / -1; }
  label{
    display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--text-dim); margin-bottom:9px;
  }
  input, select, textarea{
    width:100%; background:transparent; border:none; border-bottom:1px solid var(--rule);
    color:var(--text-light); font-family:var(--body); font-size:14.5px; padding:8px 2px 12px;
    outline:none; transition:border-color .3s ease;
  }
  input::placeholder, textarea::placeholder{ color:rgba(147,162,180,0.55); }
  input:focus, select:focus, textarea:focus{ border-color:var(--brass-light); }
  select{ appearance:none; -webkit-appearance:none; cursor:pointer; }
  select option{ background:var(--ink); color:var(--text-light); }
  textarea{ resize:none; min-height:64px; }
  form .submit-row{ margin-top:6px; display:flex; align-items:center; gap:20px; }
  form .submit-note{ font-family:var(--mono); font-size:10.5px; color:var(--text-dim); }

  /* ================= FOOTER ================= */
  footer{ background:var(--ink); color:var(--text-dim); padding:56px 0 34px; border-top:1px solid var(--rule); }
  .footer-top{
    display:flex; justify-content:space-between; align-items:flex-start; gap:40px;
    padding-bottom:40px; border-bottom:1px solid var(--rule); flex-wrap:wrap;
  }
  .footer-cols{ display:flex; gap:64px; flex-wrap:wrap; }
  .footer-col h4{
    font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--brass-light); margin-bottom:16px; font-weight:400;
  }
  .footer-col a, .footer-col p{ display:block; font-size:13.5px; margin-bottom:10px; color:var(--text-dim); }
  .footer-col a:hover{ color:var(--text-light); }
  .footer-bottom{
    display:flex; justify-content:space-between; padding-top:26px;
    font-family:var(--mono); font-size:11px; color:var(--text-dim); flex-wrap:wrap; gap:10px;
  }

  /* ================= PLANS ================= */
  .plans{ background:var(--parchment-2); padding:100px 0 110px; border-top:1px solid var(--rule-dark); }
  .plans .head{ max-width:640px; margin:0 auto 20px; text-align:center; }
  .plans .eyebrow{ color:var(--emerald); justify-content:center; margin-bottom:18px; }
  .plans .eyebrow::before{ display:none; }
  .plans h2{ font-size:clamp(28px,3.2vw,40px); color:var(--text-dark); }
  .plans .sub{ text-align:center; max-width:520px; margin:18px auto 0; font-size:15px; color:var(--text-dark-2); line-height:1.6; }

  .guarantee-row{
    display:flex; justify-content:center; gap:0; margin:40px auto 0; max-width:640px;
    border:1px solid var(--rule-dark); background:var(--parchment);
  }
  .guarantee-item{
    flex:1; text-align:center; padding:22px 16px;
    border-right:1px solid var(--rule-dark);
  }
  .guarantee-item:last-child{ border-right:none; }
  .g-num{
    display:block; font-family:var(--display); font-size:26px; color:var(--emerald); line-height:1;
  }
  .g-label{
    display:block; margin-top:8px; font-family:var(--mono); font-size:11px; letter-spacing:0.03em;
    color:var(--text-dark-2); text-transform:uppercase;
  }

  .toggle-row{
    display:flex; align-items:center; justify-content:center; gap:14px;
    margin:44px 0 52px;
    font-family:var(--mono); font-size:12.5px; letter-spacing:0.04em; color:var(--text-dark-2);
  }
  .toggle-row .active{ color:var(--text-dark); font-weight:600; }
  .switch{
    position:relative; width:48px; height:26px; background:var(--emerald);
    border-radius:20px; cursor:pointer; border:none; flex-shrink:0;
  }
  .switch::before{
    content:""; position:absolute; top:3px; left:3px; width:20px; height:20px;
    background:var(--parchment); border-radius:50%; transition:transform .25s ease;
  }
  .switch.is-annual::before{ transform:translateX(22px); }
  .save-badge{
    font-family:var(--mono); font-size:10.5px; color:var(--emerald); background:rgba(35,75,62,0.1);
    border:1px solid rgba(35,75,62,0.3); padding:3px 9px; border-radius:20px; margin-left:2px;
  }

  .plan-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
  .plan-card{
    background:var(--parchment); border:1px solid var(--rule-dark);
    padding:34px 30px 30px; display:flex; flex-direction:column;
    position:relative;
  }
  .plan-card.featured{ border-color:var(--brass); box-shadow:0 30px 60px -32px rgba(184,147,91,0.35); }
  .plan-tag{
    position:absolute; top:-13px; left:30px; background:var(--brass); color:var(--ink);
    font-family:var(--mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase;
    padding:5px 11px;
  }
  .plan-name{ font-family:var(--display); font-size:24px; color:var(--text-dark); }
  .plan-commission{
    margin-top:8px; font-family:var(--mono); font-size:12px; letter-spacing:0.04em;
    color:var(--emerald); text-transform:uppercase;
  }
  .plan-price{ margin-top:22px; display:flex; align-items:baseline; gap:6px; }
  .plan-price .amount{ font-family:var(--display); font-size:42px; color:var(--text-dark); line-height:1; }
  .plan-price .period{ font-family:var(--mono); font-size:12.5px; color:var(--text-dark-2); }
  .plan-was{
    display:block; margin-top:14px; font-family:var(--mono); font-size:13px;
    color:var(--text-dark-2); text-decoration:line-through; text-decoration-color:rgba(192,80,63,0.6);
  }
  .plan-billed-note{ margin-top:6px; font-family:var(--mono); font-size:11px; color:var(--text-dark-2); min-height:16px; }

  .plan-features{ margin-top:26px; flex:1; display:flex; flex-direction:column; gap:12px; }
  .plan-features li{
    font-size:13.5px; color:var(--text-dark-2); line-height:1.5; display:flex; gap:10px;
  }
  .plan-features li b{ color:var(--emerald); flex-shrink:0; }

  .plan-card .btn{ margin-top:28px; justify-content:center; width:100%; }

  /* ================= ADD-ONS ================= */
  .addons{ background:var(--ink); color:var(--text-light); padding:100px 0 110px; border-top:1px solid var(--rule); }
  .addons .head{ max-width:600px; margin-bottom:56px; }
  .addons .eyebrow{ color:var(--brass-light); margin-bottom:18px; }
  .addons h2{ font-size:clamp(28px,3.2vw,40px); line-height:1.15; }
  .addons h2 em{ font-style:italic; color:var(--brass-light); font-weight:400; }

  .addon-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--rule); border:1px solid var(--rule);
  }
  .addon-card{ background:var(--ink); padding:36px 32px 32px; transition:background .35s ease; }
  .addon-card:hover{ background:var(--ink-3); }
  .addon-tag{
    font-family:var(--mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--brass-light); border:1px solid rgba(216,183,136,0.35); padding:4px 9px; display:inline-block;
  }
  .addon-card h3{ font-size:20px; font-weight:400; margin:18px 0 12px; color:var(--text-light); }
  .addon-card p{ font-size:14px; color:var(--text-dim); line-height:1.65; }
  .addon-price{
    margin-top:20px; font-family:var(--mono); font-size:11.5px; color:var(--text-dim);
    letter-spacing:0.03em;
  }

  /* ================= RESPONSIVE ================= */
  @media (max-width:980px){
    nav.links{ display:none; }
    .menu-toggle{ display:flex; }
    .stub-grid{ grid-template-columns:repeat(3,1fr); }
    .pillar-grid{ grid-template-columns:1fr; }
    .addon-grid{ grid-template-columns:1fr; }
    .voice-grid{ grid-template-columns:1fr; }
    .steps{ grid-template-columns:1fr 1fr; row-gap:40px; }
    .steps::before{ display:none; }
    .route-grid{ grid-template-columns:1fr; }
    .route-grid::before{ display:none; }
    .partner-grid{ grid-template-columns:repeat(2,1fr); }
    .apply-grid{ grid-template-columns:1fr; padding:40px 28px; }
    form{ grid-template-columns:1fr; }
    .plan-grid{ grid-template-columns:1fr; max-width:420px; margin:0 auto; }
  }
  @media (max-width:560px){
    .hero{ padding-top:140px; }
    .nav-login{ display:none; }
    .stub-grid{ grid-template-columns:1fr; }
    .steps{ grid-template-columns:1fr; }
    .footer-top{ flex-direction:column; }
    .guarantee-row{ flex-direction:column; }
    .guarantee-item{ border-right:none; border-bottom:1px solid var(--rule-dark); }
    .guarantee-item:last-child{ border-bottom:none; }
  }

  @media (prefers-reduced-motion: reduce){
    .reveal{ transition:none; opacity:1; transform:none; }
  }

  :focus-visible{ outline:2px solid var(--brass-light); outline-offset:3px; }

/* ================= MULTI-PAGE ADDITIONS ================= */
.pt-page{ padding-top:168px !important; }

.final-cta{ background:var(--parchment); padding:100px 0 120px; }
.final-cta .box{
  background:var(--ink); color:var(--text-light);
  padding:64px; border-radius:3px; text-align:center;
}
.final-cta .box .eyebrow{ color:var(--brass-light); justify-content:center; margin-bottom:18px; }
.final-cta .box .eyebrow::before{ display:none; }
.final-cta h2{ font-size:clamp(28px,3.4vw,42px); line-height:1.15; }
.final-cta h2 em{ font-style:italic; color:var(--brass-light); font-weight:400; }
.final-cta p{ margin-top:18px; color:var(--text-dim); max-width:520px; margin-left:auto; margin-right:auto; font-size:15px; line-height:1.65; }
.final-cta .actions{ margin-top:32px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

@media (max-width:560px){
  .final-cta .box{ padding:44px 24px; }
}

/* ================= AUTH / PORTAL ================= */
.auth-section{ background:var(--ink); min-height:100vh; display:flex; align-items:center; padding:168px 0 80px; }
.auth-card{
  max-width:440px; margin:0 auto; background:var(--parchment); color:var(--text-dark);
  padding:44px 40px; border-radius:3px;
}
.auth-card .eyebrow{ color:var(--emerald); margin-bottom:18px; }
.auth-card h1{ font-family:var(--display); font-size:28px; color:var(--text-dark); line-height:1.2; }
.auth-card p.sub{ margin-top:12px; font-size:14px; color:var(--text-dark-2); line-height:1.6; }
.auth-form{ margin-top:30px; display:flex; flex-direction:column; gap:18px; }
.auth-form label{
  display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--text-dark-2); margin-bottom:8px;
}
.auth-form input{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--rule-dark);
  color:var(--text-dark); font-family:var(--body); font-size:14.5px; padding:8px 2px 10px; outline:none;
  transition:border-color .3s ease;
}
.auth-form input:focus{ border-color:var(--emerald); }
.auth-form .btn{ margin-top:6px; width:100%; justify-content:center; }
.auth-msg{ margin-top:16px; font-family:var(--mono); font-size:11.5px; min-height:16px; }
.auth-toggle{ margin-top:26px; font-size:13px; color:var(--text-dark-2); text-align:center; }
.auth-toggle button{
  background:none; border:none; padding:0; color:var(--emerald); font-weight:600;
  cursor:pointer; font-size:13px; text-decoration:underline;
}
.auth-forgot{ text-align:right; margin-top:-8px; }
.auth-forgot button{
  background:none; border:none; padding:0; color:var(--text-dark-2); font-size:11.5px;
  cursor:pointer; text-decoration:underline; font-family:var(--mono);
}

/* Portal */
.portal-header{
  background:var(--ink); color:var(--text-light); padding:150px 0 50px;
}
.portal-header .eyebrow{ color:var(--brass-light); margin-bottom:16px; }
.portal-header h1{ font-family:var(--display); font-size:clamp(28px,3.4vw,40px); }
.portal-header .who{ margin-top:10px; font-family:var(--mono); font-size:12.5px; color:var(--text-dim); }
.portal-logout{
  position:absolute; top:24px; right:32px;
  font-family:var(--mono); font-size:11.5px; color:var(--text-dim);
  background:none; border:1px solid rgba(236,230,217,0.3); padding:8px 16px;
  cursor:pointer; border-radius:2px; transition:border-color .25s ease, color .25s ease;
}
.portal-logout:hover{ color:var(--brass-light); border-color:var(--brass-light); }

.portal-body{ background:var(--parchment); padding:70px 0 110px; }
.resource-tabs{ display:flex; gap:10px; margin-bottom:40px; flex-wrap:wrap; }
.resource-tab{
  font-family:var(--mono); font-size:11.5px; letter-spacing:0.04em; text-transform:uppercase;
  padding:9px 16px; border:1px solid var(--rule-dark); color:var(--text-dark-2); cursor:pointer;
  background:var(--parchment); transition:all .25s ease;
}
.resource-tab.active{ background:var(--ink); color:var(--text-light); border-color:var(--ink); }

.resource-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.resource-card{
  background:#fff; border:1px solid var(--rule-dark); padding:26px 24px;
  display:flex; flex-direction:column; gap:10px;
}
.resource-card .r-cat{
  font-family:var(--mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--emerald);
}
.resource-card h3{ font-family:var(--display); font-size:17px; color:var(--text-dark); font-weight:500; }
.resource-card p{ font-size:13px; color:var(--text-dark-2); line-height:1.55; flex:1; }
.resource-card a{
  font-family:var(--mono); font-size:11.5px; color:var(--emerald); letter-spacing:0.03em;
  border-top:1px solid var(--rule-dark); padding-top:12px; margin-top:6px;
}
.resource-card a:hover{ color:var(--text-dark); }
.portal-empty{
  text-align:center; padding:60px 20px; color:var(--text-dark-2); font-size:14px;
  border:1px dashed var(--rule-dark);
}
.portal-loading{ text-align:center; padding:60px 20px; color:var(--text-dark-2); font-family:var(--mono); font-size:12.5px; }

@media (max-width:900px){
  .resource-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .auth-card{ padding:34px 26px; margin:0 20px; }
  .resource-grid{ grid-template-columns:1fr; }
  .portal-logout{ position:static; margin-top:16px; display:inline-block; }
}
