/* Sarah Builds: shared stylesheet for every page. */
    :root {
      --bg-deep: #111A1E; --bg-rgb: 17, 26, 30; --card-rgb: 31, 46, 52;
      --bg-accent: #172328;
      --bg-card: #1F2E34;
      --text-primary: #F5EFEB;
      --text-muted: #D1C4C2;
      --text-dim: #A68D8C;
      --gold-accent: #EBC68D;
      --border: rgba(245,239,235,0.06);
      --border-mid: rgba(245,239,235,0.14);
      --transition-slow: 0.75s cubic-bezier(0.16, 1, 0.3, 1);
      --transition-fast: 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      --px: clamp(1.5rem, 5vw, 4rem);
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'DM Sans', -apple-system, sans-serif;
      font-weight: 300;
      background-color: var(--bg-deep);
      color: var(--text-primary);
      line-height: 1.6;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; text-decoration: none; }
    ::selection { background: var(--gold-accent); color: var(--bg-deep); }

    nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      background: rgba(var(--bg-rgb), 0.96);
      backdrop-filter: blur(14px);
      z-index: 1000;
      padding: 1.35rem var(--px);
      border-bottom: 1px solid var(--border);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .nav-brand {
      font-family: 'DM Mono', monospace;
      font-size: 0.68rem;
      font-weight: 500;
      color: var(--text-primary);
      letter-spacing: 0.3em;
    }
    .nav-brand em { color: var(--gold-accent); font-style: normal; }
    .nav-links { display: flex; gap: 2.2rem; list-style: none; }
    .nav-links a {
      font-family: 'DM Mono', monospace;
      font-size: 0.68rem;
      color: var(--text-dim);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      transition: color var(--transition-fast);
    }
    .nav-links a:hover { color: var(--text-muted); }

    /* Keep the full site visible in normal browsers and HTML previews. */
    .r { opacity: 1; transform: translateY(0); transition: opacity var(--transition-slow), transform var(--transition-slow); }
    .r.in { opacity: 1; transform: translateY(0); }
    .d1 { transition-delay: 0.08s; }
    .d2 { transition-delay: 0.16s; }
    .d3 { transition-delay: 0.24s; }

    .hero {
      min-height: 100vh;
      display: flex;
      align-items: center;
      padding: 8rem var(--px) 6rem;
      position: relative;
      overflow: hidden;
      background-image: url('LakeKivu_sunsetfisherman.jpeg');
      background-size: cover;
      background-position: center;
    }
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(var(--bg-rgb), 0.9) 0%, rgba(var(--bg-rgb), 0.68) 50%, rgba(var(--bg-rgb), 0.96) 100%);
      z-index: 0;
    }
    .hero-content { position: relative; z-index: 1; max-width: 980px; margin: 0 auto; }
    .eyebrow {
      font-family: 'DM Mono', monospace;
      font-size: 0.6rem;
      color: var(--gold-accent);
      text-transform: uppercase;
      letter-spacing: 0.26em;
      margin-bottom: 2.5rem;
      display: flex;
      gap: 1rem;
      align-items: center;
    }
    .eyebrow::before { content: ''; width: 42px; height: 1px; background: var(--gold-accent); opacity: 0.7; }
    h1, h2, h3 { font-family: 'Cormorant Garamond', Georgia, serif; }
    .hero h1 {
      font-size: clamp(3rem, 7vw, 6.1rem);
      font-weight: 700;
      line-height: 0.98;
      margin-bottom: 2rem;
      letter-spacing: -0.03em;
      max-width: 980px;
    }
    .gold { color: var(--gold-accent); }
    .hero-outline { color: rgba(var(--bg-rgb), 0.12); -webkit-text-stroke: 2px rgba(245,239,235,0.58); text-shadow: 0 0 1px rgba(245,239,235,0.22); }
    .outline { color: transparent; -webkit-text-stroke: 1.5px rgba(245,239,235,0.36); }
    .hero-subheadline {
      font-size: clamp(1rem, 1.8vw, 1.18rem);
      color: var(--text-muted);
      max-width: 760px;
      line-height: 1.85;
      margin-bottom: 2rem;
    }
    .hero-subheadline strong { color: var(--text-primary); font-weight: 500; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 2.5rem; }

    /* Live signal dot */
    .live-signal {
      display: inline-block;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #4ade80;
      flex-shrink: 0;
      position: relative;
    }
    .live-signal::after {
      content: '';
      position: absolute;
      inset: -3px;
      border-radius: 50%;
      border: 1px solid #4ade80;
      opacity: 0;
      animation: ping 2s ease-out infinite;
    }
    @keyframes ping {
      0%  { transform: scale(0.8); opacity: 0.6; }
      70% { transform: scale(2.2); opacity: 0; }
      100%{ transform: scale(2.2); opacity: 0; }
    }

    /* Location text fade (eyebrow inline version) */
    #location-text { color: var(--gold-accent); transition: opacity 0.4s ease; }
    #location-text.fade { opacity: 0; }

    .build-tag-group { display: flex; align-items: center; gap: 0.5rem; }

    /* Hero location stamp */
    .hero-location-stamp { display: flex; align-items: center; gap: 0.75rem; margin: 2rem 0; }
    .stamp-line { display: block; width: 24px; height: 1px; background: rgba(235, 198, 141, 0.3); flex-shrink: 0; }
    #stamp-location {
      font-family: 'DM Mono', monospace;
      font-size: 0.6rem;
      color: var(--gold-accent);
      letter-spacing: 0.2em;
      text-transform: uppercase;
      transition: opacity 0.4s ease;
    }
    #stamp-coords {
      font-family: 'DM Mono', monospace;
      font-size: 0.6rem;
      color: var(--text-dim);
      letter-spacing: 0.12em;
      transition: opacity 0.4s ease;
    }
    #stamp-location.fade, #stamp-coords.fade { opacity: 0; }

    .btn-primary, .btn-secondary {
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      padding: 1rem 1.85rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.88rem;
      font-weight: 500;
      border-radius: 1px;
      transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
    }
    .btn-primary { color: var(--bg-deep); background: var(--gold-accent); }
    .btn-primary:hover { background: #D4B07B; }
    .btn-secondary { color: var(--text-muted); border: 1px solid var(--border-mid); }
    .btn-secondary:hover { color: var(--text-primary); border-color: rgba(235,198,141,0.3); }
    .arrow { display: inline-block; transition: transform var(--transition-fast); }
    a:hover .arrow { transform: translateX(5px); }

    section { padding: clamp(4rem, 7vw, 7rem) var(--px); max-width: 1300px; margin: 0 auto; }
    .section-label {
      font-family: 'DM Mono', monospace;
      font-size: 0.58rem;
      color: var(--text-dim);
      text-transform: uppercase;
      letter-spacing: 0.22em;
      margin-bottom: 2rem;
    }
    .section-title {
      font-size: clamp(2.2rem, 4.5vw, 4rem);
      font-weight: 700;
      color: var(--text-primary);
      margin-bottom: 2rem;
      line-height: 1.06;
      letter-spacing: -0.02em;
      max-width: 900px;
    }
    .section-intro {
      color: var(--text-muted);
      max-width: 760px;
      line-height: 1.85;
      font-size: 1rem;
      margin-bottom: 3rem;
    }
    .section-intro strong { color: var(--text-primary); font-weight: 500; }

    .notice-grid, .builds-grid, .offers-grid, .process-grid, .faq-grid {
      display: grid;
      gap: 1.5rem;
    }
    .notice-grid { grid-template-columns: repeat(3, 1fr); }
    .builds-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
    .offers-grid { grid-template-columns: repeat(3, 1fr); }
    .process-grid { grid-template-columns: repeat(5, 1fr); }
    .faq-grid { grid-template-columns: 1fr 1fr; }

    .card, .build-card, .offer-card, .process-card, .faq-item {
      background: var(--bg-card);
      border: 1px solid var(--border);
      padding: 2.25rem;
      transition: border-color var(--transition-fast), background var(--transition-fast);
    }
    .card:hover, .build-card:hover, .offer-card:hover, .process-card:hover, .faq-item:hover {
      border-color: rgba(235, 198, 141, 0.2);
      background: rgba(var(--card-rgb), 0.75);
    }
    .card-title, .build-title, .offer-title, .process-title, .faq-question {
      font-family: 'DM Sans', sans-serif;
      font-size: 1rem;
      font-weight: 500;
      color: var(--text-primary);
      margin-bottom: 0.8rem;
    }
    .card p, .build-description, .offer-description, .process-description, .faq-answer {
      font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.75;
    }
    .tag, .build-number, .offer-number, .process-number {
      display: inline-block;
      font-family: 'DM Mono', monospace;
      font-size: 0.56rem;
      color: var(--gold-accent);
      text-transform: uppercase;
      letter-spacing: 0.12em;
      margin-bottom: 1.3rem;
    }
    .build-type-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1.2rem; }
    .build-tag {
      font-family: 'DM Mono', monospace;
      font-size: 0.5rem;
      color: var(--gold-accent);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      background: rgba(235, 198, 141, 0.05);
      border: 1px solid rgba(235, 198, 141, 0.15);
      padding: 0.2rem 0.55rem;
      white-space: nowrap;
    }

    .quote-section { background: var(--bg-accent); max-width: 100%; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .editorial-breath {
      width: 100%;
      height: clamp(340px, 50vw, 620px);
      background-image: url('Bali_volcano.jpg');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
      position: relative;
    }
    .editorial-breath::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(var(--bg-rgb), 0.3), rgba(var(--bg-rgb), 0.3));
    }
    .editorial-breath-text {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-style: normal;
      font-size: clamp(1.4rem, 3.5vw, 2.8rem);
      font-weight: 500;
      color: rgba(245, 239, 235, 0.72);
      text-align: center;
      letter-spacing: -0.01em;
      pointer-events: none;
      width: 90%;
    }
    .editorial-breath-location {
      font-family: 'DM Mono', monospace;
      font-size: 0.55rem;
      color: rgba(245,239,235,0.35);
      text-transform: uppercase;
      letter-spacing: 0.2em;
      margin-top: 1rem;
      position: relative;
      z-index: 2;
      text-align: center;
    }
    @media (max-width: 860px) { .editorial-breath { background-attachment: scroll; } }
    .quote-wrap { max-width: 1100px; margin: 0 auto; }
    .big-quote {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(2rem, 5vw, 4.6rem);
      color: var(--text-muted);
      line-height: 1.08;
      letter-spacing: -0.02em;
    }
    .big-quote strong { color: var(--text-primary); font-weight: 700; }

    .offer-card.featured { border-color: rgba(235,198,141,0.25); background: rgba(235,198,141,0.025); }
    .offer-price {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: 2.2rem;
      font-weight: 700;
      color: var(--gold-accent);
      margin-bottom: 1rem;
    }
    .offer-list { list-style: none; margin: 1.5rem 0 2rem; }
    .offer-list li { color: var(--text-muted); font-size: 0.86rem; line-height: 1.6; padding: 0.45rem 0 0.45rem 1.2rem; position: relative; border-bottom: 1px solid var(--border); }
    .offer-list li::before { content: '→'; position: absolute; left: 0; color: var(--gold-accent); }
    .offer-list li:last-child { border-bottom: none; }

    .about { background: var(--bg-accent); max-width: 100%; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .about-wrapper { max-width: 1200px; margin: 0 auto; }
    .about-grid { display: grid; grid-template-columns: 280px 1fr 1fr; gap: 4rem; align-items: start; }
    .founder-image { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border: 1px solid var(--border-mid); display: block; }
    .founder-quote {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(1.5rem, 2.4vw, 2rem);
      color: var(--text-muted);
      line-height: 1.45;
    }
    .founder-name { font-family: 'DM Mono', monospace; font-size: 0.6rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-accent); margin-top: 2rem; }
    .founder-bio p { font-size: 0.94rem; color: var(--text-muted); line-height: 1.85; margin-bottom: 1.25rem; }
    .founder-bio strong { color: var(--text-primary); font-weight: 500; }

    .photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3rem; }
    .photo-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border: 1px solid var(--border-mid); display: block; }
    .photo-card p { font-family: 'DM Mono', monospace; font-size: 0.55rem; color: var(--text-dim); margin-top: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; }

    .final-cta {
      text-align: center;
      padding: 9rem var(--px);
      position: relative;
      overflow: hidden;
      background-image: url('Nyamata_Sunset.jpeg');
      background-size: cover;
      background-position: center;
      max-width: 100%;
    }
    .final-cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(var(--bg-rgb), 0.88), rgba(var(--bg-rgb), 0.82));
      z-index: 0;
    }
    .final-cta-inner { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
    .final-cta h2 { font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1.06; margin-bottom: 1rem; }
    .final-cta p { color: var(--text-muted); line-height: 1.85; max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }

    footer {
      padding: 2rem var(--px);
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 1px solid var(--border);
      flex-wrap: wrap;
      gap: 1rem;
    }
    .f-brand, .f-link { font-family: 'DM Mono', monospace; font-size: 0.6rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-dim); }
    .f-brand em { color: var(--gold-accent); font-style: normal; }
    .f-links { display: flex; gap: 1.25rem; flex-wrap: wrap; }
    .f-link:hover { color: var(--text-muted); }

    .hamburger { display: none; background: none; border: none; cursor: pointer; flex-direction: column; gap: 5px; }
    .hamburger span { width: 22px; height: 1px; background: var(--text-muted); display: block; transition: transform 0.25s ease, opacity 0.25s ease; }
    .mobile-menu { display: none; }

    @media (max-width: 1024px) {
      .notice-grid, .offers-grid { grid-template-columns: 1fr; }
      .process-grid { grid-template-columns: 1fr 1fr; }
      .about-grid { grid-template-columns: 200px 1fr; }
      .founder-bio { grid-column: 1 / -1; }
    }
    @media (max-width: 800px) {
      .nav-links { display: none; }
      .hamburger { display: flex; }
      .mobile-menu {
        position: fixed;
        top: 67px;
        right: 0;
        left: 0;
        background: rgba(var(--bg-rgb), 0.98);
        border-bottom: 1px solid var(--border);
        padding: 1.5rem var(--px);
        z-index: 999;
        flex-direction: column;
        gap: 1rem;
      }
      .mobile-menu.open { display: flex; }
      .mobile-menu a { font-family: 'DM Mono', monospace; color: var(--text-muted); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; }
      .faq-grid, .photo-grid, .about-grid, .process-grid { grid-template-columns: 1fr; }
      .hero { min-height: auto; padding-top: 9rem; }
      footer { flex-direction: column; align-items: flex-start; }
    }
  

    /* Restored formatting parity with the original site */
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 9999;
      opacity: 0.04;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-repeat: repeat;
      background-size: 200px 200px;
      mix-blend-mode: overlay;
    }
    nav { padding: 1.5rem 5%; }
    .nav-links { gap: 2.5rem; }
    .nav-links a { font-size: 0.75rem; }
    .hero { padding: 8rem 5% 6rem; }
    .hero-content { max-width: 960px; }
    .hero h1 { font-size: clamp(2.5rem, 5.5vw, 4.8rem); line-height: 1.1; margin-bottom: 2.5rem; }
    .hero-subheadline { font-size: clamp(1.05rem, 1.8vw, 1.2rem); line-height: 1.8; margin-bottom: 3.5rem; }
    section { padding: clamp(4rem, 7vw, 6rem) 5%; }
    .section-label { margin-bottom: 2.5rem; }
    .section-title { font-size: clamp(2.2rem, 4.5vw, 3.8rem); line-height: 1.08; letter-spacing: -0.015em; max-width: 850px; }
    .build-card { padding: 2.5rem; }
    .final-cta { padding: 10rem 5%; background-attachment: fixed; }
    .final-ghost {
      position: absolute;
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-weight: 700;
      font-size: clamp(6rem, 16vw, 14rem);
      color: rgba(245,239,235,0.05);
      top: 50%; left: 50%; transform: translate(-50%, -50%);
      white-space: nowrap; pointer-events: none; letter-spacing: -0.04em;
      z-index: 1;
    }
    .final-cta-inner { position: relative; z-index: 2; }
    .about { padding: clamp(4rem, 7vw, 6rem) 5%; }
    .founder-grid { display: grid; grid-template-columns: 240px 1fr 1fr; gap: 4rem; align-items: start; }
    .founder-photo-col { padding-top: 0.25rem; }
    .founder-quote { font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.5; }
    .founder-quote strong { color: var(--text-primary); font-weight: 600; font-style: normal; }
    .founder-bio { font-size: 0.95rem; color: var(--text-muted); line-height: 1.85; }
    .human-bridge-text { font-size: 1.05rem; color: var(--text-muted); max-width: 760px; margin: 4rem auto 0 0; line-height: 1.8; }
    .human-bridge-text strong { color: var(--text-primary); font-weight: 400; }
    .human-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2rem; }
    .human-photo-container img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border: 1px solid var(--border-mid); display: block; }
    .human-caption { font-family: 'DM Mono', monospace; font-size: 0.55rem; color: var(--text-dim); margin-top: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; }
    .mobile-menu { max-height: 0; overflow: hidden; display: flex; padding-top: 0; padding-bottom: 0; transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s ease; }
    .mobile-menu.open { max-height: 400px; padding-top: 0.5rem; padding-bottom: 1.5rem; }
    .hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; }
    .hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    @media (max-width: 1024px) {
      .founder-grid { grid-template-columns: 180px 1fr; gap: 3rem; }
      .founder-bio { grid-column: 1 / -1; }
    }
    @media (max-width: 860px) {
      .human-grid { grid-template-columns: 1fr; gap: 2rem; }
      .final-cta { background-attachment: scroll; }
    }
    @media (max-width: 800px) {
      .mobile-menu { display: flex; }
      .founder-grid { grid-template-columns: 1fr; }
    }


    /* Restored original hero formatting */
    .hero {
      min-height: 100vh;
      display: flex;
      align-items: center;
      padding: 8rem 5% 6rem;
      position: relative;
      overflow: hidden;
      background-image: url('LakeKivu_sunsetfisherman.jpeg');
      background-size: cover;
      background-position: center;
    }
    .hero::before { content: none; }
    .hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(var(--bg-rgb), 0.88) 0%, rgba(var(--bg-rgb), 0.65) 50%, rgba(var(--bg-rgb), 0.95) 100%);
      z-index: 1;
    }
    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 960px;
      margin: 0 auto;
      text-align: left;
    }
    .hero .eyebrow {
      color: var(--text-muted);
      gap: 1.2rem;
    }
    .hero .eyebrow::before { content: none; }
    .hero h1 {
      font-size: clamp(2.5rem, 5.5vw, 4.8rem);
      line-height: 1.1;
      margin-bottom: 2.5rem;
      letter-spacing: -0.02em;
      max-width: 960px;
    }
    .hero-subheadline {
      font-size: clamp(1.05rem, 1.8vw, 1.2rem);
      max-width: 760px;
      line-height: 1.8;
      margin-bottom: 0;
    }
    .hero-location-stamp { margin: 2rem 0; }
    .hero-actions { margin-top: 0; }
    .hero .btn-primary { padding: 1.1rem 2.25rem; }

    /* Restored original FAQ formatting */
    .faq-list {
      max-width: 780px;
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    #faq .faq-item {
      background: transparent;
      border: 0;
      border-bottom: 1px solid var(--border);
      padding: 2rem 0;
      transition: none;
    }
    #faq .faq-item:hover {
      background: transparent;
      border-color: var(--border);
    }
    #faq .faq-question {
      font-family: 'DM Sans', sans-serif;
      font-size: 1rem;
      font-weight: 500;
      color: var(--text-primary);
      margin-bottom: 0.75rem;
    }
    #faq .faq-answer {
      font-size: 0.9rem;
      color: var(--text-muted);
      line-height: 1.8;
    }

    @media (max-width: 800px) {
      .hero { min-height: auto; padding: 9rem 5% 6rem; }
    }

    .closing-manifesto {
      max-width: 100%;
      padding: clamp(4.5rem, 7vw, 6.5rem) 5%;
      background: var(--bg-accent);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .closing-manifesto-inner {
      max-width: 980px;
      margin: 0 auto;
      text-align: center;
    }
    .closing-manifesto h2 {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(2.1rem, 3.8vw, 3.8rem);
      font-weight: 700;
      line-height: 1.14;
      color: var(--text-primary);
      letter-spacing: -0.02em;
      max-width: 980px;
      margin: 0 auto;
    }
    @media (max-width: 800px) {
      .closing-manifesto { padding: 4.5rem 5%; }
      .closing-manifesto h2 { font-size: clamp(1.9rem, 7vw, 2.8rem); }
    }


    /* Full-width hero fix */
    section.hero {
      width: 100%;
      max-width: none;
      margin: 0;
    }


    /* Wide desktop layout: use the browser canvas instead of a narrow portfolio column */
    :root {
      --page-gutter: clamp(1.5rem, 5vw, 6.5rem);
      --wide-content: 1600px;
    }

    nav,
    footer {
      padding-left: var(--page-gutter);
      padding-right: var(--page-gutter);
    }

    section {
      width: 100%;
      max-width: none;
      margin: 0;
      padding-left: var(--page-gutter);
      padding-right: var(--page-gutter);
    }

    .hero {
      width: 100%;
      max-width: none;
      margin: 0;
      padding-left: var(--page-gutter);
      padding-right: var(--page-gutter);
    }

    .hero-content {
      width: 100%;
      max-width: var(--wide-content);
      margin: 0 auto;
    }

    .hero h1 {
      max-width: 1180px;
      font-size: clamp(3.2rem, 5.6vw, 6.4rem);
    }

    .hero-subheadline {
      max-width: 900px;
      font-size: clamp(1.05rem, 1.35vw, 1.28rem);
    }

    .section-title {
      max-width: 1080px;
    }

    .section-intro {
      max-width: 920px;
    }

    .notice-grid,
    .builds-grid,
    .offers-grid,
    .process-grid {
      width: 100%;
    }

    .builds-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .quote-wrap {
      width: 100%;
      max-width: 1500px;
      margin: 0 auto;
    }

    .about-wrapper {
      width: 100%;
      max-width: 1500px;
      margin: 0 auto;
    }

    .founder-grid {
      grid-template-columns: minmax(220px, 280px) minmax(320px, 0.9fr) minmax(420px, 1.35fr);
      gap: clamp(2.5rem, 4vw, 5rem);
    }

    .human-bridge-text {
      max-width: 900px;
    }

    .faq-list {
      max-width: 1050px;
    }

    .final-cta-inner {
      max-width: 950px;
    }

    .closing-manifesto-inner,
    .closing-manifesto h2 {
      max-width: 1400px;
    }

    @media (max-width: 1200px) {
      .builds-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .founder-grid { grid-template-columns: 220px 1fr; }
      .founder-bio { grid-column: 1 / -1; }
    }

    @media (max-width: 800px) {
      :root { --page-gutter: 1.5rem; }
      .hero h1 { font-size: clamp(2.8rem, 12vw, 4.5rem); }
      .builds-grid { grid-template-columns: 1fr; }
      .founder-grid { grid-template-columns: 1fr; }
    }
/* Readability scale fix */
html { font-size: 18px; }
body { font-size: 1rem; }

nav { padding-top: 1.35rem; padding-bottom: 1.35rem; }
.nav-brand { font-size: 0.82rem; }
.nav-links a { font-size: 0.82rem; }

.hero h1 {
  font-size: clamp(4rem, 6.8vw, 7.2rem);
  line-height: 1.02;
}
.hero-subheadline {
  font-size: clamp(1.2rem, 1.55vw, 1.45rem);
  line-height: 1.75;
  max-width: 900px;
}
.eyebrow,
.section-label,
#stamp-location,
#stamp-coords,
.build-number,
.build-tag,
.offer-number,
.process-number,
.f-brand,
.f-link,
.human-caption {
  font-size: 0.72rem;
}

.btn-primary,
.btn-secondary {
  font-size: 1rem;
  padding: 1.15rem 2rem;
  min-height: 56px;
}
.hero .btn-primary { padding: 1.2rem 2.35rem; }

.section-title {
  font-size: clamp(3rem, 4.8vw, 5rem);
  line-height: 1.04;
}
.section-intro {
  font-size: 1.18rem;
  line-height: 1.8;
  max-width: 900px;
}
.big-quote {
  font-size: clamp(2.8rem, 5vw, 5.4rem);
}

.card-title,
.build-title,
.offer-title,
.process-title,
.faq-question {
  font-size: 1.15rem;
}
.card p,
.build-description,
.offer-description,
.process-description,
.faq-answer {
  font-size: 1rem;
  line-height: 1.75;
}
.offer-price { font-size: 2.8rem; }
.offer-list li { font-size: 0.98rem; }

.founder-quote {
  font-size: clamp(1.9rem, 2.7vw, 2.8rem);
}
.founder-bio,
.founder-bio p {
  font-size: 1.05rem;
  line-height: 1.85;
}
.human-bridge-text { font-size: 1.18rem; max-width: 980px; }

.final-cta h2,
.closing-manifesto h2 {
  font-size: clamp(3.2rem, 5.8vw, 6rem);
}
.final-cta p { font-size: 1.15rem; max-width: 700px; }

@media (max-width: 900px) {
  html { font-size: 17px; }
  .hero h1 { font-size: clamp(3.1rem, 10vw, 5rem); }
  .section-title { font-size: clamp(2.6rem, 8vw, 4rem); }
  .btn-primary, .btn-secondary { width: auto; }
}

@media (max-width: 600px) {
  html { font-size: 16px; }
  .hero-subheadline,
  .section-intro,
  .human-bridge-text,
  .final-cta p { font-size: 1.05rem; }
  .btn-primary,
  .btn-secondary { font-size: 0.95rem; padding: 1rem 1.35rem; min-height: 52px; }
}

  /* NO BLACK BOX / PROCESS */
#process {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

#process .section-label {
  font-size: 0.62rem;
  margin-bottom: 1.5rem;
}

