/* Shared, content-sized controls: the arrow cell never compresses the label. */
body a.pp-button { --button-bg:#0b2131; --button-fg:#f1f0e9; display:inline-flex; align-items:stretch; justify-content:space-between; gap:0; min-height:56px; max-width:100%; padding:0; border:1px solid #718795; border-radius:3px; background:var(--button-bg); color:var(--button-fg); font:600 13px/1.5 Manrope,Arial,sans-serif; letter-spacing:.015em; text-transform:none; text-decoration:none; overflow:hidden; transition:background-color 180ms,color 180ms,border-color 180ms; }
body a.pp-button-light { --button-bg:#f1f0e9; --button-fg:#0b2131; border-color:#f1f0e9; }
.pp-button-label { display:flex;align-items:center;padding:15px 21px;min-width:0;overflow-wrap:anywhere; }
.pp-button-icon { flex:0 0 53px;display:flex;align-items:center;justify-content:center;border-left:1px solid currentColor;border-left-color:color-mix(in srgb,currentColor 25%,transparent); }
.pp-button-icon svg { transition:transform 180ms; }
body .pp-hero-actions { gap:12px;align-items:stretch; }
body .pp-hero-actions a.pp-button { flex:0 1 auto; }
body .nav a.pp-button { min-height:44px;font-size:11px; }
.nav .pp-button-label { padding:11px 16px; }
.nav .pp-button-icon { flex-basis:42px; }
body a.pp-button:focus-visible { outline:3px solid #78c5ed;outline-offset:5px; }
body a.pp-button:active { background:#34576b;color:#fff; }
@media(hover:hover) and (pointer:fine) {
 body a.pp-button:hover { background:#24465b;color:#fff;border-color:#9cbccc; }
 body a.pp-button-light:hover { background:#c8eaff;color:#0b2131;border-color:#c8eaff; }
 a.pp-button:hover .pp-button-icon svg { transform:translate(2px,-2px); }
}
@media(max-width:600px) {
 body .pp-hero-actions { display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:400px;gap:10px; }
 body .pp-hero-actions a.pp-button { display:flex;width:100%;min-height:52px; }
 .pp-button-label { padding:13px 17px; }
 .pp-button-icon { flex-basis:50px; }
}
/* On short screens, let copy flow rather than hiding an action or cropping it. */
@media(max-height:740px) and (max-width:767px) {
 body .opening-sequence>.hero { height:auto;min-height:100svh;padding-top:110px;padding-bottom:90px; }
 body .hero-copy { position:relative;top:auto;bottom:auto;transform:none; }
}
@media(prefers-reduced-motion:reduce) { body a.pp-button,.pp-button-icon svg { transition:none; } a.pp-button:hover .pp-button-icon svg { transform:none; } }
/* Retire the old CSS-drawn arrow on hero spans. */
body .pp-hero-actions a .pp-button-icon { font-size:inherit;position:static;width:auto;height:auto;border-top:0;border-right:0;border-left:1px solid #8ba0ac55;display:flex; }
body .pp-hero-actions a .pp-button-icon::after { content:none; }
body .pp-main-nav .nav-right a.pp-button { padding:0;display:inline-flex;letter-spacing:.015em;text-transform:none; }
