/* =============================================================
   Naughty Dogs – Custom Theme Styles
   Enqueue via functions.php — do NOT edit the template files
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:wght@300;400;500;600&family=Caveat:wght@700&display=swap');

:root {
  --cream: #FDF6EE;
  --warm-white: #FFFAF5;
  --bark: #2C1810;
  --bark-mid: #5C3D2E;
  --orange: #E8622A;
  --orange-light: #F2895A;
  --gold: #D4A843;
  --sage: #7A9E7E;
  --sage-light: #EAF2EB;
  --paw: #FF6B35;
  --text: #1A0F0A;
  --text-mid: #6B4C3B;
  --border: rgba(44,24,16,0.12);
  --shadow: 0 20px 60px rgba(44,24,16,0.12);
  --radius: 20px;
  --radius-lg: 32px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'DM Sans', sans-serif;
  background: var(--cream);
  color: var(--text);
  overflow-x: hidden;
  cursor: none;
}

/* CUSTOM CURSOR */
.nd-cursor { width:12px;height:12px;background:var(--orange);border-radius:50%;position:fixed;pointer-events:none;z-index:99999;transition:transform 0.1s;mix-blend-mode:multiply; }
.nd-cursor-ring { width:40px;height:40px;border:1.5px solid var(--orange);border-radius:50%;position:fixed;pointer-events:none;z-index:99998;transition:transform 0.15s,width 0.3s,height 0.3s; }
.nd-cursor-ring.hover { width:60px;height:60px; }

/* SCROLLBAR */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--cream); }
::-webkit-scrollbar-thumb { background:var(--orange);border-radius:3px; }

/* NAV */
.nd-nav { position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:72px;background:rgba(253,246,238,0.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:all 0.3s; }
.nd-nav.scrolled { height:60px;box-shadow:0 4px 30px rgba(44,24,16,0.08); }
.nd-nav-logo { display:flex;align-items:center;gap:10px;text-decoration:none;cursor:none; }
.nd-nav-logo-icon { width:42px;height:42px;background:var(--orange);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;transition:transform 0.3s; }
.nd-nav-logo:hover .nd-nav-logo-icon { transform:rotate(-10deg) scale(1.1); }
.nd-nav-logo-text { font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--bark); }
.nd-nav-logo-sub { font-size:10px;color:var(--text-mid);letter-spacing:0.1em;text-transform:uppercase; }
.nd-nav-links { display:flex;align-items:center;gap:4px; }
.nd-nav-link { padding:8px 16px;border-radius:100px;font-size:14px;font-weight:500;color:var(--text-mid);text-decoration:none;cursor:none;transition:all 0.2s;border:1px solid transparent; }
.nd-nav-link:hover, .nd-nav-link.active { background:var(--bark);color:var(--cream); }
.nd-nav-cta { background:var(--orange);color:white!important;padding:10px 22px;border-radius:100px;font-weight:600;font-size:14px;text-decoration:none;cursor:none;transition:all 0.3s;margin-left:8px;display:flex;align-items:center;gap:6px; }
.nd-nav-cta:hover { background:var(--bark);transform:translateY(-2px); }
.nd-hamburger { display:none;flex-direction:column;gap:5px;cursor:none;padding:8px; }
.nd-hamburger span { width:24px;height:2px;background:var(--bark);border-radius:2px;transition:all 0.3s;display:block; }
.nd-hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nd-hamburger.open span:nth-child(2) { opacity:0; }
.nd-hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }
.nd-mobile-menu { display:none;position:fixed;top:72px;left:0;right:0;background:var(--warm-white);padding:20px 5%;border-bottom:1px solid var(--border);z-index:999;flex-direction:column;gap:4px; }
.nd-mobile-menu.open { display:flex; }
.nd-mobile-menu .nd-nav-link { width:100%; }