#process .section-title {
  font-size: clamp(2.25rem, 3.4vw, 3.5rem);
  line-height: 1.08;
  margin-bottom: 1.25rem;
}

#process .section-intro {
  font-size: 0.98rem;
  line-height: 1.7;
  max-width: 820px;
  margin-bottom: 2rem;
}

#process .process-grid {
  gap: 1rem;
}

#process .process-card {
  padding: 1.35rem;
}

#process .process-number {
  font-size: 0.52rem;
  margin-bottom: 0.8rem;
}

#process .process-title {
  font-size: 1rem;
  margin-bottom: 0.55rem;
}

#process .process-description {
  font-size: 0.86rem;
  line-height: 1.6;
}
    /* Updated quote section with photo background */
    .quote-section {
      max-width: 100%;
      position: relative;
      padding: clamp(6rem, 10vw, 9rem) var(--page-gutter, 5%);
      background-image: url('Santorini_quote_bg.jpg');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      overflow: hidden;
    }
    .quote-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(var(--bg-rgb), 0.42), rgba(var(--bg-rgb), 0.62));
      z-index: 0;
    }
    .quote-wrap {
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: 1180px;
      margin: 0 auto;
    }
    .big-quote {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(1.7rem, 2.7vw, 2.8rem) !important;
      color: rgba(245,239,235,0.92);
      line-height: 1.16;
      letter-spacing: -0.02em;
      max-width: 900px;
      margin: 0 auto;
      text-shadow: 0 2px 14px rgba(0,0,0,0.2);
    }
    .big-quote strong { color: var(--text-primary); font-weight: 700; }

    /* Reworked About section */
    .about {
      background: var(--bg-accent);
      max-width: 100%;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .about-wrapper {
      width: 100%;
      max-width: 1320px;
      margin: 0 auto;
    }
    .about-intro {
      max-width: 820px;
      color: var(--text-muted);
      font-size: 1.12rem;
      line-height: 1.8;
      margin: 1rem 0 3rem;
    }
    .about-main {
      display: grid;
      grid-template-columns: minmax(240px, 300px) minmax(320px, 520px) minmax(360px, 1fr);
      gap: 3rem;
      align-items: start;
    }
    .founder-photo-col {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      padding-top: 0;
    }
    .founder-image {
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      border: 1px solid var(--border-mid);
      display: block;
    }
    .founder-name {
      font-family: 'DM Mono', monospace;
      font-size: 0.68rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold-accent);
      margin-top: 0.5rem;
    }
    .about-quote-card {
      border: 1px solid var(--border);
      background: rgba(235,198,141,0.04);
      padding: 2rem 2.1rem;
    }
    .founder-quote {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(2rem, 2.9vw, 3rem) !important;
      color: var(--text-primary);
      line-height: 1.34;
    }
    .founder-quote strong {
      font-style: normal;
      color: var(--text-primary);
    }
    .about-copy p {
      font-size: 1.08rem;
      color: var(--text-muted);
      line-height: 1.9;
      margin-bottom: 1.25rem;
    }
    .about-copy p:last-child { margin-bottom: 0; }
    .about-copy strong { color: var(--text-primary); font-weight: 500; }
    .about-copy .about-closing {
      margin-top: 1.2rem;
      padding-top: 1.2rem;
      border-top: 1px solid var(--border);
      color: var(--text-primary);
    }
    .human-bridge-text {
      font-size: 1.12rem;
      color: var(--text-muted);
      max-width: 840px;
      margin: 3.5rem 0 0;
      line-height: 1.82;
    }
    .human-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
      margin-top: 2rem;
    }
    .human-photo-container img {
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      border: 1px solid var(--border-mid);
      display: block;
    }
    .human-caption {
      font-family: 'DM Mono', monospace;
      font-size: 0.68rem;
      color: var(--text-dim);
      margin-top: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
    }

    @media (max-width: 1024px) {
      .about-main {
        grid-template-columns: 1fr;
        gap: 2rem;
      }
      .about-quote-card { order: 2; }
      .about-copy { order: 3; }
      .human-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 860px) {
      .quote-section { background-attachment: scroll; }
      .big-quote { font-size: clamp(2rem, 7vw, 3.1rem) !important; }
      .founder-quote { font-size: clamp(1.7rem, 7vw, 2.4rem) !important; }
    }
      .quote-section {
      border-top: none !important;
      border-bottom: none !important;
    }

