/* ==========================================================================
   Pooja Sales Corporation — Master Stylesheet
   Shared across index.html, about.html, contact.html
   Depends on: Bootstrap 5.3.3, Bootstrap Icons 1.11.3,
               Google Fonts (Playfair Display + Inter)
   ========================================================================== */

:root{
  --ink:#14100D;
  --ink-2:#221A14;
  --white:#ffffff;
  --offwhite:#F7F5F3;
  --coral:#F2703E;
  --coral-deep:#C1552B;
  --line:#E8E3DD;
  --muted:#736A61;
  --header-h:0px; /* set by JS for scroll offsets */
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw;}
h1,h2,h3,h4,.font-display{font-family:'Playfair Display',serif;font-weight:700;}
a{text-decoration:none;transition:.2s ease;}
img{max-width:100%;display:block;}
.section{padding:5.5rem 0;}
@media(max-width:767.98px){.section{padding:3.25rem 0;}}
.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--coral);display:inline-flex;align-items:center;gap:.6rem;}
.eyebrow .rule{width:26px;height:1px;background:var(--coral);display:inline-block;}
.section-title{font-size:2.1rem;color:var(--ink);margin-top:.5rem;line-height:1.15;}
@media(max-width:575.98px){.section-title{font-size:1.6rem;}}
.text-muted-w{color:var(--muted);}

