@font-face{font-family:Bricolage;src:url(../fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:Figtree;src:url(../fonts/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}
:root{--deep:#006747;--fresh:#5DBD45;--teal:#00A9A5;--paper:#F8FAF6;--ink:#193B31;--mist:#E6F2EA;--wa:#128C4A;--r:6px;--wrap:1160px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.65 Figtree,system-ui,sans-serif;color:var(--ink);background:var(--paper);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--deep)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
h1,h2,h3{font-family:Bricolage,Figtree,sans-serif;line-height:1.05;letter-spacing:-.02em;margin:0 0 .6em;color:var(--deep)}
h1{font-size:clamp(2.6rem,7vw,5.2rem);font-weight:800}
h2{font-size:clamp(1.9rem,4.2vw,3.1rem);font-weight:700}
h3{font-size:1.4rem;font-weight:700}
p{margin:0 0 1em;max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;border-radius:var(--r);font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;transition:background .2s,color .2s,transform .2s}
.btn-primary{background:var(--deep);color:#fff}.btn-primary:hover{background:#004d35}
.btn-line{border-color:var(--deep);color:var(--deep);background:transparent}.btn-line:hover{background:var(--deep);color:#fff}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:#0d7339}
.btn svg{width:20px;height:20px;fill:currentColor}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,250,250,.96);border-bottom:1px solid #dfe9e2}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.logo img{height:52px;width:auto;mix-blend-mode:multiply}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav a{text-decoration:none;font-weight:600;color:var(--ink)}
.nav a:hover{color:var(--teal)}.nav a[aria-current=page]{color:var(--deep);box-shadow:0 2px 0 var(--fresh)}
.nav .btn{color:#fff;padding:.5rem 1.1rem;min-height:44px}
.menu-btn{display:none;background:none;border:2px solid var(--deep);border-radius:var(--r);width:48px;height:48px;cursor:pointer;color:var(--deep)}
.menu-btn span{display:block;width:22px;height:2px;background:currentColor;margin:5px auto}
@media(max-width:900px){.menu-btn{display:block}
.nav{position:absolute;inset:72px 0 auto 0;background:#fafafa;flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.5rem;gap:0;border-bottom:1px solid #dfe9e2;display:none}
.nav.open{display:flex}.nav a{padding:.9rem 0;border-bottom:1px solid #e8efe9}.nav .btn{margin-top:1rem}}
/* hero: split, image bottom edge cut by the logo's wave */
.hero{position:relative;background:var(--mist);padding:clamp(2.5rem,6vw,5rem) 0 0}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,4rem);align-items:end}
.hero-copy{padding-bottom:clamp(3rem,6vw,6rem)}
.hero-copy p{font-size:1.2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.hero-img{margin-right:calc((100vw - min(100vw - 2.5rem,var(--wrap)))/-2);align-self:stretch;min-height:420px}
.hero-img img{width:100%;height:100%;object-fit:cover;border-radius:var(--r) 0 0 0}
.wave{display:block;width:100%;height:clamp(40px,6vw,90px);margin-top:-1px}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-img{margin:0 -1.25rem;min-height:260px;order:-1;align-self:auto}.hero-img img{border-radius:0;aspect-ratio:4/3}.hero-copy{padding-bottom:2.5rem}}
/* sections */
section{padding:clamp(3rem,7vw,6rem) 0}
.intro{display:grid;grid-template-columns:5fr 7fr;gap:clamp(1.5rem,5vw,5rem)}
@media(max-width:800px){.intro{grid-template-columns:1fr}}
.svc{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem 2rem;align-items:center;padding:2rem 0;border-top:2px solid var(--ink)}
.svc:nth-child(odd) .svc-img{grid-column:1/8}.svc:nth-child(odd) .svc-txt{grid-column:8/13}
.svc:nth-child(even) .svc-img{grid-column:6/13;grid-row:1}.svc:nth-child(even) .svc-txt{grid-column:1/6;grid-row:1}
.svc-img{overflow:hidden;border-radius:var(--r)}
.svc-img img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s}
.svc:hover .svc-img img{transform:scale(1.04)}
.svc-txt a.more{font-weight:700;text-underline-offset:4px}
@media(max-width:800px){.svc .svc-img,.svc .svc-txt{grid-column:1/-1!important;grid-row:auto!important}}
.dark{background:var(--deep);color:#eaf6ef}.dark h2,.dark h3{color:#fff}
.steps{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;counter-reset:s}
.steps li{counter-increment:s;border-top:3px solid var(--fresh);padding-top:1rem}
.steps li::before{content:counter(s);font:800 2.6rem Bricolage,sans-serif;color:var(--fresh);display:block;line-height:1}
.steps h3{font-size:1.2rem;margin-top:.5rem}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps{grid-template-columns:1fr}}
.surf{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.surf img{width:100%;border-radius:var(--r);aspect-ratio:4/3;object-fit:cover}
.surf ul{list-style:none;padding:0;margin:1rem 0 0}.surf li{padding:.7rem 0;border-bottom:1px solid #cfe0d5;font-weight:600}
@media(max-width:800px){.surf{grid-template-columns:1fr}}
.faq details{border-top:1px solid #bcd3c5;padding:1rem 0}.faq details:last-child{border-bottom:1px solid #bcd3c5}
.faq summary{font:700 1.15rem Bricolage,sans-serif;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;min-height:44px;align-items:center}
.faq summary::after{content:"+";font-size:1.6rem;color:var(--teal);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:.5rem 0 0}
.cta{background:linear-gradient(120deg,var(--deep),#00806a);color:#fff;text-align:center}
.cta h2{color:#fff}.cta p{margin-inline:auto}.cta .hero-actions{justify-content:center}
.cta .btn-line{border-color:#fff;color:#fff}.cta .btn-line:hover{background:#fff;color:var(--deep)}
.cta .btn-primary{background:#fff;color:var(--deep)}
/* footer */
.site-footer{background:#10241d;color:#cfe0d6;padding:3.5rem 0 1.5rem;font-size:.98rem}
.site-footer a{color:#cfe0d6}.site-footer a:hover{color:#fff}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2rem}
.fgrid h3{color:#fff;font-size:1.05rem}.fgrid ul{list-style:none;padding:0;margin:0}.fgrid li{margin:.35rem 0}
.flogo{background:#fafafa;display:inline-block;padding:.6rem .9rem;border-radius:var(--r);margin-bottom:1rem}.flogo img{height:44px;width:auto}
.fbot{border-top:1px solid #2a4237;margin-top:2.5rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;font-size:.9rem}
.fbot a{text-decoration:none;opacity:.85}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.fgrid{grid-template-columns:1fr}}
.wa-float{position:fixed;right:1rem;bottom:1rem;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.wa-float svg{width:32px;height:32px;fill:#fff}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.reveal-hero{animation:rise .8s ease both}@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.sr{position:absolute;left:-9999px}.sr:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
.hero.sm h1{font-size:clamp(2.2rem,5vw,3.7rem)}
.hero.sm .hero-img{min-height:340px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:start}
@media(max-width:800px){.two{grid-template-columns:1fr}}
.price{width:100%;border-collapse:collapse;margin:0 0 1.5rem;background:#fff}
.price caption{text-align:left;font:700 1.25rem Bricolage,sans-serif;color:var(--deep);padding:.5rem 0}
.price th,.price td{padding:.65rem .8rem;border-bottom:1px solid #dbe8df;text-align:left;font-weight:500}
.price td{text-align:right;font-weight:700;color:var(--deep);white-space:nowrap}
.note{background:#fff;border-left:4px solid var(--fresh);padding:1rem 1.2rem;margin:1rem 0}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}
.ba figure{margin:0}.ba img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r)}
.ba figcaption{font-weight:700;padding:.4rem 0}
.ticks{list-style:none;padding:0}.ticks li{padding:.45rem 0 .45rem 1.8rem;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.85rem;width:.9rem;height:.5rem;border-left:3px solid var(--fresh);border-bottom:3px solid var(--fresh);transform:rotate(-45deg)}
.prose h2{margin-top:2rem}.prose h3{margin-top:1.5rem}.prose{max-width:760px}
form.q{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
form.q .full{grid-column:1/-1}
form.q label{font-weight:700;display:block;margin-bottom:.3rem}
form.q input,form.q select,form.q textarea{width:100%;min-height:48px;padding:.65rem .8rem;border:2px solid #b7cdbf;border-radius:var(--r);font:inherit;background:#fff;color:var(--ink)}
form.q textarea{min-height:120px}
form.q input:focus,form.q select:focus,form.q textarea:focus{border-color:var(--teal);outline:none}
.hp{position:absolute;left:-9999px}
.status{grid-column:1/-1;padding:.8rem 1rem;border-radius:var(--r);display:none;font-weight:600}.status.ok{display:block;background:#dff3e6}.status.err{display:block;background:#fde7e4;color:#8a1f11}
@media(max-width:600px){form.q{grid-template-columns:1fr}.ba{gap:.6rem}}
/* ---- Art direction pass: compact, editorial image presentation (display only; files untouched) ---- */
:root{--frame:#cfe6d8}
/* Hero: image supports the headline, not the other way round */
.hero .wrap{grid-template-columns:1.2fr .8fr;gap:clamp(1.5rem,3.5vw,3.5rem)}
.hero-img{min-height:0;align-self:end;max-height:420px;overflow:hidden;border-radius:var(--r) 0 0 0}
.hero-img img{height:100%;max-height:420px;aspect-ratio:5/4;object-position:50% 62%}
.hero.sm .wrap{grid-template-columns:1.3fr .7fr}
.hero.sm .hero-img,.hero.sm .hero-img img{max-height:320px;min-height:0}
.hero.sm .hero-img img{aspect-ratio:4/3}
/* per-photo focal points */
img[src*="couch-after"]{object-position:50% 70%}
img[src*="couch-before"]{object-position:50% 55%}
img[src*="carpet-machine"]{object-position:60% 45%}
img[src*="carpet-after"],img[src*="carpet-before"]{object-position:50% 40%}
img[src*="car-seat"]{object-position:50% 40%}
img[src*="car-after"]{object-position:50% 55%}
img[src*="car-before"]{object-position:50% 45%}
img[src*="mattress-after"],img[src*="mattress-before"]{object-position:50% 35%}
img[src*="mattress-progress"]{object-position:50% 30%}
img[src*="sofa-before"],img[src*="sofa-after"]{object-position:50% 50%}
img[src*="chairs"]{object-position:50% 58%}
img[src*="carpet-office"],img[src*="carpet-hall"]{object-position:50% 55%}
/* Service sections: medium photograph beside the text, offset frame */
.svc{gap:1rem 2.5rem;padding:1.75rem 0}
.svc:nth-child(odd) .svc-img{grid-column:1/6}.svc:nth-child(odd) .svc-txt{grid-column:6/13}
.svc:nth-child(even) .svc-img{grid-column:8/13}.svc:nth-child(even) .svc-txt{grid-column:1/8}
.svc-img{box-shadow:10px 10px 0 var(--frame)}
.svc-img img{aspect-ratio:4/3;max-height:340px}
/* Surfaces section */
.surf{grid-template-columns:.8fr 1.2fr}
.surf img{aspect-ratio:5/4;max-height:340px;box-shadow:10px 10px 0 var(--frame)}
/* Before/after: compact paired comparison with caption chips */
.ba{gap:.6rem;max-width:520px;margin:0}
.ba figure{position:relative;margin:0}
.ba img{aspect-ratio:1/1;max-height:250px;box-shadow:0 1px 0 rgba(0,0,0,.05)}
.ba figcaption{position:absolute;left:.5rem;bottom:.5rem;padding:.15rem .6rem;background:rgba(25,59,49,.85);color:#fff;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;border-radius:3px}
.ba-single{margin:.6rem 0 0;max-width:520px;position:relative}
.ba-single img{width:100%;aspect-ratio:2/1;max-height:200px;object-fit:cover;border-radius:var(--r)}
.ba-single figcaption{position:absolute;left:.5rem;bottom:.5rem;padding:.15rem .6rem;background:rgba(25,59,49,.85);color:#fff;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;border-radius:3px}
/* Gallery sections: heading left, comparisons right */
section.wrap:has(>.ba){display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:.75rem 2.5rem;align-items:start;padding-block:clamp(2rem,4vw,3.5rem)}
section.wrap:has(>.ba)>h2{grid-row:1/span 4;grid-column:1}
section.wrap:has(>.ba)>:not(h2){grid-column:2}
/* Tablet */
@media(max-width:1000px){.hero .wrap,.hero.sm .wrap{grid-template-columns:1.1fr .9fr}.svc-img img,.surf img{max-height:300px}}
/* Mobile */
@media(max-width:900px){.hero .wrap,.hero.sm .wrap{grid-template-columns:1fr}
.hero-img,.hero.sm .hero-img{margin:0 -1.25rem;max-height:240px;border-radius:0}
.hero-img img,.hero.sm .hero-img img{aspect-ratio:16/10;max-height:240px;border-radius:0}}
@media(max-width:800px){.svc .svc-img,.svc .svc-txt{grid-column:1/-1!important}
.svc-img{box-shadow:6px 6px 0 var(--frame);max-width:520px}.svc-img img{max-height:260px}
.surf{grid-template-columns:1fr}.surf img{max-height:260px;box-shadow:6px 6px 0 var(--frame)}
section.wrap:has(>.ba){grid-template-columns:1fr}
section.wrap:has(>.ba)>h2{grid-row:auto}section.wrap:has(>.ba)>:not(h2){grid-column:1}
.ba,.ba-single{max-width:100%}.ba img{max-height:200px}}
@media(max-width:800px){.svc{grid-template-columns:minmax(0,1fr);gap:1rem}}
/* ---- Hero video: portrait feature ---- */
.hero .wrap:has(.hero-video){grid-template-columns:1.25fr .75fr;align-items:center}
.hero-video{margin:0 0 clamp(1.5rem,3vw,2.75rem);justify-self:center;width:min(100%,290px);aspect-ratio:464/832;position:relative;border:3px solid var(--deep);border-radius:140px 26px 26px 26px;overflow:hidden;background:#cfe6d8;box-shadow:0 28px 50px -20px rgba(0,60,40,.45),0 6px 14px rgba(0,60,40,.12);outline:2px solid var(--teal);outline-offset:9px}
.hero-video video,.hero-video img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.hero-copy{padding-bottom:clamp(1.5rem,4vw,3rem)}
@media(max-width:900px){.hero .wrap:has(.hero-video){grid-template-columns:1fr}
.hero-video{width:min(72%,250px);border-radius:110px 22px 22px 22px;outline-offset:7px;margin:.5rem auto 2.5rem}}
@media(max-width:420px){.hero-video{width:min(74%,230px)}}


/* Khwezi Fresh footer social links */
.footer-social {
  margin-top: 24px;
}

.footer-social h3 {
  margin-bottom: 12px;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.social-links a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 8px;
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  transition: background 0.2s ease;
}

.social-links a:hover {
  background: #006747;
}

.social-links svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

