@import url('https://fonts.googleapis.com/css2?family=Russo+One&family=PT+Serif:ital,wght@0,400;0,700;1,400&family=Bad+Script&display=swap');

  :root{
    --paper:#F1E7D0;
    --paper-deep:#E4D5AE;
    --paper-line:rgba(34,28,21,0.10);
    --ink:#221C15;
    --ink-soft:#5A4E3C;
    --blood:#9C2B2E;
    --blood-deep:#7A1F22;
    --mustard:#B9872B;
    --rose:#C98C8C;
    --paper-card:#FAF3E2;
    --shadow: 0 6px 16px rgba(34,28,21,0.18);
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ animation:none !important; transition:none !important; }
  }

  body{
    margin:0;
    background:var(--paper);
    background-image:
      radial-gradient(rgba(34,28,21,0.05) 1px, transparent 1px);
    background-size: 14px 14px;
    color:var(--ink);
    font-family:'PT Serif', serif;
    line-height:1.6;
  }

  a{ color:inherit; }
  img{ max-width:100%; }
  ::selection{ background:var(--blood); color:var(--paper); }

  h1,h2,h3{
    font-family:'Russo One', sans-serif;
    text-transform:uppercase;
    letter-spacing:0.02em;
    margin:0;
    color:var(--ink);
  }

  .wrap{ max-width:1080px; margin:0 auto; padding:0 24px; }
  section{ position:relative; padding:84px 0; }
  .eyebrow{
    font-family:'Russo One', sans-serif;
    font-size:0.78rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--blood);
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
  }
  .eyebrow::before, .eyebrow::after{
    content:"";
    width:22px; height:2px;
    background:var(--blood);
  }

  /* ===== NAV ===== */
  .folder-nav{
    position:sticky; top:0; z-index:50;
    background:var(--ink);
    border-bottom:4px solid var(--blood);
  }
  .folder-nav .wrap{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px;
  }
  .brand{
    font-family:'Russo One', sans-serif;
    color:var(--paper);
    font-size:0.95rem;
    letter-spacing:0.04em;
    display:flex; align-items:center; gap:10px;
  }
  .brand small{
    display:block; font-family:'PT Serif', serif; text-transform:none;
    font-size:0.68rem; color:var(--rose); letter-spacing:0.02em; font-style:italic;
  }
  .brand .badge-dot{
    width:10px; height:10px; border-radius:50%;
    background:var(--blood); flex-shrink:0;
    box-shadow:0 0 0 3px rgba(156,43,46,0.3);
  }
  .tabs{
    display:flex; gap:4px; list-style:none; margin:0; padding:0;
  }
  .tabs a{
    display:block;
    color:var(--paper-deep);
    text-decoration:none;
    font-size:0.82rem;
    padding:10px 14px;
    border-radius:6px 6px 0 0;
    transition:background 0.2s, color 0.2s;
  }
  .tabs a:hover, .tabs a:focus-visible{
    background:var(--paper);
    color:var(--ink);
  }
  .nav-toggle{
    position:absolute;
    opacity:0;
    pointer-events:none;
  }
  .burger{
    display:none;
    background:none; border:1px solid var(--paper-deep);
    color:var(--paper); padding:8px 12px; border-radius:4px;
    font-family:'PT Serif', serif; cursor:pointer;
  }

  @media (max-width:760px){
    .tabs{
      position:absolute; top:100%; left:0; right:0;
      flex-direction:column; background:var(--ink);
      max-height:0; overflow:hidden;
      transition:max-height 0.25s ease;
      border-bottom:4px solid var(--blood);
    }
    .nav-toggle:checked ~ nav .tabs{ max-height:420px; }
    .tabs a{ padding:14px 24px; border-radius:0; border-top:1px solid rgba(255,255,255,0.08); }
    .burger{ display:inline-block; }
  }

  /* ===== HERO ===== */
  .hero{ padding-top:64px; padding-bottom:120px; overflow:hidden; }
  .hero .wrap{ display:flex; gap:48px; align-items:center; flex-wrap:wrap; }
  .hero-text{ flex:1 1 420px; min-width:280px; }
  .hero h1{
    font-size:clamp(1.7rem, 4vw, 2.7rem);
    line-height:1.18;
    margin-bottom:18px;
  }
  .hero-title-line {
  display: block;
}