/* Final About + closing statement refinement */
.about-wrapper { max-width: 1320px; }
.about-intro {
  max-width: 760px;
  font-size: 0.98rem !important;
  line-height: 1.75 !important;
  margin-bottom: 2.5rem;
}
.about-main {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}
.about-content { max-width: 820px; }
.about-quote-card {
  border: 0 !important;
  background: transparent !important;
  padding: 0 0 1.75rem !important;
  margin: 0 0 1.75rem;
  border-bottom: 1px solid var(--border) !important;
}
.founder-quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.6rem, 2.3vw, 2.1rem) !important;
  font-style: normal;
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.3;
  max-width: 34ch;
  text-align: left;
}
.founder-quote::before {
  content: '';
  display: block;
  width: 48px;
  height: 2px;
  background: var(--gold-accent);
  margin-bottom: 1.25rem;
}
.founder-quote .statement-key { color: var(--gold-accent); }
.about-copy p {
  font-size: 0.96rem !important;
  line-height: 1.78 !important;
  margin-bottom: 1rem;
}
.about-copy .about-closing {
  font-size: 0.98rem !important;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}
.founder-name {
  margin-top: 0.75rem !important;
  font-size: 0.58rem !important;
}
.human-bridge-text {
  font-size: 1rem !important;
  line-height: 1.75 !important;
  max-width: 820px;
  margin-top: 3rem;
}

