/* ===== SVG PAWS PATTERN ===== */
.paw-pattern{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.035;z-index:0}
.paw-pattern svg{width:100%;height:100%}

/* ===== WAVE DIVIDERS ===== */
.wave-divider{position:relative;width:100%;overflow:hidden;line-height:0;margin-top:-1px}
.wave-divider svg{display:block;width:100%;height:60px}
.wave-divider.flip{transform:rotate(180deg);margin-top:0;margin-bottom:-1px}

/* ===== LOGO HEADER ===== */
.logo-header{background:var(--wht);padding:24px 0;text-align:center;border-bottom:4px solid var(--red);position:relative}
.logo-header::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:60px;height:4px;background:var(--blk)}
.logo-header img{height:160px;width:auto;margin:0 auto;display:block;transition:transform var(--transition)}
.logo-header img:hover{transform:scale(1.02)}

/* ===== HERO LOGO BANNER ===== */
.hero-logo-banner{text-align:center;padding:0;position:relative;z-index:1}
.hero-logo-banner img{height:240px;width:auto;margin:0 auto;display:block;mix-blend-mode:multiply}

/* ===== HERO ===== */
.hero{position:relative;min-height:94vh;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(165deg,#fff 0%,#fff 40%,#FFF8F8 60%,#FFF0F2 100%);overflow:hidden}
.hero::before{content:'';position:absolute;top:-20%;right:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.06) 0%,transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-15%;left:-8%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.04) 0%,transparent 70%);pointer-events:none}
.hero-bg-shapes{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.hero-bg-shapes .circle1{position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(200,16,46,.03);top:10%;right:20%;filter:blur(60px)}
.hero-bg-shapes .circle2{position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(200,16,46,.025);bottom:15%;left:10%;filter:blur(50px)}
.paw-1{top:5%;left:3%;width:80px;transform:rotate(-25deg)}
.paw-2{top:8%;right:5%;width:70px;transform:rotate(18deg)}
.paw-3{bottom:15%;left:6%;width:75px;transform:rotate(-38deg)}
.paw-4{top:12%;right:22%;width:60px;transform:rotate(30deg)}
.paw-5{bottom:8%;right:3%;width:85px;transform:rotate(-12deg)}
.paw-6{top:32%;left:18%;width:55px;transform:rotate(48deg)}
.paw-7{bottom:28%;right:18%;width:65px;transform:rotate(-50deg)}
.paw-8{top:4%;left:45%;width:72px;transform:rotate(22deg)}
.paw-9{bottom:5%;left:30%;width:62px;transform:rotate(-32deg)}
.paw-10{top:50%;left:2%;width:78px;transform:rotate(42deg)}
.paw-11{top:40%;right:2%;width:68px;transform:rotate(-18deg)}
.paw-12{bottom:35%;left:48%;width:58px;transform:rotate(55deg)}
.paw-13{top:22%;left:8%;width:90px;transform:rotate(8deg)}
.paw-14{top:3%;left:68%;width:65px;transform:rotate(-42deg)}
.paw-15{bottom:3%;left:58%;width:95px;transform:rotate(32deg)}
.paw-16{top:58%;right:12%;width:52px;transform:rotate(-58deg)}
.paw-17{top:42%;left:1%;width:62px;transform:rotate(5deg)}
.paw-18{bottom:20%;right:8%;width:75px;transform:rotate(-28deg)}
.paw-19{top:35%;left:38%;width:48px;transform:rotate(38deg)}
.paw-20{bottom:10%;left:15%;width:70px;transform:rotate(-15deg)}
.paw-21{top:18%;left:32%;width:58px;transform:rotate(52deg)}
.paw-22{bottom:38%;right:6%;width:68px;transform:rotate(-42deg)}
.paw-23{top:68%;left:52%;width:55px;transform:rotate(28deg)}
.paw-24{top:15%;right:3%;width:82px;transform:rotate(-8deg)}

/* Hero grid */
.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}

/* Badge animation */
.hero .hero-badge{animation:fadeUp .6s ease both}

/* Heading */
.hero h1{font-family:var(--font-display);font-size:clamp(2.8rem,5.6vw,4.6rem);font-weight:900;line-height:1.06;color:var(--blk);margin-bottom:22px;letter-spacing:-.02em;animation:fadeUp .6s .1s ease both}
.hero h1 em{color:var(--red);font-style:normal;position:relative;display:inline-block}
.hero h1 em::after{content:'';position:absolute;bottom:4px;left:-4px;right:-4px;height:10px;background:linear-gradient(90deg,rgba(200,16,46,.12),rgba(200,16,46,.06));z-index:-1;border-radius:4px}
.hero-tagline{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:8px}

/* Paragraph */
.hero p{font-size:1.1rem;color:var(--grey);max-width:480px;margin-bottom:36px;line-height:1.75;animation:fadeUp .6s .2s ease both}

/* Buttons */
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;animation:fadeUp .6s .3s ease both}

