/* Public-site finishing rules: one control family and deliberate alignment. */
:root{--control-radius:6px}
body :is(.button,.button-lime,.button-accent,.button-dark,.producer-choice,.producer-book,.review-nav-hold,.rush-button,.form-submit,.offer-entry button,.promotion-view,.promotion-contact-choice>summary,.booking-mobile-bar a,.review-mobile-contact a,.reel-chapters a,.search-suggestions a,.service-choices label,.top-credentials>a.sphere-credential,.header-search,.header-search input,.search-input-row input,.search-input-row button,.overview-controls button,button[type=submit]){border-radius:var(--control-radius)!important}
body :is(.button,.booking-mobile-bar a,button[type=submit]){min-height:44px}
body :is(.page-intro,.equipment-hero-heading){text-align:center}
body .page-intro>:is(p,h1),body .equipment-hero-intro{margin-left:auto;margin-right:auto}
body .page-intro :is(.intro-links,.intro-contact,.eyebrow){justify-content:center}
body .page-intro .page-intro-bottom{justify-content:center;align-items:center;text-align:center;flex-wrap:wrap}
body :is(.prose,.hold-form,.inquiry-panel,.calendar-panel,.coi-form,.price-card,.equipment-detail,.client-comment,.story-card,.search-results){text-align:left}
body .rate-breakdown dd,body .fee-list strong{text-align:right;font-variant-numeric:tabular-nums}
body .photography-credit{font-size:12px;color:var(--muted,#bdc7ca);line-height:1.5}
body .footer-top{flex-wrap:wrap}
body .reel-chapters{justify-content:center}
body .overview-entry .overview-copy>a span{display:block!important;margin:5px 0 0!important;white-space:nowrap}
body .overview-entry .overview-poster img{aspect-ratio:auto}
@media(max-width:1100px){
 body .site-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px 20px;padding-block:14px;align-items:center}
 body .site-header>.brand{grid-column:1;grid-row:1}
 body .site-header>.header-search{grid-column:2;grid-row:1;width:min(100%,300px)}
 body .site-header>.menu-toggle{grid-column:3;grid-row:1}
 body .site-header>.header-cta,body .site-header>.desktop-nav{display:none}
 body .site-header>.mobile-nav{grid-column:1/-1;grid-row:2}
}
@media(max-width:600px){
 body .site-header{padding:10px 16px;column-gap:10px;row-gap:0;min-height:68px}
 body .site-header>.brand{gap:9px}
 body .site-header .brand-number{font-size:32px;line-height:1}
 body .site-header .brand-name,body .site-header .brand-name>span{font-size:10px;letter-spacing:.16em}
 body .site-header>.header-search{min-height:44px;width:100%}
 body .site-header>.header-search input{font-size:16px;padding-left:8px}
 body .site-header>.header-search button{flex-basis:36px;min-width:36px}
 body .site-header>.menu-toggle{font-size:12px;gap:6px;padding:0;min-width:46px}
 body .page-intro{padding-block:28px}
 body .page-intro h1,body .page-shell .page-intro h1{font-size:36px;line-height:1.1}
 body .page-intro .intro-text{font-size:16px;line-height:1.65}
 body .footer-top{align-items:flex-start;gap:18px}
 body .footer-top>p{text-align:left}
}
body .action-phone-icon{flex:none;vertical-align:middle;margin-right:8px}
body .booking-mobile-bar a{gap:4px}
body .booking-mobile-bar .action-phone-icon{margin-right:4px}
/* Form introductions share the centered page heading, with fields left aligned. */
body main.page-shell:has(.inquiry-panel) .page-intro{text-align:center;margin-inline:auto}
body .page-intro h1,body .page-intro>p{text-align:center}
body .page-intro>p{margin-inline:auto}
body :is(.page-audio-button,.read-me-control,.read-me-button,.date-toggle){border-radius:var(--control-radius)!important;min-height:44px}
body .page-intro .audio-intro-option{display:flex;flex-direction:column;align-items:center;text-align:center}
body .page-intro .audio-intro-option>p{text-align:center}