.closing-manifesto {
  padding: clamp(3.5rem, 6vw, 5.5rem) var(--page-gutter) !important;
  background: var(--bg-accent) !important;
  text-align: center;
}
.closing-manifesto-inner { max-width: 900px !important; }
.closing-manifesto h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.65rem, 2.64vw, 2.6rem) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.15 !important;
  color: var(--text-primary) !important;
  letter-spacing: -0.01em !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  text-shadow: none !important;
}
.closing-manifesto h2 span {
  display: block;
  text-wrap: balance;
  color: inherit !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}
.closing-manifesto h2 .manifesto-key {
  margin-top: 1em;
  color: var(--text-primary) !important;
  font-weight: 600;
}

/* About portrait: 4:5, framed on her face (the picture-wrapped image on /about only) */
#about .founder-photo-col picture { display: block; }
#about picture .founder-image { height: auto; aspect-ratio: 4 / 5; object-position: 88% center; }

@media (max-width: 900px) {
  .about-main { grid-template-columns: 1fr; gap: 2rem; }
  .founder-photo-col { max-width: 320px; }
  .founder-quote { font-size: clamp(1.45rem, 5.5vw, 1.8rem) !important; }
  .closing-manifesto h2 { font-size: clamp(1.54rem, 6.05vw, 2.2rem) !important; }
}

  /* Smaller Recent Builds and Offers sections only */