/* Hero image */
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;animation:fadeUp .8s .2s ease both}
.hero-img-wrap{width:420px;height:420px;border-radius:50%;background:linear-gradient(145deg,var(--red) 0%,var(--red-d) 100%);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 30px 60px rgba(200,16,46,.22),0 0 0 12px rgba(200,16,46,.06);padding:6px;overflow:hidden;animation:heroWrapReveal 1s cubic-bezier(.16,1,.3,1) both, heroBreath 6s 1.5s ease-in-out infinite;will-change:transform,box-shadow}
.hero-img-wrap::before{content:'';position:absolute;inset:-20px;border-radius:50%;border:2px dashed rgba(200,16,46,.12);animation:spin 40s linear infinite}
.hero-img-wrap::after{content:'';position:absolute;inset:-35px;border-radius:50%;border:1px solid rgba(200,16,46,.06);animation:spin 60s linear infinite reverse}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 20%;border-radius:50%;filter:none}

@keyframes heroWrapReveal{
  0%{opacity:0;transform:scale(.85)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes heroBreath{
  0%,100%{box-shadow:0 30px 60px rgba(200,16,46,.22),0 0 0 12px rgba(200,16,46,.06)}
  50%{box-shadow:0 35px 70px rgba(200,16,46,.28),0 0 0 16px rgba(200,16,46,.10)}
}

/* Floating accent dots */
.hero-visual .accent-dot{position:absolute;border-radius:50%;background:var(--red);opacity:.15}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ===== HERO DECORATIVE RINGS ===== */
.hero-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(200,16,46,.08);pointer-events:none;z-index:0}
.hero-ring.ring-1{width:560px;height:560px;top:50%;left:50%;transform:translate(-50%,-50%);animation:ringPulse 6s ease-in-out infinite}
.hero-ring.ring-2{width:620px;height:620px;top:50%;left:50%;transform:translate(-50%,-50%);border-style:dashed;border-color:rgba(200,16,46,.05);animation:ringSpin 80s linear infinite}

@keyframes ringPulse{0%,100%{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.03)}}
@keyframes ringSpin{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}

/* ===== HERO PHOTO ORBS ===== */
.hero-orb{position:absolute;border-radius:50%;z-index:3;opacity:0;overflow:hidden;background:linear-gradient(145deg,var(--red) 0%,var(--red-d) 100%);padding:3px;box-shadow:0 8px 24px rgba(200,16,46,.18),0 0 0 6px rgba(200,16,46,.06);animation:orbReveal .8s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}
.hero-orb img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.hero-orb .orb-glow{position:absolute;inset:-4px;border-radius:50%;background:linear-gradient(135deg,rgba(200,16,46,.4),rgba(200,16,46,.08));z-index:-1;filter:blur(0px)}

/* Orb 1 — top-left (labu2) */
.hero-orb.orb-1{width:130px;height:130px;top:-20px;left:-55px}
.hero-orb.orb-1 .orb-glow{background:linear-gradient(135deg,rgba(200,16,46,.35),rgba(200,16,46,.1))}
.hero-orb.orb-1 img{box-shadow:0 8px 32px rgba(200,16,46,.2)}

/* Orb 2 — bottom-right (labu3) */
.hero-orb.orb-2{width:105px;height:105px;bottom:15px;right:-45px}
.hero-orb.orb-2 .orb-glow{background:linear-gradient(320deg,rgba(200,16,46,.3),rgba(200,16,46,.08))}
.hero-orb.orb-2 img{box-shadow:0 8px 28px rgba(200,16,46,.18)}

/* Orb 3 — top-right (Chaebol) */
.hero-orb.orb-3{width:78px;height:78px;top:-35px;right:-60px}
.hero-orb.orb-3 .orb-glow{background:linear-gradient(200deg,rgba(200,16,46,.25),rgba(200,16,46,.06))}
.hero-orb.orb-3 img{box-shadow:0 6px 20px rgba(200,16,46,.15)}

/* Orb 4 — bottom-left (Snowy) */
.hero-orb.orb-4{width:88px;height:88px;bottom:-10px;left:-45px}
.hero-orb.orb-4 .orb-glow{background:linear-gradient(45deg,rgba(200,16,46,.3),rgba(200,16,46,.08))}
.hero-orb.orb-4 img{box-shadow:0 7px 24px rgba(200,16,46,.17)}

/* Orb 5 — mid-right (Boarding) */
.hero-orb.orb-5{width:65px;height:65px;top:45%;right:-85px}
.hero-orb.orb-5 .orb-glow{background:linear-gradient(270deg,rgba(200,16,46,.22),rgba(200,16,46,.06))}
.hero-orb.orb-5 img{box-shadow:0 5px 18px rgba(200,16,46,.14)}

/* Orb entrance */
@keyframes orbReveal{
  0%{opacity:0;transform:scale(.5) translateY(20px)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}

/* Orb entrance + staggered delays */
.hero-orb.orb-1{animation-delay:.3s}
.hero-orb.orb-2{animation-delay:.5s}
.hero-orb.orb-3{animation-delay:.7s}
.hero-orb.orb-4{animation-delay:.9s}
.hero-orb.orb-5{animation-delay:1.1s}

/* Stats strip */
.hero-stats{display:flex;gap:36px;margin-top:40px;padding-top:32px;border-top:1px solid rgba(0,0,0,.06);animation:fadeUp .6s .4s ease both}
.hero-stat{text-align:left;position:relative;padding-left:16px}
.hero-stat::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--red),rgba(200,16,46,.2))}
.hero-stat .num{font-family:var(--font-display);font-size:1.7rem;font-weight:900;color:var(--blk);line-height:1}
.hero-stat .lbl{font-size:.7rem;color:var(--grey-l);text-transform:uppercase;letter-spacing:.08em;margin-top:5px;font-weight:600}

