:root{
    --paper:#F6F3EC; --paper-2:#EFEAE0; --ink:#16150F; --ink-2:#55534A; --ink-3:#8A877B;
    --line:rgba(22,21,15,.12); --accent:#E0492B; --accent-deep:#B93A20;
    --elec:#1B1E24; --elec-acc:#FFB800; --plumb:#0D2F4C; --plumb-acc:#2FB9D4;
    --law:#F4EFE6; --law-acc:#A98548; --acc:#0E7C5B; --psy:#7C8B6F; --psy-bg:#F7F1E8;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}
  .serif{font-family:'Playfair Display',serif}
  .wrap{max-width:1240px;margin:0 auto;padding:0 48px}

  /* ---------- NAV ---------- */
  .nav{position:sticky;top:0;z-index:50;background:rgba(246,243,236,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:76px}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
  .brand-mark{width:38px;height:38px;background:var(--ink);color:var(--paper);border-radius:10px;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:19px;font-weight:700}
  .brand b{font-weight:700;font-size:17px;letter-spacing:-.01em}
  .brand small{display:block;font-size:11px;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
  .nav-links{display:flex;gap:34px;align-items:center}
  .nav-links a{color:var(--ink-2);text-decoration:none;font-size:14.5px;font-weight:500}
  .nav-links a:hover{color:var(--ink)}
  .btn{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:100px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;transition:.2s}
  .btn-ink{background:var(--ink);color:var(--paper)}
  .btn-ink:hover{background:var(--accent)}
  .nav-cta{padding:11px 22px}
  .nav-cta-mob,.lead-mob,.cta-mob{display:none}
  .btn-accent{background:var(--accent);color:#fff}
  .btn-accent:hover{background:var(--accent-deep)}
  .btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
  .btn-ghost:hover{border-color:var(--ink)}

  /* ---------- HERO ---------- */
  .hero{padding:96px 0 72px;position:relative;overflow:hidden}
  .hero-peek{display:none}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
  .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);padding:8px 16px;border-radius:100px;background:#fff}
  .eyebrow i{width:8px;height:8px;border-radius:50%;background:#3D9970;box-shadow:0 0 0 4px rgba(61,153,112,.15)}
  .hero h1{font-family:'Playfair Display',serif;font-size:76px;line-height:1.04;letter-spacing:-.015em;font-weight:600;margin:26px 0 24px}
  .hero h1 em{font-style:italic;color:var(--accent)}
  .hero p.lead{font-size:19px;color:var(--ink-2);max-width:54ch;line-height:1.6}
  .hero-cta{display:flex;gap:14px;margin:36px 0 44px}
  .hero-stats{display:flex;gap:0;border-top:1px solid var(--line);padding-top:26px}
  .hero-stats div{padding-right:44px;margin-right:44px;border-right:1px solid var(--line)}
  .hero-stats div:last-child{border:0}
  .hero-stats b{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;display:block;line-height:1}
  .hero-stats span{font-size:13px;color:var(--ink-3);font-weight:500}

  /* hero collage : stacked mini mockups */
  .collage{position:relative;height:560px}
  .mini{position:absolute;width:340px;border-radius:14px;background:#fff;box-shadow:0 24px 60px -18px rgba(22,21,15,.28);border:1px solid rgba(22,21,15,.08);overflow:hidden;transition:.3s}
  .mini-bar{display:flex;gap:5px;padding:9px 12px;border-bottom:1px solid rgba(22,21,15,.07);background:#FBFAF7;align-items:center}
  .mini-bar i{width:8px;height:8px;border-radius:50%;background:#DAD6CC}
  .mini-bar i:first-child{background:var(--accent)}
  .mini-url{margin-left:8px;font-size:9.5px;color:var(--ink-3);background:#F0EDE5;border-radius:5px;padding:2px 9px;font-weight:500}
  .mini-body{padding:16px 16px 18px}
  .mini-tag{font-size:8.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:4px;display:inline-block;margin-bottom:9px}
  .mini-h{font-family:'Playfair Display',serif;font-size:19px;line-height:1.2;font-weight:600}
  .mini-lines{margin-top:10px;display:grid;gap:6px}
  .mini-lines i{height:6px;border-radius:3px;background:rgba(22,21,15,.09)}
  .mini-lines i:last-child{width:60%}
  .mini-btn{margin-top:12px;display:inline-block;font-size:10px;font-weight:700;padding:6px 14px;border-radius:100px;color:#fff}
  .m1{top:0;right:30px;z-index:3;transform:rotate(2.5deg)}
  .m2{top:170px;left:0;z-index:2;transform:rotate(-3deg)}
  .m3{top:330px;right:70px;z-index:1;transform:rotate(1.5deg)}
  .collage-badge{position:absolute;z-index:4;bottom:6px;left:26px;background:var(--ink);color:var(--paper);border-radius:14px;padding:16px 20px;box-shadow:0 18px 40px -12px rgba(22,21,15,.4)}
  .collage-badge b{font-family:'Playfair Display',serif;font-size:22px}
  .collage-badge span{display:block;font-size:11.5px;color:#B9B5A8;margin-top:2px}

  /* ---------- MARQUEE ---------- */
  .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);overflow:hidden;padding:16px 0}
  .marquee-track{display:flex;gap:56px;white-space:nowrap;font-family:'Playfair Display',serif;font-size:20px;font-style:italic;justify-content:center}
  .marquee-track span{display:flex;align-items:center;gap:56px}
  .marquee-track i{font-style:normal;color:var(--accent);font-size:12px}

  /* ---------- SECTIONS ---------- */
  section{padding:110px 0}
  .sec-head{max-width:720px;margin-bottom:64px}
  .sec-label{font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px;margin-bottom:18px}
  .sec-label::before{content:"";width:34px;height:2px;background:var(--accent)}
  h2{font-family:'Playfair Display',serif;font-size:52px;line-height:1.1;letter-spacing:-.01em;font-weight:600}
  .sec-sub{font-size:17.5px;color:var(--ink-2);margin-top:18px;line-height:1.65}

  /* ---------- SHOWCASE ---------- */
  .showcase{background:var(--paper-2)}
  .demo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
  .demo-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:.25s}
  .demo-card:hover{transform:translateY(-6px);box-shadow:0 28px 56px -20px rgba(22,21,15,.25)}
  .demo-card:nth-child(1),.demo-card:nth-child(2),.demo-card:nth-child(3){grid-column:span 2}
  .demo-card:nth-child(4),.demo-card:nth-child(5){grid-column:span 3}
  .demo-shot{height:230px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
  .demo-shot-inner{position:absolute;inset:0;padding:22px}
  .shot-pill{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:100px;display:inline-block}
  .shot-h{font-family:'Playfair Display',serif;font-size:22px;line-height:1.15;margin-top:12px;font-weight:600}
  .shot-btn{position:absolute;bottom:22px;left:22px;font-size:10.5px;font-weight:700;padding:7px 16px;border-radius:100px;color:#fff}
  .shot-deco{position:absolute;right:-34px;bottom:-34px;width:150px;height:150px;border-radius:50%;opacity:.16}
  .demo-meta{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .demo-meta h3{font-size:17px;font-weight:700;letter-spacing:-.01em}
  .demo-meta p{font-size:13px;color:var(--ink-3);margin-top:3px}
  .demo-arrow{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink)}
  .demo-card:hover .demo-arrow{background:var(--ink);color:var(--paper);border-color:var(--ink)}

  /* ---------- WHY ---------- */
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
  .why-card{border:1px solid var(--line);border-radius:20px;padding:36px 32px;background:#fff;position:relative;overflow:hidden}
  .why-card .num{font-family:'Playfair Display',serif;font-size:15px;font-style:italic;color:var(--accent);font-weight:600}
  .why-card h3{font-family:'Playfair Display',serif;font-size:25px;margin:14px 0 12px;font-weight:600;line-height:1.2}
  .why-card p{font-size:15px;color:var(--ink-2);line-height:1.65}
  .why-swatch{position:absolute;top:0;right:0;width:88px;height:88px;border-bottom-left-radius:100%}

  /* ---------- PROCESS ---------- */
  .process{background:var(--ink);color:var(--paper)}
  .process .sec-label{color:var(--accent)}
  .process h2{color:var(--paper)}
  .process .sec-sub{color:#A5A194}
  .proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(246,243,236,.14);border-radius:22px;overflow:hidden}
  .proc-step{padding:44px 38px;border-right:1px solid rgba(246,243,236,.14)}
  .proc-step:last-child{border-right:0}
  .proc-step .step{font-family:'Playfair Display',serif;font-style:italic;font-size:46px;color:var(--accent);line-height:1;font-weight:500}
  .proc-step h3{font-size:20px;margin:22px 0 12px;font-weight:600}
  .proc-step p{font-size:14.5px;color:#A5A194;line-height:1.7}

  /* ---------- PRICING ---------- */
  .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
  .price-card{border:1px solid var(--line);border-radius:22px;padding:40px 36px;background:#fff;display:flex;flex-direction:column}
  .price-card.featured{background:var(--ink);color:var(--paper);transform:scale(1.03);box-shadow:0 30px 60px -22px rgba(22,21,15,.45)}
  .price-card .plan{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
  .price-card.featured .plan{color:var(--accent)}
  .price-card .amount{font-family:'Playfair Display',serif;font-size:42px;font-weight:700;margin:16px 0 6px}
  .price-card .amount-note{font-size:13.5px;color:var(--ink-3)}
  .price-card.featured .amount-note{color:#A5A194}
  .price-card ul{list-style:none;margin:28px 0 34px;flex:1}
  .price-card li{font-size:14.5px;padding:9px 0;border-bottom:1px solid var(--line);display:flex;gap:11px;align-items:center;color:var(--ink-2)}
  .price-card.featured li{border-color:rgba(246,243,236,.14);color:#CFCBBE}
  .price-card li svg{flex:none}

  /* ---------- FAQ ---------- */
  .faq{background:var(--paper-2)}
  .faq-list{max-width:820px}
  .faq-item{border-bottom:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:1fr 40px;gap:20px;align-items:start}
  .faq-item h3{font-size:19px;font-weight:600;letter-spacing:-.01em}
  .faq-item p{font-size:15.5px;color:var(--ink-2);margin-top:12px;line-height:1.7;max-width:64ch}
  .faq-icon{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-weight:300;font-size:20px;color:var(--ink-2)}

  /* ---------- CONTACT ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
  .contact h2{font-size:58px}
  .contact-points{margin-top:36px;display:grid;gap:18px}
  .contact-point{display:flex;gap:16px;align-items:flex-start}
  .contact-point .ic{width:44px;height:44px;flex:none;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent)}
  .contact-point b{display:block;font-size:15.5px}
  .contact-point span{font-size:14px;color:var(--ink-2)}
  .form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px;box-shadow:0 30px 70px -30px rgba(22,21,15,.25)}
  .form-card h3{font-family:'Playfair Display',serif;font-size:26px;margin-bottom:6px;font-weight:600}
  .form-card>p{font-size:14px;color:var(--ink-3);margin-bottom:26px}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .field{margin-bottom:14px}
  .field label{display:block;font-size:12.5px;font-weight:600;letter-spacing:.04em;margin-bottom:7px;color:var(--ink-2)}
  .field input,.field textarea,.field select{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:14.5px;background:var(--paper);color:var(--ink)}
  .field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
  .form-note{font-size:12.5px;color:var(--ink-3);margin-top:14px;display:flex;gap:8px;align-items:center}

  /* ---------- FOOTER ---------- */
  footer{background:var(--ink);color:#A5A194;padding:44px 0}
  .foot{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}
  .foot b{color:var(--paper);font-family:'Playfair Display',serif;font-size:17px;font-weight:600}
  .foot-right{display:flex;gap:28px}
  .foot-right a{color:#A5A194;text-decoration:none}
  .foot-right a:hover{color:var(--paper)}

.form-msg { margin-top: 14px; font-size: 14px; padding: 12px 14px; border-radius: 10px; }
.form-msg.ok { background: #DDF0E8; color: #0A5C44; }
.form-msg.err { background: #FDE8E8; color: #9B1C1C; }
.contact__form .field select { width: 100%; padding: 13px 16px; border: 1px solid var(--line); border-radius: 12px; font: inherit; font-size: 14.5px; background: var(--paper); color: var(--ink); }
.contact__form button[type="submit"] { border: none; cursor: pointer; }

/* ---------- MOBILE (Alt A — compact single CTA) ---------- */
@media (max-width: 900px) {
  html,
  body {
    overflow-x: hidden;
  }

  .wrap {
    padding: 0 22px;
  }

  .nav-cta-desk,
  .lead-desk,
  .cta-desk,
  .brand small {
    display: none;
  }

  .nav-cta-mob,
  .cta-mob {
    display: inline;
  }

  .lead-mob {
    display: block;
  }

  /* Compact cream nav + Demo chip */
  .nav {
    background: rgba(246, 243, 236, 0.96);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(10px);
  }

  .nav-in {
    flex-wrap: nowrap;
    height: 64px;
    padding: 0;
    gap: 12px;
  }

  .brand {
    color: var(--ink);
    min-width: 0;
    gap: 10px;
  }

  .brand-mark {
    width: 34px;
    height: 34px;
    background: var(--ink);
    color: var(--paper);
    border-radius: 9px;
    font-size: 17px;
    flex: none;
  }

  .brand b {
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .nav-links {
    flex-wrap: nowrap;
    gap: 0;
    width: auto;
    flex: none;
  }

  .nav-links a:not(.btn) {
    display: none;
  }

  .nav-links .btn.nav-cta {
    width: auto;
    justify-content: center;
    background: transparent;
    color: var(--ink);
    border: 1px solid rgba(22, 21, 15, 0.28);
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 10px;
  }

  .nav-links .btn.nav-cta:hover {
    background: var(--ink);
    color: var(--paper);
    border-color: var(--ink);
  }

  /* Light hero */
  .hero {
    background: var(--paper);
    padding: 36px 0 0;
    overflow: visible;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .eyebrow {
    display: none;
  }

  .hero h1 {
    color: var(--ink);
    font-size: clamp(34px, 8.8vw, 44px);
    line-height: 1.06;
    margin: 0 0 18px;
    letter-spacing: -0.02em;
  }

  .hero h1 em {
    color: var(--accent);
    font-style: italic;
  }

  .hero p.lead-mob {
    color: var(--ink-2);
    font-size: 15.5px;
    line-height: 1.55;
    max-width: 36ch;
    margin: 0;
  }

  .collage {
    display: none;
  }

  .hero-cta {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin: 28px 0 8px;
  }

  .hero-cta .btn-accent {
    width: 100%;
    justify-content: center;
    border-radius: 14px;
    padding: 15px 22px;
  }

  .hero-cta .btn-ghost.hero-cta-secondary {
    display: inline-flex;
    width: auto;
    align-self: center;
    border: none;
    background: transparent;
    padding: 4px 2px;
    border-radius: 0;
    font-weight: 600;
    font-size: 15px;
    text-decoration: underline;
    text-underline-offset: 4px;
    color: var(--ink);
  }

  .hero-cta .btn-ghost.hero-cta-secondary:hover {
    color: var(--accent);
    border: none;
  }

  /* Overlapping demo strip */
  .hero-peek {
    display: block;
    background: transparent;
    margin-top: 28px;
    padding: 0 0 8px;
    overflow: hidden;
  }

  .hero-strip {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 0;
    padding: 8px 8px 0;
    min-height: 168px;
  }

  .hero-strip-card {
    position: relative;
    width: 42%;
    max-width: 168px;
    flex: none;
    box-shadow: 0 16px 36px -14px rgba(22, 21, 15, 0.28);
  }

  .hero-strip-card .mini-body {
    padding: 12px 12px 0;
  }

  .hero-strip-card .mini-h {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .hero-strip-card .mini-tag {
    margin-bottom: 6px;
  }

  .hero-strip-card:nth-child(1) {
    z-index: 1;
    transform: rotate(-6deg) translateY(18px);
  }

  .hero-strip-card:nth-child(2) {
    z-index: 3;
    transform: rotate(1deg) translateY(0);
    margin: 0 -18px;
  }

  .hero-strip-card:nth-child(3) {
    z-index: 2;
    transform: rotate(7deg) translateY(22px);
  }

  .hero-strip-shot {
    height: 72px;
    margin: 0 -12px;
    border-radius: 10px 10px 0 0;
  }

  .hero-strip-shot--law {
    background:
      linear-gradient(160deg, rgba(22, 21, 15, 0.06), transparent),
      radial-gradient(circle at 40% 50%, #C4A574 0%, transparent 55%),
      #E8DFD0;
  }

  .hero-strip-shot--psy {
    background:
      linear-gradient(160deg, rgba(62, 74, 61, 0.08), transparent),
      radial-gradient(circle at 60% 40%, #A8B89A 0%, transparent 50%),
      #DDE3D4;
  }

  .hero-strip-shot--elec {
    background:
      linear-gradient(160deg, rgba(255, 184, 0, 0.18), transparent),
      radial-gradient(circle at 50% 45%, #3A3F4A 0%, transparent 55%),
      #1B1E24;
  }

  .hero-stats {
    flex-direction: column;
    gap: 0;
  }

  .hero-stats div {
    border: none;
    padding: 14px 0;
    margin: 0;
    border-bottom: 1px solid var(--line);
  }

  .hero-stats div:last-child {
    border-bottom: none;
  }

  .hero-stats b {
    font-size: 28px;
  }

  h2 {
    font-size: clamp(28px, 7vw, 36px);
  }

  section {
    padding: 64px 0;
  }

  .demo-grid {
    grid-template-columns: 1fr !important;
  }

  .demo-card {
    grid-column: span 1 !important;
  }

  .why-grid,
  .price-grid,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .proc-grid {
    grid-template-columns: 1fr;
  }

  .proc-step {
    border-right: none;
    border-bottom: 1px solid rgba(246, 243, 236, 0.14);
  }

  .proc-step:last-child {
    border-bottom: none;
  }

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

  .contact h2 {
    font-size: clamp(30px, 7vw, 40px);
  }

  .frow {
    grid-template-columns: 1fr;
  }

  .form-card {
    padding: 28px 22px;
  }

  .foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .foot-right {
    flex-wrap: wrap;
    gap: 14px;
  }

  .marquee-track {
    font-size: 16px;
    gap: 28px;
  }

  .faq-item {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}



