:root{
    --orange:#FF6B00;
    --red:#E53935;
    --cream:#FFF8F2;
    --charcoal:#1F1F1F;
    --grad:linear-gradient(135deg,#FF6B00 0%,#E53935 100%);
    --grad-soft:linear-gradient(135deg,rgba(255,107,0,.08) 0%,rgba(229,57,53,.08) 100%);

    --brand-orange:  #FF6B00;
    --brand-red:     #E53935;
    --brand-cream:   #FFF8F2;
    --brand-charcoal:#1F1F1F;
    --brand-white:   #FFFFFF;
    --brand-light:   #FFF0E5;
    --brand-muted:   #F5EDE4;
    --brand-muted-fg:#6B5C52;
    --brand-border:  rgba(31,31,31,0.10);
    --font-display:  'Fraunces', Georgia, serif;
    --font-body:     'Outfit', system-ui, sans-serif;
    --radius-xl:     16px;
    --radius-2xl:    20px;
    --shadow-card:   0 4px 40px rgba(31,31,31,0.08);
    --shadow-btn:    0 4px 20px rgba(255,107,0,0.40);
    --shadow-green:  0 4px 16px rgba(37,211,102,0.35);

    --white: #ffffff;
    --orange-light: rgba(255, 107, 0, 0.1);
    --orange-border: rgba(255, 107, 0, 0.25);
    --orange-glow: rgba(255, 107, 0, 0.35);
    --white-glass: rgba(255, 255, 255, 0.15);
    --white-border: rgba(255, 255, 255, 0.25);
    --dark-overlay: rgba(0, 0, 0, 0.82);
    --gradient-brand: linear-gradient(135deg, #FF6B00, #E53935);
    --gradient-hero: linear-gradient(135deg, rgba(31,31,31,0.85) 0%, rgba(229,57,53,0.55) 50%, rgba(255,107,0,0.45) 100%);
    --shadow-orange: 0 8px 32px rgba(255,107,0,0.4);
    --shadow-soft: 0 4px 24px rgba(255,107,0,0.12);
    --radius-card: 20px;
    --radius-pill: 50px;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;color:var(--charcoal);overflow-x:hidden;background:#fff;}
h1,h2,h3,h4,h5,h6{font-family:'Nunito',sans-serif;}

::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--cream);}
::-webkit-scrollbar-thumb{background:var(--orange);border-radius:3px;}

.grad-text{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.section-py{padding:90px 0;}
@media(max-width:768px){.section-py{padding:60px 0;}}

/* Floating paws */
#fp{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.pf{position:absolute;font-size:1.6rem;opacity:.06;color:var(--orange);animation:pawRise linear infinite;}
@keyframes pawRise{0%{transform:translateY(100vh) rotate(0deg);opacity:0;}8%{opacity:.06;}92%{opacity:.06;}100%{transform:translateY(-120px) rotate(360deg);opacity:0;}}

/* Section utilities */
.sec-badge{display:inline-flex;align-items:center;gap:7px;background:var(--grad-soft);border:1px solid rgba(255,107,0,.18);border-radius:50px;padding:6px 18px;font-size:.73rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px;}
.sec-h{font-family:'Nunito',sans-serif;font-weight:900;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--charcoal);line-height:1.25;margin-bottom:14px;}
.divider{width:60px;height:4px;background:var(--grad);border-radius:2px;margin:12px 0 28px;}
.divider.center{margin-left:auto;margin-right:auto;}
.sec-sub{font-size:1rem;color:#666;line-height:1.75;}

/* Hero */
.hero{background:var(--grad);min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;}
.hero-overlay{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 18% 80%,rgba(255,255,255,.12) 0%,transparent 48%),radial-gradient(circle at 82% 18%,rgba(255,255,255,.09) 0%,transparent 48%);}
.hero-paw{position:absolute;color:#fff;opacity:.12;pointer-events:none;animation:hpf 4.5s ease-in-out infinite;}
@keyframes hpf{0%,100%{transform:translateY(0) rotate(-15deg);}50%{transform:translateY(-22px) rotate(6deg);}}
.hero-tagline{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:50px;padding:8px 20px;font-size:.78rem;font-weight:700;color:#fff;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:18px;}
.hero h1{font-family:'Nunito',sans-serif;font-weight:900;font-size:clamp(2.2rem,5vw,3.8rem);color:#fff;line-height:1.15;margin-bottom:18px;}
.hero h1 span{color:#FFE0B2;}
.hero-sub{font-size:clamp(.95rem,2vw,1.13rem);color:rgba(255,255,255,.9);line-height:1.75;margin-bottom:28px;}
.hero-checks{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px;}
.hero-check{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.26);border-radius:50px;padding:6px 16px;font-size:.78rem;color:#fff;font-weight:600;}
.hero-check i{color:#FFE0B2;}
.btn-hp{background:#fff;color:var(--orange);border-radius:50px;padding:14px 32px;font-weight:800;font-size:1rem;border:none;box-shadow:0 8px 30px rgba(0,0,0,.2);transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.btn-hp:hover{transform:translateY(-4px);box-shadow:0 16px 42px rgba(0,0,0,.3);color:var(--orange);}
.btn-hs{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);border-radius:50px;padding:14px 32px;font-weight:700;font-size:1rem;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.btn-hs:hover{background:rgba(255,255,255,.2);border-color:#fff;color:#fff;transform:translateY(-4px);}
.hero-pill{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.15);border-radius:50px;padding:10px 18px;}
.hero-pill .pv{font-weight:800;font-size:1rem;color:#fff;}
.hero-pill .ps{font-size:.72rem;color:rgba(255,255,255,.75);}
.hero-slider{border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.38);aspect-ratio:4/5;max-height:520px;background:#f8d8b0;position:relative;}
.hslide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;}
.hslide.active{opacity:1;}
.hslide img{width:100%;height:100%;object-fit:cover;}
.hbadge{position:absolute;background:#fff;border-radius:16px;padding:12px 18px;box-shadow:0 10px 32px rgba(0,0,0,.16);display:flex;align-items:center;gap:10px;animation:bdf 3.2s ease-in-out infinite;}
@keyframes bdf{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
.hb1{bottom:28px;left:-22px;}.hb2{top:28px;right:-22px;}
.bicon{width:40px;height:40px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0;}
.bt{font-weight:800;font-size:.85rem;color:var(--charcoal);}.bs{font-size:.7rem;color:#999;}
.sdots{display:flex;justify-content:center;gap:8px;margin-top:18px;}
.sdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;transition:all .3s;padding:0;}
.sdot.active{width:24px;border-radius:4px;background:#fff;}

/* Trust bar */
.trust-bar{background:#fff;box-shadow:0 4px 30px rgba(0,0,0,.08);position:relative;z-index:10;}
.titem{display:flex;align-items:center;gap:14px;padding:26px 20px;border-right:1px solid #f0f0f0;transition:background .3s;}
.titem:last-child{border-right:none;}.titem:hover{background:var(--grad-soft);}
.ticon{width:52px;height:52px;border-radius:14px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0;}
.tnum{font-family:'Nunito',sans-serif;font-weight:900;font-size:1.6rem;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;}
.tlbl{font-size:.8rem;color:#666;font-weight:500;}
@media(max-width:767px){.titem{border-right:none;border-bottom:1px solid #f0f0f0;}}

/* Puppy cards */
.pup-sect{background:var(--cream);}
.fbtn{padding:8px 22px;border-radius:50px;border:2px solid #ddd;background:#fff;color:#666;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .25s;}
.fbtn:hover,.fbtn.active{background:var(--grad);border-color:transparent;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,107,0,.3);}
.pcard{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.04);transition:all .4s cubic-bezier(.175,.885,.32,1.275);height:100%;}
.pcard:hover{transform:translateY(-13px);box-shadow:0 22px 60px rgba(255,107,0,.22);}
.pcimg{position:relative;height:220px;overflow:hidden;}
.pcimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.pcard:hover .pcimg img{transform:scale(1.09);}
.pstat{position:absolute;top:14px;left:14px;padding:5px 14px;border-radius:50px;font-size:.71rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.sa{background:#E8F5E9;color:#2E7D32;}.sl{background:#FFF3E0;color:#E65100;}
.hbtn{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#ccc;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:all .3s;}
.hbtn:hover,.hbtn.liked{color:#E53935;transform:scale(1.22);}
.pcb{padding:18px 20px 22px;}
.pbreed{font-weight:800;font-size:1.05rem;color:var(--charcoal);margin-bottom:4px;}
.pmeta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px;}
.pmeta span{font-size:.78rem;color:#888;display:flex;align-items:center;gap:4px;}
.pmeta i{color:var(--orange);}
.pprice{font-family:'Nunito',sans-serif;font-weight:900;font-size:1.3rem;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.btn-enq{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:13px;background:var(--grad);color:#fff;border:none;border-radius:13px;padding:11px 20px;font-weight:700;font-size:.86rem;text-decoration:none;transition:all .3s;}
.btn-enq:hover{transform:translateY(-3px);box-shadow:0 9px 26px rgba(255,107,0,.42);color:#fff;}

/* Why */
.why-sect{background:#fff;}
.why-img{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.16);}
.why-img img{width:100%;height:500px;object-fit:cover;display:block;}
.why-badge{position:absolute;bottom:24px;right:24px;background:#fff;border-radius:20px;padding:16px 22px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.15);}
.benc{display:flex;align-items:flex-start;gap:16px;padding:18px;border-radius:16px;border:1px solid #f0f0f0;background:#fff;transition:all .3s;margin-bottom:14px;}
.benc:hover{border-color:rgba(255,107,0,.2);background:var(--grad-soft);transform:translateX(7px);box-shadow:0 6px 20px rgba(255,107,0,.1);}
.bicon2{width:48px;height:48px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;flex-shrink:0;}
.bt2{font-weight:700;font-size:.95rem;color:var(--charcoal);margin-bottom:2px;}
.bd2{font-size:.8rem;color:#777;margin:0;}
@media(max-width:767px){.why-img img{height:320px;}}

/* Reviews */
.rev-sect{background:var(--cream);}
.rcard{background:#fff;border-radius:24px;padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.04);transition:all .3s;height:100%;}
.rcard:hover{transform:translateY(-7px);box-shadow:0 16px 42px rgba(0,0,0,.11);}
.rav{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid var(--orange);flex-shrink:0;}
.rstar{color:#FFC107;font-size:.9rem;letter-spacing:1px;}
.rtxt{font-size:.9rem;color:#555;line-height:1.75;margin:14px 0;font-style:italic;}
.rname{font-weight:700;font-size:.9rem;color:var(--charcoal);}
.rbreed{font-size:.74rem;color:var(--orange);font-weight:600;}
.gbadge{display:inline-flex;align-items:center;gap:5px;background:#f8f9fa;border-radius:8px;padding:5px 11px;font-size:.74rem;font-weight:600;color:#555;border:1px solid #e9ecef;}
.gblue{font-weight:800;font-size:.88rem;color:#4285F4;}
.verif{font-size:.73rem;padding:2px 8px;background:#E8F5E9;color:#2E7D32;border-radius:20px;font-weight:600;}

/* Breeds */
.br-sect{background:#fff;}
.brcard{background:var(--cream);border-radius:24px;padding:24px;border:1px solid rgba(255,107,0,.07);transition:all .35s;height:100%;}
.brcard:hover{transform:translateY(-9px);box-shadow:0 16px 42px rgba(255,107,0,.17);background:#fff;border-color:rgba(255,107,0,.22);}
.brimg{width:100%;height:180px;object-fit:cover;border-radius:16px;margin-bottom:16px;display:block;}
.brname{font-weight:800;font-size:1.05rem;margin-bottom:12px;color:var(--charcoal);}
.brtag{display:inline-flex;align-items:center;gap:4px;background:rgba(255,107,0,.08);color:var(--orange);padding:4px 10px;border-radius:20px;font-size:.71rem;font-weight:600;margin:3px;}
.brstat{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#666;margin:6px 0;}
.brstat i{color:var(--orange);width:16px;}

/* Map */
.map-sect{background:var(--grad);position:relative;overflow:hidden;}
.map-sect::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 25% 60%,rgba(255,255,255,.1) 0%,transparent 55%);}
.map-embed{border-radius:24px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.32);}
.atag{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:6px 15px;font-size:.77rem;font-weight:600;color:#fff;margin:4px;}
.dpill{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.15);border-radius:13px;padding:14px 18px;}
.dpt{font-weight:700;color:#fff;font-size:.9rem;}.dps{font-size:.77rem;color:rgba(255,255,255,.75);}

/* CTA */
.cta-sect{background:var(--grad);position:relative;overflow:hidden;}
.cta-sect::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.1) 0%,transparent 60%);}
.mascot{font-size:6rem;line-height:1;display:block;animation:mbc 2.2s ease-in-out infinite;}
@keyframes mbc{0%,100%{transform:translateY(0) rotate(-5deg);}50%{transform:translateY(-18px) rotate(6deg);}}
.btn-cw{background:#fff;color:var(--orange);border:none;border-radius:50px;padding:14px 32px;font-weight:800;font-size:1rem;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 30px rgba(0,0,0,.2);transition:all .3s;}
.btn-cw:hover{transform:translateY(-4px);box-shadow:0 16px 42px rgba(0,0,0,.32);color:var(--orange);}
.btn-wa2{background:#25D366;color:#fff!important;}
.btn-co{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);border-radius:50px;padding:14px 32px;font-weight:700;font-size:1rem;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .3s;}
.btn-co:hover{background:rgba(255,255,255,.2);border-color:#fff;color:#fff;transform:translateY(-4px);}

/* FAQ */
.faq-sect{background:var(--cream);}
.fitem{background:#fff;border-radius:17px;margin-bottom:13px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.04);}
.fq{width:100%;padding:20px 24px;font-weight:700;font-size:1rem;color:var(--charcoal);background:#fff;border:none;text-align:left;cursor:pointer;transition:all .25s;display:flex;justify-content:space-between;align-items:center;}
.fq:hover,.fq[aria-expanded="true"]{background:var(--grad-soft);color:var(--orange);}
.fchev{transition:transform .32s;font-size:.85rem;}
.fq[aria-expanded="true"] .fchev{transform:rotate(180deg);}
.fa{font-size:.9rem;color:#666;line-height:1.82;padding:0 24px 20px;background:#fff;}

/* SEO */
.seo-sect{background:#fff;}
.seo-body{font-size:.95rem;color:#555;line-height:1.9;}
.seo-body h3{font-size:1.18rem;font-weight:700;color:var(--charcoal);margin-top:26px;margin-bottom:8px;}

/* Footer */
.footer{background:var(--charcoal);color:rgba(255,255,255,.78);padding:60px 0 20px;}
.fhead{font-weight:700;font-size:1rem;color:#fff;margin-bottom:18px;}
.fdesc{font-size:.875rem;color:rgba(255,255,255,.6);line-height:1.75;margin:12px 0 20px;}
.flink{display:block;font-size:.84rem;color:rgba(255,255,255,.65);text-decoration:none;padding:4px 0;transition:color .25s;}
.flink:hover{color:var(--orange);}
.fcrow{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:.84rem;}
.fcrow i{color:var(--orange);margin-top:2px;flex-shrink:0;}
.sicon{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:1rem;text-decoration:none;transition:all .3s;}
.sicon:hover{background:var(--grad);color:#fff;transform:translateY(-3px);}
.hrow{display:flex;justify-content:space-between;font-size:.82rem;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.htime{color:var(--orange);font-weight:600;}
.fdiv{border-color:rgba(255,255,255,.08);margin:28px 0 18px;}
.fcopy{font-size:.78rem;color:rgba(255,255,255,.38);}

@media(max-width:991px){.hb1,.hb2{display:none;}.hero-slider{max-height:340px;}}
@media(max-width:575px){.hero-check{font-size:.73rem;padding:5px 12px;}.btn-hp,.btn-hs{padding:12px 22px;font-size:.92rem;}}


/* Contact Page CSS - Start */

.section {
    padding: 45px 0;
}

/* ============================================================
    TYPOGRAPHY SCALE
============================================================ */
.main-heading {
    font-family: var(--font-display);
    font-size: 42px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--brand-charcoal);
}

.secondary-main-heading {
    font-family: var(--font-display);
    font-size: 38px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--brand-charcoal);
}

.section-card-title {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

@media (max-width: 991.98px) {
    .main-heading        { font-size: 32px; }
    .secondary-main-heading { font-size: 28px; }
}

@media (max-width: 767.98px) {
    .main-heading        { font-size: 26px; }
    .secondary-main-heading { font-size: 22px; }
    .section-card-title  { font-size: 17px; }
}

@media (max-width: 575.98px) {
    .main-heading        { font-size: 22px; }
    .secondary-main-heading { font-size: 19px; }
}

/* ============================================================
    KEYFRAMES
============================================================ */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(32px); }
    to   { opacity: 1; transform: translateY(0);    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes pulseDot {
    0%,100% { transform: scale(1);   opacity: 1;   }
    50%      { transform: scale(1.5); opacity: 0.6; }
}

@keyframes slideInLeft {
    from { opacity: 0; transform: translateX(-32px); }
    to   { opacity: 1; transform: translateX(0);     }
}

@keyframes slideInRight {
    from { opacity: 0; transform: translateX(32px); }
    to   { opacity: 1; transform: translateX(0);    }
}

@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.94); }
    to   { opacity: 1; transform: scale(1);    }
}

@keyframes scrollPulse {
    0%, 100% { opacity: 0.5; transform: scaleY(1); }
    50% { opacity: 1; transform: scaleY(1.3); }
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInScale {
      from { opacity: 0; transform: scale(0.92); }
      to { opacity: 1; transform: scale(1); }
    }

@keyframes floatPaw {
    0%, 100% { transform: translateY(0) rotate(var(--rotate, 0deg)); }
    50% { transform: translateY(-12px) rotate(var(--rotate, 0deg)); }
}

.paw-1 { animation: floatPaw 6s ease-in-out infinite; --rotate: -20deg; }
.paw-2 { animation: floatPaw 8s ease-in-out infinite 1s; --rotate: 15deg; }
.paw-3 { animation: floatPaw 7s ease-in-out infinite 0.5s; --rotate: 30deg; }
.paw-4 { animation: floatPaw 9s ease-in-out infinite 2s; --rotate: -10deg; }
.paw-5 { animation: floatPaw 10s ease-in-out infinite 1.5s; --rotate: 45deg; }

/* Scroll-triggered reveal – applied via JS */
.reveal {
    opacity: 0;
    transform: translateY(28px);
    /* transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1),
                transform 0.65s cubic-bezier(0.22,1,0.36,1); */
    transition: opacity 0.75s ease, transform 0.75s ease;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}
.reveal-left {
    opacity: 0;
    transform: translateX(-28px);
    transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1),
                transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.reveal-left.visible { opacity: 1; transform: translateX(0); }
.reveal-right {
    opacity: 0;
    transform: translateX(28px);
    transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1),
                transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.reveal-right.visible { opacity: 1; transform: translateX(0); }

.delay-1 { transition-delay: 0.10s !important; }
.delay-2 { transition-delay: 0.20s !important; }
.delay-3 { transition-delay: 0.30s !important; }
.delay-4 { transition-delay: 0.40s !important; }
.delay-5 { transition-delay: 0.50s !important; }

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

.hero-animate {
    animation: fadeInUp 0.9s ease both;
}

.hero-animate-delay-1 { animation-delay: 0.15s; }
.hero-animate-delay-2 { animation-delay: 0.3s; }
.hero-animate-delay-3 { animation-delay: 0.45s; }
.hero-animate-delay-4 { animation-delay: 0.6s; }
.hero-animate-delay-5 { animation-delay: 0.75s; }

/* Quote fade transition */
.quote-fade-out { opacity: 0; transform: translateY(6px); }
.quote-fade-in { opacity: 1; transform: translateY(0); transition: opacity 0.4s ease, transform 0.4s ease; }

/* ============================================================
    HERO SECTION
============================================================ */
.contact-hero-section {
    position: relative;
    overflow: hidden;
    padding: 70px 0 52px;
    text-align: center;
}

.contact-hero-blob-1 {
    position: absolute;
    top: -80px;
    left: -80px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,107,0,0.18), transparent 70%);
    pointer-events: none;
}

.contact-hero-blob-2 {
    position: absolute;
    top: -40px;
    right: -60px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(229,57,53,0.14), transparent 70%);
    pointer-events: none;
}

.contact-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 18px;
    border-radius: 50px;
    background: var(--brand-light);
    border: 1px solid rgba(255,107,0,0.22);
    color: var(--brand-orange);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 22px;
    animation: fadeInUp 0.6s cubic-bezier(0.22,1,0.36,1) both;
}

.contact-pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--brand-orange);
    display: inline-block;
    animation: pulseDot 2s ease-in-out infinite;
}

.main-heading em {
    color: var(--brand-orange);
    font-style: italic;
}

.contact-hero-subtitle {
    color: var(--brand-muted-fg);
    font-size: 1rem;
    line-height: 1.7;
    max-width: 520px;
    margin: 0 auto 28px;
    animation: fadeInUp 0.6s cubic-bezier(0.22,1,0.36,1) 0.2s both;
}

.contact-trust-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    animation: fadeInUp 0.6s cubic-bezier(0.22,1,0.36,1) 0.35s both;
}

.contact-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    border-radius: 50px;
    background: var(--brand-light);
    border: 1px solid rgba(255,107,0,0.18);
    color: var(--brand-charcoal);
    font-size: 0.78rem;
    font-weight: 500;
}

.contact-trust-badge span.check {
    color: var(--brand-orange);
    font-weight: 700;
}


/* ============================================================
    SECTION 1 – FORM CARD
============================================================ */
.form-card {
    background: var(--brand-white);
    border-radius: var(--radius-2xl);
    border: 1px solid var(--brand-border);
    box-shadow: var(--shadow-card);
    padding: 36px;
}

@media (max-width: 575.98px) {
    .form-card { padding: 22px 16px; }
}

.form-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--brand-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.form-label-custom {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--brand-charcoal);
    margin-bottom: 7px;
}

.form-label-custom .req {
    color: var(--brand-red);
}

.form-label-custom .opt {
    color: var(--brand-muted-fg);
    font-size: 0.78rem;
    font-weight: 400;
}

.form-control-custom {
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1.5px solid rgba(31,31,31,0.12);
    background: #FAFAFA;
    color: var(--brand-charcoal);
    font-family: var(--font-body);
    font-size: 0.875rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
}

.form-control-custom:focus {
    border-color: var(--brand-orange);
    box-shadow: 0 0 0 3px rgba(255,107,0,0.14);
    background: var(--brand-white);
}

.form-control-custom::placeholder {
    color: #b0a49c;
}

.phone-input-wrap {
    position: relative;
}

.phone-prefix {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--brand-muted-fg);
    pointer-events: none;
    user-select: none;
}

.phone-input-wrap .form-control-custom {
    padding-left: 46px;
}

.email-display {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1.5px solid rgba(255,107,0,0.15);
    background: var(--brand-muted);
    color: var(--brand-charcoal);
    font-size: 0.875rem;
    font-family: var(--font-body);
}

.select-custom {
    width: 100%;
    padding: 12px 40px 12px 16px;
    border-radius: 12px;
    border: 1.5px solid rgba(31,31,31,0.12);
    background: #FAFAFA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23FF6B00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 14px center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: var(--brand-charcoal);
    font-family: var(--font-body);
    font-size: 0.875rem;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.select-custom:focus {
    border-color: var(--brand-orange);
    box-shadow: 0 0 0 3px rgba(255,107,0,0.14);
    background-color: var(--brand-white);
}

.select-custom option { color: var(--brand-charcoal); }

/* CTA Buttons */
.btn-wa-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand-orange) 0%, var(--brand-red) 100%);
    color: var(--brand-white);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    box-shadow: var(--shadow-btn);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    width: 100%;
}

.btn-wa-primary:hover {
    color: var(--brand-white);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(255,107,0,0.50);
    filter: brightness(1.05);
}

.btn-wa-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 20px;
    border-radius: 12px;
    background: var(--brand-light);
    color: var(--brand-orange);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    border: 1.5px solid rgba(255,107,0,0.30);
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    width: 100%;
}

.btn-wa-secondary:hover {
    color: var(--brand-orange);
    background: #FFE8D4;
    border-color: rgba(255,107,0,0.55);
    transform: translateY(-2px);
}

.kci-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    background: var(--brand-cream);
    border: 1px solid rgba(255,107,0,0.15);
    margin-top: 20px;
}

.kci-note p {
    font-size: 0.78rem;
    line-height: 1.6;
    color: var(--brand-muted-fg);
    margin: 0;
}

.kci-note strong {
    color: var(--brand-charcoal);
}

/* ============================================================
    SECTION 1 – CONTACT INFO CARD
============================================================ */
.contact-card {
    background: var(--brand-charcoal);
    border-radius: var(--radius-2xl);
    padding: 36px;
    box-shadow: 0 4px 40px rgba(31,31,31,0.18);
}

@media (max-width: 575.98px) {
    .contact-card { padding: 22px 16px; }
}

.contact-card-title {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 600;
    color: var(--brand-white);
    margin-bottom: 28px;
}

.contact-row {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.contact-row-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.contact-row:hover .contact-row-icon {
    background: rgba(255,255,255,0.14);
}

.contact-row-label {
    font-size: 0.72rem;
    font-weight: 500;
    color: rgba(255,255,255,0.42);
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.contact-row-value {
    font-size: 0.9rem;
    color: var(--brand-white);
    line-height: 1.45;
    margin-bottom: 4px;
    word-break: break-word;
}

.contact-row-link {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--brand-orange);
    text-decoration: none;
    transition: color 0.2s ease;
}

.contact-row-link:hover {
    color: #ffaa55;
}

.contact-divider {
    border-color: rgba(255,255,255,0.08);
    margin: 16px 0;
}

/* Hours Card */
.hours-card {
    background: var(--brand-white);
    border-radius: var(--radius-xl);
    border: 1px solid var(--brand-border);
    box-shadow: 0 2px 20px rgba(31,31,31,0.05);
    padding: 22px 24px;
}

.hours-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.hours-card-header h3 {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--brand-charcoal);
    margin: 0;
}

.hours-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgba(31,31,31,0.06);
}

.hours-row:last-of-type { border-bottom: none; }

.hours-day {
    font-size: 0.875rem;
    color: var(--brand-charcoal);
}

.hours-badge {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 3px 12px;
    border-radius: 50px;
}

.hours-badge.active {
    background: var(--brand-light);
    color: var(--brand-orange);
}

.hours-badge.muted {
    background: #F5F5F5;
    color: var(--brand-muted-fg);
}

.hours-tip {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--brand-cream);
    border: 1px solid rgba(255,107,0,0.15);
    margin-top: 14px;
}

.hours-tip p {
    font-size: 0.78rem;
    line-height: 1.6;
    color: var(--brand-muted-fg);
    margin: 0;
}

/* Quick action buttons */
.btn-call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand-orange), var(--brand-red));
    color: var(--brand-white);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(255,107,0,0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-call:hover {
    color: var(--brand-white);
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(255,107,0,0.50);
}

.btn-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px;
    border-radius: 12px;
    background: #25D366;
    color: var(--brand-white);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--shadow-green);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-whatsapp:hover {
    color: var(--brand-white);
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(37,211,102,0.50);
}

/* ============================================================
    SECTION 2 – MAP
============================================================ */
.map-wrapper {
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: 0 8px 48px rgba(31,31,31,0.12);
    border: 1px solid var(--brand-border);
}

.map-header {
    background: var(--brand-white);
    border-bottom: 1px solid var(--brand-border);
    padding: 18px 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

@media (max-width: 575.98px) {
    .map-header { padding: 14px 16px; }
}

.map-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.map-pin-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--brand-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.map-header h2 {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--brand-charcoal);
    margin: 0 0 2px;
}

.map-header p {
    font-size: 0.78rem;
    color: var(--brand-muted-fg);
    margin: 0;
}

.map-header-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-directions {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--brand-orange), var(--brand-red));
    color: var(--brand-white);
    font-family: var(--font-body);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 3px 14px rgba(255,107,0,0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-directions:hover {
    color: var(--brand-white);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,107,0,0.50);
}

.btn-wa-map {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 10px;
    background: #25D366;
    color: var(--brand-white);
    font-family: var(--font-body);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 3px 14px rgba(37,211,102,0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-wa-map:hover {
    color: var(--brand-white);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37,211,102,0.50);
}

.map-embed {
    display: block;
    width: 100%;
    height: 420px;
    border: 0;
}

@media (max-width: 575.98px) {
    .map-embed { height: 280px; }
}

/* Location chips */
.loc-chip {
    background: var(--brand-white);
    border: 1px solid var(--brand-border);
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 1px 8px rgba(31,31,31,0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.loc-chip:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(31,31,31,0.08);
}

.loc-chip-emoji { font-size: 1.4rem; line-height: 1; }

.loc-chip-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--brand-charcoal);
    margin-bottom: 2px;
}

.loc-chip-sub {
    font-size: 0.72rem;
    color: var(--brand-muted-fg);
}

/* ============================================================
    SVG ICON HELPERS
============================================================ */
.icon-svg {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

/* ============================================================
    FORM FIELD SPACING
============================================================ */
.field-group { margin-bottom: 18px; }
.field-group:last-of-type { margin-bottom: 0; }

/* ============================================================
    MISC UTILITY
============================================================ */
.gap-12 { gap: 12px; }
.mt-20  { margin-top: 20px; }
.mt-14  { margin-top: 14px; }

/* Contact Page CSS - Ends */

