/* Homepage reference layout. Page-specific composition; shared type and inner pages stay intact. */
.homepage{--home-width:1600px;--home-gap:32px}
.homepage .wrap{width:94%;max-width:var(--home-width);padding-inline:0}
.homepage .testbar{padding:4px 16px;font-size:.875rem;line-height:1.5;text-align:center}
.homepage .header-row{width:82%;max-width:1360px;min-height:76px;gap:18px;flex-wrap:nowrap}
.homepage .brand img{width:46px;height:46px}.homepage .wordmark{font-size:1.25rem}
.homepage .main-nav{gap:2px;flex-wrap:nowrap}.homepage .nav-item>a{padding:12px 10px}
.homepage .header-row>.btn{min-height:42px;padding:10px 18px;font-size:.9375rem;gap:12px}
.homepage .home-header-search{display:grid;place-items:center;width:32px;min-height:44px;color:var(--heading);flex:none}
.homepage .home-header-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
/* One compact left-hand search panel, with the image extending across the hero. */
.homepage .hero2-grid{width:82%;max-width:1360px;min-height:390px;padding-top:0}
.homepage .hero2-copy{width:640px;max-width:56%;padding:24px 0 26px}
.homepage .hero2 h1{font-size:clamp(2.5rem,2.8vw,2.75rem);line-height:1.08;letter-spacing:-.04em;font-weight:700}
.homepage .hero2-lead{font-size:1rem;line-height:1.5;max-width:530px;margin:12px 0 18px}
.homepage .hero2-backdrop{top:-105px}
.homepage .hero2-art{left:57%;right:0}
.homepage .hero2-tagline{font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;font-size:1.75rem;line-height:1.22;font-style:normal;font-weight:400;top:20px;right:24px;max-width:280px;transform:rotate(-6deg)}
.homepage .hero2-badges{display:grid;right:0;bottom:30px;max-width:260px;font-size:.875rem;line-height:1.5;padding:12px 16px;gap:8px}
.homepage .art-caption{bottom:6px;font-size:.875rem;line-height:1.5}
.homepage .finder{width:clamp(660px,45vw,780px);max-width:calc(100vw - 48px);padding:13px 14px;border-radius:12px;scroll-margin-top:24px}
.homepage .finder-tabs{display:flex;flex-wrap:nowrap;gap:4px;margin-bottom:10px;overflow:visible}
.homepage .finder-tabs button{flex:1 1 auto;min-width:0;white-space:nowrap;font-size:.875rem;line-height:1.4;padding:7px 8px;min-height:36px;gap:5px;justify-content:center}
.homepage .finder-tabs button .ico{width:16px;height:16px}
.homepage .finder-form{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) auto;gap:8px}
.homepage .finder-field{padding:0 10px}.homepage .finder-field input,.homepage .finder-field select{font-size:1rem;line-height:1.5;min-height:44px;padding:9px 0}
.homepage .finder-go{grid-column:auto;min-height:44px;white-space:nowrap;padding:10px 14px;gap:8px;font-size:.9375rem}
.homepage .finder-popular{font-size:.875rem;line-height:1.5;gap:6px;margin-top:10px}
.homepage .finder-popular a{font-size:.875rem;padding:3px 8px;line-height:1.5}
/* Four low-profile value cards, followed by the two equal-width content groups. */
.homepage .features{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:14px}
.homepage .feature{display:flex;gap:12px;padding:14px;align-items:flex-start}
.homepage .feature-ico{width:42px;height:42px;margin:0;flex:none}.homepage .feature-ico .ico{width:24px;height:24px}
.homepage .feature b{font-size:1rem;font-weight:600;line-height:1.4}
.homepage .feature small{font-size:.875rem;line-height:1.5;margin-top:6px}
.homepage .twin{display:grid;grid-template-columns:1fr 1fr;gap:var(--home-gap);padding-block:24px 0}
.homepage .twin>div{min-width:0}
.homepage .sec-head{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}
.homepage .sec-head h2{font-size:1.375rem;line-height:1.3;letter-spacing:-.03em;font-weight:700}
.homepage .sec-head p{font-size:.875rem;line-height:1.5;margin:4px 0 0;max-width:none}
.homepage .sec-head>a{font-size:.875rem;line-height:1.5;min-height:36px;padding:0;margin:0;white-space:nowrap;gap:5px}
.homepage .sec-head>a .ico{width:15px;height:15px}
.homepage .city-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.homepage .care-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.homepage .city-card,.homepage .care-card{border-radius:8px;min-width:0}
.homepage .city-media{aspect-ratio:1.75}.homepage .city-media img{aspect-ratio:auto;width:100%;height:100%;object-fit:cover}
.homepage .care-art{aspect-ratio:1.35}
.homepage .city-body,.homepage .care-body{padding:12px 10px 28px;gap:6px}
.homepage .city-body b,.homepage .care-body b{font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-.02em}
.homepage .city-body small,.homepage .care-body small{font-size:.875rem;line-height:1.5}
.homepage .care-body{padding-top:22px}
.homepage .care-badge{width:32px;height:32px;left:10px;bottom:-14px}.homepage .care-badge .ico{width:18px;height:18px}
.homepage .round-arrow{right:12px;bottom:10px;width:20px;height:20px}.homepage .round-arrow .ico{width:13px;height:13px}
/* Three process cards plus the reference's handwritten right-hand accent. */
.homepage .how{padding-block:24px}
.homepage .how-row{grid-template-columns:minmax(0,1fr) 250px;gap:24px}
.homepage .how-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.homepage .how-steps li{padding:14px 12px;gap:8px;align-items:flex-start}
.homepage .how-no{width:34px;height:34px;font-size:1.125rem}
.homepage .how-ico{display:block;color:var(--link)}.homepage .how-ico .ico{width:26px;height:26px}
.homepage .how-steps b{font-size:1rem;line-height:1.4;font-weight:600}
.homepage .how-steps small{font-size:.875rem;line-height:1.5;margin-top:6px}
.homepage .how-steps li:not(:last-child)::after{display:block;right:-12px;top:26px;font-size:26px}
.homepage .how-script{display:block;font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;font-size:1.625rem;line-height:1.25;transform:rotate(-6deg);margin:0;text-align:center}
/* A horizontal fee strip and a compact quote card, as in the reference. */
.homepage .pricing-band{padding-block:24px}
.homepage .pricing-grid{grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:center}
.homepage .pricing-band h2{font-size:1.375rem;line-height:1.35;font-weight:700;letter-spacing:-.025em}
.homepage .pricing-sub{font-size:.875rem;line-height:1.5;margin:6px 0 20px}
.homepage .pricing-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.homepage .pricing-points>div{display:flex;gap:12px;align-items:flex-start}
.homepage .pp-ico{width:48px;height:48px;margin:0;flex:none}.homepage .pp-ico .ico{width:27px;height:27px}
.homepage .pricing-points b{font-size:.9375rem;line-height:1.4;font-weight:600}
.homepage .pricing-points small{font-size:.875rem;line-height:1.5;margin-top:6px}
.homepage .quote-card{display:flex;gap:16px;padding:20px;align-items:center}
.homepage .quote-ico{width:52px;height:52px;flex:none;margin:0}
.homepage .quote-card h3{font-size:1rem;line-height:1.4;font-weight:600}
.homepage .quote-card p{font-size:.875rem;line-height:1.5;margin:8px 0 12px}
.homepage .quote-card .btn{font-size:.9375rem;line-height:1.4;padding:10px 12px;min-height:44px;gap:8px;white-space:normal}
.homepage .reviews{padding-block:24px 36px}
.homepage .reviews-empty{padding:20px;gap:16px}.homepage .reviews-empty b{font-size:1rem}.homepage .reviews-empty p{font-size:.9375rem;line-height:1.6;margin:6px 0 8px}.homepage .review-policy{font-size:.875rem}
@media(min-width:1600px){.homepage .hero2-backdrop{top:-125px}.homepage .hero2-grid{min-height:410px}}
@media(min-width:1280px) and (max-width:1439px){.homepage .main-nav{display:flex}.homepage .mobile-nav{display:none}.homepage .header-row{gap:12px}.homepage .wordmark{font-size:1.0625rem}.homepage .brand img{width:40px;height:40px}.homepage .nav-item>a{padding-inline:6px}.homepage .header-row>.btn{padding-inline:12px}.homepage .lang-pill{padding-left:10px;margin-left:0}.homepage .home-header-search{width:26px}.homepage .sec-head{align-items:flex-start;flex-wrap:wrap;gap:0 8px}.homepage .sec-head>a{min-height:28px}.homepage .how-row{grid-template-columns:minmax(0,1fr) 200px}.homepage .how-ico{display:none}}
@media(max-width:1200px){.homepage .header-row,.homepage .hero2-grid{width:auto;max-width:1200px}.homepage .wrap{width:auto;max-width:1200px;padding-inline:24px}.homepage .main-nav{display:none}.homepage .mobile-nav{display:block}.homepage .home-header-search{display:none}.homepage .header-row{gap:16px}.homepage .hero2-copy{max-width:70%}.homepage .hero2-badges{display:none}.homepage .features{grid-template-columns:1fr 1fr}.homepage .twin{grid-template-columns:1fr;gap:28px}.homepage .sec-head{flex-wrap:nowrap;align-items:flex-end}.homepage .city-media{aspect-ratio:2}.homepage .care-art{aspect-ratio:1.9}.homepage .how-row{grid-template-columns:1fr}.homepage .how-script{display:none}.homepage .how-ico{display:block}.homepage .pricing-grid{grid-template-columns:1fr}.homepage .quote-card{max-width:540px}.homepage .pricing-points{gap:20px}}
@media(max-width:760px){.homepage .wrap{width:auto;padding-inline:20px}.homepage .header-row{min-height:76px}.homepage .brand img{width:38px;height:38px}.homepage .wordmark{font-size:1.0625rem}.homepage .header-row>.btn{display:none}.homepage .testbar{text-align:left;padding:8px 20px}.homepage .hero2-grid{padding-top:230px;min-height:0}.homepage .hero2-copy{width:100%;max-width:none;padding:18px 0 28px}.homepage .hero2 h1{font-size:2rem;line-height:1.15}.homepage .hero2-lead{font-size:1.0625rem;line-height:1.7;margin:18px 0 24px;max-width:none}.homepage .hero2-backdrop{top:0}.homepage .hero2-art{inset:0 20px auto;height:225px}.homepage .hero2-tagline{font-size:1.375rem;max-width:215px;top:12px;right:0}.homepage .finder{width:100%;max-width:none;padding:14px}.homepage .finder-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.homepage .finder-tabs button{white-space:normal;justify-content:flex-start;min-height:48px;padding:10px 8px}.homepage .finder-form{grid-template-columns:1fr;gap:12px}.homepage .finder-field input,.homepage .finder-field select,.homepage .finder-go{min-height:48px}.homepage .finder-popular{margin-top:14px;gap:8px}.homepage .features{grid-template-columns:1fr;padding-top:24px;gap:14px}.homepage .feature{padding:20px;gap:16px}.homepage .feature b{font-size:1.0625rem}.homepage .feature small{font-size:.9375rem;line-height:1.6;margin-top:8px}.homepage .twin{padding-top:32px;gap:32px}.homepage .sec-head{display:block;margin-bottom:18px}.homepage .sec-head h2{font-size:1.5rem}.homepage .sec-head p{font-size:.9375rem;line-height:1.6;margin-top:8px}.homepage .sec-head>a{display:inline-flex;min-height:44px;margin-top:4px;font-size:.9375rem}.homepage .city-cards,.homepage .care-cards{grid-template-columns:1fr;gap:18px}.homepage .city-media{aspect-ratio:1.9}.homepage .care-art{aspect-ratio:1.9}.homepage .city-body,.homepage .care-body{padding:20px 20px 48px}.homepage .city-body b,.homepage .care-body b{font-size:1.0625rem}.homepage .city-body small,.homepage .care-body small{font-size:.9375rem;line-height:1.6}.homepage .care-body{padding-top:28px}.homepage .how{padding-block:32px}.homepage .how-steps{grid-template-columns:1fr;gap:16px}.homepage .how-steps li{padding:22px 20px}.homepage .how-steps b{font-size:1.0625rem}.homepage .how-steps small{font-size:.9375rem;line-height:1.6}.homepage .how-ico{display:none}.homepage .how-steps li:not(:last-child)::after{display:none}.homepage .pricing-band{padding-block:32px}.homepage .pricing-grid{gap:28px}.homepage .pricing-band h2{font-size:1.5rem}.homepage .pricing-sub{font-size:.9375rem;line-height:1.7;margin:12px 0 24px}.homepage .pricing-points{grid-template-columns:1fr;gap:22px}.homepage .pricing-points b{font-size:1rem}.homepage .pricing-points small{font-size:.9375rem;line-height:1.65}.homepage .quote-card{display:block;padding:24px;max-width:none}.homepage .quote-ico{margin-bottom:18px}.homepage .quote-card h3{font-size:1.125rem}.homepage .quote-card p{font-size:.9375rem;line-height:1.7}.homepage .quote-card .btn{min-height:48px}.homepage .reviews{padding-block:32px 40px}}
@media(max-width:359px){.homepage .wordmark{font-size:.9375rem}.homepage .brand img{width:32px;height:32px}.homepage .header-row{gap:8px}.homepage .finder-tabs button{padding:10px 6px}.homepage .finder-tabs button .ico{display:none}}