/* ===== MARQUEE ===== */
.marquee-wrap{background:var(--red);padding:14px 0;overflow:hidden;white-space:nowrap;position:relative}
.marquee{display:inline-block;animation:marquee 28s linear infinite}
.marquee span{display:inline-block;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--wht);margin-right:48px}
.marquee span::before{content:'✦';margin-right:48px;color:rgba(255,255,255,.5)}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== CATEGORIES ===== */
#services{position:relative;overflow:hidden}
#services .svc-paw{position:absolute;opacity:.04;color:var(--red)}
#services .svc-paw svg{fill:currentColor;width:100%;height:100%}
.sp-1{top:5%;left:3%;width:90px;transform:rotate(-20deg)}
.sp-2{top:12%;right:5%;width:70px;transform:rotate(25deg)}
.sp-3{bottom:10%;left:8%;width:80px;transform:rotate(-35deg)}
.sp-4{bottom:5%;right:3%;width:100px;transform:rotate(15deg)}

/* Service description cards — 2×2 grid */
.svc-desc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:12px}
.svc-desc-card{display:flex;flex-direction:column;background:var(--card);border-radius:var(--radius-lg);padding:36px 32px;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.05);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-decoration:none;color:inherit;cursor:pointer}
.svc-desc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),rgba(200,16,46,.3));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.svc-desc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(200,16,46,.12)}
.svc-desc-card:hover::before{transform:scaleX(1)}
.svc-desc-icon{font-size:2.2rem;margin-bottom:16px;display:block;width:60px;height:60px;border-radius:16px;background:var(--red-l);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}
.svc-desc-card:hover .svc-desc-icon{background:var(--red);filter:grayscale(0) brightness(1.2);box-shadow:var(--shadow-red)}
.svc-desc-card h3{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--blk);margin-bottom:8px}
.svc-desc-tagline{font-size:.92rem;font-weight:600;color:var(--red);margin-bottom:10px;line-height:1.4}
.svc-desc-body{font-size:.88rem;color:var(--grey);line-height:1.75;margin-bottom:12px;flex:1}
.svc-desc-quote{font-size:.82rem;color:var(--blk2);font-style:italic;line-height:1.65;padding-top:12px;border-top:1px solid rgba(0,0,0,.06);margin-top:auto}
.svc-desc-arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--red-l);color:var(--red);font-size:.85rem;font-weight:700;margin-top:16px;transition:all var(--transition);align-self:flex-end}
.svc-desc-card:hover .svc-desc-arrow{background:var(--red);color:var(--wht);box-shadow:var(--shadow-red);transform:translateX(4px)}

/* Keep old cat-grid/cat-card styles for other pages if needed */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cat-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--blk);aspect-ratio:4/3;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1)}
.cat-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 50px rgba(0,0,0,.2)}
.cat-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85) 100%);z-index:1;transition:background .4s ease}
.cat-card:hover .overlay{background:linear-gradient(180deg,rgba(200,16,46,.1) 0%,rgba(155,10,32,.85) 100%)}
.cat-card .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.4,0,.2,1)}
.cat-card:hover .bg{transform:scale(1.12)}
.cat-card-body{position:absolute;bottom:0;left:0;right:0;padding:28px;z-index:2;color:var(--wht);transform:translateY(8px);transition:transform .4s ease}
.cat-card:hover .cat-card-body{transform:translateY(0)}
.cat-card-body h3{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.cat-card-body p{font-size:.82rem;opacity:.85;margin-bottom:8px}
.cat-card-body .arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);font-size:.85rem;transition:all var(--transition);opacity:0;transform:translateX(-8px)}
.cat-card:hover .arrow{background:var(--wht);color:var(--red);opacity:1;transform:translateX(0)}

