/* V23: quiet corporate homepage; the selected seasonal artwork now belongs to pricing. */
.hero-page body { padding-top:0; }
.hero-page .site-header.over-hero:not(.menu-open)::before { background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; }
.hero-page .site-header.over-hero:not(.menu-open) { border-bottom:0; }
.home-hero { background:#10213F; color:#F4F8FF; min-height:650px; }
.home-hero .hero-inner { min-height:650px; padding-block:180px 95px; display:flex; align-items:center; }
.home-hero .hero-copy { max-width:950px; padding:0; }
.home-hero h1 { max-width:950px; font-size:clamp(3.3rem,6.5vw,6rem); line-height:1.08; letter-spacing:-.065em; font-weight:500; }
.home-hero .hero-line { display:block; }
.home-hero .hero-line:last-child { color:var(--amber); }
.home-hero .hero-eyebrow { color:#BDD1EB; margin-bottom:28px; font-size:.875rem; }
.home-hero .hero-intro { color:#D4E0F0; max-width:610px; font-size:1.125rem; line-height:1.8; margin-top:26px; }
.home-hero .hero-actions { margin-top:30px; display:flex; flex-wrap:wrap; align-items:center; gap:18px 26px; }
.home-hero .hero-text-link { color:#ECF3FF; }
.button-season { background:var(--amber); color:var(--ink); margin:0; }
.button-season .button-arrow { background:var(--ink); color:var(--amber); }
.button-season:hover { background:#FFD18A; }
.intro-promise { color:#C6D7EB; font-size:.875rem; line-height:1.65; max-width:620px; margin-top:18px; }
.home-hero :focus-visible { outline-color:var(--amber); }
.footer-intro-link { display:inline-flex; align-items:center; gap:7px; }
.footer-intro-link .button-arrow { width:18px; height:18px; }
.footer-intro-link .arrow-icon { width:18px; height:18px; }
.service-intro-option { margin-top:20px; }
.service-intro-option .text-link { display:inline-flex; gap:10px; align-items:center; }
.service-intro-option .button-arrow { width:20px; height:20px; }
.service-intro-option .arrow-icon { width:20px; height:20px; }
.contact-actions { align-items:flex-start; }
.paid-enquiry-link { font-size:.9375rem; }
#enquiry-subject[readonly] { background:#E8EFF8; color:#3E5270; }
#enquiry-form button[type=submit] { white-space:normal; justify-content:space-between; gap:16px; }
#enquiry-form button[type=submit]>span:first-child { text-align:left; }
#enquiry-form .inline-arrow { flex:0 0 22px; }
.pricing-hero { min-height:680px; }
.pricing-hero .hero-inner { min-height:680px; padding-block:160px 70px; }
.pricing-hero .hero-copy { max-width:750px; }
.pricing-hero .hero-eyebrow { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; margin-bottom:28px; }
.season-offer-label { display:inline-flex; padding:6px 12px; border:1px solid #F4BE6777; border-radius:25px; background:#10213F55; color:#FFD18A; letter-spacing:.02em; text-transform:none; }
.pricing-hero h1 { font-size:clamp(3rem,5vw,4.75rem); }
.pricing-hero h1 span { color:var(--amber); }
.pricing-hero .hero-intro { max-width:520px; margin-top:24px; }
.pricing-hero .hero-actions { margin-top:26px; display:flex; flex-wrap:wrap; gap:18px 24px; align-items:center; }
.pricing-hero .intro-promise { max-width:530px; }
.hourly-section { padding:72px 0; border-bottom:1px solid var(--line); }
.hourly-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:60px; align-items:center; }
.hourly-copy .eyebrow { color:var(--blue); margin-bottom:12px; }
.hourly-copy h2 { font-size:clamp(2rem,3.2vw,3.25rem); line-height:1.16; letter-spacing:-.05em; }
.hourly-copy>p:last-child { color:var(--muted); max-width:670px; margin-top:20px; line-height:1.8; }
.hourly-rate { padding-left:38px; border-left:1px solid var(--line); }
.hourly-amount { font-size:clamp(2.5rem,4vw,3.7rem); line-height:1.15; font-variant-numeric:tabular-nums; letter-spacing:-.055em; }
.hourly-amount span { display:block; font-size:1rem; letter-spacing:0; line-height:1.6; margin-top:8px; }
.hourly-rate>p:nth-child(2) { color:var(--muted); font-size:.875rem; margin-top:12px; line-height:1.7; }
.hourly-rate .text-link { display:inline-flex; align-items:center; gap:12px; margin-top:22px; }
.hourly-rate .inline-arrow { width:20px; height:20px; }
.pricing-section { padding-top:70px; scroll-margin-top:110px; }
.pricing-heading h2 { font-size:clamp(2.2rem,3.8vw,3.5rem); line-height:1.15; letter-spacing:-.055em; }
.plan-card h3 { font-size:clamp(1.45rem,2vw,1.85rem); line-height:1.2; letter-spacing:-.04em; overflow-wrap:normal; }
.plan-heading { min-height:160px; }
.plan-hours { border:1px solid #74B9FF35; background:#74B9FF0B; border-radius:28px; color:#BEE1FF; text-align:center; padding:9px 14px; font-size:1rem; font-weight:600; line-height:1.5; }
.plan-badge-slot { min-height:40px; margin-top:8px; }
.plan-price-block { padding-top:8px; }
.plan-price-label { min-height:2.8em; }
.plan-net { margin-top:10px; color:#C6D5E8; font-size:.875rem; line-height:1.65; }
.plan-billing { min-height:4.9em; font-size:.9375rem; color:#F4F8FF; font-weight:500; }
.price-number { font-size:clamp(2.25rem,3.35vw,3rem); letter-spacing:-.055em; }
.plan-button { min-height:62px; }
.plan-note { min-height:4.8em; }
.pricing-scope { max-width:940px; margin:62px auto 0; padding:32px 0 0; border-top:1px solid var(--line); }
.pricing-scope h2 { font-size:clamp(1.5rem,2.6vw,2.2rem); letter-spacing:-.04em; }
.pricing-scope p { line-height:1.85; color:var(--muted); margin-top:18px; }
.pricing-scope .text-link { display:inline-block; margin-top:20px; }
@media(max-width:1100px) { .plan-heading { min-height:190px; } }
@media(max-width:980px) {
 .home-hero .hero-inner { min-height:620px; padding-block:155px 75px; }
 .home-hero { min-height:620px; }
 .plan-heading,.plan-billing,.plan-note,.plan-price-label { min-height:0; }
 .plan-card h3 { font-size:2rem; }
 .price-number { font-size:3rem; }
 .hourly-layout { gap:35px; }
 .pricing-hero,.pricing-hero .hero-inner { min-height:680px; }
}
@media(max-width:680px) {
 .home-hero,.home-hero .hero-inner { min-height:600px; }
 .home-hero .hero-inner { padding-block:135px 65px; }
 .home-hero h1 { font-size:clamp(2.6rem,9.5vw,4rem); }
 .home-hero .hero-intro { font-size:1rem; line-height:1.8; }
 .home-hero .hero-eyebrow { font-size:.75rem; letter-spacing:.06em; }
 .home-hero .hero-actions,.pricing-hero .hero-actions { align-items:flex-start; gap:20px; }
 .home-hero .button,.pricing-hero .button { max-width:100%; white-space:normal; }
 .home-hero .button>span:first-child,.pricing-hero .button>span:first-child { overflow-wrap:normal; }
 .pricing-hero,.pricing-hero .hero-inner { min-height:0; }
 .pricing-hero .hero-inner { padding-block:130px 60px; }
 .pricing-hero h1 { font-size:clamp(2.55rem,8.8vw,3.65rem); }
 .pricing-hero .hero-intro { font-size:1rem; }
 .pricing-hero .hero-eyebrow { font-size:.75rem; gap:10px; }
 .hourly-section { padding:48px 0; }
 .hourly-layout { grid-template-columns:1fr; gap:30px; }
 .hourly-rate { padding:25px 0 0; border-left:0; border-top:1px solid var(--line); }
 .pricing-section { padding-top:48px; }
 .pricing-scope { margin-top:38px; padding-top:26px; }
 .plan-card h3 { font-size:1.8rem; }
 .plan-price-label { min-height:0; }
 .plan-billing { font-size:.875rem; }
}
@media(prefers-reduced-motion:reduce) {
 .home-hero [data-reveal] { opacity:1!important; transform:none!important; filter:none!important; }
}

@media(max-width:400px) { .pricing-page .price-number { font-size:2.4rem; } .pricing-hero h1 { font-size:2.55rem; } }