/* HERO */
.nd-hero { min-height:100vh;padding:0 5%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding-top:72px;position:relative;overflow:hidden; }
.hero-bg-blob { position:absolute;border-radius:50%;filter:blur(80px);opacity:0.3;pointer-events:none; }
.blob1 { width:500px;height:500px;background:var(--orange);top:-100px;right:-100px;animation:blob-float 8s ease-in-out infinite; }
.blob2 { width:300px;height:300px;background:var(--gold);bottom:50px;left:-50px;animation:blob-float 10s ease-in-out infinite 2s; }
@keyframes blob-float { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(20px,-20px) scale(1.05)} 66%{transform:translate(-15px,15px) scale(0.95)} }
.hero-content { position:relative;z-index:2; }
.hero-badge { display:inline-flex;align-items:center;gap:8px;background:var(--sage-light);color:var(--sage);padding:8px 16px;border-radius:100px;font-size:13px;font-weight:600;margin-bottom:24px;animation:slide-up 0.8s ease 0.2s both; }
.hero-badge::before { content:'';width:8px;height:8px;background:var(--sage);border-radius:50%;animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.5);opacity:0.5} }
.hero-title { font-family:'Playfair Display',serif;font-size:clamp(42px,6vw,80px);line-height:1.05;color:var(--bark);margin-bottom:20px;animation:slide-up 0.8s ease 0.4s both; }
.hero-title em { color:var(--orange);font-style:italic; }
.hero-title .line2 { display:block; }
.hero-desc { font-size:17px;color:var(--text-mid);line-height:1.7;max-width:460px;margin-bottom:36px;animation:slide-up 0.8s ease 0.6s both; }
.hero-actions { display:flex;gap:14px;flex-wrap:wrap;animation:slide-up 0.8s ease 0.8s both; }
.hero-stats { display:flex;gap:32px;margin-top:48px;animation:slide-up 0.8s ease 1s both; }
.stat-item { text-align:left; }
.stat-num { font-family:'Playfair Display',serif;font-size:32px;font-weight:900;color:var(--orange); }
.stat-label { font-size:12px;color:var(--text-mid);text-transform:uppercase;letter-spacing:0.08em; }
@keyframes slide-up { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:none} }
.hero-visual { position:relative;z-index:2;animation:slide-up 0.8s ease 0.3s both; }
.hero-img-container { position:relative;background:linear-gradient(135deg,var(--orange) 0%,var(--gold) 100%);border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;max-height:600px; }
.hero-img-container img { width:100%;height:100%;object-fit:cover; }
.hero-img-badge { position:absolute;background:white;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px; }
.hib1 { bottom:30px;left:-30px;animation:float 4s ease-in-out infinite; }
.hib2 { top:30px;right:-20px;animation:float 4s ease-in-out infinite 1s; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.hib-icon { font-size:28px; }
.hib-text strong { font-size:15px;font-weight:700;color:var(--bark);display:block; }
.hib-text span { font-size:12px;color:var(--text-mid); }
.paw-float { position:absolute;font-size:24px;opacity:0.07;pointer-events:none;animation:paw-drift 6s ease-in-out infinite; }
@keyframes paw-drift { 0%,100%{transform:rotate(0deg) translateY(0)} 50%{transform:rotate(15deg) translateY(-20px)} }

/* COMMON SECTIONS */
section { padding:100px 5%; }
.section-badge { display:inline-flex;align-items:center;gap:6px;background:var(--sage-light);color:var(--sage);padding:6px 14px;border-radius:100px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:16px; }
.section-title { font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,52px);font-weight:700;color:var(--bark);line-height:1.15;margin-bottom:16px; }
.section-title em { color:var(--orange);font-style:italic; }
.section-sub { font-size:17px;color:var(--text-mid);line-height:1.7;max-width:540px; }

