/* Approved home composition. Scoped to main so the existing footer stays intact. */
.home-layout main svg[aria-hidden=true]{pointer-events:none}
.home-layout main .hero-curve path:first-child{d:path('M0 0H650C760 100 670 205 720 310C770 415 820 520 650 610H0Z');fill:#fcf9f5}
.home-layout main .hero-curve path:last-child{display:block}
.home-layout main .product-card .product-complete{position:absolute;left:0;right:0;top:30%;bottom:auto;width:100%;height:64%;margin:0;max-width:100%;object-fit:contain;transform:none;z-index:0}
.home-layout main .product-card:first-child h3,.home-layout main .product-card:first-child p,.home-layout main .product-card:first-child>a{position:relative;z-index:1}
.home-layout main .product-card:first-child>a{align-self:flex-start}
.home-layout main .product-card{isolation:isolate}
.home-layout main .about-product>img{transform:translate(4%,4%) scale(1.4)}
.home-layout main .about-art path{fill:#ff7029}
.home-layout main .continuous-art{opacity:.72}
.home-layout main .unit>.button{margin-top:0}
.home-layout main .contact-phone .wa{background:#00c859;color:white;padding:8px;border-radius:50%}
.home-layout main .brand-products img:last-child{clip-path:none;transform:none;left:15%;top:47%;width:70%;height:42%;object-fit:contain}
.home-layout main .brand-products img:first-child{top:26%;height:25%}
.home-layout main .accessories img:first-child{left:5%;top:36%;width:90%;height:45%;transform:none;object-fit:contain}
.home-layout main .accessories img:last-child{right:3%;bottom:9%;width:56%;height:32%;object-fit:contain}
@media(min-width:761px) and (max-width:1050px){
 .home-layout main .hero{height:calc(100vw * .388);padding-bottom:0}
 .home-layout main .hero-copy{width:46%;padding-top:4.5vw}
 .home-layout main .hero h1{font-size:4.0vw;line-height:1.04}
 .home-layout main .eyebrow{font-size:1.3vw;margin-bottom:1.5vw}
 .home-layout main .intro{font-size:1.7vw;line-height:1.3;margin-top:1.2vw}
 .home-layout main .hero-buttons{margin-top:1.5vw;gap:1.4vw}
 .home-layout main .hero-buttons .button{font-size:1.5vw;padding:1vw;min-height:4.4vw}
 .home-layout main .slider-controls{margin-top:1vw;gap:2.2vw}
 .home-layout main .hero-media{inset:0;height:100%}
 .home-layout main .hero-media[data-image-slide="0"] img{width:auto;height:100%;top:0;bottom:auto;right:0}
 .home-layout main .hero-curve,.home-layout main .hero-bottom{inset:0;width:100%;height:100%}
 .home-layout main .hero-curve path:first-child{d:path('M0 0H650C760 100 670 205 720 310C770 415 820 520 650 610H0Z')}
 .home-layout main .product-card:first-child h3{white-space:normal}
}
@media(max-width:760px){
 .home-layout main .hero-curve path:first-child{d:path('M0 0H1440V120C990 220 500 620 0 300Z')}
 .home-layout main .product-card .product-complete{top:29%;height:64%;left:0;width:100%;transform:none}
 .home-layout main .about-product>img{transform:scale(1.25)}
 .home-layout main .continuous-art{left:0;width:100%}
 .home-layout main .brand-products{position:relative;display:flex;height:260px;flex:1}
 .home-layout main .brand-products img:first-child,.home-layout main .brand-products img:last-child{position:static;transform:none;clip-path:none;max-width:100%;width:240px}
 .home-layout main .brand-products img:first-child{height:100px}
 .home-layout main .brand-products img:last-child{height:160px}
 .home-layout main .accessories{position:relative}
 .home-layout main .accessories img:first-child{top:0;left:0;height:78%;width:90%}
 .home-layout main .accessories img:last-child{bottom:0;right:0;height:54%;width:58%}
}

/* Small presentation corrections: natural photos and continuous rounded hover. */
.home-layout main .service-photo::after{display:none;opacity:0;background:none}
.home-layout main .services article .service-photo img,
.home-layout main .services article:is(:hover,:focus-within) .service-photo img{filter:none;opacity:1}
.home-layout main .hearing>.grid{padding:0}
.home-layout main .hearing .grid>a{position:relative;align-self:stretch}
.home-layout main .hearing .grid>a::after{content:"";position:absolute;inset:0;border:1px solid transparent;pointer-events:none;transition:border-color .2s ease}
.home-layout main .hearing .grid>a:first-child::after{border-radius:22px 0 0 22px}
.home-layout main .hearing .grid>a:last-child::after{border-radius:0 22px 22px 0}
.home-layout main .hearing .grid>a:is(:hover,:focus-visible){border-color:#d4dce8;background:#fff9f3}
.home-layout main .hearing .grid>a:is(:hover,:focus-visible)::after{border-color:#ff7029}
.home-layout .header-actions .button .wa,.home-layout main .button .wa{width:20px;height:20px;color:currentColor;flex-shrink:0}
@media(min-width:1051px){.home-layout main .hearing .grid>a{min-height:calc(var(--ref)*69)}}
@media(min-width:761px) and (max-width:1050px){.home-layout main .hearing .grid>a{min-height:119px}}
@media(max-width:760px){
 .home-layout main .hearing .grid>a:first-child::after{border-radius:16px 16px 0 0}
 .home-layout main .hearing .grid>a:last-child::after{border-radius:0 0 16px 16px}
 .home-layout main .hero-buttons .button{gap:6px}
 .home-layout main .hero-buttons .wa{width:17px;height:17px}
}
/* The photograph extends under the SVG to avoid a straight notch at its top. */
@media(min-width:761px){.home-layout main .hero-media{left:0}}
.home-layout main .hearing .grid>a:first-child{border-radius:22px 0 0 22px}
.home-layout main .hearing .grid>a:last-child{border-radius:0 22px 22px 0}
.home-layout main .hearing .grid>a:focus-visible{outline:none}
.home-layout main .hearing>.grid:has(>a:hover),.home-layout main .hearing>.grid:has(>a:focus-visible){border-color:#ff7029}
@media(max-width:760px){
 .home-layout main .hearing .grid>a:first-child{border-radius:16px 16px 0 0}
 .home-layout main .hearing .grid>a:last-child{border-radius:0 0 16px 16px}
}

/* Source photographs contain a baked-in white veil; undo it consistently. */
.home-layout main .services article .service-photo img,
.home-layout main .services article:is(:hover,:focus-within) .service-photo img{filter:brightness(.8) contrast(1.666667);opacity:1}

/* Broad organic transitions requested for hero and footer. */
.home-layout main .home-continuous{padding-bottom:100px}
.home-layout main .footer-entry-wave{position:absolute;left:0;bottom:-1px;width:100%;height:100px;display:block;pointer-events:none;z-index:1}
.home-layout>footer{border-top:0;position:relative}
@media(max-width:760px){
 .home-layout main .home-continuous{padding-bottom:65px}
 .home-layout main .footer-entry-wave{height:60px}
 .home-layout main .hero-bottom path{d:path('M0 230C300 30 600 530 900 330C1120 180 1320 160 1440 250V610H0Z')}
}

/* Hero uses the same visible broad wave language as the footer. */
.home-layout main .hero-bottom{inset:auto 0 -1px;width:100%;height:clamp(65px,6.5vw,100px);display:block;transform:none}
.home-layout main .hero-bottom path{d:path('M0 58C235 8 440 18 720 58C1010 98 1235 8 1440 32V100H0Z')}
@media(max-width:760px){.home-layout main .hero-bottom{height:45px}}

/* Curved lower edge of the actual logo/navigation header. */
.home-layout>header{position:relative;z-index:10;background:#fff}
.home-layout .header-bottom-wave{position:absolute;left:0;top:calc(100% - 1px);width:100%;height:55px;display:block;pointer-events:none;z-index:1}
@media(max-width:760px){
 .home-layout .header-bottom-wave{height:30px}
}
/* Fit each slide's subject to the visible area to the right of the SVG. */
@media(min-width:761px){
 .home-layout main .hero-media[data-image-slide="0"]{background:#eeeDEA}
 .home-layout main .hero-media[data-image-slide="0"] img{inset:auto 0 auto auto;top:50%;width:auto;height:32.5vw;max-height:100%;transform:translateY(-50%);object-fit:contain}
 .home-layout main .hero-media[data-image-slide="1"]{background:#b9e6ed}
 .home-layout main .hero-media[data-image-slide="1"] img{inset:0 0 0 auto;width:54%;height:100%;object-fit:contain;object-position:right center;transform:none;max-width:none}
 .home-layout main .hero-product-art{inset:10% 0 auto auto;width:46%;height:80%;overflow:visible}
}
@media(max-width:760px){
 .home-layout main .hero-media[data-image-slide="0"] img{inset:auto 0 0 auto;width:205%;height:auto;max-height:none;transform:none}
 .home-layout main .hero-media[data-image-slide="1"] img{inset:0 0 0 auto;width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
 .home-layout main .hero-media[data-image-slide="1"]{background:#b9e6ed}
 .home-layout main .hero-product-art{inset:8% 4% auto auto;width:92%;height:82%;overflow:visible}
}
/* Cover the first photograph's lower edge with the existing filled SVG. */
@media(min-width:761px){
 .home-layout main .hero[data-slide="0"] .hero-bottom{height:clamp(110px,12vw,175px)}
}
/* Close the first slide's upper seam, retaining the photograph's proportions. */
@media(min-width:761px){
 .home-layout main .hero-media[data-image-slide="0"] img{height:32.5vw;top:calc(50% - 10px)}
 .home-layout:has(.hero[data-slide="0"]) .header-bottom-wave{height:110px}
}
.home-layout main .hero-buttons .button.outline,
.home-layout main .hero-buttons .button.outline:hover,
.home-layout main .hero-buttons .button.outline:focus-visible{background:transparent;border-color:transparent;box-shadow:none;filter:none}
/* Secondary hero action matches the scheduling button, in white. */
.home-layout main .hero-buttons .button.outline,
.home-layout main .hero-buttons .button.outline:hover,
.home-layout main .hero-buttons .button.outline:focus-visible{background:#fff;border-color:#fff;color:#f35d19;border-radius:6px;box-shadow:none;filter:none}

/* Header follows scrolling; its shorter wave leaves the banner eyebrow clear. */
.home-layout>header{position:sticky;top:0;z-index:50}
.home-layout .header-actions{padding-top:0}
.home-layout .instagram-logo{display:block;width:25px;height:25px}
.home-layout .header-bottom-wave,
.home-layout:has(.hero[data-slide="0"]) .header-bottom-wave{height:80px}
.home-layout main .hero-buttons .button.outline,
.home-layout main .hero-buttons .button.outline:hover,
.home-layout main .hero-buttons .button.outline:focus-visible{border:1px solid #ff7029}
@media(min-width:1051px){.home-layout .head{height:calc(var(--ref)*54)}}
@media(min-width:761px) and (max-width:1050px){.home-layout .head{height:90px}.home-layout .head nav{top:100%}}
@media(max-width:760px){
 .home-layout .head{height:80px}
 .home-layout .header-bottom-wave,
 .home-layout:has(.hero[data-slide="0"]) .header-bottom-wave{height:30px}
 .home-layout .head nav{top:100%}
}
html:has(body.home-layout){scroll-padding-top:160px}

/* Standard WhatsApp glyph without the extra circular badge. */
.home-layout main .contact-phone .wa{background:none;border-radius:0;padding:0;color:#25d366}
/* Only the purple campaign button changes; banner dimensions stay as approved. */
.home-layout main .intent-cta{font-family:'Open Sans',Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:0;line-height:1.2;gap:12px;padding:9px 20px;min-height:40px;border-radius:6px;background:#fff;color:#542265;border:1px solid #fff;box-shadow:none}
.home-layout main .intent-cta>svg{width:20px;height:20px;flex-shrink:0}
.home-layout main .intent-banner:hover .intent-cta{background:#f6eef8;transform:none;filter:none;box-shadow:none}
@media(max-width:760px){.home-layout main .intent-cta{font-size:14px;min-height:38px;padding:8px 16px}}

/* About shares the lower ivory surface; the orange baseline has a rounded join. */
.home-layout main .about{background:#fdfaf6}
.home-layout main .about-product{background:transparent}
.home-layout main .about-product>img{mix-blend-mode:multiply}

/* All three slides share the approved lower wave and fixed controls. */
@media(min-width:761px){
 .home-layout main .hero[data-slide="0"] .hero-bottom{height:clamp(65px,6.5vw,100px)}
 .home-layout main .hero-media[data-image-slide="0"] img{inset:auto -3% auto auto;top:50%;bottom:auto;height:34.5vw;max-height:100%;width:auto;transform:translateY(-50%);object-fit:contain}
}

/* One uninterrupted decorative surface from products through scheduling. */
.home-layout main .home-scenic{position:relative;isolation:isolate;overflow:hidden;background:#fdfaf6}
.home-layout main .home-scenic>.scenic-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.home-layout main .home-scenic .product-zone,
.home-layout main .home-scenic .about,
.home-layout main .home-scenic .home-continuous{background:transparent}
.home-layout main .home-scenic .home-continuous{isolation:auto}
/* Enlarge the products by excluding only their source image's white margins. */
.home-layout main .brand-products-large{position:absolute;inset:32% 7% 12%;height:auto;width:auto;display:flex;margin:0;align-items:center;justify-content:center}
.home-layout main .brand-products-large>svg{width:100%;height:100%;display:block;mix-blend-mode:multiply}

/* Render the original product at its native width to avoid enlargement blur. */
.home-layout main .brand-products-large>svg{width:150px;max-width:100%;height:110px;flex-shrink:0}
.home-layout main .brand-corner-logo{position:absolute;right:18px;bottom:16px;width:82px;height:32px;display:block;mix-blend-mode:multiply;pointer-events:none}
@media(max-width:760px){.home-layout main .brand-corner-logo{right:22px;bottom:20px;width:76px;height:30px}}

/* Intermediate product size: modest reduction from the enlarged presentation. */
.home-layout main .brand-products-large>svg{width:220px;max-width:90%;height:162px}

/* Comfortable rhythm between sections, without changing hero or unit shortcuts. */
.home-layout main .home-scenic{--section-space:clamp(40px,4vw,64px)}
.home-layout main .units-products-wave{position:absolute;inset:-1px 0 auto;width:100%;height:60px;z-index:1;pointer-events:none}
.home-layout main .product-zone{padding-top:calc(var(--section-space) + 25px)}
.home-layout main .about{margin-top:0;margin-bottom:0}
.home-layout main .services{padding-top:10px;padding-bottom:var(--section-space)}
.home-layout main .hearing{padding-top:0;padding-bottom:var(--section-space)}
.home-layout main .units{padding-top:0;padding-bottom:var(--section-space)}
.home-layout main .contact{padding-top:0;padding-bottom:30px}
@media(max-width:760px){
 .home-layout main .home-scenic{--section-space:34px}
 .home-layout main .units-products-wave{height:38px}
 .home-layout main .product-zone{padding-top:55px}
}

/* Match all three product card surfaces; retain the complete product PNG. */
.home-layout main .product-card:first-child{background:#fff}