/* RECENT BUILDS */
#work {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

#work .section-label {
  font-size: 0.62rem;
  margin-bottom: 1.5rem;
}

#work .section-title {
  font-size: clamp(2.25rem, 3.4vw, 3.5rem);
  line-height: 1.08;
  margin-bottom: 1.25rem;
  max-width: 900px;
}

#work .section-intro {
  font-size: 0.98rem;
  line-height: 1.7;
  max-width: 780px;
  margin-bottom: 2rem;
}

#work .builds-grid {
  gap: 1.15rem;
}

#work .build-card {
  padding: 1.45rem;
}

#work .build-type-row {
  margin-bottom: 0.85rem;
}

#work .build-number,
#work .build-tag {
  font-size: 0.52rem;
}

#work .build-title {
  font-size: 1rem;
  margin-bottom: 0.6rem;
}

#work .build-description {
  font-size: 0.88rem;
  line-height: 1.65;
}


/* OFFERS / PRICING */
#offers {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

#offers .section-label {
  font-size: 0.62rem;
  margin-bottom: 1.5rem;
}

#offers .section-title {
  font-size: clamp(2.25rem, 3.4vw, 3.5rem);
  line-height: 1.08;
  margin-bottom: 1.25rem;
}

#offers .section-intro {
  font-size: 0.98rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

