/* ==================================================================
     ARCHITECTURE NOTE: all horizontal page padding — the main site's
     .wrap AND every demo page's own section classes — reads from the
     single --pad variable below. There is exactly one number to change
     for the whole site to get more or less breathing room, and no
     other rule anywhere sets left/right padding on these selectors.
     Page switching uses plain display:none/block — no flex, no
     forced widths on children — to keep every element's own box model
     the single source of truth for its own size.
     ================================================================== */
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-padding-top:env(safe-area-inset-top,0px)}
  :root{
    --pad-top:env(safe-area-inset-top,0px);
    --pad-bottom:env(safe-area-inset-bottom,0px);
    --radius:2px;
    --pad:32px;
  }
  body{
    padding-top:var(--pad-top);
    padding-bottom:var(--pad-bottom);
    font-family:'IBM Plex Sans',sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    min-height:100vh;
  }
  a{color:inherit;text-decoration:none}
  img,svg{max-width:100%;display:block}
  ul{list-style:none}
  button{font-family:inherit;cursor:pointer;border:none;background:none}
  .page{display:none}
  .page.active{display:block}
  .wrap{max-width:1080px;margin:0 auto;padding:0 var(--pad)}
  .btn{
    display:inline-block;padding:13px 26px;border-radius:var(--radius);
    font-weight:600;font-size:15px;
    transition:transform .25s cubic-bezier(.2,.8,.2,1), background .2s ease, opacity .2s ease, box-shadow .25s ease;
    cursor:pointer;
  }
  .btn:hover{transform:translateY(-3px)}
  .btn:active{transform:translateY(-1px) scale(.98)}

  /* ============ LWC THEME (Lima Web Co main site) ============ */
  body[data-theme="lwc"]{background:#ffffff;color:#0f172a}
  [data-theme="lwc"] h1,[data-theme="lwc"] h2,[data-theme="lwc"] h3,[data-theme="lwc"] .logotype{font-family:'Space Grotesk',sans-serif}
  [data-theme="lwc"] .btn-primary{background:#0f172a;color:#fff}
  [data-theme="lwc"] .btn-primary:hover{background:#1e293b}
  [data-theme="lwc"] .btn-lime{background:#84cc16;color:#1a2e05}
  [data-theme="lwc"] .btn-lime:hover{background:#75b613}
  [data-theme="lwc"] .btn-ghost{border:1.5px solid #0f172a;color:#0f172a}
  [data-theme="lwc"] .soft{color:#475569}
  .lwc-steps{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
  @media (max-width:720px){.lwc-steps{grid-template-columns:1fr}}
  .lwc-steps .stepnum{display:inline-block;width:28px;height:28px;border-radius:50%;background:#0f172a;color:#fff;font-size:12px;font-weight:700;text-align:center;line-height:28px;margin-bottom:12px}
  .lwc-steps h3{font-size:16px;margin-bottom:6px}
  .lwc-steps p{font-size:14px;color:#475569}
  [data-theme="lwc"] .bg-alt{background:#f6f7f4}

  #main-nav{
    position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e6e8e3;
    padding:16px 0 16px;
  }
  #main-nav .row{display:flex;align-items:center;justify-content:space-between}
  .brand{display:flex;align-items:center;gap:10px}
  .brand-badge{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0}
  .brand-name{font-weight:600;font-size:16px}
  #main-nav nav{display:flex;gap:28px}
  #main-nav nav a{font-size:14px;font-weight:500;color:#334155}
  #main-nav nav a.active-link{color:#0f172a;border-bottom:2px solid #84cc16;padding-bottom:2px}
  .nav-toggle{display:none;font-size:22px;background:none;border:none}
  @media (max-width:720px){
    #main-nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;border-bottom:1px solid #e6e8e3;padding:8px var(--pad) 16px}
    #main-nav nav.open{display:flex}
    #main-nav nav a{padding:12px 0;border-bottom:1px solid #f1f2ef}
    .nav-toggle{display:block}
  }

  .hero{padding-top:76px;padding-bottom:64px}
  .hero h1{font-size:clamp(38px,7vw,84px);font-weight:700;line-height:1.02;letter-spacing:-.02em;max-width:13ch}
  .hero p.lede{font-size:18px;margin-top:20px;max-width:46ch}
  .hero .ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}

  .stripe{border-top:1px solid #e6e8e3;border-bottom:1px solid #e6e8e3;padding:28px 0}
  .stripe .row{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between}
  .stripe .item b{display:block;font-family:'Space Grotesk',sans-serif;font-size:15px}
  .stripe .item span{font-size:13px;color:#64748b}

  section.block{padding-top:64px;padding-bottom:64px}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;width:100%}
  .grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;width:100%}
  @media (max-width:720px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr;gap:28px}}

  .value-card h3{font-size:17px;margin-bottom:8px}
  .value-card p{font-size:14.5px;color:#475569}
  .value-card .num{font-family:'Space Grotesk',sans-serif;font-weight:700;color:#84cc16;font-size:46px;line-height:1;display:block;margin-bottom:14px;letter-spacing:-.02em}

  .photo-block{
    aspect-ratio:4/3;border-radius:2px;overflow:hidden;position:relative;
    background:linear-gradient(135deg,#1e293b 0%,#0f172a 55%,#334155 100%);
  }
  .photo-block::after{
    content:attr(data-caption);position:absolute;bottom:12px;left:14px;right:14px;
    color:#e2e8f0;font-size:11.5px;font-style:italic;opacity:.85;line-height:1.35;overflow-wrap:break-word;
  }
  .photo-block.warm{background:linear-gradient(135deg,#6b1420 0%,#8c1c2b 55%,#c9a227 100%)}
  .photo-block.green{background:linear-gradient(135deg,#0f1e15 0%,#1f3a2e 55%,#4b6a52 100%)}
  .photo-block.blush{background:linear-gradient(135deg,#2e1930 0%,#3b1f3a 55%,#7a4a6e 100%)}

  .portfolio-card{border:1px solid #e6e8e3;border-radius:2px;overflow:hidden}
  .portfolio-card .meta{padding:20px 22px}
  .portfolio-card .tag{display:inline-block;font-size:11.5px;font-weight:600;background:#eef4d9;color:#4d7c0f;padding:3px 10px;border-radius:99px;margin-bottom:10px}

  .why-grid{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:32px 28px}
  @media (max-width:720px){.why-grid{grid-template-columns:1fr}}
  .why-item{border-left:2px solid #84cc16;padding-left:18px}
  .why-item h3{font-size:16px;margin-bottom:6px}
  .why-item p{font-size:14px;color:#475569}
  .why-item .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;color:#84cc16;margin-bottom:8px}
  .cta-band{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);color:#fff;border-radius:2px;padding:56px 48px;text-align:center;border:1px solid #1e293b}
  .cta-band h2{font-size:26px;margin-bottom:10px}
  .cta-band p{color:#cbd5e1;margin-bottom:24px}

  /* pricing */
  .price-col{border:1px solid #e6e8e3;border-radius:2px;padding:28px 24px;display:flex;flex-direction:column}
  .price-col.featured{border:2px solid #84cc16;position:relative}
  .price-col .badge-top{position:absolute;top:-13px;left:24px;background:#84cc16;color:#1a2e05;font-size:11.5px;font-weight:700;padding:3px 12px;border-radius:99px}
  .price-col h3{font-size:19px;margin-bottom:6px}
  .price-col .price{font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:600;margin:14px 0 2px}
  .price-col .price-note{font-size:13px;color:#64748b;margin-bottom:18px}
  .price-col ul{margin:0 0 24px;flex:1}
  .price-col li{font-size:14px;padding:7px 0;border-top:1px solid #f1f2ef;color:#334155}
  .price-col li:first-child{border-top:none}
  .price-col .btn{text-align:center;width:100%}
  .chart-bar-line{display:flex;align-items:center;gap:12px;margin-bottom:7px}
  .chart-row-name{width:68px;flex-shrink:0;font-size:13px;font-weight:600}
  .chart-bar-track{flex:1;background:#f1f2ef;height:26px;border-radius:2px;overflow:hidden}
  .chart-bar-fill{height:100%;border-radius:2px}
  .chart-bar-fill.market{background:#cbd5c8}
  .chart-bar-fill.lwc{background:#0f172a}
  .chart-bar-value{width:112px;flex-shrink:0;font-size:12.5px;font-weight:600;color:#334155}
  .chart-bar-value.lwc-val{color:#0f172a;font-weight:700}
  .chart-tier-group{margin-bottom:22px}
  .chart-legend{display:flex;gap:20px;margin-top:8px;font-size:12.5px;color:#64748b}
  .chart-legend .dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle}
  .chart-legend .dot.market{background:#cbd5c8}
  .chart-legend .dot.lwc{background:#0f172a}

  .quote-tool{background:#f6f7f4;border-radius:2px;padding:32px}
  .quote-tool .row{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
  @media (max-width:640px){.quote-tool .row{grid-template-columns:1fr}}
  .quote-tool label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
  .pill-group{display:flex;flex-wrap:wrap;gap:8px}
  .pill{padding:10px 18px;border:1.5px solid #cbd5c8;border-radius:2px;background:#fff;font-size:13.5px;font-weight:600;color:#334155;transition:background .15s ease,color .15s ease,border-color .15s ease}
  .pill:hover{border-color:#0f172a}
  .pill.active{background:#0f172a;color:#fff;border-color:#0f172a}
  .quote-tool select{width:100%;padding:11px 12px;border-radius:2px;border:1px solid #cbd5c8;font-size:14px;background:#fff}
  .quote-result{margin-top:18px;padding:18px 20px;border-radius:2px;background:#fff;border:1px solid #e6e8e3;display:none}
  .quote-result.show{display:block}
  .quote-result .amt{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:600;color:#0f172a}
  .quote-compare{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
  .quote-compare span{font-size:12.5px;color:#94a3b8}
  .quote-compare b{font-size:15px;color:#94a3b8;text-decoration:line-through;font-weight:600}
  .quote-why{font-size:12.5px;color:#94a3b8;margin-top:8px;font-style:italic}

  .about-photo{aspect-ratio:1;border-radius:2px;background:linear-gradient(135deg,#84cc16 0%,#0f172a 100%);max-width:280px}

  form.lead-form{display:grid;gap:16px;max-width:480px}
  form.lead-form label{font-size:13px;font-weight:600;display:block;margin-bottom:6px}
  form.lead-form input,form.lead-form select,form.lead-form textarea{
    width:100%;padding:12px 13px;border-radius:2px;border:1px solid #cbd5c8;font-size:14.5px;font-family:inherit;
  }
  .form-msg{display:none;padding:14px 16px;border-radius:2px;background:#eef4d9;color:#3f6212;font-size:14px;margin-top:4px}
  .form-msg.show{display:block}

  footer.site-footer{border-top:1px solid #e6e8e3;padding-top:40px;padding-bottom:40px;margin-top:40px}
  footer.site-footer .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13.5px;color:#64748b}

  /* ============ DEMO BANNER (shared, styled per theme below) ============ */
  .demo-banner{
    padding:12px var(--pad);text-align:center;font-size:13.5px;font-weight:500;
    display:flex;justify-content:center;gap:8px;flex-wrap:wrap;
  }
  .demo-banner a{text-decoration:underline;font-weight:600}

  /* ============ STARTER THEME — Sweet Basil Catering ============ */
  body[data-theme="starter"]{background:#FBF6EE;color:#3B1114}
  [data-theme="starter"] h1,[data-theme="starter"] h2,[data-theme="starter"] h3{font-family:'Fraunces',serif}
  [data-theme="starter"] body,[data-theme="starter"]{font-family:'Karla',sans-serif}
  [data-theme="starter"] .demo-banner{background:#3B1114;color:#F3E9D8}
  [data-theme="starter"] .soft{color:#6B3A3E}
  [data-theme="starter"] .btn-primary{background:#8C1C2B;color:#fff}
  [data-theme="starter"] .btn-primary:hover{background:#711620}
  [data-theme="starter"] .divider{height:2px;width:56px;background:#C9A227;margin:18px 0}
  .starter-hero{padding:64px var(--pad) 8px;text-align:center;max-width:780px;margin:0 auto}
  .starter-hero .tag{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:#8C1C2B}
  .starter-hero h1{font-size:clamp(34px,6.5vw,66px);margin:14px 0 16px;line-height:1.03;letter-spacing:-.01em}
  .starter-hero p{font-size:16.5px;color:#6B3A3E;max-width:52ch;margin:0 auto 28px}
  .starter-section{max-width:780px;margin:0 auto;padding:44px var(--pad)}
  .starter-section h2{font-size:26px;margin-bottom:14px}
  .starter-menu-item{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #E7D9BE}
  .starter-menu-item:first-child{border-top:none}
  .starter-menu-item b{font-size:15.5px}
  .starter-menu-item span.price{font-family:'Fraunces',serif;color:#8C1C2B}
  .starter-menu-item p{font-size:13.5px;color:#6B3A3E;margin-top:2px}
  .starter-gallery{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:10px}
  @media (max-width:600px){.starter-gallery{grid-template-columns:repeat(2,1fr)}}
  .starter-gallery .photo-block{aspect-ratio:1;border-radius:2px}
  .starter-contact{background:#3B1114;color:#F3E9D8;padding:44px var(--pad);text-align:center}
  .starter-contact a.btn{margin-top:16px}
  [data-theme="starter"] .starter-testimonial{background:#F3E9D8;border-radius:2px;padding:28px 26px;font-size:16px;font-style:italic;color:#3B1114;max-width:780px;margin:0 auto}
  [data-theme="starter"] .starter-testimonial span{display:block;margin-top:12px;font-style:normal;font-size:13.5px;color:#8C1C2B;font-weight:600}
  .starter-steps{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
  @media (max-width:640px){.starter-steps{grid-template-columns:1fr}}
  .starter-steps b{display:block;font-family:'Fraunces',serif;font-size:15px;margin-bottom:6px}
  .starter-steps .stepnum{display:inline-block;width:26px;height:26px;border-radius:50%;background:#8C1C2B;color:#fff;font-size:12px;font-weight:700;text-align:center;line-height:26px;margin-bottom:10px}
  .starter-steps p{font-size:13.5px;color:#6B3A3E}
  .starter-footer{background:#2A0D0F;color:#E7D9BE;padding:40px var(--pad) 28px}
  .starter-footer .fwrap{max-width:780px;margin:0 auto}
  .starter-footer .cols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:24px}
  .starter-footer h4{font-family:'Fraunces',serif;font-size:15px;margin-bottom:10px;color:#fff}
  .starter-footer p{font-size:13px;color:#D8C4A0;line-height:1.9}
  .starter-footer .bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;font-size:12px;color:#B79E78;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

  /* ============ STANDARD THEME — GreenScape Lawn & Design ============ */
  body[data-theme="standard"]{background:#EDEAE2;color:#1F2E22}
  [data-theme="standard"] h1,[data-theme="standard"] h2,[data-theme="standard"] h3{font-family:'Archivo',sans-serif;font-weight:700}
  [data-theme="standard"]{font-family:'Work Sans',sans-serif}
  [data-theme="standard"] .demo-banner{background:#1F3A2E;color:#EDEAE2}
  [data-theme="standard"] .soft{color:#425446}
  [data-theme="standard"] .btn-primary{background:#1F3A2E;color:#fff}
  [data-theme="standard"] .btn-primary:hover{background:#16291f}
  [data-theme="standard"] .btn-ghost{border:1.5px solid #1F3A2E}
  .gs-nav{background:#fff;border-bottom:1px solid #DCD6C6;padding:16px var(--pad);position:sticky;top:0;z-index:40}
  .gs-nav .row{max-width:1000px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
  .gs-nav .brandname{font-family:'Archivo',sans-serif;font-weight:700;font-size:17px}
  .gs-nav ul{display:flex;gap:22px}
  .gs-nav a{font-size:13.5px;font-weight:600}
  .gs-nav a.active-link{color:#A84B32}
  @media (max-width:720px){
    .gs-nav .row{flex-direction:column;align-items:flex-start;gap:10px}
    .gs-nav ul{flex-wrap:wrap;gap:8px 18px}
  }
  .gs-hero{max-width:1000px;margin:0 auto;padding:56px var(--pad);display:grid;width:100%;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
  @media (max-width:760px){.gs-hero{grid-template-columns:1fr}}
  .gs-hero h1{font-size:clamp(32px,6vw,62px);line-height:1.03;letter-spacing:-.015em}
  .gs-hero p{color:#425446;margin-top:16px;max-width:44ch}
  .gs-section{max-width:1000px;margin:0 auto;padding:48px var(--pad)}
  .gs-section h2{font-size:24px;margin-bottom:22px}
  .gs-services{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:18px}
  @media (max-width:720px){.gs-services{grid-template-columns:1fr}}
  .gs-service{background:#fff;border:1px solid #DCD6C6;border-radius:2px;padding:22px}
  .gs-service h3{font-size:16px;margin-bottom:8px;font-family:'Archivo',sans-serif}
  .gs-service p{font-size:13.5px;color:#425446}
  .gs-service .price{font-family:'Archivo',sans-serif;color:#A84B32;font-size:14px;margin-top:10px;display:block}
  .gs-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%}
  @media (max-width:600px){.gs-gallery{grid-template-columns:1fr}}
  .gs-gallery .photo-block{aspect-ratio:16/11}
  .gs-testimonial{background:#fff;border-left:3px solid #A84B32;padding:20px 24px;font-size:15px;font-style:italic;color:#1F2E22;margin-top:8px}
  .gs-testimonial span{display:block;margin-top:10px;font-style:normal;font-size:13px;color:#425446}
  .gs-stats{background:#fff;border-top:1px solid #DCD6C6;border-bottom:1px solid #DCD6C6}
  .gs-stats .row{max-width:1000px;margin:0 auto;padding:26px var(--pad);display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
  .gs-stats .stat b{display:block;font-family:'Archivo',sans-serif;font-size:26px;color:#1F3A2E}
  .gs-stats .stat span{font-size:12.5px;color:#425446}
  .gs-testi-grid{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:16px}
  @media (max-width:720px){.gs-testi-grid{grid-template-columns:1fr}}
  .gs-steps{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
  @media (max-width:640px){.gs-steps{grid-template-columns:1fr}}
  .gs-steps b{display:block;font-family:'Archivo',sans-serif;font-size:15px;margin-bottom:6px}
  .gs-steps p{font-size:13.5px;color:#425446}
  .gs-steps .stepnum{display:inline-block;width:26px;height:26px;border-radius:50%;background:#1F3A2E;color:#fff;font-size:12px;font-weight:700;text-align:center;line-height:26px;margin-bottom:10px}
  .gs-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
  .gs-badges span{background:#fff;border:1px solid #DCD6C6;border-radius:99px;padding:6px 14px;font-size:12.5px;color:#1F3A2E;font-weight:600}
  .gs-footer{background:#16291f;color:#D9D5C6;padding:40px var(--pad) 24px}
  .gs-footer .cols{max-width:1000px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:20px}
  .gs-footer h4{font-family:'Archivo',sans-serif;font-size:14px;margin-bottom:10px;color:#fff}
  .gs-footer p{font-size:13px;color:#B7C2B9;line-height:1.9}
  .gs-footer .bottom{max-width:1000px;margin:0 auto;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;font-size:12px;color:#8FA090;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

  /* ============ PREMIUM DEMO — Petal & Stem Florals (v2) ============
     Every class here is prefixed pp- so nothing collides with the main
     site. Horizontal padding lives ONLY on .pp-wrap, and .pp-wrap is never
     combined with another class on the same element. Sections set
     padding-top/bottom only. */
  body[data-theme="premium"]{
    --pp-ink:#2B1A2A; --pp-ink-soft:#6B5569; --pp-plum:#4B2A47; --pp-plum-deep:#321C30;
    --pp-paper:#FBF6F4; --pp-white:#FFFFFF; --pp-blush:#F3E1E4; --pp-rose:#B8566F; --pp-rose-dark:#9A4259;
    --pp-moss:#5F6B45; --pp-line:rgba(43,26,42,.13); --pp-line-light:rgba(251,246,244,.18);
    background:var(--pp-paper); color:var(--pp-ink);
    font-family:'Jost',sans-serif; font-size:16px; line-height:1.65;
  }
  [data-theme="premium"] h1,[data-theme="premium"] h2,[data-theme="premium"] h3{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.08;letter-spacing:-.005em}
  [data-theme="premium"] :focus-visible{outline:2.5px solid var(--pp-rose);outline-offset:3px}
  .pp-chrome{display:none}
  body.pp-on .pp-chrome{display:block}
  body.pp-no-cta #pp-cta{display:none}

  .pp-wrap{max-width:1180px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
  .pp-sec{padding-top:104px;padding-bottom:104px}
  .pp-bg-blush{background:var(--pp-blush)}
  .pp-bg-white{background:var(--pp-white)}
  .pp-bg-dark{background:var(--pp-plum-deep);color:var(--pp-blush)}
  .pp-bg-dark h2,.pp-bg-dark h3{color:var(--pp-paper)}

  /* banner + header */
  .pp-banner{background:var(--pp-plum-deep);color:var(--pp-blush);font-size:13.5px}
  .pp-banner-row{display:flex;justify-content:center;align-items:center;gap:6px 16px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px;text-align:center}
  .pp-banner a{text-decoration:underline;font-weight:500;color:var(--pp-paper)}
  .pp-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(251,246,244,.96);border-bottom:1px solid var(--pp-line);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
  .pp-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px}
  .pp-logo{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
  .pp-logo em{font-style:italic;font-weight:500;color:var(--pp-rose)}
  .pp-links{display:flex;align-items:center;gap:2px}
  .pp-links > a,.pp-dd-btn{font-size:14.5px;font-weight:500;color:var(--pp-ink-soft);padding:8px 13px;border-radius:99px;transition:background .18s ease,color .18s ease}
  .pp-links > a:hover,.pp-dd-btn:hover{color:var(--pp-ink)}
  .pp-links > a.is-current,.pp-dd-btn.is-current{color:var(--pp-ink);background:var(--pp-blush)}
  .pp-dd{position:relative}
  .pp-dd-btn::after{content:'';display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:8px}
  .pp-dd-panel{position:absolute;top:calc(100% + 10px);right:0;width:290px;background:var(--pp-white);border:1px solid var(--pp-line);border-radius:10px;box-shadow:0 24px 50px -22px rgba(43,26,42,.45);padding:8px;display:none}
  .pp-dd-panel::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px}
  .pp-dd:hover .pp-dd-panel,.pp-dd:focus-within .pp-dd-panel{display:block}
  .pp-dd-panel a{display:block;padding:10px 12px;border-radius:7px}
  .pp-dd-panel a:hover,.pp-dd-panel a.is-current{background:var(--pp-blush)}
  .pp-dd-panel strong{display:block;font-weight:500;font-size:14.5px}
  .pp-dd-panel span{display:block;font-size:13px;color:var(--pp-ink-soft);margin-top:1px}
  .pp-nav-right{display:flex;align-items:center;gap:10px}
  .pp-menu-btn{display:none;font-size:14.5px;font-weight:500;border:1.5px solid var(--pp-ink) !important;border-radius:99px;padding:8px 16px;color:var(--pp-ink)}
  .pp-drawer{display:none;border-top:1px solid var(--pp-line);background:var(--pp-paper)}
  .pp-drawer.open{display:block}
  .pp-drawer-inner{padding-top:8px;padding-bottom:22px}
  .pp-drawer a{display:block;padding:13px 0;font-size:17px;border-bottom:1px solid var(--pp-line)}
  .pp-drawer a.is-current{color:var(--pp-rose)}
  .pp-drawer .pp-btn{margin-top:18px;width:100%;border-bottom:none}

  /* buttons + links */
  .pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:99px;font-weight:500;font-size:15px;border:1.5px solid transparent;transition:background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap}
  .pp-btn-primary{background:var(--pp-plum);color:#fff}
  .pp-btn-primary:hover{background:var(--pp-plum-deep)}
  .pp-btn-ghost{border-color:var(--pp-ink);color:var(--pp-ink)}
  .pp-btn-ghost:hover{background:var(--pp-ink);color:var(--pp-paper)}
  .pp-btn-light{background:var(--pp-paper);color:var(--pp-plum-deep)}
  .pp-btn-light:hover{background:var(--pp-blush)}
  .pp-btn-line-light{border-color:rgba(251,246,244,.45);color:var(--pp-paper)}
  .pp-btn-line-light:hover{border-color:var(--pp-paper)}
  .pp-textlink{display:inline-block;font-weight:500;color:var(--pp-rose);border-bottom:1px solid currentColor;padding-bottom:1px}
  .pp-textlink:hover{color:var(--pp-rose-dark)}
  .pp-bg-dark .pp-textlink{color:var(--pp-blush)}

  /* photo placeholders: gradient + grain + camera mark = "your photo here" */
  .pp-ph{position:relative;overflow:hidden;border-radius:6px;display:flex;align-items:flex-end;background:linear-gradient(160deg,var(--a,#6B3A63),var(--b,#2B1A2A))}
  .pp-ph::before{content:'';position:absolute;inset:0;opacity:.55;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E")}
  .pp-ph::after{content:'';position:absolute;top:14px;right:14px;width:20px;height:20px;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-2.5h6L17 8h3v11H4z'/%3E%3Ccircle cx='12' cy='13.5' r='3.5'/%3E%3C/svg%3E") no-repeat center/contain}
  .pp-arch{border-radius:9999px 9999px 6px 6px}
  .pp-arch::after{top:26px;right:auto;left:50%;margin-left:-10px}
  .pp-ph > p.pp-cap{margin:0;max-width:none;color:#fff;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16.5px;line-height:1.35}
  .pp-cap{position:relative;z-index:2;width:100%;padding:34px 18px 14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16.5px;line-height:1.35;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.38),transparent);text-shadow:0 1px 3px rgba(0,0,0,.35)}
  .pp-h-rose{--a:#D98A9E;--b:#7A3550}
  .pp-h-plum{--a:#7A4670;--b:#2B1A2A}
  .pp-h-moss{--a:#98A274;--b:#3E4630}
  .pp-h-apricot{--a:#EDB892;--b:#9A5A48}
  .pp-h-blush{--a:#F0CDD5;--b:#B7788A}
  .pp-h-ivory{--a:#EADFD0;--b:#A38E78}

  /* section heads */
  .pp-head{max-width:640px;margin-bottom:52px}
  .pp-head h2{font-size:clamp(34px,4.2vw,54px)}
  .pp-head p{margin-top:16px;font-size:17px;color:var(--pp-ink-soft)}
  .pp-bg-dark .pp-head p{color:rgba(243,225,228,.75)}
  .pp-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap;margin-bottom:52px}
  .pp-head-row .pp-head{margin-bottom:0}

  /* home hero — the one orchestrated motion moment on the demo */
  .pp-hero{padding-top:72px;padding-bottom:112px;overflow:hidden}
  .pp-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:72px;align-items:end}
  .pp-hero h1{font-size:clamp(48px,7.4vw,106px);font-weight:500;line-height:.97;letter-spacing:-.02em}
  .pp-lede{margin-top:28px;font-size:19px;line-height:1.6;color:var(--pp-ink-soft);max-width:46ch}
  .pp-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
  .pp-hero-note{margin-top:18px;font-size:14px;color:var(--pp-ink-soft)}
  .pp-hero-art{position:relative}
  .pp-hero-main{aspect-ratio:3/4.3}
  .pp-hero-small{position:absolute;width:44%;aspect-ratio:3/4;left:-26%;bottom:-48px;border:7px solid var(--pp-paper)}
  .pp-hero-small::after{display:none}
  @media (prefers-reduced-motion:no-preference){
    .pp-load{opacity:0;transform:translateY(22px);animation:ppIn 1s cubic-bezier(.16,.8,.24,1) forwards}
    .pp-load.d2{animation-delay:.14s}.pp-load.d3{animation-delay:.3s}.pp-load.d4{animation-delay:.46s}
    .pp-hero-small.pp-load{animation-delay:.6s}
    @keyframes ppIn{to{opacity:1;transform:none}}
  }

  /* in-season row */
  .pp-season-row{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
  .pp-season-row .pp-ph{aspect-ratio:3/4}
  .pp-season-row .pp-ph::after{display:none}
  .pp-season-row b{display:block;margin-top:14px;font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600}
  .pp-season-row span{font-size:13.5px;color:var(--pp-ink-soft)}

  /* three paths */
  .pp-paths{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;align-items:start}
  .pp-path .pp-ph{aspect-ratio:4/5}
  .pp-path:nth-child(2){margin-top:72px}
  .pp-path:nth-child(3){margin-top:144px}
  .pp-path h3{margin-top:22px;font-size:30px}
  .pp-path p{margin-top:8px;font-size:15.5px;color:var(--pp-ink-soft);max-width:38ch}
  .pp-path .pp-textlink{margin-top:14px}
  .pp-path:hover .pp-textlink{color:var(--pp-rose-dark)}

  /* split layouts */
  .pp-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
  .pp-split.wide-left{grid-template-columns:1.15fr .85fr}
  .pp-split h2{font-size:clamp(34px,4.2vw,54px)}
  .pp-prose p{margin-top:16px;font-size:17px;color:var(--pp-ink-soft);max-width:54ch}
  .pp-bg-dark .pp-prose p{color:rgba(243,225,228,.78)}
  .pp-prose .pp-btn{margin-top:30px}
  .pp-from{margin-top:22px;font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--pp-paper)}
  .pp-ticks{margin-top:24px}
  .pp-ticks li{padding:12px 0 12px 30px;border-top:1px solid var(--pp-line);position:relative;font-size:15.5px}
  .pp-bg-dark .pp-ticks li{border-top-color:var(--pp-line-light)}
  .pp-ticks li::before{content:'';position:absolute;left:4px;top:19px;width:12px;height:7px;border-left:1.8px solid var(--pp-moss);border-bottom:1.8px solid var(--pp-moss);transform:rotate(-45deg)}
  .pp-bg-dark .pp-ticks li::before{border-color:#B9C49A}
  .pp-hours{margin-top:24px;max-width:380px}
  .pp-hours li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--pp-line);font-size:15.5px}
  .pp-hours li span{color:var(--pp-ink-soft)}

  /* big quote */
  .pp-quote{max-width:900px}
  .pp-quote blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:clamp(27px,3.5vw,42px);line-height:1.26}
  .pp-quote figcaption{margin-top:22px;font-size:15px;color:var(--pp-ink-soft)}
  .pp-quote .pp-textlink{margin-top:22px}

  /* inner page heads */
  .pp-pagehead{background:var(--pp-blush);padding-top:72px;padding-bottom:80px}
  .pp-pagehead-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:center}
  .pp-pagehead-grid .pp-ph{aspect-ratio:4/5}
  .pp-crumbs{font-size:14px;color:var(--pp-ink-soft);margin-bottom:20px}
  .pp-crumbs a{color:var(--pp-rose);font-weight:500}
  .pp-pagehead h1{font-size:clamp(44px,6.2vw,84px);font-weight:500;line-height:1;letter-spacing:-.015em;max-width:15ch}
  .pp-pagehead .pp-lede{max-width:52ch}
  .pp-pagehead .pp-hero-ctas{margin-top:30px}

  /* filters */
  .pp-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
  .pp-filters button{border:1.5px solid var(--pp-line);border-radius:99px;padding:9px 18px;font-size:14.5px;font-weight:500;color:var(--pp-ink);transition:background .15s ease,color .15s ease,border-color .15s ease}
  .pp-filters button:hover{border-color:var(--pp-ink)}
  .pp-filters button[aria-pressed="true"]{background:var(--pp-ink);color:var(--pp-paper);border-color:var(--pp-ink)}

  /* shop */
  .pp-products{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 30px}
  .pp-product .pp-ph{aspect-ratio:4/5}
  .pp-product-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:18px}
  .pp-product h3{font-size:24px}
  .pp-price{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:var(--pp-plum);white-space:nowrap}
  .pp-product p{margin-top:6px;font-size:15px;color:var(--pp-ink-soft)}
  .pp-product .pp-textlink{margin-top:14px}
  .pp-products [hidden],.pp-gallery [hidden]{display:none}
  .pp-rows{border-bottom:1px solid var(--pp-line)}
  .pp-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;border-top:1px solid var(--pp-line)}
  .pp-row b{display:block;font-weight:500;font-size:16.5px}
  .pp-row span{font-size:14.5px;color:var(--pp-ink-soft)}
  .pp-row .pp-row-price{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--pp-plum);white-space:nowrap}

  /* wedding packages */
  .pp-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
  .pp-pack{background:var(--pp-white);border:1px solid var(--pp-line);border-radius:10px;padding:34px 30px 30px;display:flex;flex-direction:column;position:relative}
  .pp-pack.featured{background:var(--pp-plum-deep);color:var(--pp-blush);border-color:var(--pp-plum-deep)}
  .pp-pack.featured h3{color:var(--pp-paper)}
  .pp-pack-flag{position:absolute;top:-13px;left:30px;background:var(--pp-rose);color:#fff;font-size:12.5px;font-weight:500;padding:4px 12px;border-radius:99px}
  .pp-pack h3{font-size:30px}
  .pp-pack .pp-pack-price{margin-top:6px;font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--pp-rose)}
  .pp-pack.featured .pp-pack-price{color:#E9A9BA}
  .pp-pack > p{margin-top:12px;font-size:15px;color:var(--pp-ink-soft)}
  .pp-pack.featured > p{color:rgba(243,225,228,.78)}
  .pp-pack .pp-ticks{flex:1;margin-bottom:28px}
  .pp-pack.featured .pp-ticks li{border-top-color:var(--pp-line-light)}
  .pp-pack.featured .pp-ticks li::before{border-color:#B9C49A}
  .pp-pack .pp-btn{width:100%}

  /* real sequences only: wedding planning, subscription, booking */
  .pp-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}
  .pp-steps.four{grid-template-columns:repeat(4,1fr)}
  .pp-step{border-top:1.5px solid var(--pp-ink);padding-top:18px}
  .pp-bg-dark .pp-step{border-top-color:var(--pp-line-light)}
  .pp-step-n{font-family:'Cormorant Garamond',serif;font-size:46px;font-weight:500;line-height:1;color:var(--pp-rose)}
  .pp-bg-dark .pp-step-n{color:#E9A9BA}
  .pp-step h3{margin-top:12px;font-size:22px}
  .pp-step p{margin-top:8px;font-size:14.5px;color:var(--pp-ink-soft)}
  .pp-bg-dark .pp-step p{color:rgba(243,225,228,.75)}

  /* small photo strip */
  .pp-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}
  .pp-strip .pp-ph{aspect-ratio:4/5}
  .pp-strip .pp-ph:first-child{aspect-ratio:auto}

  /* FAQ */
  .pp-faq{max-width:820px}
  .pp-faq details{border-top:1px solid var(--pp-line)}
  .pp-faq details:last-child{border-bottom:1px solid var(--pp-line)}
  .pp-faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:600;position:relative}
  .pp-faq summary::-webkit-details-marker{display:none}
  .pp-faq summary::after{content:'+';position:absolute;right:6px;top:16px;font-family:'Jost',sans-serif;font-weight:300;font-size:28px;color:var(--pp-rose);transition:transform .2s ease}
  .pp-faq details[open] summary::after{transform:rotate(45deg)}
  .pp-faq details p{padding-bottom:24px;font-size:16px;color:var(--pp-ink-soft);max-width:64ch}

  /* audiences (events) */
  .pp-aud{display:grid;grid-template-columns:1fr 1fr;gap:26px}
  .pp-aud-card{background:var(--pp-white);border:1px solid var(--pp-line);border-radius:10px;overflow:hidden;display:grid;grid-template-columns:.85fr 1.15fr}
  .pp-aud-card .pp-ph{border-radius:0;min-height:240px}
  .pp-aud-body{padding:28px 26px}
  .pp-aud-body h3{font-size:26px}
  .pp-aud-body p{margin-top:8px;font-size:15px;color:var(--pp-ink-soft)}
  .pp-aud-body .pp-fit{margin-top:14px;font-size:14px;font-weight:500;color:var(--pp-moss)}

  /* subscription builder */
  .pp-sub{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
  .pp-field-label{display:block;font-weight:500;font-size:15px;margin-bottom:12px}
  .pp-field-label + .pp-opts{margin-bottom:34px}
  .pp-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .pp-opts.two{grid-template-columns:repeat(2,1fr)}
  .pp-opt{position:relative}
  .pp-opt input{position:absolute;opacity:0;pointer-events:none}
  .pp-opt label{display:block;height:100%;border:1.5px solid var(--pp-line);border-radius:10px;padding:16px 18px;background:var(--pp-white);cursor:pointer;transition:border-color .15s ease,background .15s ease}
  .pp-opt label strong{display:block;font-weight:500;font-size:15.5px}
  .pp-opt label span{display:block;margin-top:3px;font-size:13.5px;color:var(--pp-ink-soft);line-height:1.5}
  .pp-opt input:checked + label{border-color:var(--pp-plum);background:var(--pp-blush)}
  .pp-opt input:focus-visible + label{outline:2.5px solid var(--pp-rose);outline-offset:2px}
  .pp-plan{background:var(--pp-plum-deep);color:var(--pp-blush);border-radius:12px;padding:34px 30px;position:sticky;top:110px}
  .pp-plan h3{font-size:24px;color:var(--pp-paper)}
  .pp-plan-name{margin-top:4px;font-size:14.5px;color:rgba(243,225,228,.72)}
  .pp-plan-price{margin-top:22px;font-family:'Cormorant Garamond',serif;font-size:54px;font-weight:500;line-height:1;color:var(--pp-paper)}
  .pp-plan-price small{font-family:'Jost',sans-serif;font-size:15px;color:rgba(243,225,228,.72);margin-left:6px}
  .pp-plan-month{margin-top:8px;font-size:15px}
  .pp-plan-save{margin-top:4px;font-size:13.5px;color:#B9C49A}
  .pp-plan .pp-ticks li{border-top-color:var(--pp-line-light);font-size:14.5px}
  .pp-plan .pp-ticks li::before{border-color:#B9C49A}
  .pp-plan .pp-btn{margin-top:24px;width:100%}

  /* gallery */
  .pp-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:16px}
  .pp-gallery .pp-ph{height:100%}
  .pp-gallery .tall{grid-row:span 2}
  .pp-gallery .wide{grid-column:span 2}

  /* story */
  .pp-values{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
  .pp-value h3{font-size:24px}
  .pp-value p{margin-top:8px;font-size:15px;color:var(--pp-ink-soft)}
  .pp-leaf{display:block;width:30px;height:30px;margin-bottom:16px;color:var(--pp-moss)}
  .pp-team{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
  .pp-team .pp-ph{aspect-ratio:4/5}
  .pp-team h3{margin-top:18px;font-size:25px}
  .pp-team .pp-role{font-size:14.5px;color:var(--pp-rose);font-weight:500}
  .pp-team p{margin-top:8px;font-size:15px;color:var(--pp-ink-soft)}

  /* reviews as bouquet enclosure cards */
  .pp-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}
  .pp-stat{background:var(--pp-white);border:1px solid var(--pp-line);border-radius:10px;padding:16px 22px;min-width:170px}
  .pp-stat b{display:block;font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;line-height:1.1;color:var(--pp-plum)}
  .pp-stat span{font-size:14px;color:var(--pp-ink-soft)}
  .pp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
  .pp-card{background:var(--pp-white);border:1px solid var(--pp-line);border-radius:4px;padding:44px 28px 26px;position:relative;box-shadow:0 18px 36px -26px rgba(43,26,42,.5)}
  .pp-card::before{content:'';position:absolute;top:16px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;border:1.5px solid var(--pp-line);background:var(--pp-paper)}
  .pp-card:nth-child(3n+1){transform:rotate(-.8deg)}
  .pp-card:nth-child(3n+2){transform:rotate(.6deg);margin-top:26px}
  .pp-card:nth-child(3n){transform:rotate(-.3deg)}
  .pp-card blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:21px;line-height:1.4}
  .pp-card .pp-who{margin-top:18px;font-size:14px;font-weight:500;color:var(--pp-rose)}
  .pp-card .pp-who span{display:block;font-weight:400;color:var(--pp-ink-soft)}

  /* booking builder */
  .pp-book{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:start}
  .pp-qcard{background:var(--pp-white);border:1px solid var(--pp-line);border-radius:12px;padding:38px 38px 32px;box-shadow:0 26px 50px -34px rgba(43,26,42,.5)}
  .pp-qprog{display:flex;gap:6px;margin-bottom:28px}
  .pp-qprog span{flex:1;height:5px;border-radius:3px;background:var(--pp-line);transition:background .25s ease}
  .pp-qprog span.done{background:var(--pp-rose)}
  .pp-qstep{display:none}
  .pp-qstep.active{display:block}
  .pp-qlabel{font-size:14px;font-weight:500;color:var(--pp-rose)}
  .pp-qstep h2{margin-top:6px;font-size:34px}
  .pp-qstep .pp-help{margin-top:6px;font-size:15px;color:var(--pp-ink-soft)}
  .pp-qstep .pp-opts{margin-top:24px}
  .pp-field{margin-top:20px}
  .pp-field > label{display:block;font-size:14.5px;font-weight:500;margin-bottom:7px}
  .pp-field input,.pp-field select,.pp-field textarea{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1.5px solid var(--pp-line);border-radius:8px;background:var(--pp-paper);color:var(--pp-ink)}
  .pp-field input:focus,.pp-field select:focus,.pp-field textarea:focus{outline:none;border-color:var(--pp-plum)}
  .pp-field textarea{min-height:110px;resize:vertical}
  .pp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .pp-budget-out{margin-top:6px;font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:500;line-height:1;color:var(--pp-plum)}
  .pp-field input[type=range]{padding:0;border:none;background:none;accent-color:var(--pp-plum);margin-top:14px}
  .pp-range-ends{display:flex;justify-content:space-between;font-size:13px;color:var(--pp-ink-soft)}
  .pp-err{margin-top:16px;min-height:22px;font-size:14.5px;font-weight:500;color:var(--pp-rose-dark)}
  .pp-qnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:22px;border-top:1px solid var(--pp-line)}
  .pp-back{font-size:15px;font-weight:500;color:var(--pp-ink-soft);padding:10px 0}
  .pp-back[hidden]{visibility:hidden;display:block}
  .pp-summary{background:var(--pp-blush);border-radius:12px;padding:30px 28px;position:sticky;top:110px}
  .pp-summary h3{font-size:26px}
  .pp-summary dt{margin-top:16px;font-size:13px;font-weight:500;color:var(--pp-ink-soft)}
  .pp-summary dd{margin-top:2px;font-size:15.5px;font-weight:500}
  .pp-summary dd.empty{color:rgba(43,26,42,.4);font-weight:400}
  .pp-summary .pp-sum-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--pp-line);font-size:14px;color:var(--pp-ink-soft)}
  .pp-done{display:none;text-align:center;padding:26px 0 8px}
  .pp-done.show{display:block}
  .pp-done-mark{width:68px;height:68px;border-radius:50%;background:var(--pp-moss);margin:0 auto 20px;position:relative}
  .pp-done-mark::after{content:'';position:absolute;left:23px;top:22px;width:22px;height:12px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg)}
  .pp-done h2{font-size:38px}
  .pp-done p{margin:12px auto 0;max-width:44ch;font-size:16px;color:var(--pp-ink-soft)}
  .pp-done .pp-demo-note{font-size:14px;font-style:italic}
  .pp-done .pp-btn{margin-top:26px}

  /* contact */
  .pp-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
  .pp-contact-block{padding:22px 0;border-top:1px solid var(--pp-line)}
  .pp-contact-block:first-child{border-top:none;padding-top:0}
  .pp-contact-block h3{font-size:24px}
  .pp-contact-block p{margin-top:6px;font-size:16px;color:var(--pp-ink-soft)}
  .pp-contact-block a{color:var(--pp-plum);font-weight:500}
  .pp-msg{display:none;margin-top:18px;padding:14px 16px;border-radius:8px;background:#E8ECDD;color:#3E4630;font-size:15px}
  .pp-msg.show{display:block}

  /* shared CTA + footer */
  .pp-cta{background:var(--pp-paper);padding-top:24px;padding-bottom:104px}
  .pp-cta-inner{background:var(--pp-plum);color:var(--pp-blush);border-radius:18px;padding:64px 56px;display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
  .pp-cta-inner h2{font-size:clamp(32px,3.8vw,48px);color:var(--pp-paper)}
  .pp-cta-inner p{margin-top:14px;font-size:16.5px;color:rgba(243,225,228,.8);max-width:48ch}
  .pp-cta-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
  .pp-footer{background:var(--pp-plum-deep);color:rgba(243,225,228,.72);padding-top:72px;padding-bottom:34px}
  .pp-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
  .pp-foot-grid .pp-logo{color:var(--pp-paper)}
  .pp-foot-grid .pp-logo em{color:#E9A9BA}
  .pp-foot-grid > div > p{margin-top:12px;font-size:14.5px;max-width:32ch}
  .pp-foot-grid h4{font-family:'Jost',sans-serif;font-size:14px;font-weight:500;color:var(--pp-paper);margin-bottom:12px}
  .pp-foot-grid li{margin-bottom:8px;font-size:14.5px}
  .pp-foot-grid a:hover{color:var(--pp-paper)}
  .pp-socials{display:flex;gap:10px;margin-top:20px}
  .pp-socials a{width:38px;height:38px;border-radius:50%;border:1px solid var(--pp-line-light);display:flex;align-items:center;justify-content:center}
  .pp-socials svg{width:17px;height:17px}
  .pp-foot-bottom{margin-top:52px;padding-top:22px;border-top:1px solid var(--pp-line-light);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:rgba(243,225,228,.5)}

  /* responsive */
  @media (max-width:1020px){
    .pp-links{display:none}
    .pp-menu-btn{display:inline-block}
    .pp-hero-grid,.pp-pagehead-grid,.pp-split,.pp-split.wide-left,.pp-sub,.pp-book,.pp-contact,.pp-cta-inner{grid-template-columns:1fr}
    .pp-hero-grid{gap:56px}
    .pp-hero-main{aspect-ratio:4/4.4}
    .pp-hero-small{left:auto;right:-10px;bottom:auto;top:-30px;width:34%}
    .pp-pagehead-grid .pp-ph{aspect-ratio:16/10;border-radius:6px}
    .pp-season-row{grid-template-columns:repeat(3,1fr)}
    .pp-paths{grid-template-columns:1fr 1fr}
    .pp-path:nth-child(2){margin-top:0}
    .pp-path:nth-child(3){margin-top:0}
    .pp-products,.pp-cards,.pp-team{grid-template-columns:1fr 1fr}
    .pp-packages{grid-template-columns:1fr;max-width:560px}
    .pp-steps,.pp-steps.four,.pp-values{grid-template-columns:1fr 1fr}
    .pp-aud{grid-template-columns:1fr}
    .pp-gallery{grid-template-columns:repeat(2,1fr)}
    .pp-plan,.pp-summary{position:static}
    .pp-foot-grid{grid-template-columns:1fr 1fr}
    .pp-cta-inner{padding:48px 36px}
    .pp-cta-actions{flex-direction:row;flex-wrap:wrap}
  }
  @media (max-width:640px){
    .pp-sec{padding-top:72px;padding-bottom:72px}
    .pp-hero{padding-top:44px;padding-bottom:88px}
    .pp-pagehead{padding-top:52px;padding-bottom:56px}
    .pp-nav-right .pp-btn{display:none}
    .pp-logo{font-size:25px}
    .pp-season-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:6px}
    .pp-season-row li{flex:0 0 40%;scroll-snap-align:start}
    .pp-paths,.pp-products,.pp-cards,.pp-team,.pp-steps,.pp-steps.four,.pp-values,.pp-opts,.pp-opts.two,.pp-field-row,.pp-strip{grid-template-columns:1fr}
    .pp-strip .pp-ph:first-child{aspect-ratio:4/5}
    .pp-card:nth-child(n){transform:none;margin-top:0}
    .pp-aud-card{grid-template-columns:1fr}
    .pp-aud-card .pp-ph{min-height:180px}
    .pp-gallery{grid-auto-rows:150px}
    .pp-qcard{padding:26px 20px 22px}
    .pp-qstep h2{font-size:29px}
    .pp-cta{padding-bottom:72px}
    .pp-cta-inner{padding:40px 24px;border-radius:14px}
    .pp-foot-grid{grid-template-columns:1fr}
    .pp-row{align-items:flex-start}
  }

  /* ---- Premium interaction kit ---- */
  .grain-overlay{
    position:fixed;inset:0;z-index:998;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size:180px 180px;
  }
  /* Custom cursor: drawn by the OS as a cursor image (dot + ring), so it moves with zero lag.
     --cur = normal, --cur-h = over links/buttons. Light version on dark surfaces. */
  body[data-theme="lwc"]{--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='15.5' fill='none' stroke='%230f172a' stroke-opacity='.5' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='3' fill='%230f172a'/%3E%3C/svg%3E") 18 18, auto;--cur-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='25.5' fill='none' stroke='%230f172a' stroke-opacity='.9' stroke-width='1'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%230f172a'/%3E%3C/svg%3E") 28 28, pointer}
  body[data-theme="starter"]{--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='15.5' fill='none' stroke='%233B1114' stroke-opacity='.5' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='3' fill='%233B1114'/%3E%3C/svg%3E") 18 18, auto;--cur-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='25.5' fill='none' stroke='%233B1114' stroke-opacity='.9' stroke-width='1'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%233B1114'/%3E%3C/svg%3E") 28 28, pointer}
  body[data-theme="standard"]{--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='15.5' fill='none' stroke='%231F2E22' stroke-opacity='.5' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='3' fill='%231F2E22'/%3E%3C/svg%3E") 18 18, auto;--cur-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='25.5' fill='none' stroke='%231F2E22' stroke-opacity='.9' stroke-width='1'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%231F2E22'/%3E%3C/svg%3E") 28 28, pointer}
  body[data-theme="premium"]{--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='15.5' fill='none' stroke='%232B1A2A' stroke-opacity='.5' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='3' fill='%232B1A2A'/%3E%3C/svg%3E") 18 18, auto;--cur-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='25.5' fill='none' stroke='%232B1A2A' stroke-opacity='.9' stroke-width='1'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%232B1A2A'/%3E%3C/svg%3E") 28 28, pointer}
  :is(.cta-band,.est-total,.pp-toast,.show-stage,.case-stage,.btn-primary,.gs-footer,.ps-footer,.starter-footer,.starter-contact,.demo-banner,.demo-badge,.brand-badge,.photo-block,.about-photo,.marquee,.pill.active,.stepnum,.chart-bar-fill.lwc,.pp-bg-dark,.pp-btn-primary,.pp-ph,.pp-footer,.pp-banner,.pp-pack.featured,.pp-plan,.pp-cta-inner,.pp-filters button[aria-pressed="true"]){--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='15.5' fill='none' stroke='%23ffffff' stroke-opacity='.5' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='3' fill='%23ffffff'/%3E%3C/svg%3E") 18 18, auto;--cur-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='25.5' fill='none' stroke='%23ffffff' stroke-opacity='.9' stroke-width='1'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%23ffffff'/%3E%3C/svg%3E") 28 28, pointer}
  :is(.show-stage,.case-stage) img{--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='15.5' fill='none' stroke='%230f172a' stroke-opacity='.5' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='3' fill='%230f172a'/%3E%3C/svg%3E") 18 18, auto;--cur-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='25.5' fill='none' stroke='%230f172a' stroke-opacity='.9' stroke-width='1'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%230f172a'/%3E%3C/svg%3E") 28 28, pointer}
  .sb-form,.sb-done{--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='15.5' fill='none' stroke='%233B1114' stroke-opacity='.5' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='3' fill='%233B1114'/%3E%3C/svg%3E") 18 18, auto;--cur-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='25.5' fill='none' stroke='%233B1114' stroke-opacity='.9' stroke-width='1'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%233B1114'/%3E%3C/svg%3E") 28 28, pointer}
  .pp-sub-form input{--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='15.5' fill='none' stroke='%232B1A2A' stroke-opacity='.5' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='3' fill='%232B1A2A'/%3E%3C/svg%3E") 18 18, auto;--cur-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='25.5' fill='none' stroke='%232B1A2A' stroke-opacity='.9' stroke-width='1'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%232B1A2A'/%3E%3C/svg%3E") 28 28, pointer}
  @media (pointer:fine){
    *{cursor:var(--cur) !important}
    a,a *,button,button *,summary,summary *,label,select,input,textarea,.pill,[role="button"],[onclick]{cursor:var(--cur-h) !important}
  }
  #cursor-dot,#cursor-ring{display:none}

  .reveal-el{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1)}
  .reveal-el.is-visible{opacity:1}

  .page.page-in{animation:pagein .5s cubic-bezier(.2,.7,.2,1)}
  @keyframes pagein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  .page.page-out{opacity:0;transition:opacity .16s ease}

  .marquee{overflow:hidden;border-top:1px solid #e6e8e3;border-bottom:1px solid #e6e8e3;background:#0f172a}
  .marquee .track{display:flex;width:max-content;animation:marquee 26s linear infinite}
  .marquee span{display:flex;align-items:center;gap:14px;padding:14px 28px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14px;color:#e2e8f0;white-space:nowrap}
  .marquee span::after{content:'\2022';color:#84cc16;margin-left:14px}
  @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @media (prefers-reduced-motion:reduce){
    .marquee .track{animation:none}
    .reveal-el{opacity:1;transition:none}
    .page.page-in{animation:none}
  }

  .demo-badge{
    position:fixed;bottom:16px;right:16px;z-index:60;background:#0f172a;color:#fff;
    font-size:11.5px;font-weight:600;padding:8px 14px;border-radius:99px;opacity:.92;
    box-shadow:0 2px 10px rgba(0,0,0,.18);
  }

  /* ============ DEMO SHOWCASE (home) + CASE STUDIES (work) ============
     Spacing rule: .wrap owns left/right padding. Classes below that sit on
     the same element as .wrap (.show-section, .case, .work-intro) only set
     padding-top/bottom. Inner elements (.show-stage etc.) are never .wrap. */

  /* device mockups (shared) */
  .devices{position:relative;padding-right:15%}
  .laptop-screen{background:#141821;border-radius:10px 10px 0 0;padding:2.4% 2.4% 2.6%;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset}
  .laptop-screen img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:1px;background:#f4f4f2}
  .laptop-base{position:relative;height:0;padding-top:3.4%;margin-left:-5%;margin-right:-5%;background:linear-gradient(180deg,#e2e5ea 0%,#b4bac4 60%,#8d94a0 100%);border-radius:0 0 12px 12px}
  .laptop-base::before{content:'';position:absolute;top:0;left:50%;width:15%;height:38%;transform:translateX(-50%);background:#9aa1ac;border-radius:0 0 6px 6px}
  .phone{position:absolute;right:0;bottom:-6px;width:27%;background:#0b0e14;border:4px solid #0b0e14;border-radius:16px;overflow:hidden;box-shadow:0 18px 36px rgba(0,0,0,.38);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
  .phone img{width:100%;height:auto;aspect-ratio:640/985;object-fit:cover;object-position:top;border-radius:11px;background:#f4f4f2}

  /* homepage showcase */
  section.show-section{padding-top:72px;padding-bottom:40px}
  .show-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap;margin-bottom:36px}
  .show-head h2{font-size:clamp(30px,4.4vw,46px);line-height:1.04;letter-spacing:-.025em;max-width:12ch}
  .show-head p{max-width:42ch;font-size:16px}
  .show-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%}
  @media (max-width:900px){.show-grid{grid-template-columns:minmax(0,1fr);max-width:540px}}
  .show-card{display:flex;flex-direction:column;border:1px solid #e6e8e3;border-radius:2px;overflow:hidden;background:#fff}
  .show-stage{display:block;overflow:hidden;background:var(--stage,#0f172a);padding-top:28px;padding-bottom:30px;padding-left:22px;padding-right:22px}
  .show-card:hover .phone,.show-card:focus-within .phone{transform:translateY(-8px)}
  .show-body{display:flex;flex-direction:column;flex:1;padding-top:20px;padding-bottom:22px;padding-left:22px;padding-right:22px}
  .show-tier{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px}
  .show-tier h3{font-size:21px;letter-spacing:-.01em}
  .show-tier span{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:600;color:#0f172a;white-space:nowrap}
  .show-biz{font-size:13px;color:#64748b;margin-bottom:12px}
  .show-line{font-size:14.5px;color:#334155;flex:1;margin-bottom:18px}
  .show-link{align-self:flex-start;font-weight:600;font-size:14.5px;color:#0f172a;border-bottom:2px solid #84cc16;padding-bottom:2px}
  .show-link:hover{border-bottom-color:#0f172a}
  .show-note{font-size:13px;color:#64748b;margin-top:18px}

  /* work page */
  section.work-intro{padding-top:60px;padding-bottom:24px}
  .work-intro h1{font-size:clamp(40px,6.4vw,72px);font-weight:700;line-height:1;letter-spacing:-.025em;margin-bottom:18px}
  .work-intro .lede{font-size:18px;max-width:52ch}
  .work-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
  .work-jump a{display:flex;align-items:center;gap:10px;border:1px solid #e6e8e3;border-radius:2px;padding:10px 16px;font-size:14px;font-weight:500;color:#0f172a;transition:border-color .2s ease}
  .work-jump a:hover{border-color:#0f172a}
  .work-jump i{width:10px;height:10px;border-radius:50%;background:var(--dot);flex-shrink:0}
  .work-jump small{color:#64748b;font-size:13px}

  section.case{padding-top:56px;padding-bottom:56px;scroll-margin-top:72px}
  .case-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;margin-bottom:28px}
  .case-tag{display:inline-block;font-size:12px;font-weight:600;background:#eef4d9;color:#4d7c0f;padding:3px 10px;border-radius:99px;margin-bottom:12px}
  .case-head h2{font-size:clamp(28px,4vw,40px);line-height:1.06;letter-spacing:-.02em;margin-bottom:8px}
  .case-head p{font-size:16px;max-width:44ch}
  .case-facts{display:flex;gap:0;border:1px solid #e6e8e3;border-radius:2px}
  .case-facts div{padding:12px 18px;border-left:1px solid #e6e8e3}
  .case-facts div:first-child{border-left:none}
  .case-facts dt{font-size:12.5px;color:#64748b}
  .case-facts dd{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:600;white-space:nowrap}
  .case-stage{display:block;overflow:hidden;background:var(--stage,#0f172a);border-radius:2px;padding-top:56px;padding-bottom:52px;padding-left:24px;padding-right:24px}
  .case-stage .devices{max-width:820px;margin:0 auto}
  .case-stage .phone{border-width:7px;border-radius:30px}
  .case-stage .phone img{border-radius:23px}
  .case-stage:hover .phone{transform:translateY(-10px)}
  .case-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px}
  .case-cols h3{font-size:16px;margin-bottom:8px;padding-top:12px;border-top:2px solid #0f172a}
  .case-cols p{font-size:14.5px;color:#475569}
  .case-foot{display:flex;justify-content:space-between;align-items:center;gap:20px 32px;flex-wrap:wrap;margin-top:32px;padding-top:24px;border-top:1px solid #e6e8e3}
  .case-design{display:flex;align-items:center;gap:14px;font-size:13.5px;color:#475569}
  .swatches{display:flex}
  .swatches i{width:22px;height:22px;border-radius:50%;background:var(--c);border:2px solid #fff;margin-left:-6px;box-shadow:0 0 0 1px #e6e8e3}
  .swatches i:first-child{margin-left:0}
  .case-ctas{display:flex;gap:12px;flex-wrap:wrap}
  .case + .case .case-head{border-top:1px solid #e6e8e3;padding-top:56px}
  .case + .case{padding-top:0}
  @media (max-width:720px){
    section.show-section{padding-top:56px}
    .case-cols{grid-template-columns:minmax(0,1fr);gap:20px}
    .case-stage{padding-top:32px;padding-bottom:34px;padding-left:16px;padding-right:16px}
    .case-stage .phone{border-width:4px;border-radius:16px}
    .case-stage .phone img{border-radius:11px}
    .case-facts{width:100%}
    .case-facts div{flex:1;padding:10px 12px}
    .case-ctas .btn{flex:1 1 auto;text-align:center;white-space:nowrap}
  }
  @media (prefers-reduced-motion:reduce){.phone{transition:none}.show-card:hover .phone,.show-card:focus-within .phone,.case-stage:hover .phone{transform:none}}

  /* Pricing: pay toggle, custom tier, add-ons, monthly explainer */
  .pay-toggle{display:inline-flex;border:1.5px solid #0f172a;border-radius:99px;padding:3px;margin:0 0 10px;background:#fff}
  .pay-opt{border:0;background:transparent;padding:9px 18px;border-radius:99px;font:600 14px 'IBM Plex Sans',sans-serif;color:#0f172a;cursor:pointer}
  .pay-opt.active{background:#0f172a;color:#fff}
  .pay-opt:focus-visible{outline:3px solid #84cc16;outline-offset:2px}
  .pay-hint{font-size:13.5px;margin:0 0 30px;max-width:60ch}
  .custom-tier{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:center;border:1px solid #e6e8e3;border-left:4px solid #84cc16;border-radius:2px;padding:28px 26px;margin-top:22px;background:#f6f7f4}
  .custom-tier h3{font-size:19px;margin-bottom:8px}
  .custom-tier p{font-size:14.5px;max-width:58ch}
  .custom-tier .price{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:600}
  .custom-tier .price-note{font-size:13px;color:#64748b;margin:2px 0 14px}
  .custom-tier .btn{text-align:center;width:100%}
  @media (max-width:720px){.custom-tier{grid-template-columns:1fr}}
  .included-note{margin-top:26px;max-width:70ch}
  .included-note h3{font-size:16px;margin-bottom:4px}
  .included-note p{font-size:14px}
  .addon-list{border-top:1px solid #e6e8e3}
  .addon{display:flex;justify-content:space-between;gap:24px;align-items:baseline;padding:16px 0;border-bottom:1px solid #e6e8e3}
  .addon h3{font-size:16px;margin-bottom:3px}
  .addon p{font-size:14px;max-width:60ch}
  .addon-price{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:17px;white-space:nowrap}
  .monthly-explain{max-width:640px}
  .monthly-explain > p{margin-bottom:16px}
  .pay-table{width:100%;border-collapse:collapse;font-size:14.5px}
  .pay-table th,.pay-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #e6e8e3}
  .pay-table th{font-weight:600;background:#f6f7f4}
  .pay-table td:not(:first-child),.pay-table th:not(:first-child){text-align:right}

  .price-col .price-from{font-size:12.5px;font-weight:600;color:#64748b;margin-top:14px;margin-bottom:-12px}
  .addon-price small{display:block;font-size:11.5px;font-weight:600;color:#64748b;text-align:right;line-height:1.2}

  /* ============ ESTIMATE PAGE (/estimate/) ============
     .wrap owns side padding; est-section / est-intro set top/bottom only. */
  section.est-intro{padding-top:60px;padding-bottom:12px}
  .est-intro h1{font-size:clamp(40px,6.4vw,72px);font-weight:700;line-height:1;letter-spacing:-.025em;margin-bottom:18px}
  .est-intro .lede{font-size:18px;max-width:54ch}
  section.est-section{padding-top:28px;padding-bottom:72px}
  .est-card{max-width:760px;border:1px solid #e6e8e3;border-radius:2px;background:#fff;padding-top:28px;padding-bottom:28px;padding-left:32px;padding-right:32px}
  .est-progress{height:4px;background:#f1f2ef;border-radius:2px;overflow:hidden;margin-bottom:14px}
  .est-progress span{display:block;height:100%;width:0;background:#84cc16;transition:width .3s ease}
  .est-count{font-size:13px;color:#64748b;margin-bottom:10px}
  .est-q{border:0;min-width:0}
  .est-q legend{display:block;width:100%;margin-bottom:20px}
  .est-q h2{font-size:clamp(23px,3vw,30px);line-height:1.15;letter-spacing:-.015em;outline:none}
  .est-q legend .soft{display:block;font-size:14.5px;margin-top:6px}
  .est-opts{display:grid;gap:10px}
  .est-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 18px;border:1.5px solid #e6e8e3;border-radius:2px;background:#fff;font-size:15.5px;font-weight:500;color:#0f172a;line-height:1.35;transition:border-color .15s ease,background .15s ease}
  .est-opt:hover{border-color:#0f172a}
  .est-opt:focus-visible{outline:3px solid #84cc16;outline-offset:2px}
  .est-opt i{flex-shrink:0;width:20px;height:20px;border:1.5px solid #94a3b8;border-radius:50%;position:relative;transition:border-color .15s ease,background .15s ease}
  .est-opts.multi .est-opt i{border-radius:2px}
  .est-opt.on{border-color:#0f172a;background:#f6f7f4}
  .est-opt.on i{border-color:#0f172a;background:#0f172a}
  .est-opt.on i::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #84cc16;border-width:0 2px 2px 0;transform:rotate(45deg)}
  .est-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
  .est-nav .btn[disabled]{opacity:.35;cursor:not-allowed;transform:none}
  .est-result{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;align-items:start}
  .est-result[hidden]{display:none}
  .est-sum{border:1px solid #e6e8e3;border-radius:2px;padding-top:28px;padding-bottom:28px;padding-left:30px;padding-right:30px}
  .est-kicker{font-size:13px;color:#64748b;margin-bottom:4px}
  .est-sum h2{font-size:clamp(34px,5vw,50px);line-height:1;letter-spacing:-.025em;margin-bottom:12px;outline:none}
  .est-why{font-size:15.5px;color:#334155;max-width:52ch;margin-bottom:20px}
  .est-lines{width:100%;border-collapse:collapse;font-size:14.5px}
  .est-lines td{padding:11px 0;border-top:1px solid #e6e8e3;color:#334155;vertical-align:top}
  .est-lines td:last-child{text-align:right;font-weight:600;color:#0f172a;white-space:nowrap;padding-left:16px}
  .est-total{background:#0f172a;color:#fff;border-radius:2px;padding:20px 22px;margin-top:6px}
  .est-total span{display:block;font-size:13px;color:#cbd5e1}
  .est-total b{display:block;font-family:'Space Grotesk',sans-serif;font-size:clamp(22px,3.4vw,32px);font-weight:600;line-height:1.2;letter-spacing:-.01em;margin:2px 0 6px;color:#fff}
  .est-total small{display:block;font-size:13px;color:#cbd5e1}
  .est-fine{font-size:13px;color:#64748b;margin-top:12px}
  .est-notes{margin-top:18px;display:grid;gap:8px}
  .est-notes:empty{display:none}
  .est-notes li{font-size:14px;color:#475569;padding-left:16px;position:relative}
  .est-notes li::before{content:'';position:absolute;left:0;top:.62em;width:7px;height:7px;background:#84cc16;border-radius:50%}
  .est-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
  form.est-form{background:#f6f7f4;border-radius:2px;padding-top:26px;padding-bottom:26px;padding-left:26px;padding-right:26px;max-width:none}
  form.est-form h3{font-size:20px}
  form.est-form > p.soft{font-size:14px;margin-top:-8px}
  form.est-form .btn{width:100%;text-align:center}
  .est-cta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 28px;margin-top:22px;padding:20px 24px;border:1.5px solid #0f172a;border-radius:2px}
  .est-cta p{font-size:15.5px;font-weight:500;color:#0f172a}
  @media (max-width:820px){.est-result{grid-template-columns:minmax(0,1fr)}}
  @media (max-width:600px){
    .est-card{padding-top:22px;padding-bottom:22px;padding-left:18px;padding-right:18px}
    .est-sum{padding-top:22px;padding-bottom:22px;padding-left:18px;padding-right:18px}
    .est-opt{padding:13px 14px;font-size:15px}
    .est-cta .btn{width:100%;text-align:center}
  }
  .cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
  [data-theme="lwc"] .btn-onDark{border:1.5px solid rgba(255,255,255,.7);color:#fff}
  [data-theme="lwc"] .btn-onDark:hover{border-color:#fff}
  .est-total{padding-top:18px;padding-bottom:18px}
  .est-total .est-total-head{font-size:13px;color:#cbd5e1;margin-bottom:6px}
  .est-pay{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
  .est-pay span{display:block;font-size:15px;font-weight:600;color:#fff}
  .est-pay small{display:block;font-size:13px;color:#cbd5e1;max-width:36ch;margin-top:2px}
  .est-total .est-pay b{font-size:clamp(20px,2.6vw,26px);margin:0;white-space:nowrap;line-height:1.2}
  .est-total .est-total-foot{font-size:12.5px;color:#cbd5e1;margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.14)}
  .pay-table small{font-size:12px;color:#64748b;font-weight:400}

  /* ============ PETAL & STEM DEMO: BAG + ON-PAGE CHECKOUT (pp- prefixed) ============ */
  button.pp-textlink{background:none;border:0;border-bottom:1px solid currentColor;font:inherit;font-weight:500;padding:0 0 1px;cursor:pointer}
  .pp-bag-pill{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:12px;background:var(--pp-plum);color:#fff;border-radius:99px;padding:13px 22px;font:500 15px 'Jost',sans-serif;box-shadow:0 14px 34px -12px rgba(43,26,42,.6)}
  .pp-bag-pill[hidden]{display:none}
  .pp-bag-pill b{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:99px;background:var(--pp-blush);color:var(--pp-plum-deep);font-size:13px;font-weight:600;padding:0 6px}
  .pp-bag-pill em{font-style:normal;opacity:.85}
  .pp-bag-scrim{position:fixed;inset:0;z-index:80;background:rgba(43,26,42,.42);opacity:0;transition:opacity .25s ease}
  .pp-bag-scrim.is-open{opacity:1}
  .pp-bag-scrim[hidden],.pp-bag[hidden]{display:none}
  .pp-bag{position:fixed;top:0;right:0;bottom:0;z-index:90;width:min(460px,100vw);background:var(--pp-paper);color:var(--pp-ink);overflow-y:auto;overscroll-behavior:contain;padding:26px 28px 34px;box-shadow:-24px 0 60px -30px rgba(43,26,42,.55);transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
  .pp-bag.is-open{transform:none}
  body.pp-bag-open{overflow:hidden}
  .pp-bag-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
  .pp-bag-head h2{font-size:34px;outline:none}
  .pp-bag-close{font:500 14.5px 'Jost',sans-serif;color:var(--pp-ink);border:1.5px solid var(--pp-line) !important;border-radius:99px;padding:7px 16px;background:var(--pp-white)}
  .pp-bag-close:hover{border-color:var(--pp-ink) !important}
  .pp-bag-test{margin-top:14px;font-size:13.5px;line-height:1.5;background:var(--pp-blush);border-radius:8px;padding:11px 14px;color:var(--pp-ink)}
  .pp-bag-test b{font-weight:600;white-space:nowrap}
  .pp-bag-step{margin-top:22px}
  .pp-bag-step[hidden],#pp-bag-form[hidden],.pp-bag-empty[hidden]{display:none}
  .pp-bag-lines li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--pp-line)}
  .pp-bag-lines li:first-child{border-top:1px solid var(--pp-line)}
  .pp-bag-lines b{display:block;font-weight:500;font-size:15.5px}
  .pp-bag-lines span{font-size:13.5px;color:var(--pp-ink-soft)}
  .pp-bag-line-total{font-family:'Cormorant Garamond',serif;font-size:19px !important;font-weight:600;color:var(--pp-plum) !important;min-width:52px;text-align:right}
  .pp-qty{display:flex;align-items:center;border:1.5px solid var(--pp-line);border-radius:99px}
  .pp-qty button{width:32px;height:32px;font-size:17px;color:var(--pp-ink);border-radius:99px}
  .pp-qty button:hover{background:var(--pp-blush)}
  .pp-qty output{min-width:22px;text-align:center;font-size:15px;font-weight:500}
  .pp-bag-empty{font-size:15.5px;color:var(--pp-ink-soft);padding:18px 0}
  #pp-bag-form{margin-top:24px}
  .pp-bag-opts{display:grid;gap:10px}
  .pp-bag-opts .pp-opt label{padding:12px 16px}
  .pp-bag-totals{margin-top:24px;border-top:1px solid var(--pp-line)}
  .pp-bag-totals div{display:flex;justify-content:space-between;padding:9px 0;font-size:15px}
  .pp-bag-totals dt{color:var(--pp-ink-soft)}
  .pp-bag-totals .pp-bag-grand{border-top:1px solid var(--pp-line);margin-top:4px;padding-top:12px}
  .pp-bag-totals .pp-bag-grand dt{color:var(--pp-ink);font-weight:500}
  .pp-bag-totals .pp-bag-grand dd{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;line-height:1}
  .pp-bag-err{color:var(--pp-rose-dark);font-size:14px;margin-top:10px;min-height:0}
  .pp-bag-err:empty{display:none}
  .pp-bag-go{width:100%;margin-top:16px}
  .pp-bag-go[disabled]{opacity:.5;cursor:not-allowed}
  .pp-bag-paying{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;margin-bottom:18px}
  .pp-bag-paying b{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--pp-plum)}
  .pp-pay-element{min-height:200px}
  .pp-bag-secure{margin-top:14px;font-size:13px;color:var(--pp-ink-soft);text-align:center}
  #pp-bag-s3 h3{font-size:30px;line-height:1.15}
  #pp-bag-s3 p{margin-top:10px;font-size:15.5px}
  .pp-bag-note{background:var(--pp-blush);border-radius:8px;padding:12px 14px;font-size:14px !important}
  .pp-bag-again{display:block;margin:18px auto 0}
  @media (max-width:600px){
    .pp-bag{padding:20px 18px 30px}
    .pp-bag-pill{bottom:66px}
    .pp-bag-lines li{grid-template-columns:1fr auto;row-gap:8px}
    .pp-bag-line-total{grid-column:2;grid-row:1}
    .pp-qty{grid-column:1;justify-self:start}
  }
  @media (prefers-reduced-motion:reduce){.pp-bag,.pp-bag-scrim{transition:none}}
  .pp-bag-test[hidden]{display:none}
  .pp-bag-paying span{display:flex;align-items:baseline;gap:10px}

  /* bag icon in the Petal & Stem header + added-to-bag toast */
  .pp-bag-btn{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:99px;color:var(--pp-ink);transition:background .18s ease}
  .pp-bag-btn:hover{background:var(--pp-blush)}
  .pp-bag-count{position:absolute;top:2px;right:0;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--pp-rose);color:#fff;font:600 11.5px/19px 'Jost',sans-serif;text-align:center}
  .pp-bag-count[hidden]{display:none}
  .pp-bag-btn.bump{animation:ppBump .45s cubic-bezier(.3,1.6,.5,1)}
  @keyframes ppBump{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}
  .pp-toast{position:fixed;left:50%;bottom:22px;z-index:75;transform:translate(-50%,12px);opacity:0;display:flex;align-items:center;gap:16px;background:var(--pp-plum-deep);color:var(--pp-paper);border-radius:99px;padding:10px 10px 10px 20px;font:500 14.5px 'Jost',sans-serif;box-shadow:0 14px 34px -12px rgba(43,26,42,.6);transition:opacity .22s ease,transform .22s ease;max-width:calc(100vw - 32px)}
  .pp-toast.is-on{opacity:1;transform:translate(-50%,0)}
  .pp-toast[hidden]{display:none}
  .pp-toast-view{background:var(--pp-blush);color:var(--pp-plum-deep);border-radius:99px;padding:7px 14px;font:500 14px 'Jost',sans-serif;white-space:nowrap}
  @media (max-width:600px){.pp-toast{bottom:66px;font-size:14px}}
  @media (prefers-reduced-motion:reduce){.pp-bag-btn.bump{animation:none}.pp-toast{transition:none}}
  .addon-link{display:inline-block;margin-top:4px;font-weight:600;color:#0f172a;border-bottom:2px solid #84cc16}
  .addon-price{text-align:right}

  /* ============ PRICING PAGE (/services/) ============
     .wrap owns side padding; pr- section classes set top/bottom only. */
  section.pr-hero{padding-top:60px;padding-bottom:28px}
  .pr-hero h1{font-size:clamp(40px,6.4vw,72px);font-weight:700;line-height:1;letter-spacing:-.025em;margin-bottom:18px}
  .pr-hero .lede{font-size:18px;max-width:56ch}
  section.pr-tiers{padding-top:8px;padding-bottom:40px}
  section.pr-sec{padding-top:56px;padding-bottom:56px;border-top:1px solid #e6e8e3}
  .pr-sec h2{font-size:clamp(26px,3.4vw,34px);letter-spacing:-.02em;line-height:1.1}
  .pr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 40px;flex-wrap:wrap;margin-bottom:26px}
  .pr-head p{font-size:15.5px;max-width:46ch}

  .pr-care{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
  .pr-care > div > p{font-size:15.5px;margin-top:10px;max-width:46ch}
  .pr-ticks{margin-top:18px;display:grid;gap:8px}
  .pr-ticks li{position:relative;padding-left:24px;font-size:15px;color:#334155}
  .pr-ticks li::before{content:'';position:absolute;left:2px;top:.38em;width:6px;height:11px;border:solid #84cc16;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
  .pr-care-table{width:100%;border-collapse:collapse;font-size:15px;border:1px solid #e6e8e3}
  .pr-care-table th{text-align:left;font-size:12.5px;font-weight:600;color:#64748b;padding:12px 16px;background:#f6f7f4;border-bottom:1px solid #e6e8e3}
  .pr-care-table td{padding:14px 16px;border-bottom:1px solid #e6e8e3;color:#334155}
  .pr-care-table td:first-child{font-family:'Space Grotesk',sans-serif;font-weight:600;color:#0f172a}
  .pr-care-table tfoot td{font-size:13.5px;color:#3f6212;background:#eef4d9;border-bottom:0;font-family:inherit;font-weight:600}

  .pr-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
  .pr-group{border:1px solid #e6e8e3;border-radius:2px;padding-top:22px;padding-bottom:8px;padding-left:24px;padding-right:24px}
  .pr-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:2px solid #0f172a}
  .pr-group-head h3{font-size:18px}
  .pr-tag{font-size:12px;font-weight:600;background:#eef4d9;color:#4d7c0f;padding:3px 10px;border-radius:99px;white-space:nowrap}
  .pr-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid #f1f2ef}
  .pr-row:last-child{border-bottom:0}
  .pr-row h4{font-family:'Space Grotesk',sans-serif;font-size:15.5px;font-weight:600;color:#0f172a;margin-bottom:2px}
  .pr-row p{font-size:13.5px;color:#64748b;line-height:1.5}
  .pr-price{font-family:'Space Grotesk',sans-serif;font-size:16.5px;font-weight:600;color:#0f172a;text-align:right;white-space:nowrap}
  .pr-price small{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:11px;font-weight:600;color:#64748b;line-height:1.2}
  .pr-link{font-weight:600;color:#0f172a;border-bottom:2px solid #84cc16;white-space:nowrap}

  .pr-compare{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:start}
  .pr-compare-text p.soft{font-size:15.5px;margin-top:10px;margin-bottom:18px;max-width:42ch}
  .pr-src{font-size:12.5px;color:#64748b;margin-top:16px}
  .pr-bar-group{margin-bottom:22px}
  .pr-bar-group:last-child{margin-bottom:0}
  .pr-bar-name{display:flex;justify-content:space-between;align-items:baseline;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;margin-bottom:8px}
  .pr-bar-name span{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:600;color:#4d7c0f}
  .pr-bar{position:relative;height:30px;background:#f6f7f4;border-radius:2px;margin-bottom:6px;overflow:hidden}
  .pr-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:2px;transition:width .35s ease}
  .pr-bar i.mkt{background:#cbd5c8}
  .pr-bar i.lwc{background:#0f172a}
  .pr-bar b{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12.5px;font-weight:600;color:#0f172a;white-space:nowrap}
  .pr-bar i.lwc + b{color:#fff;mix-blend-mode:normal}

  .pr-faq{margin-top:22px;max-width:780px;border-top:1px solid #e6e8e3}
  .pr-faq-item{border-bottom:1px solid #e6e8e3}
  .pr-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:17px;color:#0f172a}
  .pr-faq-item summary::-webkit-details-marker{display:none}
  .pr-faq-item summary::after{content:'+';font-size:24px;font-weight:500;line-height:1;color:#64748b;transition:transform .2s ease}
  .pr-faq-item[open] summary::after{transform:rotate(45deg)}
  .pr-faq-item summary:focus-visible{outline:3px solid #84cc16;outline-offset:2px}
  .pr-faq-body{padding:0 0 20px}
  .pr-faq-body p{font-size:15px;color:#475569;max-width:64ch}
  .pr-faq-body p + p,.pr-faq-body table + p{margin-top:10px}
  .pr-faq-body .pay-table{margin-top:14px}

  @media (max-width:860px){
    .pr-care,.pr-compare{grid-template-columns:minmax(0,1fr);gap:28px}
    .pr-groups{grid-template-columns:minmax(0,1fr)}
  }
  @media (max-width:600px){
    .pr-group{padding-left:18px;padding-right:18px}
    .pr-care-table th,.pr-care-table td{padding:11px 10px;font-size:13.5px}
    .pr-care-table th{font-size:11.5px}
  }
  @media (prefers-reduced-motion:reduce){.pr-bar i{transition:none}}
  /* pricing page fixes: balanced add-on columns, bar labels outside the bars */
  .pr-groups{display:block;columns:2;column-gap:22px}
  .pr-group{break-inside:avoid;margin-bottom:22px;display:inline-block;width:100%}
  @media (max-width:860px){.pr-groups{columns:1}}
  .pr-bar{display:flex;align-items:center;gap:10px;height:28px;background:none;overflow:visible;margin-bottom:6px}
  .pr-bar i{position:static;display:block;height:100%;min-width:4px;flex:none}
  .pr-bar b{position:static;transform:none;font-size:13px;color:#334155}
  .pr-bar i.lwc + b{color:#0f172a;font-weight:700}
  .est-notes-head{font-size:15px;margin-top:22px}
  .est-notes-head[hidden]{display:none}
  .est-notes-head + .est-notes{margin-top:10px}
  .pr-group-head{flex-wrap:wrap}
  .est-lines .est-sum-row td{border-top:2px solid #0f172a;padding-top:13px;font-weight:600;color:#0f172a;font-size:15.5px}
  .est-lines .est-sum-row td:last-child{font-family:'Space Grotesk',sans-serif;font-size:19px}
  .est-paytoggle{margin:18px 0 10px}
  .est-paytoggle[hidden]{display:none}
  .est-demos-head{font-size:18px;margin-top:28px}
  .est-demos-sub{font-size:14px;color:#64748b;margin-top:4px}
  .est-demos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
  .est-demo{display:flex;flex-direction:column;gap:4px;border:1.5px solid #e6e8e3;border-radius:2px;padding:16px 16px 14px;transition:border-color .15s ease}
  .est-demo:hover{border-color:#0f172a}
  .est-demo-tag{font-size:12px;font-weight:600;color:#4d7c0f}
  .est-demo b{font-family:'Space Grotesk',sans-serif;font-size:16px;color:#0f172a}
  .est-demo-line{font-size:13.5px;color:#64748b;line-height:1.45;flex:1}
  .est-demo-go{margin-top:8px;font-size:13.5px;font-weight:600;color:#0f172a;border-bottom:2px solid #84cc16;align-self:flex-start}
  @media (max-width:600px){.est-demos{grid-template-columns:minmax(0,1fr)}}
  .est-demos-mock{font-size:14px;color:#475569;margin-top:14px}
  .est-demos-mock a{font-weight:600;color:#0f172a;border-bottom:2px solid #84cc16}
  form.est-form > p.soft b{color:#0f172a}
  #est-form{scroll-margin-top:90px}
  .pr-care-extra{font-size:14px;color:#475569;margin-top:14px;line-height:1.55}
  .pr-care-extra b{color:#0f172a}
  .pr-plus{display:inline-block;font-size:11.5px;font-weight:600;color:#4d7c0f;background:#eef4d9;border-radius:99px;padding:1px 8px;margin-left:2px;white-space:nowrap}

  /* ============ Starter demo quote form (Sweet Basil) ============ */
  .starter-contact{text-align:left}
  .sb-quote{max-width:880px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:start}
  .sb-quote-intro h2{font-family:'Fraunces',serif;font-size:30px;line-height:1.1;color:#fff}
  .sb-quote-intro p{margin-top:12px;font-size:15.5px;color:#E7D9BE;line-height:1.6}
  .sb-quote-reach{font-size:14px !important}
  .sb-quote-reach a{color:#C9A227;font-weight:700}
  .sb-form,.sb-done{background:#FBF6EE;color:#3B1114;border-radius:4px;padding-top:24px;padding-bottom:24px;padding-left:24px;padding-right:24px;font-family:'Karla',sans-serif}
  .sb-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .sb-field{margin-bottom:14px;border:0;min-width:0}
  .sb-field label,.sb-field legend{display:block;font-weight:700;font-size:14px;margin-bottom:6px;color:#3B1114}
  .sb-field label span{font-weight:400;color:#6B3A3E}
  .sb-field input,.sb-field textarea{width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid #E7D9BE;border-radius:3px;background:#fff;color:#3B1114}
  .sb-field input:focus,.sb-field textarea:focus{outline:none;border-color:#8C1C2B}
  .sb-chips{display:flex;flex-wrap:wrap;gap:8px}
  .sb-chips label{margin:0;font-weight:500}
  .sb-chips input{position:absolute;opacity:0;pointer-events:none}
  .sb-chips span{display:inline-block;padding:9px 14px;border:1.5px solid #E7D9BE;border-radius:99px;background:#fff;font-size:14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}
  .sb-chips input:checked + span{border-color:#8C1C2B;background:#8C1C2B;color:#fff}
  .sb-chips input:focus-visible + span{outline:2.5px solid #C9A227;outline-offset:2px}
  .sb-err{color:#8C1C2B;font-size:14px;font-weight:700;margin-bottom:10px}
  .sb-err:empty{display:none}
  .sb-submit{width:100%;text-align:center}
  .sb-done{outline:none}
  .sb-done[hidden],.sb-form[hidden]{display:none}
  .sb-done h3{font-family:'Fraunces',serif;font-size:26px;color:#3B1114}
  .sb-done p{margin-top:8px;font-size:15.5px;color:#3B1114}
  .sb-done .sb-demo-note{font-size:13.5px;color:#6B3A3E;background:#F3E9D8;border-radius:3px;padding:10px 12px;margin-top:14px}
  .sb-again{margin-top:14px;font:700 14px 'Karla',sans-serif;color:#8C1C2B;border-bottom:1.5px solid currentColor}
  @media (max-width:720px){.sb-quote{grid-template-columns:minmax(0,1fr);gap:22px}.sb-row{grid-template-columns:1fr}}

  /* ============ Standard demo estimate form (GreenScape) ============ */
  .gs-est{min-width:0}
  .gs-form,.gs-done{background:#fff;border:1px solid #DCD6C6;border-radius:2px;padding-top:24px;padding-bottom:24px;padding-left:24px;padding-right:24px}
  .gs-form[hidden],.gs-done[hidden],.gs-more[hidden],.gs-warn[hidden]{display:none}
  .gs-form-intro{font-size:15px;color:#425446;margin-bottom:18px}
  .gs-q{border:0;margin-bottom:18px;min-width:0}
  .gs-q legend{font-family:'Archivo',sans-serif;font-weight:700;font-size:15.5px;margin-bottom:10px;color:#1F2E22}
  .gs-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .gs-cards label,.gs-chips label{display:block;margin:0}
  .gs-cards input,.gs-chips input{position:absolute;opacity:0;pointer-events:none}
  .gs-cards span{display:block;height:100%;border:1.5px solid #DCD6C6;border-radius:2px;padding:12px 14px;font-size:13px;color:#425446;cursor:pointer;transition:border-color .15s ease,background .15s ease}
  .gs-cards b{display:block;font-family:'Archivo',sans-serif;font-size:15px;color:#1F2E22;margin-bottom:2px}
  .gs-cards input:checked + span{border-color:#1F3A2E;background:#EEF2EC;box-shadow:inset 0 0 0 1px #1F3A2E}
  .gs-chips{display:flex;flex-wrap:wrap;gap:8px}
  .gs-chips span{display:inline-block;padding:9px 14px;border:1.5px solid #DCD6C6;border-radius:2px;font-size:14px;cursor:pointer;background:#fff;transition:border-color .15s ease,background .15s ease}
  .gs-chips input:checked + span{border-color:#1F3A2E;background:#1F3A2E;color:#fff}
  .gs-cards input:focus-visible + span,.gs-chips input:focus-visible + span{outline:2.5px solid #A84B32;outline-offset:2px}
  .gs-more{border-left:3px solid #B9C49A;padding-left:14px;margin-bottom:6px}
  .gs-hint{font-size:13px;color:#425446;margin-top:8px}
  .gs-warn{color:#A84B32}
  .gs-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .gs-field{margin-bottom:14px}
  .gs-field label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
  .gs-field label span{font-weight:400;color:#425446}
  .gs-field input,.gs-field select,.gs-field textarea{width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid #DCD6C6;border-radius:2px;background:#fff;color:#1F2E22}
  .gs-field input:focus,.gs-field select:focus,.gs-field textarea:focus{outline:none;border-color:#1F3A2E}
  .gs-err{color:#A84B32;font-size:14px;font-weight:600;margin-bottom:10px}
  .gs-err:empty{display:none}
  .gs-done{outline:none}
  .gs-done h3{font-size:22px}
  .gs-done p{margin-top:8px;font-size:15.5px}
  .gs-done .gs-demo-note{font-size:13.5px;color:#425446;background:#EDEAE2;padding:10px 12px;margin-top:14px}
  .gs-again{margin-top:14px;font:600 14px 'Work Sans',sans-serif;color:#1F3A2E;border-bottom:1.5px solid currentColor}
  @media (max-width:600px){.gs-cards,.gs-row{grid-template-columns:1fr}.gs-form,.gs-done{padding-left:16px;padding-right:16px}}
  .sb-chips label,.gs-chips label,.gs-cards label{position:relative}
  .sb-chips input,.gs-chips input,.gs-cards input{width:1px !important;height:1px;padding:0;border:0;left:0;top:0}
  /* Petal & Stem subscription confirmation (inside the dark plan card) */
  .pp-sub-form[hidden],.pp-sub-done[hidden]{display:none}
  .pp-sub-form{margin-top:18px}
  .pp-sub-form .pp-field{margin-top:12px}
  .pp-sub-form .pp-field > label{color:var(--pp-paper)}
  .pp-sub-form .pp-field input{background:var(--pp-paper);border-color:transparent}
  .pp-sub-err{color:#F0CDD5;font-size:14px;margin-top:10px}
  .pp-sub-err:empty{display:none}
  .pp-plan .pp-sub-form .pp-btn{margin-top:16px}
  .pp-sub-done{margin-top:20px;padding-top:18px;border-top:1px solid var(--pp-line-light);outline:none}
  .pp-sub-done h3{font-size:24px;color:var(--pp-paper)}
  .pp-sub-done p{margin-top:8px;font-size:15px;color:var(--pp-blush)}
  .pp-sub-done .pp-sub-note{font-size:13.5px;font-style:italic;opacity:.8}
  #pp-sub-start[hidden]{display:none}
  .pp-plan-details{margin-top:10px;font-size:14px;color:var(--pp-blush);line-height:1.5}
  .pp-opt-note{font-style:normal;font-weight:400;font-size:13px;color:var(--pp-ink-soft);margin-left:6px}
  .pp-plan .pp-opt-note{color:rgba(243,225,228,.7)}
  .pp-sub-addr[hidden],.pp-sub-giftbox[hidden]{display:none}
  .pp-sub-form select{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1.5px solid transparent;border-radius:8px;background:var(--pp-paper);color:var(--pp-ink)}
  .pp-sub-form textarea{min-height:70px;background:var(--pp-paper);border-color:transparent}
  .pp-sub-gift{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:15px;color:var(--pp-paper);cursor:pointer}
  .pp-sub-gift input{width:18px;height:18px;accent-color:var(--pp-rose)}
  .pp-sub-form select,.pp-sub-form textarea{--cur:inherit}