/* ===== SECTION TEASER ===== */
.svc-section{background:var(--off);position:relative}
.svc-section::before{content:'';position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle,var(--red-glow) 0%,transparent 70%);pointer-events:none}
.teaser-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:800px;margin:0 auto}
.teaser-chip{display:flex;align-items:center;gap:14px;padding:22px 24px;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04);transition:all var(--transition)}
.teaser-chip:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(200,16,46,.1)}
.teaser-chip-icon{font-size:1.5rem;width:48px;height:48px;border-radius:14px;background:var(--red-l);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.teaser-chip strong{display:block;font-size:.92rem;font-weight:700;margin-bottom:2px}
.teaser-chip small{font-size:.78rem;color:var(--grey);font-weight:500}

/* ===== BOOKING ===== */
#booking{background:var(--cream);position:relative;overflow:hidden}
#booking::before{content:'';position:absolute;bottom:-100px;left:-100px;width:350px;height:350px;background:radial-gradient(circle,var(--red-glow),transparent 70%);pointer-events:none}
.booking-wrap{display:flex;flex-direction: column;gap:52px;align-items:center}
.booking-info h2{font-family:var(--font-display);font-size:2.2rem;font-weight:900;margin-bottom:16px;line-height:1.15}
.booking-info{width: 70%;}
.booking-info p{color:var(--grey);margin-bottom:28px;line-height:1.7}
.booking-info .feature{display:flex;align-items:start;gap:14px;margin-bottom:22px}
.booking-info .feature .ico{width:48px;height:48px;border-radius:14px;background:var(--red-l);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;border:1px solid rgba(200,16,46,.08)}
.booking-info .feature h4{font-size:.95rem;font-weight:600;margin-bottom:3px}
.booking-info .feature p{font-size:.84rem;color:var(--grey);margin:0}
.booking-form{background:var(--card);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.04);position:relative;z-index:1;width:70%;}
.booking-form h3{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:26px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:.8rem;font-weight:600;margin-bottom:7px;color:var(--blk2);letter-spacing:.02em}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 16px;border:1.5px solid #e0e0e0;border-radius:12px;font-size:.9rem;font-family:var(--font-body);transition:all var(--transition);background:var(--off)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--red);background:var(--wht);box-shadow:0 0 0 3px var(--red-glow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-msg{padding:14px 18px;border-radius:12px;font-size:.9rem;font-weight:500;margin-bottom:18px}
.form-msg.success{background:#e8f9ee;color:#157a3b;border:1px solid #c0e8ce}
.form-msg.error{background:#fdeaed;color:var(--red-d);border:1px solid #f5c6cd}

/* ===== FEATURES STRIP ===== */
.features{background:var(--wht);border-top:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04)}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
.feat-item{padding:24px 16px;border-radius:var(--radius-lg);transition:all var(--transition)}
.feat-item:hover{background:var(--red-l);transform:translateY(-3px)}
.feat-item .fi{width:56px;height:56px;border-radius:16px;background:var(--red-l);color:var(--red);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.3rem;transition:all var(--transition)}
.feat-item:hover .fi{background:var(--red);color:var(--wht);box-shadow:var(--shadow-red)}
.feat-item h4{font-size:.92rem;font-weight:600;margin-bottom:4px}
.feat-item p{font-size:.8rem;color:var(--grey)}

/* ===================================================================
   OUR COMMITMENT SECTION (#commitment)
=================================================================== */
.commitment-section{background:var(--wht);position:relative;overflow:hidden}
.commitment-split{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.commitment-intro{font-size:1.05rem;color:var(--grey);line-height:1.8;margin-bottom:36px}
.commitment-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:32px}
.commit-card{background:var(--off);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);padding:22px 20px;transition:all .35s cubic-bezier(.4,0,.2,1)}
.commit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(200,16,46,.12);background:var(--wht)}
.commit-icon{font-size:1.5rem;width:48px;height:48px;border-radius:14px;background:var(--red-l);display:flex;align-items:center;justify-content:center;margin-bottom:12px;transition:all var(--transition)}
.commit-card:hover .commit-icon{background:var(--red);box-shadow:var(--shadow-red)}
.commit-card h4{font-size:.9rem;font-weight:700;color:var(--blk);margin-bottom:6px}
.commit-card p{font-size:.8rem;color:var(--grey);line-height:1.6;margin:0}
/* 5th card spans full width */
.commitment-grid .commit-card:nth-child(5){grid-column:1 / -1}
.commitment-quote{background:linear-gradient(135deg,var(--red),var(--red-d));border-radius:var(--radius);padding:28px 32px;text-align:center}
.commitment-quote p{font-family:var(--font-display);font-size:1.05rem;font-style:italic;color:var(--wht);line-height:1.75;margin:0;font-weight:500}
.commitment-image{position:relative}
.commit-img-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative;max-height:600px}
.commit-img-wrap::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(200,16,46,.1) 100%);z-index:1;pointer-events:none}
.commit-img-wrap img{width:100%;height:auto;object-fit:contain;transition:transform .6s ease}
.commitment-image:hover .commit-img-wrap img{transform:scale(1.03)}

