/*
Theme Name: Webcat Labs
Description: Preserved Webcat Labs designs with editable WordPress content.
Version: 1.0.3
Requires PHP: 8.1
*/
.webcat-content-card{display:block;border-radius:28px;padding:28px;background:#fff;color:#0b1435;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.webcat-content-card:hover,.webcat-content-card:focus-visible{transform:translateY(-5px);box-shadow:0 18px 36px #0b143522}
.webcat-content-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:18px}
.webcat-content-card h3{font-size:clamp(24px,3vw,38px);margin:16px 0}.webcat-content-card p{line-height:1.5}
.webcat-article{max-width:1100px;margin:auto;padding:100px 24px}.webcat-article h1{font-size:clamp(44px,7vw,90px);line-height:1.02}
.webcat-article-body{max-width:760px;font-size:20px;line-height:1.7}.webcat-article img{max-width:100%;height:auto}
.webcat-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
@media(prefers-reduced-motion:reduce){.webcat-content-card{transition:none}}

/* WordPress adds .page to <body>; the original .page overflow rule is for a page wrapper. */
body.page{overflow-x:clip;overflow-y:visible}

/* Keep the booking form usable at short viewport heights without a visible inner rail. */
.booking-intake-dialog{scrollbar-width:none;-ms-overflow-style:none}
.booking-intake-dialog::-webkit-scrollbar{display:none}
.booking-intake-dialog form{padding:26px 32px 24px}
.booking-intake-dialog h2{letter-spacing:-.025em;line-height:1.1;margin-top:16px;margin-bottom:14px}
.booking-intake-fields{gap:5px}
.booking-intake-fields label{margin-top:5px}
.booking-intake-fields input,.booking-intake-fields select{height:46px}
.booking-intake-dialog small{margin-top:10px}

/* The imported display tracking is too tight with the current font rendering. */
.contact-hero h1{letter-spacing:-.035em;line-height:1.02}
.booking-card h2{letter-spacing:-.025em;line-height:1.1}

@media(max-width:600px){
  .booking-intake-dialog form{padding:22px}
  .booking-intake-dialog h2{font-size:clamp(32px,9vw,40px);line-height:1.08}
  .contact-hero h1{letter-spacing:-.035em;line-height:1.02}
}

/* The source styles use display tracking as tight as -.12em. With the live font,
   that crowds letters and stacked lines throughout the site. */
body h1,body h2{letter-spacing:-.025em!important;line-height:1.08!important}
body h3{letter-spacing:-.02em!important;line-height:1.16!important}
body p{letter-spacing:normal!important}
.footer-giant{letter-spacing:-.045em!important}
.platform-preview strong,.contact-method-grid strong{letter-spacing:-.02em!important}
