/* Homeley V3 — compact branded navigation, meaningful animation and calm controls. */
:root { --header-height:74px; }
html { scroll-padding-top:calc(var(--header-height) + 22px); }
.site-header, .site-header.is-scrolled { height:var(--header-height); }
.site-header { box-shadow:0 1px 0 rgba(6,40,35,.09); }
.site-header.is-scrolled { box-shadow:0 9px 24px rgba(7,37,31,.095); }
.site-header .brand,.site-header.is-scrolled .brand { width:129px;max-width:129px; height:100%;padding:5px 0; margin:0;display:flex;align-items:center;justify-content:flex-start; }
.site-header .brand img,.site-header.is-scrolled .brand img { height:65px;max-height:65px;width:auto;max-width:129px;object-fit:contain;object-position:left center; }
.site-header .nav-wrap { gap:19px; }
.main-nav { gap:clamp(10px,1.4vw,20px);font-size:.79rem; }
.nav-cta { min-height:44px; padding-inline:20px;font-size:.8rem; }
.button { gap:10px; }
/* No redundant diagonal arrows, pseudo-icons or decorative emoji on action surfaces. */
.button:not(.reviews-pause) { justify-content:center; }
.text-link { display:inline-flex;min-height:44px;align-items:center; }
.plan-action { font-size:.91rem; }
.hero-v2 .hero-copy h1 { text-wrap:balance; }
/* The differentiators emerge separately when entering view; the CSS is gated by JS so content works without scripts. */
.diff-right { isolation:isolate; }
.diff-item { border-radius:12px;position:relative;transition:background .25s ease,border-color .25s ease,padding-left .3s ease; }
.diff-item h3 { transition:color .25s ease; }
.diff-item:hover,.diff-item:focus-within { background:rgba(255,255,255,.055);border-color:rgba(113,223,200,.53);padding-left:15px; }
.diff-item:hover h3,.diff-item:focus-within h3 { color:#adf2df; }
.diff-animation-ready .diff-stagger:not(.diff-in-view) { opacity:0;transform:translate3d(0,30px,0); }
.diff-animation-ready .diff-stagger.diff-in-view { opacity:1;transform:translate3d(0,0,0);transition:opacity .72s ease var(--stagger-delay), transform .72s cubic-bezier(.19,.82,.22,1) var(--stagger-delay), background .25s ease, padding-left .25s ease; }
/* Reviews: subdued status controls; no oversized decorative arrow cluster. */
.reviews-controls { margin:28px 0 18px;align-items:center; }
.reviews-controls>p { max-width:570px;font-size:.86rem; }
.review-mini-controls { display:flex;gap:15px;align-items:center;padding:0;background:none;border:0;box-shadow:none; }
.review-mini-controls .review-counter { margin:0;letter-spacing:.08em;color:#456f65;font-weight:700;font-size:.77rem;white-space:nowrap; }
.reviews-pause { background:transparent;color:#28554b;border:1px solid rgba(12,57,52,.25);border-radius:100px;min-height:42px;min-width:86px;padding:8px 13px;font-size:.75rem;font-weight:700;transition:background .2s,border-color .2s; }
.reviews-pause:hover,.reviews-pause:focus-visible { background:#e7eee9;border-color:#438b7b; }
.review-dots { display:flex;align-items:center;justify-content:center;gap:2px;margin:15px 0 8px; }
.review-dot { cursor:pointer;width:42px;height:42px;border:0;background:transparent;position:relative;display:grid;place-items:center; }
.review-dot:after { content:"";width:7px;height:7px;border-radius:100px;background:#c5d5cd;transition:width .24s ease,background .24s ease; }
.review-dot.active:after { width:25px;background:#da5c7e; }
.review-dot:hover:after { background:#427f72; }
.review-progress { margin:7px 0 22px;height:3px; }
.reviews-bottom { gap:20px; }
.reviews-more { box-shadow:none;min-height:50px; }
.review-card { min-height:315px; }
/* Identity-led footer with one clean contact list. */
.footer-contact-grid { display:grid;grid-template-columns:.7fr 1.3fr;align-items:start;gap:clamp(30px,7vw,120px);padding:60px 0 48px; }
.footer-contact-grid .footer-brand-block img { width:145px;height:auto;max-height:none; }
.footer-brand-block p { max-width:245px;line-height:1.5; }
.footer-contacts-unified { max-width:600px; }
.footer-contact-grid h3 { font-size:1.15rem;margin-bottom:18px; }
.footer-contacts-unified .footer-contact-link { display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:14px;min-height:70px;padding:12px 10px 12px 0;margin:0;border-bottom:1px solid rgba(255,255,255,.10);line-height:1.3;transition:padding-left .2s,border-color .2s; }
.footer-contacts-unified .footer-contact-link:hover { padding-left:7px;border-color:rgba(130,238,210,.4);color:white; }
.footer-contacts-unified .footer-contact-link .footer-contact-icon { grid-row:span 2;width:43px;height:43px;border-radius:13px;border:1px solid rgba(116,204,184,.4);color:#7ddac8;display:grid;place-items:center; }
.footer-contact-icon svg { display:block; }
.footer-contacts-unified .footer-contact-link .contact-label { font-size:.8rem;color:#afc7c0;align-self:end; }
.footer-contacts-unified .footer-contact-link strong { grid-column:2;margin:2px 0 0;color:#f5fbf7;font-size:clamp(.86rem,1.1vw,1rem);align-self:start; }
/* Tighten the wildly repetitive oversized italisized headings on small screens. */
@media(max-width:1150px) {
 .site-header .brand,.site-header.is-scrolled .brand {width:118px;max-width:118px;}
 .site-header .brand img,.site-header.is-scrolled .brand img {max-width:118px;}
 .main-nav { gap:11px;font-size:.74rem; }
 .nav-cta { padding-inline:15px; }
}
@media(max-width:900px) {
 :root { --header-height:70px; }
 .site-header .brand,.site-header.is-scrolled .brand {width:112px;max-width:112px;}
 .site-header .brand img,.site-header.is-scrolled .brand img {width:112px;max-width:112px;height:auto;max-height:60px;}
 .site-header .nav-wrap { align-items:center; }
 .main-nav { top:100%;left:0;right:0; }
 .menu-toggle { margin-left:auto; }
 .footer-contact-grid { gap:30px; }
}
@media(max-width:690px) {
 :root { --header-height:66px; }
 .site-header .brand,.site-header.is-scrolled .brand {width:108px;max-width:108px;height:100%;}
 .site-header .brand img,.site-header.is-scrolled .brand img {height:auto;max-height:59px;width:108px;}
 .site-header .nav-wrap { gap:9px; }
 .menu-toggle {min-height:44px;min-width:44px;}
 .hero.hero-v2 { padding-top:37px; }
 .hero-v2 .hero-copy h1 { font-size:clamp(2.47rem,9.5vw,3.4rem); line-height:1.11;letter-spacing:-.052em; }
 .hero-v2 .hero-copy .eyebrow { font-size:.75rem; }
 .hero-v2 .hero-lead { font-size:.95rem;max-width:33rem; }
 .hero-v2 .hero-actions { gap:14px; }
 .hero-v2 .hero-actions .button { min-height:49px; padding-inline:19px; }
 .hero-v2 .hero-trust {margin-top:17px;padding-top:14px;}
 .hero-v2 .hero-visual {height:240px;margin-top:2px;}
 .hero-v2 .hero-grid {gap:15px;}
 .section {padding:65px 0;}
 .section-top h2,.reviews-top h2,.team-copy h2,.faq-heading h2 {font-size:clamp(2.1rem,8.5vw,3.05rem);line-height:1.12;}
 .diff-left h2,.quote-copy h2{font-size:clamp(2.35rem,9vw,3.45rem);}
 .diff-item {gap:12px; padding:20px 0;}
 .diff-item:hover {padding-left:9px;}
 .diff-item h3 {font-size:1.17rem;}
 .diff-item p {font-size:.9rem;}
 .reviews-top h2 {margin-bottom:13px;}
 .review-rating {padding:17px 20px;margin-top:19px;}
 .reviews-controls {display:flex;align-items:center;gap:8px; margin-top:15px;}
 .reviews-controls>p {display:none;}
 .review-mini-controls {width:100%;justify-content:space-between;}
 .review-card {flex:0 0 100%;min-height:326px;}
 .review-card blockquote {font-size:.99rem;line-height:1.58;}
 .review-dots {margin:5px 0;}
 .reviews-bottom { flex-direction:column;align-items:stretch;gap:17px; }
 .reviews-more { width:100%;min-height:50px;font-size:.8rem;}
 .footer-topline h2{font-size:clamp(2.25rem,8.7vw,3.25rem);}
 .footer-contact-grid {grid-template-columns:1fr;gap:20px;padding:38px 0 25px;}
 .footer-brand-block img{width:120px!important;}
 .footer-contacts-unified .footer-contact-link { min-height:69px;padding:10px 0; }
 .site-footer {padding-bottom:calc(65px + env(safe-area-inset-bottom));}
 .mobile-cta { padding:9px 12px calc(9px + env(safe-area-inset-bottom)); }
 .mobile-cta a { justify-content:center;min-height:45px;padding:12px 15px; }
 .floating-wa { width:46px;height:46px;bottom:72px;right:14px; }
 body.near-contact .mobile-cta { opacity:0;pointer-events:none;transform:translateY(100%);transition:opacity .2s,transform .2s; }
 body.near-contact .floating-wa { bottom:18px; }
}
@media(max-width:370px) {
 .hero-v2 .hero-copy h1{font-size:2.43rem;}
 .hero-v2 .hero-visual{height:220px;}
 .plan-card{padding:20px;}
 .plan-art svg{width:77px;height:77px;}
 .review-card{min-height:345px;padding:19px;}
 .footer-contact-grid .footer-contact-link strong{font-size:.83rem;}
}
@media(prefers-reduced-motion:reduce) {
 .diff-animation-ready .diff-stagger:not(.diff-in-view) { opacity:1;transform:none; }
 .diff-animation-ready .diff-stagger.diff-in-view { transition:none; }
 .review-dot:after {transition:none;}
}
@media(max-width:690px) {
 .quote-grid { grid-template-columns:minmax(0,1fr); }
 .quote-form-v2 { width:100%;max-width:100%;min-width:0; }
 .quote-copy { min-width:0; }
}