#offers .offers-grid, #prices .offers-grid {
  gap: 1.15rem;
}

#offers .offer-card, #prices .offer-card {
  padding: 1.5rem;
}

#offers .offer-number, #prices .offer-number {
  font-size: 0.52rem;
  margin-bottom: 0.85rem;
}

#offers .offer-title, #prices .offer-title {
  font-size: 1.05rem;
  margin-bottom: 0.5rem;
}

#offers .offer-price, #prices .offer-price {
  font-size: 2rem;
  margin-bottom: 0.65rem;
}

#offers .offer-description, #prices .offer-description {
  font-size: 0.88rem;
  line-height: 1.65;
}

#offers .offer-list, #prices .offer-list {
  margin: 1rem 0 1.25rem;
}

#offers .offer-list li, #prices .offer-list li {
  font-size: 0.84rem;
  line-height: 1.5;
  padding: 0.35rem 0 0.35rem 1.1rem;
}

#offers .btn-primary, #prices .btn-primary,
#offers .btn-secondary, #prices .btn-secondary {
  font-size: 0.88rem;
  padding: 0.85rem 1.25rem;
  min-height: 46px;
}

/* Offer ladder: Review and Rescue card buttons */
.offer-card .offer-cta { margin-top: 1.5rem; }
/* Offer ladder: each short line in a card reads as its own line */
.offer-card .offer-description + .offer-description { margin-top: 0.75rem; }