.hero-title-line--accent {
  color: var(--blood);
  white-space: nowrap;
}
  .hero p.lede{
    font-size:1.08rem;
    color:var(--ink-soft);
    max-width:480px;
    margin-bottom:30px;
  }
  .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn{
    font-family:'Russo One', sans-serif;
    font-size:0.82rem;
    letter-spacing:0.03em;
    text-decoration:none;
    padding:14px 22px;
    border-radius:3px;
    display:inline-block;
    transition:transform 0.15s, box-shadow 0.15s;
  }
  .btn:hover, .btn:focus-visible{ transform:translateY(-2px); }
  .btn-primary{
    background:var(--blood); color:var(--paper);
    box-shadow:var(--shadow);
  }
  .btn-ghost{
    background:transparent; color:var(--ink);
    border:2px solid var(--ink);
  }

  .stamp-wrap{ flex:0 0 220px; display:flex; justify-content:center; }
  .seal{
    width:200px; height:200px; border-radius:50%;
    border:4px solid var(--blood);
    outline:2px solid var(--blood);
    outline-offset:8px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    color:var(--blood);
    text-align:center;
    transform:rotate(-11deg);
    animation:thud 0.5s ease-out 0.15s 1;
    mix-blend-mode:multiply;
  }
  @keyframes thud{
    0%{ transform:rotate(-11deg) scale(1.6); opacity:0; }
    70%{ transform:rotate(-11deg) scale(0.96); opacity:1; }
    100%{ transform:rotate(-11deg) scale(1); }
  }
  .seal .top, .seal .bottom{
    font-family:'Russo One', sans-serif;
    font-size:0.62rem; letter-spacing:0.18em;
  }
  .seal .mid{
    font-family:'Russo One', sans-serif;
    font-size:1.5rem; margin:4px 0;
  }


  /* ===== DIALOG QUOTE ===== */
  .dialog-quote-section{
    padding:12px 0 22px;
    margin-top:-64px;
    position:relative;
    z-index:2;
  }
  .dialog-quote-section .wrap{
    min-height:170px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .dialog-quote-card{
    width:100%;
    max-width:760px;
    margin:0 auto;
    padding:0 24px;
    background:transparent;
    border:0;
    box-shadow:none;
    color:var(--blood);
    font-family:'Bad Script', cursive;
    font-size:clamp(1.8rem, 3.5vw, 3.1rem);
    font-style:normal;
    line-height:1.18;
    text-align:center;
    position:relative;
  }
  .dialog-quote-card::before,
  .dialog-quote-card::after{
    content:none;
  }
  .dialog-quote-card p{
    margin:0;
  }
  .dialog-quote-card p + p{
    margin-top:4px;
    color:var(--blood);
    font-weight:400;
  }

  /* ===== ABOUT ===== */
  .about-grid{ display:flex; gap:50px; flex-wrap:wrap; }
  .about-text{ flex:1 1 380px; }
  .about-text p{ color:var(--ink-soft); max-width:520px; }
  .stat-row{
    flex:1 1 320px; min-width:260px;
    display:grid; grid-template-columns:1fr 1fr; gap:18px;
  }
  .stat-card{
    background:var(--paper-card);
    border:1px solid var(--paper-line);
    border-left:4px solid var(--mustard);
    padding:18px 16px;
    box-shadow:var(--shadow);
  }
  .stat-card .num{
    font-family:'Russo One', sans-serif;
    font-size:1.6rem; color:var(--blood);
    display:block;
  }
  .stat-card .label{ font-size:0.85rem; color:var(--ink-soft); }

  /* ===== SERVICES (escalation ladder) ===== */
  #about{ padding-bottom:42px; }
  .services{ background:var(--paper-deep); padding-top:54px; }
  .ladder{ position:relative; margin-top:40px; }
  .ladder::before{
    content:"";
    position:absolute; left:27px; top:6px; bottom:6px; width:2px;
    background:repeating-linear-gradient(to bottom, var(--blood) 0 6px, transparent 6px 12px);
  }
  @media (max-width:600px){ .ladder::before{ left:19px; } }
  .level{
    position:relative;
    display:flex; gap:24px;
    margin-bottom:34px;
    padding-left:0;
  }
  .level:last-child{ margin-bottom:0; }
  .level-badge{
    flex:0 0 56px; height:56px; border-radius:50%;
    background:var(--ink); color:var(--paper);
    display:flex; align-items:center; justify-content:center;
    font-family:'Russo One', sans-serif; font-size:0.95rem;
    border:3px solid var(--blood);
    z-index:1;
  }
  @media (max-width:600px){ .level-badge{ flex:0 0 40px; height:40px; font-size:0.75rem; } }
  .level-body h3{ font-size:1.05rem; color:var(--blood); margin-bottom:6px; }
  .level-body p{ margin:0; color:var(--ink-soft); max-width:560px; }

  /* ===== PRICING ===== */
  .pricing-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr));
    gap:24px; margin-top:40px;
  }
  .plan-card{
    background:var(--paper-card);
    border:2px dashed var(--ink-soft);
    padding:26px 22px 22px;
    position:relative;
    box-shadow:var(--shadow);
  }
  .plan-card::before{
    content:"";
    position:absolute; top:-9px; left:0; right:0; height:18px;
    background-image: radial-gradient(circle, var(--paper) 5px, transparent 5.5px);
    background-size:18px 18px;
    background-position:9px 0;
  }
  .plan-card.featured{ border-color:var(--blood); transform:translateY(-6px); }
  .plan-name{ font-family:'Russo One', sans-serif; font-size:0.95rem; color:var(--blood); margin-bottom:4px; }
  .plan-price{ font-family:'Russo One', sans-serif; font-size:1.7rem; margin-bottom:14px; }
  .plan-price sup{ font-size:0.7rem; color:var(--ink-soft); }
  .plan-card ul{ list-style:none; padding:0; margin:0; font-size:0.92rem; color:var(--ink-soft); }
  .plan-card li{ padding:6px 0; border-top:1px solid var(--paper-line); }
  .plan-card li:first-child{ border-top:none; }

  /* ===== TESTIMONIALS ===== */
  .testimonials{ background:var(--paper-deep); }
  .notes{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
    gap:30px; margin-top:40px;
  }
  .note{
    background:var(--paper-card);
    padding:24px 22px;
    box-shadow:var(--shadow);
    position:relative;
    font-family:'Bad Script', cursive;
    font-size:1.15rem;
    color:var(--ink);
  }
  .note:nth-child(1){ transform:rotate(-1.5deg); }
  .note:nth-child(2){ transform:rotate(1deg); }
  .note:nth-child(3){ transform:rotate(-0.8deg); }
  .note::before{
    content:"";
    position:absolute; top:-12px; left:50%; transform:translateX(-50%) rotate(-3deg);
    width:60px; height:22px;
    background:var(--rose);
    opacity:0.85;
  }
  .note footer{
    margin-top:14px; font-family:'PT Serif', serif; font-size:0.78rem;
    color:var(--ink-soft); font-style:italic;
  }

  /* ===== TEAM ===== */
  .team-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
    gap:26px; margin-top:40px;
  }
  .badge-card{
    background:var(--paper-card);
    border:1px solid var(--paper-line);
    padding:26px 22px;
    box-shadow:var(--shadow);
    position:relative;
    overflow:hidden;
  }
  .badge-card .ribbon{
    position:absolute; top:18px; right:-34px;
    background:var(--blood); color:var(--paper);
    font-family:'Russo One', sans-serif; font-size:0.62rem;
    letter-spacing:0.08em;
    padding:4px 40px;
    transform:rotate(38deg);
  }
  .avatar{
    width:64px; height:64px; border-radius:50%;
    background:var(--ink); color:var(--paper);
    display:flex; align-items:center; justify-content:center;
    font-family:'Russo One', sans-serif; font-size:1.3rem;
    margin-bottom:16px;
    border:3px solid var(--mustard);
  }
  .badge-card h3{ font-size:1.05rem; margin-bottom:4px; }
  .badge-card .role{ color:var(--blood); font-size:0.85rem; margin-bottom:12px; display:block; }
  .badge-card p{ color:var(--ink-soft); font-size:0.92rem; margin:0; }

  /* ===== FAQ ===== */
  .faq-list{ margin-top:40px; max-width:680px; }
  details{
    background:var(--paper-card);
    border:1px solid var(--paper-line);
    border-left:4px solid var(--ink);
    margin-bottom:12px;
    padding:4px 20px;
  }
  details[open]{ border-left-color:var(--blood); }
  summary{
    cursor:pointer; padding:14px 0;
    font-family:'Russo One', sans-serif; font-size:0.85rem;
    list-style:none; display:flex; justify-content:space-between; gap:12px;
  }
  summary::after{ content:"+"; color:var(--blood); font-size:1.2rem; }
  details[open] summary::after{ content:"–"; }
  details p{ margin:0 0 16px; color:var(--ink-soft); }

  /* ===== FOOTER ===== */
  .site-footer{
    background:var(--ink); color:var(--paper-deep);
    padding:60px 0 30px;
  }
  .footer-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
    gap:30px; margin-bottom:36px;
  }
  .footer-grid h3{ color:var(--paper); font-size:0.85rem; margin-bottom:12px; }
  .footer-grid p, .footer-grid a{ color:var(--paper-deep); font-size:0.9rem; text-decoration:none; }
  .fine-print{
    border-top:1px solid rgba(255,255,255,0.12);
    padding-top:20px; font-size:0.78rem; color:var(--rose);
    text-align:center;
  }

  @media (max-width:760px){
    .hero h1 {
  font-size: clamp(1.25rem, 6.5vw, 2rem);
  line-height: 1.18;
}

.hero-title-line--accent {
  white-space: nowrap;
}
    .folder-nav .wrap{
      flex-direction:row;
      justify-content:space-between;
      width:100%;
    }

    body,
    .wrap,
    section,
    .hero-text,
    .about-text,
    .level-body,
    .plan-card,
    .note,
    .badge-card,
    details{
      text-align:center;
    }

    .wrap{
      display:flex;
      flex-direction:column;
      align-items:center;
    }

    .hero .wrap,
    .about-grid,
    .cta-row,
    .level,
    .footer-grid{
      justify-content:center;
      align-items:center;
    }

    .hero .wrap,
    .about-grid,
    .level{
      flex-direction:column;
    }

    .brand,
    .tabs,
    .tabs a,
    .hero-text,
    .hero p.lede,
    .about-text,
    .about-text p,
    .level-body p,
    .faq-list,
    .section-lede{
      margin-left:auto;
      margin-right:auto;
    }

    .cta-row{
      width:100%;
    }

    .ladder::before{
      display:none;
    }

    .pricing-grid,
    .notes,
    .team-grid,
    .stat-row{
      width:100%;
      justify-items:center;
    }

    .plan-card,
    .note,
    .badge-card,
    .stat-card,
    details{
      width:100%;
      max-width:420px;
    }

    .plan-card.featured{
      transform:none;
    }

    .avatar{
      margin-left:auto;
      margin-right:auto;
    }

    .hero{
      padding-bottom:60px;
    }

    #about{
      padding-bottom:24px;
    }

    .services{
      padding-top:34px;
    }


    .dialog-quote-section{
      margin-top:-28px;
      padding:10px 0 18px;
    }

    .dialog-quote-section .wrap{
      min-height:135px;
    }

    .dialog-quote-card{
      width:100%;
      max-width:420px;
      padding:0 18px;
      font-size:clamp(2rem, 10vw, 3rem);
    }

    .level{
      gap:18px;
      margin-bottom:48px;
    }

    .level-badge{
      flex:none;
      width:40px;
      height:40px;
      aspect-ratio:1;
      border-radius:50%;
      margin:0 auto;
    }

    summary{
      justify-content:center;
      align-items:center;
    }

    .folder-nav .wrap{
      flex-direction:row;
      justify-content:space-between;
      align-items:center;
    }
  }

.brand{ text-decoration:none; }
.section-title{ font-size:1.6rem; margin-bottom:6px; }
.about-title{ margin-bottom:16px; }
.section-lede{ color:var(--ink-soft); max-width:560px; }
.footer-eyebrow{ color:var(--rose); }