/* MARQUEE */
.nd-marquee-section { background:var(--bark);padding:20px 0;overflow:hidden; }
.nd-marquee-track { display:flex;gap:0;animation:marquee 20s linear infinite;width:max-content; }
.nd-marquee-track:hover { animation-play-state:paused; }
.nd-marquee-item { display:flex;align-items:center;gap:16px;padding:0 40px;color:var(--cream);font-size:15px;font-weight:500;white-space:nowrap; }
.nd-marquee-dot { width:6px;height:6px;background:var(--orange);border-radius:50%;flex-shrink:0; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* BUTTONS */
.btn-primary { background:var(--orange);color:white;padding:16px 32px;border-radius:100px;font-weight:600;font-size:15px;text-decoration:none;cursor:none;display:inline-flex;align-items:center;gap:8px;transition:all 0.3s;box-shadow:0 8px 30px rgba(232,98,42,0.35); }
.btn-primary:hover { background:var(--bark);transform:translateY(-3px);box-shadow:0 16px 40px rgba(232,98,42,0.3); }
.btn-secondary { background:transparent;color:var(--bark);padding:16px 32px;border-radius:100px;font-weight:600;font-size:15px;text-decoration:none;cursor:none;display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--bark);transition:all 0.3s; }
.btn-secondary:hover { background:var(--bark);color:var(--cream);transform:translateY(-3px); }

/* SERVICES GRID */
.nd-services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:60px; }
.service-card { background:var(--warm-white);border-radius:var(--radius);padding:36px 32px;border:1px solid var(--border);transition:all 0.4s cubic-bezier(0.23,1,0.32,1);position:relative;overflow:hidden;cursor:none; }
.service-card::before { content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--orange),var(--gold));opacity:0;transition:opacity 0.4s; }
.service-card:hover { transform:translateY(-8px);box-shadow:var(--shadow); }
.service-card:hover::before { opacity:1; }
.service-card:hover * { color:white!important; }
.service-card:hover .service-icon-wrap { background:rgba(255,255,255,0.2); }
.service-icon-wrap { width:64px;height:64px;background:var(--sage-light);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:24px;position:relative;z-index:1;transition:background 0.4s; }
.service-card h3 { font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--bark);margin-bottom:12px;position:relative;z-index:1;transition:color 0.4s; }
.service-card p { font-size:14px;line-height:1.7;color:var(--text-mid);position:relative;z-index:1;transition:color 0.4s; }
.service-arrow { position:absolute;bottom:28px;right:28px;width:36px;height:36px;background:var(--bark);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:16px;z-index:1;transition:all 0.3s; }
.service-card:hover .service-arrow { background:white;color:var(--orange); }

/* WHY US */
.nd-why-section { background:var(--bark);color:var(--cream);border-radius:var(--radius-lg);margin:0 5%;padding:80px 8%;position:relative;overflow:hidden; }
.nd-why-section::after { content:'🐾';position:absolute;right:-20px;bottom:-20px;font-size:200px;opacity:0.04;transform:rotate(-20deg); }
.nd-why-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.why-left .section-title { color:var(--cream); }
.why-left .section-sub { color:rgba(253,246,238,0.7); }
.why-items { display:flex;flex-direction:column;gap:24px;margin-top:40px; }
.why-item { display:flex;gap:20px;align-items:flex-start; }
.why-icon { width:48px;height:48px;flex-shrink:0;background:rgba(232,98,42,0.15);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;border:1px solid rgba(232,98,42,0.3); }
.why-item h4 { font-size:16px;font-weight:600;color:var(--cream);margin-bottom:4px; }
.why-item p { font-size:14px;color:rgba(253,246,238,0.65);line-height:1.6; }

