/* Shared editorial hierarchy and restrained state transitions. */
body .hero h1{font-size:clamp(56px,8vw,128px);line-height:1.02;letter-spacing:-.065em;margin:24px 0 24px;}
body .hero-bottom{justify-content:flex-end;}
body .hero-lead{font-size:clamp(16px,1.45vw,21px);}
body .offers-grid{gap:24px;border:0;align-items:stretch;}
body .offers-grid .offer{padding:32px;min-height:0;border:1px solid #aabec6;background:#f7f7f1!important;}
body .offers-grid .offer+.offer{padding:32px;border:1px solid #aabec6;background:#e7eef0!important;}
body .offers-grid .offer::before{display:none;}
.pp-offer-heading{margin-bottom:20px;}
.pp-offer-format{display:block;font:500 11px/1.5 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#40677a;}
body .offer h3,body .service-card h3.pp-service-name{font-size:clamp(32px,3.2vw,46px);line-height:1.15;letter-spacing:-.045em;color:#091d2c;margin:12px 0;}
body .offer .pp-offer-promise{font-size:18px;line-height:1.45;color:#254e63;margin:0;}
body .offer>p{font-size:15px;line-height:1.75;margin:0 0 24px;max-width:42ch;}
body .offer ul{list-style:none;padding:0;margin:0 0 30px;}
body .offer li{position:relative;padding:10px 0 10px 20px;border-top:1px solid #91a9b52b;font-size:14px;line-height:1.6;}
body .offer li::before{content:'';position:absolute;left:0;top:19px;width:6px;height:6px;border:1px solid #577d90;}
body .offer .v24-offer-footer{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-top:auto;padding-top:22px;}
.pp-offer-price{font-size:30px;letter-spacing:-.035em;color:#0c2b3e;font-weight:500;white-space:nowrap;}
.pp-offer-price small{font-size:13px;letter-spacing:.02em;}
.pp-offer-payment{font-size:12px;letter-spacing:normal;color:#4c6674;}
body .offer .v24-offer-cta{margin-top:22px;}
.pp-service-name{scroll-margin-top:130px;}
@media(max-width:767px){body .hero h1{font-size:clamp(36px,9.1vw,64px);line-height:1.08;margin:20px 0;}body .offers-grid{gap:16px;}body .offers-grid .offer,body .offers-grid .offer+.offer{padding:25px 22px;}body .offer h3{font-size:34px;}}
@media(min-width:768px) and (max-height:740px){body .hero h1{font-size:clamp(56px,7.4vw,104px);}}
@keyframes pp-menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes pp-link-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes pp-field-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 body .contact-panel{animation-duration:550ms;}
 @media(max-width:850px){
  body .pp-main-nav .nav-right.is-open{animation:pp-menu-enter 340ms cubic-bezier(.2,.7,.3,1) both;}
  body .pp-main-nav .nav-right.is-open>a{animation:pp-link-enter 420ms cubic-bezier(.2,.7,.3,1) both;}
  body .pp-main-nav .nav-right.is-open>a:nth-child(2){animation-delay:50ms;}
  body .pp-main-nav .nav-right.is-open>a:nth-child(3){animation-delay:100ms;}
  body .pp-main-nav .nav-right.is-open>a:nth-child(4){animation-delay:150ms;}
  body .pp-main-nav .nav-right.is-open>a:nth-child(5){animation-delay:200ms;}
 }
 .contact-panel:not([hidden]) :is(.contact-fields,.contact-types,.contact-message,.contact-submit-row){animation:pp-field-enter 420ms cubic-bezier(.2,.7,.3,1) both;}
 .contact-panel:not([hidden]) .contact-types{animation-delay:60ms;}
 .contact-panel:not([hidden]) .contact-message{animation-delay:120ms;}
 .contact-panel:not([hidden]) .contact-submit-row{animation-delay:180ms;}
 .faq details[open]>:not(summary){animation:pp-field-enter 220ms ease-out both;}
 .pp-button{transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,transform 180ms ease;}
 .pp-button:active{transform:translateY(1px);}
}
@media(prefers-reduced-motion:reduce){body .contact-panel,body .contact-plus,body .pp-menu-toggle span{animation:none!important;transition:none!important;}}
