/* NOWA CARE — visual refinements */
:root { --ease-out: cubic-bezier(.2,.7,.2,1); }
html { scroll-padding-top: 100px; }
:focus-visible { outline: 3px solid #23883f; outline-offset: 5px; }
.hero { overflow: hidden; background: radial-gradient(ellipse at 90% 20%, #def5df 0, transparent 54%), linear-gradient(135deg,#fff,#f3f8f5); padding: 125px 0 80px; }
.hero-content { position: relative; z-index: 1; max-width: 850px; }
.hero-content h1 { font-size: clamp(2.6rem,6.7vw,5.8rem); line-height: 1.06; letter-spacing: -.055em; max-width: 850px; }
.hero-content h1 .slogan-word { display: inline-block; }
.hero-content h1 .slogan-word:first-child { color: #142538; }
.hero-content h1 .slogan-word:last-child { color: #23883f; }
.hero-content > p { max-width: 610px; font-size: clamp(1rem,1.6vw,1.17rem); line-height: 1.8; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: .75rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: #287641; margin-bottom: 24px; }
.hero-eyebrow::before { content: ''; width: 26px; height: 2px; background: currentColor; }
.hero-buttons { margin-bottom: 28px; }
.hero-tags { gap: 12px 24px; }
.footer-slogan { display:block; color:#91dd9f; font-size:1rem; margin:18px 0 8px; }
.products { background: #f7f9f8; }
.product-card { border:1px solid #e5ece7; border-radius:20px; overflow:hidden; transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s; }
.product-card-image { background: #fff; }
.product-card-image img { transition: transform .6s var(--ease-out); }
.product-card-footer { margin-top:auto; }
.product-card-body { display:flex; flex-direction:column; }
.product-card-body p { flex:1; }
.feature-card,.detail-block { border-radius:18px; }
.btn { transition: transform .25s var(--ease-out), box-shadow .25s, background .25s; }
.animate { opacity:1; transform:none; }
.reveal-pending { opacity:0; transform:translateY(22px); }
.reveal-pending.visible { opacity:1; transform:none; }
.animate,.reveal-pending { transition:opacity .65s var(--ease-out),transform .65s var(--ease-out),box-shadow .35s,border-color .35s; }
@keyframes slogan-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference) {
.slogan-word { animation:slogan-in .75s var(--ease-out) both; }
.slogan-word:nth-child(2) { animation-delay:.13s; }
.slogan-word:nth-child(3) { animation-delay:.26s; }
}
@media (hover:hover) and (pointer:fine) {
.product-card:hover { transform:translateY(-7px); border-color:#a5d5ae; box-shadow:0 20px 45px #12342314; }
.product-card:hover img { transform:scale(1.045); }
.btn:hover { transform:translateY(-2px); box-shadow:0 8px 22px #12342318; }
}
@media(max-width:768px) {
.hero { padding:100px 0 48px; }
.hero-content h1 { font-size:clamp(2.25rem,9.7vw,4.5rem); }
.hero-buttons { gap:10px; }
.hero-buttons .btn { flex:1 1 180px; justify-content:center; }
.hero-eyebrow { font-size:.66rem; letter-spacing:.1em; }
}
@media(prefers-reduced-motion:reduce) {
html { scroll-behavior:auto; }
*,*::before,*::after { animation:none!important; transition:none!important; }
.animate,.reveal-pending { opacity:1!important; transform:none!important; }
}

/* Full-width photographic welcome; original artwork remains uncropped. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.welcome { padding-top:80px; background:#0c1b30; color:#fff; overflow:hidden; }
.welcome-image { position:relative; overflow:hidden; background:#82b5d6; }
.welcome-image img { display:block; width:100%; height:auto; aspect-ratio:1944 / 809; object-fit:contain; transform-origin:55% 55%; }
.welcome-image::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to bottom,transparent 65%,rgba(12,27,48,.3) 83%,#0c1b30 100%); }
.welcome-intro { display:flex; align-items:center; justify-content:space-between; gap:48px; padding-top:22px; padding-bottom:40px; }
.welcome-copy { max-width:620px; }
.welcome-kicker { display:block; color:#91cb83; font-size:.7rem; font-weight:700; letter-spacing:.18em; margin-bottom:13px; }
.welcome-copy h2 { color:white; font-size:clamp(1.65rem,3vw,2.7rem); letter-spacing:-.035em; line-height:1.15; margin:0 0 14px; }
.welcome-copy p { color:#c0cbd7; font-size:1rem; line-height:1.75; margin:0; max-width:560px; }
.welcome-actions { display:flex; flex-direction:column; align-items:center; gap:17px; flex-shrink:0; }
.welcome-actions .btn { gap:24px; background:#4b9945; }
.welcome-contact { color:#d8e4ef; font-size:.85rem; padding:5px; transition:color .2s; }
.welcome-contact:hover { color:#a8df93; }
.welcome-divider { display:flex; gap:28px; padding:22px 0; border-top:1px solid #ffffff21; color:#98aabd; font-size:.65rem; letter-spacing:.16em; }
.welcome + .bestseller-showcase { background:linear-gradient(180deg,#0c1b30,#151b2d); padding-top:65px; }
@keyframes welcome-settle { from { transform:scale(1.025); opacity:.55; } to { transform:scale(1); opacity:1; } }
@keyframes welcome-copy-in { from { transform:translateY(14px); opacity:0; } to { transform:none; opacity:1; } }
@media(prefers-reduced-motion:no-preference) {
.welcome-image img { animation:welcome-settle 1.7s cubic-bezier(.16,1,.3,1) both; }
.welcome-intro { animation:welcome-copy-in .9s .18s cubic-bezier(.16,1,.3,1) both; }
}
@media(min-width:1600px) { .welcome-intro { padding-top:12px; padding-bottom:48px; } }
@media(max-width:768px) {
.welcome { padding-top:60px; }
.welcome-intro { flex-direction:column; align-items:stretch; gap:25px; padding-top:24px; padding-bottom:28px; }
.welcome-copy p { font-size:.93rem; }
.welcome-actions { align-items:stretch; gap:12px; }
.welcome-actions .btn { justify-content:space-between; }
.welcome-contact { text-align:center; }
.welcome-divider { gap:12px; justify-content:space-between; font-size:.53rem; letter-spacing:.07em; }
.welcome + .bestseller-showcase { padding-top:38px; }
}