/* PRODUCTS */
.nd-products-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-top:50px; }
.product-card { background:var(--warm-white);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:all 0.4s cubic-bezier(0.23,1,0.32,1);cursor:none; }
.product-card:hover { transform:translateY(-8px);box-shadow:var(--shadow); }
.product-img { aspect-ratio:4/3;overflow:hidden;background:var(--sage-light);position:relative; }
.product-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.5s; }
.product-card:hover .product-img img { transform:scale(1.08); }
.product-tag { position:absolute;top:14px;left:14px;background:var(--orange);color:white;font-size:11px;font-weight:700;padding:4px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:0.05em; }
.product-info { padding:22px 24px; }
.product-info h3 { font-family:'Playfair Display',serif;font-size:20px;color:var(--bark);margin-bottom:6px; }
.product-info p { font-size:13px;color:var(--text-mid);line-height:1.6;margin-bottom:18px; }
.product-enquire { display:inline-flex;align-items:center;gap:8px;background:var(--bark);color:var(--cream);padding:10px 20px;border-radius:100px;font-size:13px;font-weight:600;text-decoration:none;cursor:none;transition:all 0.3s;border:none;width:100%;justify-content:center; }
.product-enquire:hover { background:var(--orange);transform:translateY(-2px); }
.nd-cat-pills { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px; }
.cat-pill { padding:8px 20px;border-radius:100px;border:1.5px solid var(--border);font-size:13px;font-weight:500;color:var(--text-mid);cursor:none;transition:all 0.2s;background:transparent; }
.cat-pill:hover, .cat-pill.active { background:var(--orange);color:white;border-color:var(--orange); }

/* TESTIMONIALS */
.nd-testimonials-slider { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.testimonial-card { background:var(--warm-white);border-radius:var(--radius);padding:32px;border:1px solid var(--border);position:relative; }
.testimonial-card::before { content:'"';font-family:'Playfair Display',serif;font-size:80px;font-weight:900;color:var(--orange);opacity:0.15;position:absolute;top:10px;left:24px;line-height:1; }
.stars { color:var(--gold);font-size:16px;margin-bottom:16px; }
.testimonial-card p { font-size:15px;color:var(--text-mid);line-height:1.7;margin-bottom:20px;font-style:italic; }
.reviewer { display:flex;align-items:center;gap:12px; }
.reviewer-avatar { width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--gold));display:flex;align-items:center;justify-content:center;font-weight:700;color:white;font-size:16px; }
.reviewer strong { font-size:14px;color:var(--bark);display:block; }
.reviewer span { font-size:12px;color:var(--text-mid); }

/* BLOG CARDS */
.nd-blog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px; }
.blog-card { background:var(--warm-white);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:all 0.4s;cursor:none; }
.blog-card:hover { transform:translateY(-6px);box-shadow:var(--shadow); }
.blog-img { aspect-ratio:16/9;overflow:hidden;background:var(--sage-light); }
.blog-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.5s; }
.blog-card:hover .blog-img img { transform:scale(1.06); }
.blog-body { padding:24px; }
.blog-cat { font-size:11px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:8px; }
.blog-body h3 { font-family:'Playfair Display',serif;font-size:20px;color:var(--bark);margin-bottom:10px;line-height:1.3; }
.blog-body p { font-size:13px;color:var(--text-mid);line-height:1.6;margin-bottom:18px; }
.blog-meta { font-size:12px;color:var(--text-mid);display:flex;gap:12px; }
.blog-full-grid { display:grid;grid-template-columns:2fr 1fr;gap:40px;margin-top:60px; }
.blog-main .blog-featured { background:var(--warm-white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);margin-bottom:24px;cursor:none;transition:all 0.4s; }
.blog-featured:hover { transform:translateY(-4px);box-shadow:var(--shadow); }
.blog-featured-img { aspect-ratio:16/7;overflow:hidden; }
.blog-featured-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.5s; }
.blog-featured:hover .blog-featured-img img { transform:scale(1.04); }
.blog-featured-body { padding:36px; }
.blog-featured-body h2 { font-family:'Playfair Display',serif;font-size:28px;color:var(--bark);margin-bottom:12px; }
.blog-featured-body p { font-size:15px;color:var(--text-mid);line-height:1.7; }
.nd-blog-sidebar { display:flex;flex-direction:column;gap:16px; }
.sidebar-post { background:var(--warm-white);border-radius:var(--radius);padding:20px;border:1px solid var(--border);display:flex;gap:14px;align-items:flex-start;cursor:none;transition:all 0.3s; }
.sidebar-post:hover { border-color:var(--orange); }
.sidebar-post-img { width:70px;height:70px;border-radius:10px;overflow:hidden;flex-shrink:0; }
.sidebar-post-img img { width:100%;height:100%;object-fit:cover; }
.sidebar-post h4 { font-size:14px;font-weight:600;color:var(--bark);line-height:1.4;margin-bottom:4px; }
.sidebar-post span { font-size:12px;color:var(--text-mid); }

