.generated-phone {
  width: min(390px, 82%);
  height: 720px;
  transform: translate(-48%, -48%) perspective(1400px) rotateX(2deg) rotateY(2deg) rotateZ(0);
  animation: none;
}
.generated-phone img {
  filter: drop-shadow(0 42px 48px rgba(0,0,0,.52)) drop-shadow(0 8px 16px rgba(0,0,0,.28));
}
.generated-phone:hover,.generated-phone:focus-visible {
  transform: translate(-48%, -49%) perspective(1400px) rotateX(1deg) rotateY(0) rotateZ(0) scale(1.018);
}
.float-card,.finale-orbit { animation: none !important; }
.project,.price,.vendor-card,.contact-card,.request-package,.cta,.pill,.text-link,.modal-close,form button {
  will-change: transform;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, background-color .3s ease, border-color .3s ease, filter .3s ease;
}
.project:hover,.project:focus-visible,
.price:hover,.price:focus-visible,
.vendor-card:hover,.vendor-card:focus-visible,
.contact-card:hover,.contact-card:focus-visible {
  transform: translateY(-9px) scale(1.018);
  box-shadow: 0 28px 70px rgba(0,0,0,.34);
  filter: brightness(1.06);
}
.request-package:hover,.request-package:focus-visible,
.cta:hover,.cta:focus-visible,
.pill:hover,.pill:focus-visible,
.text-link:hover,.text-link:focus-visible,
.modal-close:hover,.modal-close:focus-visible,
form button:hover,form button:focus-visible {
  transform: translateY(-4px) scale(1.025);
  filter: brightness(1.08);
}
.finale-form {
  display: block;
  opacity: 1;
  border-color: rgba(212,175,55,.32);
  box-shadow: 0 38px 95px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07);
}
@media(max-width:1100px){.generated-phone{width:min(350px,82%);height:650px}}
@media(max-width:900px){
  .generated-phone{width:300px;height:560px;transform:translate(-49%,-46%) perspective(1200px) rotateX(2deg) rotateY(2deg)}
  .generated-phone:hover,.generated-phone:focus-visible{transform:translate(-49%,-47%) perspective(1200px) rotateX(1deg) rotateY(0) scale(1.012)}
}
@media(max-width:520px){.generated-phone{width:270px;height:510px}}
@media(max-width:600px){
  .packages .section-head{
    display:block;
    margin-bottom:42px;
    text-align:left;
    justify-items:start;
  }
  .packages .section-head .eyebrow{
    display:block;
    margin:0 0 18px;
  }
  .packages .section-head h2{
    max-width:100%;
    font-size:clamp(3rem,14vw,4.35rem);
    line-height:.96;
    text-align:left;
  }
  .packages .section-head>*{
    justify-self:start;
    text-align:left;
  }
  .packages .pricing-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    align-items:stretch;
  }
  .packages .price,
  .packages .price.featured{
    min-width:0;
    min-height:510px;
    padding:20px 15px;
    border-radius:18px;
  }
  .packages .price h3{
    font-size:clamp(1.55rem,7vw,2rem);
    line-height:1;
    margin:13px 0;
  }
  .packages .amount{
    font-size:clamp(3.3rem,16vw,4.5rem);
    margin:18px 0 22px;
  }
  .packages .amount sup{font-size:20px}
  .packages .price ul{margin:20px 0}
  .packages .price li{
    padding:13px 0;
    font-size:13px;
    line-height:1.4;
  }
  .packages .request-package{
    gap:8px;
    padding-top:17px;
    font-size:10px;
    line-height:1.35;
    text-align:left;
  }
  .packages .popular{
    position:static;
    width:max-content;
    max-width:100%;
    margin:-20px -15px 18px auto;
    border-radius:0 18px 0 12px;
    white-space:nowrap;
  }
  .packages .qr-package{
    grid-column:1/-1;
    min-height:390px;
    padding:26px 22px;
  }
  .packages .qr-package h3{font-size:2.25rem}
  .packages .qr-package .amount{font-size:4.5rem}
  .packages .qr-package li{font-size:14px}
  .packages .package-note{
    border-radius:20px;
    line-height:1.5;
  }
}
@media(prefers-reduced-motion:reduce){.generated-phone{transition:none}.botanical{transform:none!important}}