/* ===== CONTACT / CTA ===== */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.contact-card{background:var(--card);padding:32px;border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center;border:1px solid rgba(0,0,0,.04);transition:all var(--transition)}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(200,16,46,.1)}
.contact-card .ci{font-size:2rem;margin-bottom:12px;width:60px;height:60px;border-radius:50%;background:var(--red-l);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.contact-card h4{font-size:1rem;font-weight:600;margin-bottom:6px}
.contact-card p{font-size:.86rem;color:var(--grey);line-height:1.6}
.contact-card a{color:var(--red);font-weight:600;transition:color var(--transition)}
.contact-card a:hover{color:var(--red-d)}

/* ===================================================================
   SCROLL REVEAL ANIMATION BASE STATES
=================================================================== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.4,0,.2,1) var(--d,0s),transform .65s cubic-bezier(.4,0,.2,1) var(--d,0s)}
.reveal.animate-in{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-36px);transition:opacity .65s cubic-bezier(.4,0,.2,1) var(--d,0s),transform .65s cubic-bezier(.4,0,.2,1) var(--d,0s)}
.reveal-left.animate-in{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(36px);transition:opacity .65s cubic-bezier(.4,0,.2,1) var(--d,0s),transform .65s cubic-bezier(.4,0,.2,1) var(--d,0s)}
.reveal-right.animate-in{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.88);transition:opacity .55s cubic-bezier(.4,0,.2,1) var(--d,0s),transform .55s cubic-bezier(.4,0,.2,1) var(--d,0s)}
.reveal-scale.animate-in{opacity:1;transform:scale(1)}

/* ===================================================================
   ABOUT US SECTION  (#about)
=================================================================== */
.about-section{background:var(--off);position:relative;overflow:hidden}
.about-paw{position:absolute;opacity:.035;color:var(--red);pointer-events:none}
.about-paw svg{fill:currentColor;width:100%;height:100%}
.ap-1{bottom:5%;left:2%;width:110px;transform:rotate(-28deg)}
.ap-2{top:8%;right:3%;width:90px;transform:rotate(20deg)}

/* Split layout */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.about-text .section-title em{color:var(--red);font-style:normal}
.about-body{font-size:1rem;color:var(--grey);line-height:1.85;margin-bottom:36px}

/* About story — long form text */
.about-story{margin-bottom:12px}
.about-story p{font-size:.95rem;color:var(--grey);line-height:1.85;margin-bottom:18px}
.about-story p:first-child{font-size:1.05rem;font-weight:600;color:var(--blk2);line-height:1.7}
.about-story p:last-child{margin-bottom:0}

/* Service cards grid — glass-morphism (kept for backwards compat) */
.about-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:36px}
.about-svc-card{background:rgba(255,255,255,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(200,16,46,.08);border-radius:var(--radius);padding:20px;transition:all .35s cubic-bezier(.4,0,.2,1);cursor:default}
.about-svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(200,16,46,.18);background:rgba(255,255,255,.92)}
.about-svc-card .asc-icon{font-size:1.6rem;margin-bottom:10px;display:block}
.about-svc-card h4{font-size:.92rem;font-weight:700;margin-bottom:5px;color:var(--blk)}
.about-svc-card p{font-size:.78rem;color:var(--grey);line-height:1.55;margin:0}

/* Commitment list */
.about-commitment{background:var(--wht);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04)}
.ac-title{font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-l);margin-bottom:16px}
.ac-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.ac-item{display:flex;align-items:center;gap:12px;font-size:.88rem;color:var(--blk);font-weight:500;opacity:0;transform:translateX(-16px);transition:opacity .45s ease var(--ci-d,0s),transform .45s ease var(--ci-d,0s)}
.ac-item.check-in{opacity:1;transform:translateX(0)}
.ac-check{width:20px;height:20px;border-radius:50%;background:var(--red);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}
.ac-check::after{content:'✓';color:#fff;font-size:.7rem;font-weight:700;line-height:1}

/* Image collage */
.about-collage{position:relative;height:520px}
.collage-frame{position:absolute;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);display:block;background:#fff}
.collage-frame img{width:100%;height:100%;object-fit:cover;object-position:center}
.frame-main{width:300px;height:380px;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;border:4px solid var(--wht)}
.frame-tl{width:165px;height:185px;top:0;left:0;z-index:3;border:3px solid var(--wht);transform:rotate(-3deg)}
.frame-br{width:165px;height:185px;bottom:0;right:0;z-index:3;border:3px solid var(--wht);transform:rotate(3deg)}
.collage-badge{position:absolute;top:50%;right:-10px;transform:translateY(-50%);background:var(--red);color:#fff;padding:18px 16px;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-red);z-index:4;min-width:80px}
.cb-num{display:block;font-family:var(--font-display);font-size:1.6rem;font-weight:900;line-height:1}
.cb-label{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-top:3px}

/* Home lightbox */
.home-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;cursor:zoom-out}
.home-lightbox.active{opacity:1;visibility:visible}
.home-lightbox img{max-width:90vw;max-height:85vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);transform:scale(.85);transition:transform .35s cubic-bezier(.16,1,.3,1);object-fit:contain}
.home-lightbox.active img{transform:scale(1)}
.home-lightbox-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);transition:background .2s ease}
.home-lightbox-close:hover{background:rgba(255,255,255,.3)}