/* LOCATIONS */
.nd-locations-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px; }
.location-card { background:var(--warm-white);border-radius:var(--radius);padding:36px;border:1px solid var(--border);transition:all 0.3s;cursor:none; }
.location-card:hover { border-color:var(--orange);box-shadow:0 8px 40px rgba(232,98,42,0.12); }
.location-icon { font-size:36px;margin-bottom:16px; }
.location-card h3 { font-family:'Playfair Display',serif;font-size:22px;color:var(--bark);margin-bottom:8px; }
.location-card p { font-size:14px;color:var(--text-mid);line-height:1.7;margin-bottom:20px; }
.location-detail { display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-mid);margin-bottom:8px; }
.location-detail span:first-child { font-size:16px; }
.location-cta { display:inline-flex;align-items:center;gap:6px;color:var(--orange);font-size:13px;font-weight:600;text-decoration:none;cursor:none;margin-top:8px;transition:gap 0.2s; }
.location-cta:hover { gap:10px; }

/* CONTACT FORM */
.nd-contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px;align-items:start; }
.form-group { margin-bottom:20px; }
.form-group label { display:block;font-size:13px;font-weight:600;color:var(--bark);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.06em; }
.form-group input, .form-group select, .form-group textarea { width:100%;background:var(--warm-white);border:1.5px solid var(--border);border-radius:12px;padding:14px 18px;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--text);outline:none;transition:border-color 0.2s;cursor:none; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--orange); }
.form-group textarea { resize:vertical;min-height:120px; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.btn-submit { width:100%;background:var(--orange);color:white;border:none;padding:16px;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;cursor:none;transition:all 0.3s;display:flex;align-items:center;justify-content:center;gap:8px; }
.btn-submit:hover { background:var(--bark);transform:translateY(-2px); }
.nd-contact-info { display:flex;flex-direction:column;gap:24px; }
.contact-item { display:flex;gap:16px;align-items:flex-start;background:var(--warm-white);border-radius:var(--radius);padding:24px;border:1px solid var(--border); }
.contact-icon { width:48px;height:48px;flex-shrink:0;background:var(--sage-light);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px; }
.contact-item h4 { font-size:14px;font-weight:700;color:var(--bark);margin-bottom:4px; }
.contact-item p, .contact-item a { font-size:14px;color:var(--text-mid);text-decoration:none;line-height:1.6; }
.contact-item a:hover { color:var(--orange); }

/* ABOUT */
.nd-about-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.about-img-wrap { position:relative; }
.about-img-main { border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5; }
.about-img-main img { width:100%;height:100%;object-fit:cover; }
.about-img-float { position:absolute;border-radius:var(--radius);overflow:hidden;border:4px solid var(--cream);box-shadow:var(--shadow); }
.aif1 { width:160px;bottom:-20px;right:-20px;aspect-ratio:1;animation:float 5s ease-in-out infinite; }
.aif2 { width:120px;top:30px;left:-20px;aspect-ratio:1;animation:float 5s ease-in-out infinite 1.5s; }
.about-img-float img { width:100%;height:100%;object-fit:cover; }
.value-chip { display:inline-flex;align-items:center;gap:8px;background:var(--warm-white);border:1px solid var(--border);padding:10px 18px;border-radius:100px;font-size:13px;font-weight:500;color:var(--text-mid);margin:6px 6px 0 0;transition:all 0.2s; }
.value-chip:hover { background:var(--orange);color:white;border-color:var(--orange); }
.value-chip span:first-child { font-size:18px; }

/* TIMELINE */
.nd-timeline { position:relative;padding-left:40px; }
.nd-timeline::before { content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--orange),var(--gold)); }
.timeline-item { position:relative;margin-bottom:40px; }
.timeline-item::before { content:'';position:absolute;left:-47px;top:4px;width:14px;height:14px;background:var(--orange);border-radius:50%;border:3px solid var(--cream);box-shadow:0 0 0 3px var(--orange); }
.timeline-item h4 { font-family:'Playfair Display',serif;font-size:22px;color:var(--bark);margin-bottom:6px; }
.timeline-item .year { font-size:12px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:8px; }
.timeline-item p { font-size:14px;color:var(--text-mid);line-height:1.7; }