/* Offer ladder: two labeled rows of offer cards */
.offer-row-label { margin-bottom: 1.5rem; }
.offers-grid + .offer-row-label { margin-top: 3.5rem; }
.offers-grid.offers-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1024px) { .offers-grid.offers-grid-2 { grid-template-columns: 1fr; } }

/* Offer ladder: hero text link and Unstuck Kit form */
.hero-text-link { display: inline-block; margin-top: 1.25rem; font-family: 'DM Sans', sans-serif; font-size: 0.88rem; color: var(--text-muted); text-decoration: underline; text-decoration-color: var(--border-mid); text-underline-offset: 4px; transition: color var(--transition-fast); }
.hero-text-link:hover { color: var(--gold-accent); }
.kit-form { max-width: 620px; }
.kit-row { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.kit-row input[type="email"] { flex: 1 1 240px; width: 100%; background: rgba(245,239,235,0.03); border: 1px solid var(--border-mid); color: var(--text-primary); font-family: 'DM Sans', sans-serif; font-size: 0.92rem; font-weight: 300; padding: 0.9rem 1.1rem; outline: none; border-radius: 0; transition: border-color var(--transition-fast); -webkit-appearance: none; appearance: none; }
.kit-row input[type="email"]:focus { border-color: rgba(235,198,141,0.4); }
.kit-row input.invalid { border-color: rgba(224,92,92,0.5); }
.kit-row .btn-primary { border: none; cursor: pointer; }
.kit-row .btn-primary:disabled { opacity: 0.6; cursor: default; }
.kit-form .field-error { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; color: #E05C5C; margin-top: 0.375rem; display: none; }
.kit-form .field-error.visible { display: block; }
.kit-msg { color: var(--text-primary); font-size: 1rem; line-height: 1.85; max-width: 620px; }
.kit-msg.kit-msg-error { color: #E05C5C; }
  

/* Home simplify: Row A cards sit smaller than Row B */
.offers-grid.offers-grid-small { max-width: 680px; }
#offers .offers-grid-small .offer-card { padding: 1.2rem; }
#offers .offers-grid-small .offer-description { font-size: 0.84rem; }
#offers .offers-footer-line { margin-top: 2.5rem; margin-bottom: 0; }
.offers-more { margin-top: 1.5rem; margin-bottom: 0; }
.offers-more-link { font-family: 'DM Sans', sans-serif; font-size: 0.875rem; color: var(--text-dim); text-decoration: none; transition: color var(--transition-fast); }
.offers-more-link:hover { color: var(--gold-accent); }
#builds, #pricing-questions { scroll-margin-top: 100px; }

/* Home simplify: quiet link list under the closing quote */
#everything-else { padding-top: 3.5rem; padding-bottom: 4rem; }
.everything-else-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.5rem; color: var(--text-muted); margin-bottom: 1.25rem; }
.everything-else-list { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
@media (max-width: 700px) { .everything-else-list { grid-template-columns: 1fr; } }
.everything-else-list li { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.7rem 0; border-top: 1px solid var(--border); }
.everything-else-list a { font-family: 'DM Sans', sans-serif; font-size: 0.95rem; font-weight: 500; color: var(--text-primary); transition: color var(--transition-fast); }
.everything-else-list a:hover { color: var(--gold-accent); }
.everything-else-list span { font-size: 0.85rem; color: var(--text-dim); line-height: 1.55; }

/* Closing quote band: Sarah's photo on the left, fading into the band colour; the quote sits in a right-hand column */
.closing-manifesto { position: relative; overflow: hidden; }
.manifesto-photo { display: block; position: absolute; top: 0; bottom: 0; left: 0; width: 62%; z-index: 0; }
.manifesto-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; }
.closing-manifesto::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to left, rgb(23, 35, 40) 0%, rgb(23, 35, 40) 42%, rgba(23, 35, 40, 0.85) 50%, rgba(23, 35, 40, 0.2) 64%, rgba(23, 35, 40, 0.15) 100%); }
.closing-manifesto-inner { position: relative; z-index: 2; }
.manifesto-caption { font-family: 'DM Mono', monospace; font-size: 15px; letter-spacing: 0.28em; text-transform: uppercase; color: #C9C2BA; margin-top: 2rem; }
@media (min-width: 768px) {
  .closing-manifesto { display: flex; align-items: center; justify-content: flex-end; min-height: clamp(520px, 44.45vw, 640px); padding: 3.5rem 0 !important; text-align: left; }
  .closing-manifesto-inner { width: calc(min(700px, 52%) - 4%); max-width: none !important; margin: 0; padding-right: clamp(4rem, 8.33vw, 120px); text-align: left; }
  .closing-manifesto h2 { margin: 0 !important; }
}
@media (max-width: 767px) {
  .closing-manifesto { padding: 0 0 4.5rem !important; }
  .closing-manifesto::before { display: none; }
  .manifesto-photo { position: relative; left: 0; width: 100%; aspect-ratio: 4 / 5; }
  .manifesto-photo img { object-position: center 20%; }
  .closing-manifesto-inner { padding: 2.5rem var(--page-gutter) 0; }
  #about .founder-photo-col { max-width: none; }
}

/* Offer cards: tier name leads, price sits under it, buttons pin to the bottom of each card */
.offers-grid { align-items: stretch !important; }
.offer-card { display: flex; flex-direction: column; height: 100%; }
#offers .offer-card .offer-title, #prices .offer-card .offer-title {
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 2.1rem !important;
  line-height: 1.1; letter-spacing: 0; text-transform: none; color: var(--text-primary); margin-bottom: 0.4rem;
}
#offers .offer-card .offer-price, #prices .offer-card .offer-price {
  font-family: 'DM Sans', sans-serif; font-weight: 500; font-size: 1.05rem;
  line-height: 1.4; letter-spacing: 0.02em; color: var(--gold-accent); margin-bottom: 1.1rem;
}
.offer-card .offer-cta { margin-top: auto; align-self: flex-start; }
.offer-card > :has(+ .offer-cta) { margin-bottom: 1.5rem; }
@media (max-width: 600px) {
  #offers .offer-card .offer-title, #prices .offer-card .offer-title { font-size: 1.8rem !important; }
}