/* ===================================================================
   VISION & MISSION SECTION  (#vision)
=================================================================== */
.vision-section{background:var(--blk);color:var(--wht);position:relative;overflow:hidden}
.vision-paws{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.vp{position:absolute;opacity:.04;color:var(--red)}
.vp svg{fill:currentColor;width:100%;height:100%}
.vp-1{top:5%;left:2%;width:120px;transform:rotate(-22deg)}
.vp-2{bottom:8%;right:3%;width:100px;transform:rotate(18deg)}
.vp-3{top:40%;left:30%;width:70px;transform:rotate(44deg)}
.vp-4{bottom:20%;left:5%;width:80px;transform:rotate(-38deg)}
.vp-5{top:10%;right:15%;width:90px;transform:rotate(12deg)}
.vp-6{bottom:5%;left:40%;width:75px;transform:rotate(-25deg)}

.vision-header{margin-bottom:28px}
.vision-header .section-label--light{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.15)}
.vision-title{font-family:var(--font-display);font-size:clamp(3.5rem,8vw,7rem);font-weight:900;background:linear-gradient(135deg,var(--red) 0%,#ff6b8a 40%,#fff 70%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:20px;letter-spacing:-.03em}
.vision-statement{font-size:clamp(1rem,1.8vw,1.22rem);color:rgba(255,255,255,.72);line-height:1.9;max-width:840px;margin-bottom:72px;border-left:3px solid var(--red);padding-left:24px}

/* Mission pillars */
.mission-block{border-top:1px solid rgba(255,255,255,.08);padding-top:56px}
.mission-label .section-label--light{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.15)}
.mission-heading{font-family:var(--font-display);font-size:2.4rem;font-weight:900;color:var(--wht);margin-bottom:40px;margin-top:4px}
.mission-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.mission-pillar{padding:32px 28px;border-left:1px solid rgba(255,255,255,.06);transition:all .35s ease;position:relative;overflow:hidden}
.mission-pillar:first-child{border-left:none}
.mission-pillar::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red),rgba(200,16,46,0));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.mission-pillar:hover::before{transform:scaleX(1)}
.mission-pillar:hover{background:rgba(255,255,255,.03)}
.mp-num{font-family:var(--font-display);font-size:3.5rem;font-weight:900;color:rgba(200,16,46,.18);line-height:1;margin-bottom:16px}
.mp-line{width:32px;height:2px;background:var(--red);margin-bottom:16px}
.mp-content h4{font-size:1rem;font-weight:700;color:var(--wht);margin-bottom:10px}
.mp-content p{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.7}

/* Mission list — bullet-point style */
.mission-list{display:flex;flex-direction:column;gap:20px;max-width:820px}
.mission-item{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:rgba(255,255,255,.04);border-radius:var(--radius);border:1px solid rgba(255,255,255,.06);transition:all .35s ease}
.mission-item:hover{background:rgba(255,255,255,.07);border-color:rgba(200,16,46,.2);transform:translateX(6px)}
.mi-icon{width:40px;height:40px;border-radius:50%;background:rgba(200,16,46,.2);color:var(--red);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}
.mission-item:hover .mi-icon{background:var(--red);color:#fff}
.mission-item p{font-size:.92rem;color:rgba(255,255,255,.72);line-height:1.7;margin:0}

/* section-label light variant */
.section-label--light{background:rgba(200,16,46,.15);color:var(--red);border:1px solid rgba(200,16,46,.3)}

/* ===================================================================
   FOUNDER'S NOTE SECTION  (#founder)
=================================================================== */
.founder-section{background:var(--cream);position:relative;overflow:hidden}
.founder-bg-accent{position:absolute;top:-60%;right:-20%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.06) 0%,transparent 65%);pointer-events:none}

.founder-wrap{position:relative;max-width:860px;margin:0 auto}
.founder-content{position:relative;z-index:1}

/* Founder note body — multi-paragraph */
.founder-note-body{margin-bottom:44px}
.founder-note-body p{font-size:.95rem;color:var(--blk2);line-height:1.85;margin-bottom:16px}
.founder-note-body p:first-child{font-size:1.08rem;font-family:var(--font-display);font-style:italic;color:var(--blk);font-weight:500;line-height:1.8}
.founder-note-body p:last-child{margin-bottom:0}

/* Legacy blockquote support */
.founder-quote{font-family:var(--font-display);font-size:clamp(1.15rem,2.2vw,1.45rem);font-style:italic;color:var(--blk2);line-height:1.85;margin-bottom:44px;font-weight:400}
.founder-quote::before,.founder-quote::after{content:none}

/* Attribution */
.founder-attribution{display:flex;align-items:center;gap:20px;padding-top:28px;border-top:1px solid rgba(0,0,0,.08)}
.founder-photo{position:relative;width:80px;height:80px;flex-shrink:0}
.founder-photo-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--red);animation:photoRingPulse 3s ease-in-out infinite}
.founder-photo-inner{width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--red-l)}
.founder-photo-inner img{width:100%;height:100%;object-fit:cover;object-position:center top}
@keyframes photoRingPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}
.founder-info{text-align:left}
.founder-sign{display:block;font-size:.82rem;font-style:italic;color:var(--grey);margin-bottom:4px}
.founder-name{display:block;font-size:1.05rem;font-weight:700;color:var(--blk);margin-bottom:3px}
.founder-role{font-size:.8rem;color:var(--grey);font-weight:500}

/* ===================================================================
   GOOGLE REVIEWS SECTION  (#reviews)
=================================================================== */
.reviews-section{background:var(--wht);border-top:1px solid rgba(0,0,0,.04)}
.reviews-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;flex-wrap:wrap;gap:16px}
.reviews-cta-top{padding:10px 22px;font-size:.82rem}