/* SERVICES DETAIL */
.service-detail-card { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:var(--warm-white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);margin-bottom:32px; }
.service-detail-card.reverse { direction:rtl; }
.service-detail-card.reverse > * { direction:ltr; }
.service-detail-img { aspect-ratio:4/3;overflow:hidden; }
.service-detail-img img { width:100%;height:100%;object-fit:cover; }
.service-detail-body { padding:48px; }
.service-detail-body h3 { font-family:'Playfair Display',serif;font-size:28px;color:var(--bark);margin-bottom:14px; }
.service-detail-body p { font-size:15px;color:var(--text-mid);line-height:1.8;margin-bottom:24px; }
.service-features { list-style:none;display:flex;flex-direction:column;gap:10px; }
.service-features li { display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-mid); }
.service-features li::before { content:'✓';width:22px;height:22px;background:var(--sage-light);color:var(--sage);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0; }

/* PAGE HEADER */
.nd-page-header { background:linear-gradient(135deg,var(--bark) 0%,var(--bark-mid) 100%);padding:140px 5% 70px;text-align:center;position:relative;overflow:hidden; }
.nd-page-header::after { content:'🐾';position:absolute;right:5%;bottom:-10px;font-size:150px;opacity:0.05;transform:rotate(20deg); }
.nd-page-header h1 { font-family:'Playfair Display',serif;font-size:clamp(36px,5vw,60px);color:var(--cream);margin-bottom:14px; }
.nd-page-header p { font-size:17px;color:rgba(253,246,238,0.7);max-width:500px;margin:0 auto; }
.nd-breadcrumb { font-size:13px;color:rgba(253,246,238,0.5);margin-bottom:16px; }
.nd-breadcrumb a { color:var(--orange);text-decoration:none;cursor:none; }

/* MODAL */
.nd-modal-overlay { display:none;position:fixed;inset:0;background:rgba(44,24,16,0.6);z-index:9000;backdrop-filter:blur(8px);align-items:center;justify-content:center; }
.nd-modal-overlay.open { display:flex; }
.nd-modal { background:var(--cream);border-radius:var(--radius-lg);padding:48px;max-width:520px;width:90%;position:relative;animation:modal-in 0.4s cubic-bezier(0.23,1,0.32,1); }
@keyframes modal-in { from{opacity:0;transform:scale(0.9) translateY(20px)} to{opacity:1;transform:none} }
.nd-modal-close { position:absolute;top:20px;right:20px;width:36px;height:36px;background:var(--border);border:none;border-radius:50%;cursor:none;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--bark);transition:all 0.2s; }
.nd-modal-close:hover { background:var(--orange);color:white; }
.nd-modal h3 { font-family:'Playfair Display',serif;font-size:26px;color:var(--bark);margin-bottom:6px; }
.nd-modal p.modal-sub { font-size:14px;color:var(--text-mid);margin-bottom:28px; }