/* Buttons */
.btn{border-radius:999px;font-weight:600;letter-spacing:.01em;padding:.72rem 1.7rem;font-size:.92rem;border:1.5px solid transparent;transition:.2s ease;white-space:nowrap;}
.btn-primary-dark{background:var(--ink);border-color:var(--ink);color:#fff;}
.btn-primary-dark:hover{background:var(--coral);border-color:var(--coral);color:#fff;}
.btn-outline-w{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.btn-outline-w:hover{background:var(--coral);border-color:var(--coral);color:#fff;}
.btn-outline-ink{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-outline-ink:hover{background:var(--coral);border-color:var(--coral);color:#fff;}
.btn-ghost-white{background:#fff;border-color:#fff;color:var(--ink);}
.btn-ghost-white:hover{background:var(--coral);border-color:var(--coral);color:#fff;}

/* seal motif */
.seal-badge{display:inline-flex;align-items:center;justify-content:center;position:relative;}
.seal-badge svg{width:100%;height:100%;}
.seal-outline{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;}
.seal-spin{animation:spin 42s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){.seal-spin{animation:none;}}

/* Ticker */
.ticker-wrap{background:var(--ink);color:#fff;overflow:hidden;white-space:nowrap;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.ticker{display:inline-block;padding-left:100%;animation:ticker 26s linear infinite;font-size:.8rem;font-weight:600;letter-spacing:.04em;}
.ticker span{margin-right:2.6rem;text-transform:uppercase;}
.ticker i{color:var(--coral);}
@keyframes ticker{0%{transform:translateX(0);}100%{transform:translateX(-100%);}}
@media(max-width:575.98px){.ticker span{margin-right:1.6rem;}.ticker{font-size:.72rem;}}

/* ===================== HEADER / NAVBAR (fixed group) ===================== */
.header-top{background:var(--ink);color:#b9b0a7;padding:.65rem 0;font-size:.84rem;}
.header-top a{color:#b9b0a7;}
.header-top a:hover{color:var(--coral);}
.header-top .contact-chip{display:flex;align-items:center;gap:.5rem;}
.header-top .contact-chip i{color:var(--coral);}

/* This wrapper (logo/icon row + nav row) sticks together so branding,
   the WhatsApp/Call icons, and the menu toggle never disappear on scroll.
   It stays sticky at top:0 on every breakpoint, mobile and desktop alike. */
.site-sticky{position:sticky;top:0;z-index:1030;background:var(--ink);box-shadow:0 0 0 rgba(0,0,0,0);transition:box-shadow .25s ease;}
.site-sticky.is-scrolled{box-shadow:0 12px 30px rgba(0,0,0,.35);}

/* Row 1 of the sticky group: logo + WhatsApp + Call + (mobile) menu toggle.
   This single row is what stays fixed/visible at all times. */
.header-main{background:var(--ink);padding:.75rem 0;}
/* Round PSC logo mark: white circular backdrop keeps it crisp on the
   dark header/footer, since the logo's own outline is near-black. */
.brand-logo-wrap{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;padding:5px;box-shadow:0 4px 14px rgba(0,0,0,.25);flex:0 0 auto;}
.brand-logo-img{height:44px;width:44px;display:block;object-fit:contain;}
@media(max-width:575.98px){.brand-logo-wrap{padding:3px;}.brand-logo-img{height:34px;width:34px;}}

.icon-row{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;}
.header-main .action-icon{width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto;}
.header-main .action-icon:hover{background:var(--coral);color:#fff;border-color:var(--coral);}
.header-main .action-icon.action-sm{width:38px;height:38px;font-size:.92rem;}
.header-main .action-icon.wa-icon:hover{background:#25D366;border-color:#25D366;}

/* Menu toggle lives inside the same icon row now, so logo + WhatsApp +
   Call + hamburger are always one fixed row together on mobile. */
.header-main .navbar-toggler{border:1px solid rgba(255,255,255,.35);border-radius:50%;width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:none !important;flex:0 0 auto;}
.header-main .navbar-toggler-icon{width:1.3em;height:1.3em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}

/* Row 2 of the sticky group: category links. On desktop this is a normal
   always-visible row (one line, via navbar-expand-lg). On mobile it holds
   the collapsible menu only -- collapsed height is 0, so it does NOT show
   as an empty bar; it only appears as a dropdown panel once opened. */
.nav-categories{background:var(--ink-2);border-top:1px solid rgba(255,255,255,.06);}
.nav-categories .navbar-nav .nav-link{font-weight:600;font-size:.9rem;color:#e7e1da;padding:.9rem 1.05rem !important;white-space:nowrap;}
.nav-categories .navbar-nav .nav-link:hover,.nav-categories .navbar-nav .nav-link.active{color:var(--coral);}
.nav-categories .dropdown-menu{border-radius:10px;border:1px solid var(--line);box-shadow:0 18px 40px rgba(20,16,13,.25);}
.nav-categories .dropdown-item{font-size:.9rem;padding:.55rem 1.1rem;}
.nav-categories .dropdown-item:hover{background:var(--offwhite);color:var(--coral-deep);}

/* Desktop: force the menu links into one straight row, never wrapping */
@media(min-width:992px){
  .nav-categories .navbar-nav{display:flex;flex-wrap:nowrap;flex-direction:row;overflow-x:auto;}
}

/* Collapsed mobile menu: contain it, allow scroll if tall, close nicely */
@media(max-width:991.98px){
  .nav-categories .navbar-collapse{max-height:calc(100vh - 64px);overflow-y:auto;}
  .nav-categories .navbar-nav .nav-link{border-bottom:1px solid rgba(255,255,255,.06);}
  .nav-categories .navbar-nav{padding:.25rem 0 .5rem;}
}

/* ===================== HERO ===================== */
.hero{position:relative;overflow:hidden;padding:3.5rem 0;background:var(--ink);}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 2px, transparent 2px 34px);pointer-events:none;}
.hero .container{position:relative;z-index:2;}
.hero .eyebrow{color:var(--coral);}
.hero h1{font-size:2.9rem;line-height:1.14;color:#fff;margin-bottom:1rem;}
.hero h1 em{font-style:italic;color:var(--coral);}
.hero p.lead{color:#c8c0b7;font-size:1.06rem;max-width:500px;}
@media(max-width:991.98px){.hero{padding:3rem 0 2.5rem;}.hero h1{font-size:2.15rem;}}
@media(max-width:575.98px){.hero h1{font-size:1.8rem;}.hero p.lead{font-size:.96rem;max-width:none;}.hero .d-flex.gap-3 .btn{flex:1 1 auto;text-align:center;}}

.hero-frame{position:relative;border-radius:20px;overflow:hidden;height:460px;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 80px rgba(0,0,0,.45);}
.hero-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:crossfade 12s infinite;}
.hero-frame img:nth-child(1){animation-delay:0s;}
.hero-frame img:nth-child(2){animation-delay:4s;}
.hero-frame img:nth-child(3){animation-delay:8s;}
@keyframes crossfade{0%{opacity:0;}8%{opacity:1;}33%{opacity:1;}41%{opacity:0;}100%{opacity:0;}}
.hero-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(20,16,13,.75) 0%, transparent 45%);}
.hero-badge{position:absolute;left:1.4rem;bottom:1.4rem;background:#fff;border-radius:14px;padding:1rem 1.3rem;z-index:3;display:flex;align-items:center;gap:.8rem;box-shadow:0 16px 30px rgba(0,0,0,.25);}
.hero-badge .seal-badge{width:46px;height:46px;color:var(--coral);}
.hero-badge .seal-badge i{position:absolute;font-size:1.05rem;color:var(--coral-deep);}
.hero-badge .yr{font-family:'Playfair Display',serif;font-weight:700;font-size:1.15rem;line-height:1;color:var(--ink);}
.hero-badge .cap{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
@media(max-width:767.98px){.hero-frame{height:300px;}.hero-badge{left:1rem;bottom:1rem;padding:.75rem 1rem;}.hero-badge .yr{font-size:1rem;}}
@media(max-width:575.98px){.hero-frame{height:230px;border-radius:16px;}}

/* Stats */
.stats-bar{background:var(--white);padding:3rem 0;border-bottom:1px solid var(--line);}
.stat{text-align:center;}
.stat .num{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:var(--ink);}
.stat .num span{color:var(--coral);}
.stat .lbl{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:.3rem;}
@media(max-width:575.98px){.stats-bar{padding:2rem 0;}.stat .num{font-size:1.6rem;}.stat .lbl{font-size:.66rem;}}

/* Filter tabs — scroll horizontally on small screens instead of wrapping messily */
.filter-tabs{display:flex;flex-wrap:wrap;gap:.6rem;}
@media(max-width:575.98px){
  .filter-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.4rem;margin:0 -1rem;padding-left:1rem;padding-right:1rem;}
  .filter-tabs::-webkit-scrollbar{display:none;}
  .filter-tab{flex:0 0 auto;}
}
.filter-tab{border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:.82rem;font-weight:600;padding:.55rem 1.3rem;border-radius:999px;cursor:pointer;}
.filter-tab:hover{border-color:var(--coral);color:var(--coral-deep);}
.filter-tab.active{background:var(--ink);border-color:var(--ink);color:#fff;}

/* Category medallions */
.medallion-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.2rem;height:100%;text-align:center;transition:.25s ease;}
.medallion-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(20,16,13,.1);border-color:var(--coral);}
.medallion-photo{width:84px;height:84px;border-radius:50%;margin:0 auto 1rem;overflow:hidden;border:3px solid var(--offwhite);outline:2px solid var(--line);position:relative;}
.medallion-photo img{width:100%;height:100%;object-fit:cover;}
.medallion-card:hover .medallion-photo{outline-color:var(--coral);}
.medallion-card h3{font-size:1rem;margin:0 0 .35rem;color:var(--ink);}
.medallion-card p{font-size:.82rem;color:var(--muted);margin-bottom:0;}
@media(max-width:575.98px){.medallion-photo{width:70px;height:70px;}.medallion-card{padding:1.2rem .9rem;}}

/* Product card */
.product-card{background:#fff;border:1px solid var(--line);border-radius:16px;height:100%;position:relative;overflow:hidden;transition:.25s ease;}
.product-card:hover{box-shadow:0 22px 44px rgba(20,16,13,.1);border-color:var(--coral);transform:translateY(-4px);}
.product-thumb{height:190px;position:relative;overflow:hidden;background:var(--offwhite);}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:.35s ease;}
.product-card:hover .product-thumb img{transform:scale(1.06);}
.wish-btn{position:absolute;top:.8rem;right:.8rem;width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);z-index:2;font-size:.85rem;border:1px solid var(--line);}
.wish-btn:hover{background:var(--coral);color:#fff;border-color:var(--coral);}
.hover-actions{position:absolute;left:0;right:0;bottom:190px;display:flex;justify-content:center;gap:.5rem;opacity:0;transform:translateY(8px);transition:.2s ease;z-index:2;}
.product-card:hover .hover-actions{opacity:1;transform:translateY(0);}
.hover-actions a{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:.85rem;border:1px solid var(--line);}
.hover-actions a:hover{background:var(--coral);color:#fff;border-color:var(--coral);}
.product-tag{font-size:.68rem;letter-spacing:.08em;color:var(--coral-deep);font-weight:700;text-transform:uppercase;}
.product-card h3{font-size:1rem;margin:.4rem 0 .8rem;color:var(--ink);font-family:'Playfair Display',serif;font-weight:600;}
.product-card .card-body{padding:1.1rem 1.2rem 1.3rem;}
.product-card .btn{width:100%;font-size:.82rem;padding:.6rem;}
/* Touch devices have no :hover — always reveal the quick actions there */
@media(max-width:767.98px){
  .hover-actions{position:static;opacity:1;transform:none;bottom:auto;justify-content:flex-start;gap:.5rem;padding:.6rem 1.2rem 0;}
  .product-card .card-body{padding-top:.6rem;}
}

/* Trust marquee */
.trust-marquee-wrap{background:var(--ink);overflow:hidden;padding:1.5rem 0;}
.trust-marquee{display:flex;width:max-content;animation:tmarquee 24s linear infinite;}
.trust-marquee .item{display:flex;align-items:center;gap:.6rem;padding:0 2.4rem;font-size:.85rem;font-weight:700;color:#fff;white-space:nowrap;}
.trust-marquee .item i{color:var(--coral);}
@keyframes tmarquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* Why choose us */
.why-media{position:relative;border-radius:20px;overflow:hidden;min-height:440px;border:1px solid var(--line);}
.why-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.why-media .badge-est{position:absolute;bottom:1.4rem;left:1.4rem;background:#fff;border-radius:14px;padding:1rem 1.3rem;z-index:2;box-shadow:0 16px 30px rgba(0,0,0,.2);}
.why-media .badge-est .yr{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--ink);line-height:1;}
.why-media .badge-est .cap{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.check-list li{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.97rem;color:var(--ink);}
.check-list li:last-child{border-bottom:none;}
.check-list .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);margin-top:.5rem;flex:0 0 auto;}
@media(max-width:767.98px){.why-media{min-height:280px;}}

/* CTA banner */
.cta-banner{background:var(--ink);padding:3.4rem 0;position:relative;overflow:hidden;}
.cta-banner .seal-badge{position:absolute;top:-70px;right:-40px;width:260px;height:260px;color:rgba(242,112,62,.15);}
.cta-banner h2{color:#fff;font-size:1.9rem;margin-bottom:.3rem;position:relative;z-index:2;}
.cta-banner p{color:#c8c0b7;margin-bottom:0;position:relative;z-index:2;}
.cta-banner .row{position:relative;z-index:2;}
@media(max-width:575.98px){
  .cta-banner{padding:2.4rem 0;text-align:center;}
  .cta-banner h2{font-size:1.4rem;}
  .cta-banner .col-lg-4{margin-top:1.25rem;}
  .cta-banner .btn{display:block;width:100%;margin:0 0 .6rem !important;}
}

/* ===================== FOOTER ===================== */
footer{background:var(--ink);color:#b9b0a7;border-top:1px solid rgba(255,255,255,.06);overflow-x:hidden;}
footer h5{color:#fff;font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:1.2rem;}
footer a{color:#b9b0a7;font-size:.9rem;}
footer a:hover{color:var(--coral);}
footer .foot-links{list-style:none;padding:0;margin:0;}
footer .foot-links li{margin-bottom:.6rem;}
/* Categories rendered as an internal 2-col grid so it never becomes an
   orphan half-width column or forces the page to scroll sideways --
   minmax(0,1fr) lets each cell shrink instead of overflowing its track. */
.foot-cats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 1rem;list-style:none;padding:0;margin:0;}
.foot-cats li{margin-bottom:.6rem;min-width:0;}
.foot-cats li a{display:block;overflow-wrap:anywhere;}
@media(max-width:399.98px){.foot-cats{grid-template-columns:1fr;}}
.social-icon{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;margin-right:.5rem;}
.social-icon:hover{background:var(--coral);border-color:var(--coral);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.1rem 0;font-size:.82rem;}
.foot-contact li{display:flex;gap:.7rem;margin-bottom:.9rem;font-size:.88rem;}
.foot-contact i{color:var(--coral);margin-top:.2rem;}
.sister-line{border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:1rem 0;font-size:.85rem;}
.sister-line span{display:block;overflow-wrap:anywhere;word-break:break-word;}
@media(max-width:767.98px){
  footer .container.section{padding-top:3rem !important;padding-bottom:1.5rem !important;}
  footer .row > [class*="col-"]{margin-bottom:2rem;}
  footer .row > [class*="col-"]:last-child{margin-bottom:0;}
  .sister-line{text-align:center;font-size:.8rem;}
  .foot-bottom .container{text-align:center;}
}

#toTop{position:fixed;right:1.1rem;bottom:1.1rem;width:44px;height:44px;background:var(--ink);color:var(--coral);display:none;align-items:center;justify-content:center;z-index:999;border-radius:50%;border:1px solid var(--coral);}
#toTop:hover{background:var(--coral);color:#fff;}

/* Accessibility: visible focus ring everywhere */
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--coral);outline-offset:2px;}

/* ===================== INNER PAGE HERO (About / Contact) ===================== */
.page-hero{position:relative;overflow:hidden;padding:3.2rem 0 2.6rem;background:var(--ink);}
.page-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 2px, transparent 2px 34px);pointer-events:none;}
.page-hero .container{position:relative;z-index:2;}
.page-hero h1{color:#fff;font-size:2.3rem;margin:.5rem 0 .6rem;}
.page-hero p{color:#c8c0b7;max-width:560px;margin-bottom:0;}
.breadcrumb-custom{list-style:none;display:flex;gap:.5rem;padding:0;margin:0;font-size:.85rem;color:#b9b0a7;}
.breadcrumb-custom li+li::before{content:"/";margin-right:.5rem;color:var(--coral);}
.breadcrumb-custom a{color:#b9b0a7;}
.breadcrumb-custom a:hover{color:var(--coral);}
.breadcrumb-custom .current{color:#fff;}
@media(max-width:575.98px){.page-hero{padding:2.4rem 0 2rem;}.page-hero h1{font-size:1.7rem;}}

/* ===================== TIMELINE (About page) ===================== */
.timeline{position:relative;padding-left:2.2rem;border-left:2px solid var(--line);}
.timeline-item{position:relative;padding-bottom:2.2rem;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:"";position:absolute;left:-2.36rem;top:.15rem;width:14px;height:14px;border-radius:50%;background:var(--coral);border:3px solid #fff;box-shadow:0 0 0 2px var(--coral);}
.timeline-item .yr{font-family:'Playfair Display',serif;font-weight:700;color:var(--coral-deep);font-size:1.05rem;margin-bottom:.2rem;}
.timeline-item h4{font-size:1.02rem;margin-bottom:.3rem;}
.timeline-item p{color:var(--muted);font-size:.9rem;margin-bottom:0;}

/* ===================== VALUE / MISSION CARDS (About page) ===================== */
.value-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.8rem 1.5rem;height:100%;transition:.25s ease;}
.value-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(20,16,13,.1);border-color:var(--coral);}
.value-card .val-icon{width:52px;height:52px;border-radius:14px;background:var(--offwhite);color:var(--coral-deep);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.1rem;}
.value-card:hover .val-icon{background:var(--coral);color:#fff;}
.value-card h3{font-size:1.05rem;margin-bottom:.5rem;}
.value-card p{font-size:.88rem;color:var(--muted);margin-bottom:0;}

/* ===================== TEAM / LEADERSHIP (About page) ===================== */
.team-card{text-align:center;}
.team-photo{width:130px;height:130px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;border:3px solid var(--offwhite);outline:2px solid var(--line);}
.team-photo img{width:100%;height:100%;object-fit:cover;}
.team-card h4{font-size:.98rem;margin-bottom:.15rem;}
.team-card .role{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--coral-deep);font-weight:700;}

/* ===================== CONTACT PAGE ===================== */
.contact-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.7rem 1.5rem;transition:.25s ease;}
.contact-card:hover{border-color:var(--coral);box-shadow:0 22px 44px rgba(20,16,13,.08);}
.contact-card .c-icon{width:48px;height:48px;border-radius:50%;background:var(--offwhite);color:var(--coral-deep);display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:1rem;}
.contact-card h4{font-size:.98rem;margin-bottom:.4rem;}
.contact-card p, .contact-card a{font-size:.88rem;color:var(--muted);margin-bottom:.15rem;display:block;}
.contact-card a:hover{color:var(--coral-deep);}

.contact-form-wrap{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2.2rem;}
@media(max-width:575.98px){.contact-form-wrap{padding:1.4rem;}}
.form-label-c{font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--ink);margin-bottom:.4rem;}
.form-control-c{border:1.5px solid var(--line);border-radius:10px;padding:.7rem .9rem;font-size:.92rem;width:100%;background:var(--offwhite);transition:.2s ease;}
.form-control-c:focus{outline:none;border-color:var(--coral);background:#fff;box-shadow:0 0 0 3px rgba(242,112,62,.12);}
textarea.form-control-c{resize:vertical;min-height:130px;}
.form-alert-success{display:none;align-items:center;gap:.6rem;background:#EFF7EF;border:1px solid #BFE3BF;color:#20692A;border-radius:10px;padding:.85rem 1.1rem;font-size:.88rem;margin-bottom:1.2rem;}
.form-alert-success i{font-size:1.1rem;}

.map-frame{border-radius:20px;overflow:hidden;border:1px solid var(--line);height:380px;}
.map-frame iframe{width:100%;height:100%;border:0;display:block;}

.faq-item{border-bottom:1px solid var(--line);padding:1.2rem 0;}
.faq-item:last-child{border-bottom:none;}
.faq-item h4{font-size:.96rem;margin-bottom:.4rem;display:flex;gap:.6rem;align-items:flex-start;}
.faq-item h4 i{color:var(--coral);margin-top:.15rem;}
.faq-item p{font-size:.88rem;color:var(--muted);margin:0 0 0 1.6rem;}