/* Aggregate score */
.reviews-aggregate{display:flex;align-items:center;gap:40px;background:var(--off);border-radius:var(--radius-lg);padding:28px 36px;margin-bottom:40px;border:1px solid rgba(0,0,0,.05)}
.ra-score{text-align:center}
.ra-number{font-family:var(--font-display);font-size:3.6rem;font-weight:900;color:var(--blk);line-height:1}
.ra-stars{display:flex;gap:4px;justify-content:center;margin:6px 0}
.ra-stars span{color:#F59E0B;font-size:1.3rem}
.ra-total{font-size:.76rem;color:var(--grey-l);font-weight:500}
.ra-divider{width:1px;height:70px;background:rgba(0,0,0,.08);flex-shrink:0}
.ra-badge{display:flex;align-items:center;gap:12px;color:var(--grey);font-size:.88rem;font-weight:600}
.ra-badge svg{flex-shrink:0}

/* Carousel */
.reviews-carousel-wrap{position:relative;display:flex;align-items:center;gap:16px}
.rc-arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(0,0,0,.1);background:var(--wht);color:var(--blk);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition);box-shadow:var(--shadow)}
.rc-arrow:hover{border-color:var(--red);color:var(--red);box-shadow:var(--shadow-red)}
.reviews-carousel{overflow:hidden;flex:1}
.reviews-track{display:flex;gap:20px;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}