/* SCROLL REVEAL */
.reveal { opacity:0;transform:translateY(40px);transition:all 0.7s cubic-bezier(0.23,1,0.32,1); }
.reveal.visible { opacity:1;transform:none; }

/* WHATSAPP FLOAT */
.nd-wa-float { position:fixed;bottom:30px;right:30px;z-index:800;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:none;box-shadow:0 8px 30px rgba(37,211,102,0.4);transition:all 0.3s;animation:wa-pulse 3s ease-in-out infinite; }
.nd-wa-float:hover { transform:scale(1.1); }
@keyframes wa-pulse { 0%,100%{box-shadow:0 8px 30px rgba(37,211,102,0.4)} 50%{box-shadow:0 8px 40px rgba(37,211,102,0.7)} }
.nd-wa-float svg { width:28px;height:28px;fill:white; }

/* FOOTER */
footer.nd-footer { background:var(--bark);color:var(--cream);padding:80px 5% 40px;position:relative;overflow:hidden; }
footer.nd-footer::before { content:'🐾🐾🐾';position:absolute;top:-10px;right:40px;font-size:60px;opacity:0.04;letter-spacing:20px; }
.nd-footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:50px; }
.nd-footer-brand p { font-size:14px;color:rgba(253,246,238,0.6);line-height:1.8;margin:16px 0 24px;max-width:280px; }
.nd-social-links { display:flex;gap:10px; }
.nd-social-link { width:40px;height:40px;background:rgba(253,246,238,0.08);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--cream);font-size:16px;text-decoration:none;cursor:none;transition:all 0.3s;border:1px solid rgba(253,246,238,0.1); }
.nd-social-link:hover { background:var(--orange);border-color:var(--orange);transform:translateY(-3px); }
.nd-footer-col h4 { font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:20px;color:var(--cream); }
.nd-footer-link { display:block;font-size:14px;color:rgba(253,246,238,0.6);text-decoration:none;cursor:none;margin-bottom:10px;transition:color 0.2s; }
.nd-footer-link:hover { color:var(--orange); }
.nd-footer-bottom { border-top:1px solid rgba(253,246,238,0.1);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px; }
.nd-footer-bottom p { font-size:13px;color:rgba(253,246,238,0.4); }

/* RESPONSIVE */
@media (max-width:1024px) {
  .nd-services-grid { grid-template-columns:repeat(2,1fr); }
  .nd-footer-grid { grid-template-columns:1fr 1fr; }
  .service-detail-card { grid-template-columns:1fr; }
  .service-detail-card.reverse { direction:ltr; }
  .blog-full-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .nd-nav-links { display:none; }
  .nd-hamburger { display:flex; }
  .nd-hero { grid-template-columns:1fr;padding-top:90px;text-align:center; }
  .hero-visual { order:-1; }
  .hero-badge, .hero-actions { justify-content:center; }
  .hero-stats { justify-content:center; }
  .hero-desc { margin:0 auto 36px; }
  .hib1 { left:10px; }
  .hib2 { right:10px; }
  .nd-services-grid { grid-template-columns:1fr; }
  .nd-why-grid { grid-template-columns:1fr;gap:40px; }
  .nd-testimonials-slider { grid-template-columns:1fr; }
  .nd-blog-grid { grid-template-columns:1fr; }
  .nd-locations-grid { grid-template-columns:1fr; }
  .nd-contact-grid { grid-template-columns:1fr;gap:40px; }
  .nd-about-grid { grid-template-columns:1fr;gap:40px; }
  .nd-footer-grid { grid-template-columns:1fr 1fr; }
  .nd-footer-bottom { flex-direction:column;text-align:center; }
  section { padding:70px 5%; }
  .form-row { grid-template-columns:1fr; }
  .nd-modal { padding:32px 24px; }
}
@media (max-width:480px) {
  .nd-footer-grid { grid-template-columns:1fr; }
  .hero-stats { flex-direction:column;gap:16px;align-items:center; }
}
