/* ── tokens ─────────────────────────────────────────────── */
  :root{
    /* primaries */
    --gold:#F8F0A6;       /* yarrow yellow */
    --gold-deep:#E9DA72;
    --violet:#4A54CC;     /* the blue that does the work */

    /* the wildflower mix */
    --sky:#95BCEF;        /* cornflower */
    --lilac:#BCA8E4;      /* lupine */
    --blush:#F3AECA;      /* coneflower pink */
    --rose:#E88AAE;       /* deeper pink */
    --meadow:#A8D9B2;     /* pastel green */
    --fern:#6FB57F;       /* deeper green, the stems */
    --rootline:#BFE3C6;   /* pale green, the roots */
    --clover:#6FB57F;     /* hover state */
    --terracotta:#F3AECA;

    --soil:#2C2B5E;       /* deep indigo sections */
    --soil-deep:#232249;
    --mineral:#FDFBF4;    /* warm paper */
    --tag:#FFFFFF;
    --sage:#A8D9B2;       /* the roots */
    --ink:#2A2A4D;
    --ink-soft:#5B5B85;
    --focus:#4A54CC;

    --display:'Bricolage Grotesque', system-ui, sans-serif;
    --hand:'Gloria Hallelujah', cursive;
    --body:'Newsreader', Georgia, serif;
    --label:'Space Mono', ui-monospace, monospace;

    --gutter:clamp(1.25rem, 5vw, 5rem);
    --max:1180px;
  }

  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{
    margin:0;
    background:var(--mineral);
    color:var(--ink);
    font-family:var(--body);
    font-size:clamp(1.02rem,0.97rem + 0.28vw,1.16rem);
    line-height:1.62;
    font-weight:350;
  }
  img,svg{display:block;max-width:100%}
  a{color:inherit}

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

  .wrap{
    max-width:var(--max);
    margin-inline:auto;
    padding-inline:var(--gutter);
  }

  .label{
    font-family:var(--label);
    font-size:.66rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    line-height:1.5;
  }

  h1,h2,h3{
    font-family:var(--display);
    font-weight:700;
    line-height:1.02;
    letter-spacing:-.025em;
    margin:0;
  }

  /* ── meadow band ────────────────────────────────────────── */
  .meadow{display:flex;height:9px;width:100%}
  .meadow span{flex:1}
  .meadow span:nth-child(1){background:var(--sky)}
  .meadow span:nth-child(2){background:var(--gold)}
  .meadow span:nth-child(3){background:var(--blush)}
  .meadow span:nth-child(4){background:var(--meadow)}
  .meadow span:nth-child(5){background:var(--lilac)}
  .meadow span:nth-child(6){background:var(--rose)}
  .meadow span:nth-child(7){background:var(--sky)}
  .meadow span:nth-child(8){background:var(--fern)}
  .meadow span:nth-child(9){background:var(--gold-deep)}
  .meadow span:nth-child(10){background:var(--blush)}

  /* ── header ─────────────────────────────────────────────── */
  .top{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:1rem;
    padding-block:1.6rem;
    flex-wrap:wrap;
  }
  .top .mark{
    text-decoration:none;
    font-family:var(--hand);
    font-weight:400;
    font-size:1.15rem;
    color:var(--violet);
    letter-spacing:0;
  }


  /* ── hero ───────────────────────────────────────────────── */
  .hero{padding-block:clamp(2.5rem,7vw,5.5rem) 0}
  .hero .eyebrow{
    color:var(--violet);
    margin-bottom:1.6rem;
  }
  .brush{
    position:relative;
    display:block;
    width:fit-content;
    max-width:100%;
    padding:clamp(1rem,2.6vw,1.8rem) clamp(1.2rem,3.4vw,2.4rem) clamp(1.2rem,3vw,2rem);
  }
  .brush::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--gold);
    transform:rotate(-.8deg);
    clip-path:polygon(
      1% 9%,6% 1%,14% 7%,23% 2%,33% 8%,44% 1%,55% 7%,66% 1%,77% 8%,87% 2%,96% 7%,100% 13%,
      99% 87%,93% 97%,84% 91%,74% 99%,63% 92%,52% 99%,41% 92%,30% 100%,19% 93%,9% 99%,2% 92%);
  }
  .hero h1{
    color:var(--violet);
    font-size:clamp(2.7rem,10.5vw,7.4rem);
    font-weight:800;
    letter-spacing:-.045em;
    line-height:.92;
    text-wrap:balance;
  }
  .hero h1 .two{
    display:block;
    font-family:var(--hand);
    font-weight:400;
    font-size:.44em;
    letter-spacing:.01em;
    line-height:1.15;
    margin-top:.22em;
    padding-left:.12em;
    color:var(--violet);
  }
  .hero .lede{
    max-width:31ch;
    margin:1.9rem 0 0;
    font-size:clamp(1.15rem,1.02rem + 0.6vw,1.4rem);
  }
  .actions{
    display:flex;
    flex-wrap:wrap;
    gap:.9rem 1.4rem;
    align-items:center;
    margin-top:2.2rem;
  }

  .btn{
    display:inline-block;
    font-family:var(--display);
    font-weight:700;
    font-size:1.02rem;
    letter-spacing:-.01em;
    text-decoration:none;
    padding:.95rem 1.6rem;
    border-radius:999px;
    background:var(--violet);
    color:#FFFFFF;
    border:2px solid var(--violet);
    transition:background .18s ease, color .18s ease, transform .18s ease;
  }
  .btn:hover{background:var(--clover);border-color:var(--clover);transform:translateY(-2px)}
  .btn.light{background:var(--gold);border-color:var(--gold);color:var(--soil-deep)}
  .btn.light:hover{background:#FFFFFF;border-color:#FFFFFF;color:var(--soil-deep)}

  .quiet-link{
    font-family:var(--label);
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-decoration:none;
    border-bottom:2px solid var(--violet);
    padding-bottom:2px;
  }
  .quiet-link:hover{border-bottom-color:var(--clover)}

  /* ── the ground: wildflower band ────────────────────────── */
  .ground{
    position:relative;
    margin-top:clamp(1.5rem,4vw,3rem);
    height:clamp(280px,32vw,380px);
    background:linear-gradient(to bottom,var(--mineral) 0 60%,var(--soil) 60% 100%);
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    justify-content:space-around;
    padding-inline:clamp(.5rem,3vw,2rem);
  }
  .plant{
    position:relative;
    flex:1;
    max-width:170px;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
  }
  .stem{
    width:5px;
    background:var(--fern);
    border-radius:3px;
    transform-origin:bottom center;
    animation:grow 1s cubic-bezier(.3,.8,.4,1) both;
  }
  .leaf{
    position:absolute;
    background:var(--fern);
    border-radius:100% 0 100% 0;
    transform-origin:left center;
    animation:unfurl .6s ease-out both;
  }
  .leaf.right{
    background:var(--meadow);
    border-radius:0 100% 0 100%;
    transform-origin:right center;
  }
  .flower{
    position:absolute;
    width:0;height:0;
    animation:open .7s cubic-bezier(.34,1.56,.64,1) both;
  }
  .petal{
    position:absolute;
    border-radius:50% 50% 50% 50% / 62% 62% 38% 38%;
    transform-origin:50% 100%;
  }
  .core{
    position:absolute;
    border-radius:50%;
    background:var(--gold-deep);
  }
  .root{
    position:absolute;
    left:50%;
    translate:-50% 0;
    background:var(--rootline);
    border-radius:3px;
    transform-origin:top center;
    animation:sprout .7s cubic-bezier(.3,.8,.4,1) both;
  }

  @keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
  @keyframes sprout{from{scale:1 0}to{scale:1 1}}
  @keyframes unfurl{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
  @keyframes open{from{opacity:0;transform:scale(.1) rotate(-40deg)}
                  to{opacity:1;transform:scale(1) rotate(0)}}

  /* thin the row out on narrow screens so it never crowds */
  @media(max-width:900px){.plant:nth-child(n+6){display:none}}
  @media(max-width:620px){.plant:nth-child(n+5){display:none}}
  @media(max-width:420px){.plant:nth-child(n+4){display:none}}

  /* ── soil sections ──────────────────────────────────────── */
  .soil{background:var(--soil);color:var(--mineral)}
  .soil h2{color:var(--mineral)}
  .soil .eyebrow{color:var(--gold)}

  .section{padding-block:clamp(3.5rem,8vw,6.5rem)}
  .section-head{max-width:44ch;margin-bottom:clamp(2.2rem,5vw,3.4rem)}
  .section-head .eyebrow{margin-bottom:1rem;display:block}
  .section-head h2{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem)}
  .section-head p{margin:1.1rem 0 0;opacity:.82}

  /* ── plant tags ─────────────────────────────────────────── */
  .tags{
    display:grid;
    gap:clamp(1.4rem,3vw,2rem);
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  }
  .tag{
    position:relative;
    background:var(--tag);
    color:var(--ink);
    padding:2.6rem 1.5rem 3.6rem;
    clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),50% 100%,0 calc(100% - 30px));
    transition:transform .22s ease;
  }
  .tag:nth-child(odd){transform:rotate(-.7deg)}
  .tag:nth-child(even){transform:rotate(.6deg)}
  .tag:hover{transform:rotate(0deg) translateY(-6px)}
  .tag::after{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:7px;
    background:var(--band,var(--sky));
  }
  .tags .tag:nth-child(1){--band:var(--sky)}
  .tags .tag:nth-child(2){--band:var(--blush)}
  .tags .tag:nth-child(3){--band:var(--meadow)}
  .tags .tag:nth-child(4){--band:var(--gold-deep)}
  .tag::before{
    content:"";
    position:absolute;
    z-index:1;
    top:.95rem;
    left:50%;
    transform:translateX(-50%);
    width:15px;height:15px;
    border-radius:50%;
    background:var(--soil);
  }
  .tag .cat{
    display:block;
    color:var(--violet);
    margin-bottom:.9rem;
  }
  .tag h3{
    font-size:1.42rem;
    letter-spacing:-.02em;
    margin-bottom:.7rem;
  }
  .tag p{margin:0;font-size:.99rem;line-height:1.55;color:var(--ink-soft)}

  /* ── steps: a real sequence, so it gets numbers ─────────── */
  .steps{
    display:grid;
    gap:clamp(1.6rem,4vw,2.6rem);
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    border-top:1px solid rgba(35,42,34,.18);
    padding-top:2.4rem;
  }
  .step .num{
    font-family:var(--label);
    font-size:.72rem;
    letter-spacing:.16em;
    color:var(--violet);
    display:block;
    margin-bottom:.85rem;
  }
  .step h3{font-size:1.28rem;margin-bottom:.5rem}
  .step p{margin:0;color:var(--ink-soft);font-size:1rem}

  /* ── date picker ─────────────────────────────────────────── */
  .picker-wrap{
    display:grid;
    gap:clamp(1.6rem,4vw,2.6rem);
    grid-template-columns:minmax(0,1fr);
    align-items:start;
  }
  @media(min-width:760px){
    .picker-wrap{grid-template-columns:minmax(0,340px) 1fr}
  }
  .picker{
    background:var(--tag);
    border-radius:6px;
    padding:1.4rem 1.3rem 1.2rem;
    color:var(--ink);
  }
  .picker-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:.9rem;
  }
  .picker-month{
    font-family:var(--display);
    font-weight:700;
    font-size:1.05rem;
    letter-spacing:-.01em;
  }
  .picker-nav{
    width:32px;height:32px;
    border-radius:50%;
    border:1px solid rgba(42,42,77,.18);
    background:transparent;
    color:var(--ink);
    font-size:1rem;
    cursor:pointer;
    transition:background .15s ease;
  }
  .picker-nav:hover{background:rgba(74,84,204,.1)}
  .picker-nav:disabled{opacity:.3;cursor:default;background:none}
  .picker-dow{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    text-align:center;
    font-family:var(--label);
    font-size:.62rem;
    letter-spacing:.08em;
    color:var(--ink-soft);
    margin-bottom:.3rem;
  }
  .picker-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:.3rem;
  }
  .picker-day{
    aspect-ratio:1;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid rgba(42,42,77,.16);
    background:var(--mineral);
    font-family:var(--body);
    font-size:.92rem;
    color:var(--ink);
    cursor:pointer;
    transition:background .15s ease,color .15s ease,border-color .15s ease;
  }
  .picker-day:hover:not(.is-disabled):not(.is-blank){
    border-color:var(--violet);
  }
  .picker-day.is-blank{visibility:hidden;cursor:default}
  .picker-day.is-disabled{
    color:rgba(42,42,77,.28);
    background:transparent;
    border-color:transparent;
    cursor:default;
  }
  .picker-day.is-today{border-color:var(--sky);border-width:2px}
  .picker-day.is-selected{
    background:var(--violet);
    border-color:var(--violet);
    color:#fff;
  }
  .picker-legend{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem 1rem;
    margin-top:1rem;
    font-family:var(--label);
    font-size:.62rem;
    letter-spacing:.06em;
    color:var(--ink-soft);
  }
  .picker-legend span{display:inline-flex;align-items:center;gap:.4rem}
  .picker-dot{width:10px;height:10px;border-radius:50%;display:inline-block}

  .picker-side{color:var(--mineral)}
  .picker-status{
    background:rgba(251,252,244,.08);
    border:1px solid rgba(251,252,244,.18);
    border-radius:6px;
    padding:1rem 1.1rem;
    margin-bottom:1.1rem;
  }
  .picker-status p{margin:0;font-size:.98rem;line-height:1.55;opacity:.9}
  #picker-continue{
    display:inline-block;
    opacity:.5;
    pointer-events:none;
  }
  #picker-continue.is-ready{opacity:1;pointer-events:auto}

  .calendar-embed{margin-top:1.8rem}
  .calendar-embed iframe{width:100%;border:0;border-radius:6px;min-height:300px}
  .calendar-placeholder{
    margin:0;
    padding:1.4rem;
    background:rgba(251,252,244,.06);
    border:1px dashed rgba(251,252,244,.25);
    border-radius:6px;
    font-size:.92rem;
    color:rgba(251,252,244,.7);
  }

  .field .opt{
    font-weight:400;
    text-transform:none;
    letter-spacing:0;
    color:rgba(251,252,244,.5);
  }

  /* ── faq ────────────────────────────────────────────────── */
  .faq{
    display:grid;
    gap:clamp(1.5rem,3.5vw,2.4rem) clamp(2rem,5vw,3.5rem);
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  }
  .qa{border-top:2px solid var(--sky);padding-top:1rem}
  .qa:nth-child(2){border-top-color:var(--blush)}
  .qa:nth-child(3){border-top-color:var(--meadow)}
  .qa:nth-child(4){border-top-color:var(--lilac)}
  .qa:nth-child(5){border-top-color:var(--gold-deep)}
  .qa:nth-child(6){border-top-color:var(--rose)}
  .qa h3{font-size:1.18rem;margin-bottom:.45rem}
  .qa p{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.55}

  /* ── about ──────────────────────────────────────────────── */
  .about{
    display:grid;
    gap:clamp(1.6rem,4vw,3.5rem);
    grid-template-columns:minmax(0,1fr);
    align-items:start;
  }
  @media(min-width:820px){
    .about{grid-template-columns:0.85fr 1.15fr}
  }
  .about h2{font-size:clamp(2rem,1.4rem + 2.4vw,3.1rem)}
  .about .body p{margin:0 0 1.1rem}
  .about .body p:last-child{margin-bottom:0}
  .about .body em{font-family:var(--body);font-style:italic}

  /* ── contact ────────────────────────────────────────────── */
  .contact{background:var(--soil-deep);color:var(--mineral)}
  .contact h2{
    color:var(--mineral);
    font-size:clamp(2.1rem,1.4rem + 3vw,3.8rem);
    max-width:16ch;
  }
  .contact .lede{margin:1.2rem 0 2.2rem;max-width:36ch;opacity:.85}
  .contact-grid{
    display:grid;
    gap:2.4rem;
    grid-template-columns:minmax(0,1fr);
  }
  @media(min-width:820px){
    .contact-grid{grid-template-columns:.85fr 1.15fr;align-items:start}
  }
  .detail{margin-bottom:1.6rem}
  .detail .k{
    display:block;
    color:var(--gold);
    margin-bottom:.35rem;
  }
  .detail a{text-decoration:none;border-bottom:1px solid rgba(231,232,224,.35)}
  .detail a:hover{border-bottom-color:var(--gold)}

  footer{
    background:var(--soil-deep);
    color:rgba(231,232,224,.6);
    border-top:1px solid rgba(231,232,224,.14);
  }
  footer .wrap{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem 1.6rem;
    justify-content:space-between;
    padding-block:1.6rem;
  }
  footer a{text-decoration:none}
  footer a:hover{color:var(--gold)}

  /* ── gallery: before and after ──────────────────────────── */
  .shots{
    display:grid;
    gap:clamp(1.4rem,3vw,2.2rem);
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  }
  .shot{margin:0}
  .shot .frame{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:var(--soil-deep);
    border:1px solid rgba(231,232,224,.16);
  }
  .shot .hint{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:1rem;
    color:rgba(231,232,224,.42);
  }
  .shot .frame img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:opacity .4s ease;
  }
  .shot .frame img.missing{display:none}
  .shot .pic-before{opacity:0}
  .shot.is-before .pic-before{opacity:1}
  .shot.is-before .pic-after{opacity:0}

  .shot .stamp{
    position:absolute;
    top:.7rem;
    left:.7rem;
    z-index:2;
    background:var(--violet);
    color:#FFFFFF;
    padding:.3rem .6rem;
    font-family:var(--label);
    font-size:.6rem;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .shot.is-before .stamp{background:var(--blush);color:var(--soil-deep)}
  .shot .flip{
    position:absolute;
    bottom:.7rem;
    right:.7rem;
    z-index:2;
    cursor:pointer;
    font-family:var(--label);
    font-size:.62rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--soil-deep);
    background:var(--mineral);
    border:none;
    padding:.5rem .8rem;
    transition:background .18s ease,color .18s ease;
  }
  .shot .flip:hover{background:var(--clover);color:var(--mineral)}
  .shot figcaption{
    margin-top:.9rem;
    font-size:.98rem;
    color:rgba(231,232,224,.72);
  }
  .shot figcaption strong{
    display:block;
    font-family:var(--display);
    font-weight:700;
    font-size:1.1rem;
    color:var(--mineral);
    letter-spacing:-.015em;
    margin-bottom:.15rem;
  }

  /* ── estimate calculator ────────────────────────────────── */
  .calc{
    background:rgba(231,232,224,.05);
    border:1px solid rgba(231,232,224,.16);
    padding:clamp(1.5rem,4vw,2.4rem);
    max-width:720px;
  }
  .readout{
    margin-top:1.6rem;
    padding-top:1.6rem;
    border-top:1px solid rgba(231,232,224,.16);
  }
  .readout .rk{display:block;color:var(--gold);margin-bottom:.6rem}
  .readout .figure{
    color:var(--gold);
    font-family:var(--display);
    font-weight:800;
    font-size:clamp(2rem,1.4rem + 2.6vw,3rem);
    letter-spacing:-.03em;
    line-height:1.05;
    margin:0;
  }
  .readout .note{
    margin:.6rem 0 0;
    color:rgba(231,232,224,.72);
    font-size:.98rem;
  }
  .calc .fine{
    margin:1.4rem 0 0;
    font-size:.9rem;
    color:rgba(231,232,224,.55);
  }

  /* ── quote form ─────────────────────────────────────────── */
  .form{
    background:rgba(231,232,224,.05);
    border:1px solid rgba(231,232,224,.16);
    padding:clamp(1.5rem,4vw,2.4rem);
  }
  .field{margin-bottom:1.2rem}
  .field label{
    display:block;
    font-family:var(--label);
    font-size:.66rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:.45rem;
  }
  .field input,
  .field select,
  .field textarea{
    width:100%;
    font-family:var(--body);
    font-size:1rem;
    color:var(--mineral);
    background:rgba(21,29,24,.6);
    border:1px solid rgba(231,232,224,.24);
    border-radius:0;
    padding:.75rem .85rem;
    transition:border-color .18s ease;
  }
  .field textarea{min-height:120px;resize:vertical;line-height:1.5}
  .field select{appearance:none;cursor:pointer}
  .field select option{background:var(--soil-deep);color:var(--mineral)}
  .field input:focus,
  .field select:focus,
  .field textarea:focus{border-color:var(--gold)}
  .field input::placeholder,
  .field textarea::placeholder{color:rgba(231,232,224,.38)}
  .row{display:grid;gap:1.2rem;grid-template-columns:minmax(0,1fr)}
  @media(min-width:560px){.row{grid-template-columns:1fr 1fr}}
  .row .field{margin-bottom:1.2rem}
  .pot{position:absolute;left:-9999px}
  .form button[type=submit]{cursor:pointer;font-family:var(--display)}
  .form button[type=submit][disabled]{opacity:.6;cursor:progress}
  .status{
    margin:1rem 0 0;
    font-size:.98rem;
    min-height:1.5rem;
  }
  .status.ok{color:var(--meadow)}
  .status.bad{color:#E8A0A0}
  .form .fine{
    margin:1.4rem 0 0;
    font-size:.9rem;
    color:rgba(231,232,224,.55);
  }

  @media(prefers-reduced-motion:reduce){
    *{animation:none !important;transition:none !important}
  }

  /* ── site nav ───────────────────────────────────────────── */
  .top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.8rem 1.5rem;
    padding-block:1.3rem;
    flex-wrap:wrap;
  }
  .nav{
    display:flex;
    flex-wrap:wrap;
    gap:.2rem 1.35rem;
    align-items:center;
  }
  .nav a{
    font-family:var(--label);
    font-size:.68rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-decoration:none;
    color:var(--ink-soft);
    padding-block:.35rem;
    border-bottom:3px solid transparent;
    transition:color .16s ease,border-color .16s ease;
  }
  .nav a:hover{color:var(--ink)}
  .nav a[aria-current=page]{
    color:var(--ink);
    border-bottom-color:var(--accent,var(--sky));
  }
  .nav a:nth-child(1){--accent:var(--sky)}
  .nav a:nth-child(2){--accent:var(--blush)}
  .nav a:nth-child(3){--accent:var(--meadow)}
  .nav a:nth-child(4){--accent:var(--gold-deep)}

  /* ── page headers on inner pages ────────────────────────── */
  .page-head{padding-block:clamp(2.4rem,6vw,4.2rem) 0}
  .page-head .eyebrow{color:var(--violet);display:block;margin-bottom:1rem}
  .page-head h1{
    color:var(--violet);
    font-size:clamp(2.4rem,1.6rem + 4vw,4.6rem);
    letter-spacing:-.035em;
    line-height:.98;
  }
  .page-head p{
    max-width:46ch;
    margin:1.2rem 0 0;
    font-size:clamp(1.05rem,1rem + .4vw,1.25rem);
  }

  /* ── reviews ────────────────────────────────────────────── */
  .reviews{
    display:grid;
    gap:clamp(1.4rem,3vw,2.2rem);
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  }
  .review{
    background:var(--tag);
    border:1px solid rgba(42,42,77,.12);
    border-top:7px solid var(--band,var(--sky));
    padding:1.6rem 1.5rem 1.4rem;
  }
  .reviews .review:nth-child(2){--band:var(--blush)}
  .reviews .review:nth-child(3){--band:var(--meadow)}
  .reviews .review:nth-child(4){--band:var(--lilac)}
  .reviews .review:nth-child(5){--band:var(--gold-deep)}
  .reviews .review:nth-child(6){--band:var(--rose)}
  .review p{margin:0;font-size:1.02rem;line-height:1.6}
  .review .who{
    display:block;
    margin-top:1rem;
    font-family:var(--label);
    font-size:.66rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }

  /* ── pet notice ─────────────────────────────────────────── */
  .notice{
    display:flex;
    gap:1rem;
    align-items:flex-start;
    background:#FFF6FA;
    border:1px solid var(--blush);
    border-left:7px solid var(--rose);
    padding:1.3rem 1.4rem;
    margin-top:clamp(2rem,5vw,3rem);
  }
  .notice h3{font-size:1.1rem;margin-bottom:.4rem}
  .notice p{margin:0;font-size:1rem;color:var(--ink-soft);line-height:1.55}
  .form .notice{
    background:rgba(243,174,202,.08);
    border-color:rgba(243,174,202,.4);
    border-left-color:var(--rose);
    margin:0 0 1.3rem;
  }
  .form .notice p{color:rgba(253,251,244,.8)}
  .form .notice h3{color:var(--mineral)}

  /* ── cross links between pages ──────────────────────────── */
  .next{
    display:flex;
    flex-wrap:wrap;
    gap:1rem 2rem;
    align-items:center;
    justify-content:space-between;
    border-top:2px solid var(--sky);
    padding-top:1.6rem;
    margin-top:clamp(2.4rem,6vw,4rem);
  }
  .next p{margin:0;max-width:44ch}
  .next.center{
    flex-direction:column;
    justify-content:center;
    text-align:center;
    gap:1.2rem;
  }
  .next.center p{max-width:52ch}
  .cta-center{
    text-align:center;
    margin:clamp(2.2rem,5vw,3.4rem) 0 0;
  }