/* Review card */
.review-card{background:var(--card);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.05);flex:0 0 calc(33.33% - 14px);min-width:0;transition:all var(--transition);position:relative;overflow:hidden}
.review-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),rgba(200,16,46,.2));transform:scaleX(0);transition:transform .35s ease}
.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.review-card:hover::before{transform:scaleX(1)}
.rc-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.rc-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--red-l);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--wht);position:relative}
.rc-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.rc-avatar-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-weight:700;font-size:1.1rem;font-family:var(--font-display)}
.rc-info .rc-name{font-size:.9rem;font-weight:700;color:var(--blk);margin-bottom:2px}
.rc-info .rc-date{font-size:.72rem;color:var(--grey-l)}
.rc-stars{display:flex;gap:2px;margin-bottom:12px}
.rc-stars span{color:#F59E0B;font-size:.95rem}
.rc-text{font-size:.84rem;color:var(--grey);line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* Loading & footer */
.reviews-loading{text-align:center;padding:60px;color:var(--grey);width:100%}
.rl-spinner{width:36px;height:36px;border:3px solid rgba(200,16,46,.15);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}
.reviews-footer{text-align:center;margin-top:40px}

/* ===================================================================
   HOME MOBILE — NEW SECTIONS
=================================================================== */
/* ===== HOME MOBILE ===== */
@media(max-width:960px){
  .hero{min-height:auto;padding:60px 0 40px}
  .hero .container{grid-template-columns:1fr;text-align:center}
  .hero p{margin-left:auto;margin-right:auto}
  .hero-btns{justify-content:center}
  .hero-visual{order:-1;margin-bottom:20px;padding:40px}
  .hero-img-wrap{width:280px;height:280px}
  .hero-float{display:none}
  .hero-orb.orb-1{width:90px;height:90px;left:-25px;top:0}
  .hero-orb.orb-2{width:72px;height:72px;right:-15px;bottom:15px}
  .hero-orb.orb-3{width:55px;height:55px;right:-20px;top:-10px}
  .hero-orb.orb-4{width:60px;height:60px;left:-20px;bottom:5px}
  .hero-orb.orb-5{width:48px;height:48px;right:-30px;top:45%}
  .hero-ring.ring-1{width:380px;height:380px}
  .hero-ring.ring-2{width:430px;height:430px}
  .hero-stats{justify-content:center}
  .paw-1,.paw-2,.paw-5,.paw-8,.paw-11,.paw-15,.paw-24{display:block}
  /* Services */
  .svc-desc-grid{grid-template-columns:1fr 1fr;gap:20px}
  .cat-grid{grid-template-columns:1fr 1fr;gap:18px}
  .cat-card{aspect-ratio:3/2}
  .teaser-highlights{grid-template-columns:1fr;max-width:400px}
  .booking-wrap{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  /* Commitment — 960px */
  .commitment-split{grid-template-columns:1fr;gap:40px}
  .commitment-image{order:-1;max-width:500px;margin:0 auto}
  .commit-img-wrap{max-height:400px}
  /* About — 960px */
  .about-split{grid-template-columns:1fr;gap:40px}
  .about-collage{height:auto;order:-1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:16px;position:relative}
  .collage-frame{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);transform:none !important}
  .frame-main{width:100%;height:auto;aspect-ratio:4/3;grid-column:1 / -1;top:auto;left:auto;border:4px solid var(--wht)}
  .frame-tl{width:100%;height:auto;aspect-ratio:4/3;top:auto;left:auto;border:3px solid var(--wht)}
  .frame-br{width:100%;height:auto;aspect-ratio:4/3;bottom:auto;right:auto;border:3px solid var(--wht)}
  .collage-badge{position:relative;right:auto;top:auto;transform:none;grid-column:1 / -1;justify-self:center;margin:0}
  /* Vision — 960px */
  .mission-pillars{grid-template-columns:1fr 1fr}
  .mission-pillar{border-left:none;border-top:1px solid rgba(255,255,255,.06)}
  .mission-pillar:first-child{border-top:none}
  /* Reviews — 960px */
  .review-card{flex:0 0 calc(50% - 10px)}
  .reviews-aggregate{gap:24px;padding:20px 24px}
  .ra-number{font-size:2.8rem}
}
@media(max-width:768px){
  .hero{min-height:auto;padding:40px 0 30px}
  .hero-visual{padding:35px}
  .hero-img-wrap{width:240px;height:240px}
  .hero-orb.orb-1{width:78px;height:78px;left:-15px;top:0}
  .hero-orb.orb-2{width:62px;height:62px;right:-8px;bottom:10px}
  .hero-orb.orb-3{width:48px;height:48px;right:-12px;top:-5px}
  .hero-orb.orb-4{width:52px;height:52px;left:-12px;bottom:5px}
  .hero-orb.orb-5{width:40px;height:40px;right:-20px;top:45%}
  .hero-ring.ring-1{width:320px;height:320px}
  .hero-ring.ring-2{width:360px;height:360px}
  .hero h1{font-size:clamp(2rem,8vw,3rem)}
  .hero-badge{font-size:.65rem;padding:8px 16px}
  .hero-stats{flex-direction:row;gap:20px;flex-wrap:wrap}
  .hero-stat{padding-left:12px}
  .hero-stat .num{font-size:1.3rem}
  .hero p{font-size:.95rem}
  /* Services — 768px */
  .svc-desc-grid{grid-template-columns:1fr;gap:20px}
  .svc-desc-card{padding:28px 24px}
  .cat-grid{grid-template-columns:1fr 1fr;gap:14px}
  .cat-card{aspect-ratio:3/2}
  .cat-card-body{padding:18px}
  .cat-card-body h3{font-size:1.1rem}
  .cat-card-body p{font-size:.72rem}
  /* Commitment — 768px */
  .commitment-grid{grid-template-columns:1fr}
  .commitment-grid .commit-card:nth-child(5){grid-column:auto}
  /* About — 768px */
  .about-services-grid{grid-template-columns:1fr 1fr}
  .about-collage{gap:12px}
  .frame-main{width:100%;height:auto;aspect-ratio:4/3}
  .frame-tl,.frame-br{width:100%;height:auto;aspect-ratio:4/3}
  /* Vision — 768px */
  .vision-title{font-size:clamp(2.5rem,8vw,4.5rem)}
  .mission-heading{font-size:1.8rem}
  .mission-item{padding:16px 20px}
  /* Reviews — 768px */
  .review-card{flex:0 0 calc(100% - 0px)}
  .reviews-header{flex-direction:column;align-items:flex-start}
  .reviews-aggregate{flex-direction:column;gap:20px;align-items:flex-start}
  .ra-divider{width:100%;height:1px}
  /* Founder — 768px */
  .founder-attribution{flex-direction:column;text-align:center}
  .founder-info{text-align:center}
}
@media(max-width:480px){
  .hero{padding:30px 0 20px}
  .hero-visual{padding:25px}
  .hero-img-wrap{width:200px;height:200px}
  .hero-orb.orb-1{width:62px;height:62px;left:-8px;top:0}
  .hero-orb.orb-2{width:52px;height:52px;right:-2px;bottom:8px}
  .hero-orb.orb-3{width:40px;height:40px;right:-5px;top:-2px}
  .hero-orb.orb-4{width:45px;height:45px;left:-5px;bottom:5px}
  .hero-orb.orb-5{width:35px;height:35px;right:-10px;top:42%}
  .hero-ring{display:none}
  .hero-btns{flex-direction:column;gap:10px;align-items:center}
  .hero-stats{flex-direction:column;gap:14px;align-items:center}
  .hero-stat{text-align:center;padding-left:0}
  .hero-stat::before{display:none}
  .hero h1{font-size:clamp(1.7rem,7vw,2.4rem)}
  .hero p{font-size:.88rem;margin-bottom:24px}
  /* Services — 480px */
  .svc-desc-grid{grid-template-columns:1fr;gap:16px}
  .svc-desc-card{padding:24px 20px}
  .cat-grid{grid-template-columns:1fr;gap:14px}
  .cat-card{aspect-ratio:16/9}
  .cat-card-body{padding:16px}
  .cat-card-body h3{font-size:1rem}
  .teaser-chip{padding:16px 18px}
  .form-row{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr 1fr}
  .booking-form{padding:20px}
  .marquee-wrap{padding:10px 0}
  .contact-card{padding:20px}
  /* Commitment — 480px */
  .commitment-quote{padding:20px 22px}
  .commitment-quote p{font-size:.92rem}
  /* About — 480px */
  .about-services-grid{grid-template-columns:1fr}
  .about-collage{grid-template-columns:1fr;gap:12px}
  .frame-main{width:100%;height:auto;aspect-ratio:16/10}
  .frame-tl{width:100%;height:auto;aspect-ratio:16/10}
  .frame-br{width:100%;height:auto;aspect-ratio:16/10}
  .about-body{font-size:.9rem}
  .about-story p{font-size:.88rem}
  /* Vision — 480px */
  .mission-pillars{grid-template-columns:1fr}
  .vision-statement{font-size:.9rem;padding-left:16px}
  .mission-item{padding:14px 16px;gap:12px}
  .mi-icon{width:34px;height:34px}
  /* Reviews — 480px */
  .reviews-carousel-wrap{gap:8px}
  .rc-arrow{width:36px;height:36px;font-size:.9rem}
  .review-card{padding:20px}
  /* Founder — 480px */
  .founder-note-body p{font-size:.88rem}
  .founder-note-body p:first-child{font-size:.95rem}
  .founder-quote{font-size:1rem}
}