/* Inner pages: shared page header and the two-column "what moves it" lists */
.page-hero { padding-top: 9rem; padding-bottom: 3rem; }
.handoff-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.handoff-title { font-size: 1rem; font-weight: 500; color: var(--text-primary); margin-bottom: 0.85rem; }
.handoff-note { margin-top: 2rem; max-width: 820px; font-size: 0.9rem; line-height: 1.7; color: var(--text-muted); }
@media (max-width: 780px) { .handoff-grid { grid-template-columns: 1fr; } }

/* Home: closing line of the problem section and the free kit strip */
#notice .notice-closing { margin-top: 2.5rem; }
#notice .notice-closing .hero-text-link { margin-top: 0; font-size: 0.95rem; }
.kit-strip { scroll-margin-top: 100px; margin-top: 3rem; padding: clamp(1.75rem, 3vw, 2.75rem); background: var(--bg-card); border: 1px solid var(--border-mid); }
.kit-strip .offer-number { margin-bottom: 0.9rem; }
.kit-strip-title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 2.1rem; line-height: 1.1; color: var(--text-primary); margin-bottom: 0.75rem; }
.kit-strip-text { color: var(--text-muted); font-size: 0.95rem; line-height: 1.75; max-width: 680px; }
.kit-strip-form { display: flex; gap: 0.75rem; margin-top: 1.5rem; max-width: 640px; }
.kit-strip-form input[type="email"] { flex: 1 1 260px; min-width: 0; background: rgba(245,239,235,0.04); border: 1px solid var(--border-mid); color: var(--text-primary); font-family: 'DM Sans', sans-serif; font-size: 0.92rem; font-weight: 300; padding: 0.9rem 1.1rem; outline: none; border-radius: 0; -webkit-appearance: none; appearance: none; }
.kit-strip-form input[type="email"]:focus { border-color: rgba(235,198,141,0.4); }
.kit-strip-form .btn-primary { border: none; cursor: pointer; white-space: nowrap; }
.kit-strip-note { margin-top: 0.85rem; font-size: 0.8rem; color: var(--text-dim); }
@media (max-width: 600px) {
  .kit-strip-form { flex-direction: column; }
  .kit-strip-form input[type="email"] { flex: none; width: 100%; }
  .kit-strip-form .btn-primary { align-self: flex-start; }
  .kit-strip-title { font-size: 1.8rem; }
}

/* Home: single pain point block in the problem section */
#notice .section-intro { max-width: 760px; }
#notice .notice-weight { font-family: 'Cormorant Garamond', Georgia, serif; font-style: normal; font-weight: 500; letter-spacing: -0.01em; font-size: clamp(1.6rem, 2.6vw, 2.1rem); line-height: 1.25; color: var(--text-primary); margin: 2.75rem 0; max-width: 760px; }
#notice .notice-bold { font-weight: 500; color: var(--text-primary); font-size: 1.05rem; line-height: 1.7; max-width: 760px; }
#notice .notice-closing .hero-text-link { line-height: 1.8; }
#notice .notice-link { display: inline-block; margin-top: 1.5rem; }

/* Everything else: four entries sit in one row on desktop, two rows of two on narrower screens */
.everything-else-list:has(> li:nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .everything-else-list:has(> li:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .everything-else-list:has(> li:nth-child(4)) { grid-template-columns: 1fr; } }

/* Home: Unstuck Kit band at the bottom of the problem section. The background bleeds to the
   screen edges with a shadow, so the band adds no width and never scrolls sideways. */
#notice .kit-strip { border: none; border-top: 1px solid var(--border-mid); border-bottom: 1px solid var(--border-mid); box-shadow: 0 0 0 100vmax var(--bg-card); clip-path: inset(0 -100vmax); padding-left: 0; padding-right: 0; }
.kit-band-label { margin-bottom: 1.1rem; color: var(--gold-accent); }
/* Band headline: the section-title serif, one step below the main section titles so it doesn't compete with the hero */
#notice .kit-band-title { font-size: clamp(2.2rem, 3.6vw, 3.6rem); max-width: 760px; margin-bottom: 1.25rem; }
@media (max-width: 900px) { #notice .kit-band-title { font-size: clamp(2rem, 6.5vw, 3rem); } }
.kit-band-offer { color: var(--text-primary); margin-top: 0.75rem; }
.kit-band-success { margin-top: 1.5rem; font-size: 1.05rem; color: var(--text-primary); }
.kit-band-error { margin-top: 0.85rem; font-size: 0.88rem; color: var(--gold-accent); }
.kit-band-error a { color: inherit; text-underline-offset: 3px; }
.kit-strip-form .btn-primary:disabled { opacity: 0.6; cursor: default; }
.kit-strip-form[hidden] { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 600px) {
  .kit-strip-form .btn-primary { align-self: stretch; width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Nav: the Free kit link, gold in the desktop nav and the mobile menu */
.nav-links a.nav-free, .mobile-menu a.nav-free { color: var(--gold-accent); font-weight: 500; }
.nav-links a.nav-free:hover, .mobile-menu a.nav-free:hover { color: #D4B07B; }
