/* About Us and Matrimony landing pages. Loaded only on those pages; uses the tokens from style.css. */

/* ---------- Scroll reveal (reveal.js adds .js-reveal and .is-visible) ---------- */
.js-reveal [data-animate]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--delay,0ms);will-change:opacity,transform}
.js-reveal [data-animate="left"]{transform:translateX(-44px)}
.js-reveal [data-animate="right"]{transform:translateX(44px)}
.js-reveal [data-animate="zoom"]{transform:scale(.94)}
.js-reveal [data-animate].is-visible{opacity:1;transform:none}

/* ---------- Shared building blocks ---------- */
.mt,.ab{background:var(--paper);overflow:hidden}
.mt-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.mt-kicker::before{content:"";width:28px;height:1px;background:currentColor}
.mt-section{width:min(1160px,92%);margin:0 auto;padding:clamp(56px,8vw,104px) 0 0}
.mt-head{max-width:700px;margin-bottom:34px}
.mt-head h2{margin:12px 0 0;font:400 clamp(30px,3.4vw,46px)/1.12 var(--heading);letter-spacing:-.01em;text-wrap:balance}
.mt-head p{margin:12px 0 0;color:#666;font-size:16px}
.mt-head h2 em,.mt-hero h1 em,.ab-hero h1 em,.mt-cta h2 em,.ab-story h2 em{font-style:normal;background:linear-gradient(100deg,var(--gold) 0%,#f6e3a4 45%,var(--gold) 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mt-shimmer 6s ease-in-out infinite}
.mt-head--light h2{color:#fff}
.mt-head--light p{color:var(--text-muted)}
.mt-actions{display:flex;flex-wrap:wrap;gap:12px}
.mt-actions--center{justify-content:center}
.mt-btn{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 24px;font-size:14px;font-weight:700;letter-spacing:.02em;border:1px solid transparent;transition:transform .3s var(--ease),background .3s,border-color .3s,color .3s,box-shadow .3s}
.mt-btn--gold{background:var(--gold);color:#111;box-shadow:0 10px 30px rgba(201,162,74,.28)}
.mt-btn--gold:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 14px 34px rgba(201,162,74,.4)}
.mt-btn--ghost{border-color:rgba(255,255,255,.28);color:#fff}
.mt-btn--ghost:hover{border-color:var(--gold);color:var(--gold2);transform:translateY(-2px)}
.mt-trust-icon{display:inline-grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#1c1c1c,#0a0a0a);color:var(--gold2);box-shadow:inset 0 0 0 1px rgba(201,162,74,.35)}

/* ---------- Matrimony hero ---------- */
.mt-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(28px,5vw,72px);min-height:min(92svh,780px);padding:clamp(48px,7vw,96px) clamp(20px,6vw,90px);background:radial-gradient(1200px 600px at 85% 20%,rgba(201,162,74,.18),transparent 60%),radial-gradient(800px 500px at 0% 100%,rgba(201,162,74,.10),transparent 60%),var(--black);color:#fff}
.mt-hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.mt-mandala{position:absolute;right:-12%;top:50%;width:min(78vw,820px);aspect-ratio:1;color:rgba(201,162,74,.16);transform:translateY(-50%);animation:mt-spin 90s linear infinite}
.mt-petal{position:absolute;bottom:-20px;width:10px;height:14px;border-radius:60% 0 60% 0;background:linear-gradient(135deg,var(--gold2),var(--gold));opacity:0;animation:mt-float-up 14s linear infinite}
.mt-petal--1{left:8%;animation-delay:0s}.mt-petal--2{left:22%;animation-delay:3s;transform:scale(.7)}.mt-petal--3{left:36%;animation-delay:6s}.mt-petal--4{left:50%;animation-delay:1.5s;transform:scale(.6)}
.mt-petal--5{left:63%;animation-delay:8s}.mt-petal--6{left:74%;animation-delay:4.5s;transform:scale(.8)}.mt-petal--7{left:86%;animation-delay:10s}.mt-petal--8{left:94%;animation-delay:7s;transform:scale(.65)}
.mt-hero-text{display:flex;flex-direction:column;gap:22px}
.mt-hero h1{margin:0;font:400 clamp(40px,5.6vw,78px)/1.02 var(--heading);letter-spacing:-.02em}
.mt-hero-text>p{margin:0;max-width:560px;color:var(--text-muted);font-size:clamp(15px,1.25vw,18px)}
.mt-hello{color:var(--gold2)!important;font-size:14px!important}
.mt-hero-visual{position:relative;justify-self:center;width:min(100%,460px)}
.mt-frame{position:relative;aspect-ratio:4/5;border-radius:220px 220px 18px 18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.mt-frame::after{content:"";position:absolute;inset:10px;border:1px solid rgba(228,200,120,.55);border-radius:212px 212px 12px 12px;pointer-events:none}
.mt-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:mt-ken 18s ease-in-out infinite alternate}
.mt-badge{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:rgba(14,14,14,.82);backdrop-filter:blur(8px);border:1px solid rgba(201,162,74,.45);color:#fff;font-size:12.5px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.35);animation:mt-bob 6s ease-in-out infinite}
.mt-badge .icon{color:var(--gold2)}
.mt-badge--a{left:-26px;top:22%}
.mt-badge--b{right:-18px;bottom:16%;animation-delay:-3s}
.mt-scroll{position:absolute;left:50%;bottom:22px;width:26px;height:42px;margin-left:-13px;border:1px solid rgba(255,255,255,.35);border-radius:14px}
.mt-scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold2);animation:mt-scroll 1.8s ease-in-out infinite}

/* ---------- Trust cards ---------- */
.mt-trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.mt-trust li{position:relative;background:#fff;padding:30px 26px;border:1px solid var(--border);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s}
.mt-trust li::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--gold);transform:scaleX(.18);transform-origin:left;transition:transform .6s var(--ease)}
.mt-trust li:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.08);border-color:transparent}
.mt-trust li:hover::before{transform:scaleX(1)}
.mt-trust h3{margin:18px 0 8px;font:600 18px/1.3 var(--heading)}
.mt-trust p{margin:0;color:#666;font-size:14px}

/* ---------- Journey timeline ---------- */
.mt-journey{margin-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,96px);background:radial-gradient(900px 500px at 50% 0%,rgba(201,162,74,.12),transparent 70%),var(--black);color:#fff}
.mt-timeline{--progress:0;position:relative;list-style:none;margin:0;padding:0}
.mt-timeline::before,.mt-timeline::after{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:2px;margin-left:-1px;background:rgba(255,255,255,.12)}
.mt-timeline::after{background:linear-gradient(var(--gold2),var(--gold));transform:scaleY(var(--progress));transform-origin:top;transition:transform .15s linear}
.mt-tl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:18px 0}
.mt-tl-dot{position:absolute;left:50%;top:34px;z-index:1;display:grid;place-items:center;width:44px;height:44px;margin-left:-22px;border-radius:50%;background:var(--black);border:1px solid var(--gold);color:var(--gold2);font:600 15px/1 var(--heading);box-shadow:0 0 0 6px var(--black),0 0 24px rgba(201,162,74,.35)}
.mt-tl-card{grid-column:1;padding:26px 28px;background:linear-gradient(160deg,#171717,#0e0e0e);border:1px solid rgba(201,162,74,.22);transition:border-color .4s,transform .4s var(--ease)}
.mt-tl-item:nth-child(even) .mt-tl-card{grid-column:2}
.mt-tl-card:hover{border-color:rgba(228,200,120,.7);transform:translateY(-4px)}
.mt-tl-num{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.mt-tl-card h3{margin:8px 0 8px;font:500 21px/1.25 var(--heading);color:#fff}
.mt-tl-card p{margin:0;color:var(--text-muted);font-size:14.5px}
.mt-fee{margin:34px auto 0;max-width:680px;text-align:center;padding:16px 22px;border:1px dashed rgba(201,162,74,.5);color:var(--text-muted);font-size:14.5px}
.mt-fee strong{color:var(--gold2)}

/* ---------- Stories slider ---------- */
.mt-slides{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);column-gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 10px}
.mt-slides::-webkit-scrollbar{display:none}
.mt-story{position:relative;margin:0;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;gap:22px;padding:34px 30px 28px;background:#fff;border:1px solid var(--border);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.mt-story:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.08)}
.mt-story-mark{position:absolute;top:6px;right:22px;font:400 96px/1 var(--heading);color:var(--gold);opacity:.22}
.mt-story blockquote{margin:0}
.mt-story blockquote p{margin:0;font:400 17px/1.6 var(--heading);color:#333}
.mt-story figcaption{display:flex;align-items:center;gap:12px}
.mt-story figcaption strong{display:block;font-size:15px}
.mt-story figcaption span:last-child{color:#888;font-size:13px}
.mt-story-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--black);color:var(--gold2);font:500 18px/1 var(--heading)}
.mt-slider-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.mt-slider-nav button[data-slider-prev],.mt-slider-nav button[data-slider-next]{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;transition:border-color .3s,color .3s}
.mt-slider-nav button:hover{border-color:var(--gold);color:var(--gold)}
.mt-dots{display:flex;gap:8px}
.mt-dots button{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:#d6d1c4;cursor:pointer;transition:width .35s var(--ease),background .35s}
.mt-dots button[aria-current="true"]{width:26px;background:var(--gold)}

/* ---------- FAQ ---------- */
.mt-faq{max-width:860px;display:grid;gap:12px}
.mt-faq details{background:#fff;border:1px solid var(--border);transition:border-color .3s}
.mt-faq details[open]{border-color:var(--gold)}
.mt-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;font:600 16px/1.4 var(--heading)}
.mt-faq summary::-webkit-details-marker{display:none}
.mt-faq-icon{position:relative;flex:none;width:18px;height:18px}
.mt-faq-icon::before,.mt-faq-icon::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:var(--gold);transition:transform .35s var(--ease)}
.mt-faq-icon::after{transform:rotate(90deg)}
.mt-faq details[open] .mt-faq-icon::after{transform:rotate(0)}
.mt-faq details p{margin:0;padding:0 24px 22px;color:#555;font-size:15px;animation:mt-fade .45s var(--ease)}

/* ---------- Call to action ---------- */
.mt-cta{padding:clamp(56px,8vw,104px) clamp(16px,4vw,40px)}
.mt-cta-inner{position:relative;isolation:isolate;max-width:1000px;margin:0 auto;padding:clamp(44px,6vw,72px) clamp(22px,5vw,64px);text-align:center;background:var(--black);color:#fff;overflow:hidden}
.mt-cta-inner::before{content:"";position:absolute;inset:-60%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 70%,var(--gold) 82%,transparent 94%);animation:mt-spin-plain 7s linear infinite}
.mt-cta-inner::after{content:"";position:absolute;inset:1px;z-index:-1;background:radial-gradient(600px 260px at 50% 0%,rgba(201,162,74,.16),transparent 70%),var(--black)}
.mt-cta h2{margin:0 0 12px;font:400 clamp(30px,3.6vw,48px)/1.1 var(--heading)}
.mt-cta p{margin:0 auto 26px;max-width:580px;color:var(--text-muted)}

/* ---------- About page ---------- */
.ab-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);min-height:min(88svh,740px);padding:clamp(48px,7vw,96px) clamp(20px,6vw,90px) clamp(96px,10vw,140px);background:radial-gradient(1000px 600px at 90% 10%,rgba(201,162,74,.16),transparent 60%),var(--black);color:#fff}
.ab-hero-text{display:flex;flex-direction:column;gap:22px}
.ab-hero h1{margin:0;font:400 clamp(40px,5.4vw,76px)/1.03 var(--heading);letter-spacing:-.02em}
.ab-hero-text>p{margin:0;max-width:560px;color:var(--text-muted);font-size:clamp(15px,1.25vw,18px)}
.ab-collage{position:relative;height:clamp(340px,40vw,520px)}
.ab-collage img{position:absolute;object-fit:cover;box-shadow:0 26px 60px rgba(0,0,0,.5);border:1px solid rgba(201,162,74,.35)}
.ab-collage-a{right:4%;top:0;width:66%;height:72%;animation:mt-bob 9s ease-in-out infinite}
.ab-collage-b{left:0;bottom:6%;width:46%;height:50%;animation:mt-bob 8s ease-in-out infinite -2s}
.ab-collage-c{right:0;bottom:0;width:34%;height:34%;animation:mt-bob 7s ease-in-out infinite -4s}
.ab-waves{position:absolute;left:0;bottom:-1px;width:200%;height:90px;z-index:-1}
.ab-wave{fill:var(--paper)}
.ab-wave--1{opacity:.35;animation:ab-wave 16s linear infinite}
.ab-wave--2{animation:ab-wave 11s linear infinite reverse}
.ab-story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.ab-story h2{margin:12px 0 18px;font:400 clamp(30px,3.4vw,46px)/1.12 var(--heading)}
.ab-story-text p{color:#555;font-size:16px;margin:0 0 14px}
.ab-story-visual{position:relative}
.ab-story-visual img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.ab-quote{position:absolute;left:-28px;bottom:28px;max-width:78%;padding:22px 24px;background:var(--black);color:#fff;font:400 18px/1.45 var(--heading);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.ab-quote span{display:block;color:var(--gold);font-size:46px;line-height:.6;margin-bottom:6px}
.ab-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ab-pillar{position:relative;padding:34px 30px;background:#fff;border:1px solid var(--border);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.ab-pillar::after{content:"";position:absolute;right:-40px;bottom:-40px;width:120px;height:120px;border-radius:50%;border:1px solid rgba(201,162,74,.35);transition:transform .6s var(--ease)}
.ab-pillar:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.08)}
.ab-pillar:hover::after{transform:scale(1.6)}
.ab-pillar-num{font:400 40px/1 var(--heading);color:var(--gold)}
.ab-pillar h3{margin:14px 0 10px;font:600 20px/1.3 var(--heading)}
.ab-pillar p{margin:0;color:#666;font-size:15px}
.ab-values-band{margin-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,96px);background:var(--black)}
.ab-values{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1)}
.ab-values li{display:flex;gap:18px;padding:30px 26px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);transition:background .4s}
.ab-values li:hover{background:rgba(201,162,74,.06)}
.ab-values h3{margin:4px 0 6px;font:600 18px/1.3 var(--heading);color:#fff}
.ab-values p{margin:0;color:var(--text-muted);font-size:14px}
.ab-services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ab-services a{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--border);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.ab-services a:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.1)}
.ab-service-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#151515}
.ab-service-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ab-services a:hover .ab-service-media img{transform:scale(1.08)}
.ab-service-body{display:flex;flex-direction:column;gap:6px;padding:20px 20px 24px}
.ab-service-body strong{font:600 17px/1.3 var(--heading)}
.ab-service-body span{color:#666;font-size:13.5px}
.ab-service-arrow{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#111;transform:scale(0) rotate(-45deg);transition:transform .45s var(--ease)}
.ab-services a:hover .ab-service-arrow,.ab-services a:focus-visible .ab-service-arrow{transform:scale(1) rotate(0)}
.ab-committee{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ab-member{text-align:center;padding:30px 22px;background:#fff;border:1px solid var(--border);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.ab-member:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.08)}
.ab-member-photo{width:104px;height:104px;margin:0 auto 16px;border-radius:50%;padding:4px;background:conic-gradient(var(--gold),#f6e3a4,var(--gold))}
.ab-member-photo img,.ab-member-photo span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#151515;color:var(--gold2);font:400 34px/1 var(--heading);border:3px solid #fff}
.ab-member h3{margin:0;font:600 18px/1.3 var(--heading)}
.ab-member-role{margin:4px 0 0;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ab-member-bio{margin:10px 0 0;color:#666;font-size:13.5px}

/* ---------- Keyframes ---------- */
@keyframes mt-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes mt-spin{to{transform:translateY(-50%) rotate(360deg)}}
@keyframes mt-spin-plain{to{transform:rotate(360deg)}}
@keyframes mt-float-up{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.5}100%{transform:translateY(-105vh) rotate(540deg);opacity:0}}
@keyframes mt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes mt-ken{from{transform:scale(1.06)}to{transform:scale(1.16) translate(-2%,-2%)}}
@keyframes mt-scroll{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@keyframes mt-fade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes ab-wave{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Responsive ---------- */
@media(max-width:1080px){
  .mt-trust,.ab-services,.ab-committee{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mt-slides{grid-auto-columns:calc((100% - 20px)/2)}
  .ab-values{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .mt-hero,.ab-hero,.ab-story{grid-template-columns:1fr}
  .mt-hero{min-height:0;padding-bottom:90px}
  .mt-hero-visual{width:min(78%,360px)}
  .mt-badge--a{left:-12px}.mt-badge--b{right:-8px}
  .ab-collage{height:clamp(280px,70vw,420px)}
  .ab-quote{left:12px}
  .ab-pillars{grid-template-columns:1fr}
  .mt-timeline::before,.mt-timeline::after{left:22px}
  .mt-tl-item{grid-template-columns:1fr;gap:0;padding-left:64px}
  .mt-tl-dot{left:22px}
  .mt-tl-card,.mt-tl-item:nth-child(even) .mt-tl-card{grid-column:1}
  .js-reveal .mt-tl-item[data-animate]{transform:translateY(24px)}
}
@media(max-width:560px){
  .mt-trust,.ab-services,.ab-committee,.ab-values{grid-template-columns:1fr}
  .mt-slides{grid-auto-columns:88%}
  .mt-btn{flex:1 1 100%;justify-content:center}
  .mt-scroll{display:none}
}

/* ---------- Reduced motion: no continuous or entrance animation ---------- */
@media (prefers-reduced-motion:reduce){
  .mt *,.ab *,.mt *::before,.mt *::after,.ab *::before,.ab *::after{animation:none!important;transition:none!important}
  .mt-petal{display:none}
}

/* =====================================================================
   Site-wide design system (SRS §16) — premium black / white / gold
   ===================================================================== */
:root{--kk-radius:14px;--kk-radius-sm:10px;--kk-shadow:0 18px 50px rgba(17,17,17,.08);--kk-shadow-lg:0 30px 70px rgba(17,17,17,.14);--kk-ink:#171717;--kk-soft:#f1ede4}
.mt-btn{border-radius:999px;cursor:pointer;font-family:inherit}
.mt-btn--outline{border-color:var(--border);color:var(--kk-ink);background:#fff}
.mt-btn--outline:hover{border-color:var(--gold);color:#7a5c17;transform:translateY(-2px)}
.mt-btn.is-busy,.gold-button.is-busy{opacity:.75;cursor:progress}
.kk-btn-block{width:100%;justify-content:center}
.kk-link{color:#8a6a1e;font-weight:700;font-size:13.5px;border-bottom:1px solid rgba(201,162,74,.45)}
.kk-link:hover{color:var(--kk-ink);border-color:var(--gold)}
.kk-link-button{background:none;border:0;padding:0;color:#8a6a1e;font-family:inherit;font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* ---------- Page hero (new kk-hero and the legacy page-hero) ---------- */
.kk-hero,.page-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(900px 420px at 88% 0%,rgba(201,162,74,.20),transparent 62%),radial-gradient(700px 360px at 0% 120%,rgba(201,162,74,.10),transparent 60%),var(--black)!important;color:#fff;padding:clamp(54px,7vw,92px) clamp(20px,6vw,90px) clamp(48px,6vw,80px)!important;border-bottom:1px solid rgba(201,162,74,.45)!important}
.kk-hero::after,.page-hero::after{content:"";position:absolute;right:-120px;top:50%;width:420px;height:420px;border-radius:50%;border:1px solid rgba(201,162,74,.18);transform:translateY(-50%);z-index:-1;animation:kk-pulse 7s ease-in-out infinite}
.kk-hero::before,.page-hero::before{content:"";position:absolute;right:-40px;top:50%;width:260px;height:260px;border-radius:50%;border:1px solid rgba(201,162,74,.12);transform:translateY(-50%);z-index:-1;animation:kk-pulse 7s ease-in-out infinite -3.5s}
.kk-hero-inner{max-width:900px;display:flex;flex-direction:column;gap:16px}
.kk-hero h1,.page-hero h1{margin:0!important;font:400 clamp(36px,4.6vw,64px)/1.05 var(--heading)!important;letter-spacing:-.02em}
.kk-hero h1 em,.page-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--gold) 0%,#f6e3a4 45%,var(--gold) 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mt-shimmer 6s ease-in-out infinite}
.kk-hero-lede,.page-hero p{max-width:640px;color:var(--text-muted)!important;font-size:clamp(15px,1.2vw,17px);margin:0!important}
.page-hero h1+p{margin-top:14px!important}
.page-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;letter-spacing:.24em}
.page-hero .eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
@keyframes kk-pulse{0%,100%{transform:translateY(-50%) scale(1);opacity:1}50%{transform:translateY(-50%) scale(1.06);opacity:.6}}

/* ---------- Content wrapper ---------- */
.content-wrap{width:min(1180px,92%)!important;margin:clamp(30px,4vw,48px) auto clamp(48px,6vw,80px)!important}

/* ---------- Form controls (new kk-* and legacy form-control/field) ---------- */
.kk-form{display:grid;gap:18px}
.kk-field{display:grid;gap:8px;margin:0;border:0;padding:0;min-width:0}
.kk-field>label,.kk-field>legend,.field>label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px!important;font-weight:700!important;color:var(--kk-ink);letter-spacing:.01em}
.field>label.check{justify-content:flex-start}
.kk-hint{font-weight:500;color:#8a8a8a;font-size:12px}
.kk-field-link{font-weight:600;font-size:12.5px;color:#8a6a1e}
.kk-input,.form-control,.toolbar input,.toolbar select,.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select,.field textarea{width:100%;min-height:50px;padding:12px 16px;border:1px solid #ddd6c6!important;border-radius:var(--kk-radius-sm)!important;background-color:#fff;color:var(--kk-ink);font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s;outline:none}
textarea.kk-input,textarea.form-control,.field textarea{min-height:110px;resize:vertical}
.kk-input:focus,.form-control:focus,.toolbar input:focus,.toolbar select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)!important;box-shadow:0 0 0 4px rgba(201,162,74,.18)}
select.kk-input,select.form-control,.toolbar select,.field select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%228%22 viewBox=%220 0 12 8%22%3E%3Cpath d=%22M1 1l5 5 5-5%22 fill=%22none%22 stroke=%22%23a9842d%22 stroke-width=%221.8%22/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
input[type=file].form-control,.field input[type=file]{padding:10px;min-height:auto;background:var(--kk-soft);border:1px dashed #cdbf9c;border-radius:var(--kk-radius-sm);cursor:pointer;width:100%}
input[type=checkbox],input[type=radio]{accent-color:#a9842d;width:18px;height:18px;flex:none}
.kk-input--code{font-size:26px;letter-spacing:.5em;text-align:center;font-weight:700}
.kk-password{position:relative}
.kk-password .kk-input{padding-right:76px}
.kk-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:6px 12px;border:0;border-radius:999px;background:var(--kk-soft);color:#7a5c17;font-family:inherit;font-weight:700;font-size:12px;cursor:pointer}
.kk-check,.check{display:flex!important;align-items:flex-start;gap:10px;font-size:13.5px!important;font-weight:500!important;color:#444;line-height:1.5}
.kk-choice-group{gap:10px}
.kk-choice-group legend{margin-bottom:8px}
.kk-choice{position:relative;display:block;cursor:pointer}
.kk-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0}
.kk-choice span{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid #ddd6c6;border-radius:var(--kk-radius-sm);transition:border-color .2s,background .2s,box-shadow .2s}
.kk-choice small{color:#888;font-size:12.5px}
.kk-choice input:checked+span{border-color:var(--gold);background:#fffaf0;box-shadow:0 0 0 3px rgba(201,162,74,.16)}
.kk-choice input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:2px}
.field-error{color:#a3271b!important;font-size:12.5px!important;font-weight:600;margin:4px 0 0!important}
[aria-invalid=true]{border-color:#c4473a!important}

/* ---------- Alerts, pills, empty states ---------- */
.kk-alert,.alert{padding:13px 16px!important;border-radius:var(--kk-radius-sm);border:1px solid #ecd9a6!important;border-left:4px solid var(--gold)!important;background:#fffaf0!important;color:#5c4512;font-size:14px;margin:0 0 16px!important}
.kk-alert--error,.alert-error,.alert.alert-error{border-color:#f1c4bd!important;border-left:4px solid #c4473a!important;background:#fff4f2!important;color:#7a2017!important;padding:13px 16px;border-radius:var(--kk-radius-sm);margin:0 0 16px}
.kk-pill,.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px!important;border-radius:999px;font-size:11px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#f6efdd!important;color:#7a5c17!important}
.kk-pill.is-live{background:#e5f4e8!important;color:#1d6230!important}
.kk-pill.is-pending{background:#fff2d6!important;color:#8a5a00!important}
.kk-pill.is-rejected{background:#fde8e5!important;color:#9b2a1d!important}
.kk-pill.is-muted{background:#eee!important;color:#555!important}
.kk-empty,.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:clamp(28px,4vw,44px) 22px!important;text-align:center;background:#fff;border:1px dashed #ddd2b8!important;border-radius:var(--kk-radius);color:#777}
.kk-empty h3{margin:4px 0 0;font:600 17px var(--heading);color:var(--kk-ink)}
.kk-empty p{margin:0;max-width:420px;font-size:14px}
.kk-empty .mt-btn{margin-top:8px}
.kk-empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--kk-soft);color:#a9842d}

/* ---------- Cards and panels (legacy classes upgraded) ---------- */
.listing-card,.info-panel,.form-card,.login-card,.member-card,.under-construction{border:1px solid var(--border)!important;border-radius:var(--kk-radius)!important;background:#fff}
.listing-card{overflow:hidden;display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.listing-card:hover{transform:translateY(-6px);box-shadow:var(--kk-shadow-lg)}
.listing-card>a:first-child{display:block;overflow:hidden}
.listing-card img{height:210px!important;transition:transform .9s var(--ease)}
.listing-card:hover img{transform:scale(1.06)}
.listing-card-body{padding:20px 22px 22px!important;display:flex;flex-direction:column;gap:2px;flex:1}
.listing-card-body .card-actions{margin-top:auto;padding-top:12px}
.listing-card-title{font:600 20px/1.25 var(--heading)!important}
.listing-card-title a:hover{color:#8a6a1e}
.listing-grid{gap:22px!important}
.info-panel{padding:clamp(22px,3vw,32px)!important}
.form-card{padding:clamp(22px,3vw,34px)!important}
.login-card{padding:clamp(26px,3.5vw,38px)!important;box-shadow:var(--kk-shadow)!important;border-top:3px solid var(--gold)!important}
.text-button{border-radius:999px!important;padding:8px 14px!important;font-weight:600;transition:background .2s,border-color .2s,color .2s}
.text-button:hover{border-color:var(--gold)!important}
.gold-button{border-radius:999px!important;padding:11px 20px!important;box-shadow:0 8px 22px rgba(201,162,74,.25);transition:background .2s,transform .2s!important}
.gold-button:hover{transform:translateY(-1px)}
.ghost-button{border-radius:999px}
.toolbar{gap:12px!important;padding:14px;background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);box-shadow:var(--kk-shadow);margin-bottom:28px!important}
.toolbar .gold-button{min-height:50px}
.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin:34px 0 0}
.pagination a,.pagination span{padding:10px 16px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:13.5px;font-weight:600}
.pagination a:hover{border-color:var(--gold);color:#7a5c17}

/* ---------- Sign-in / registration layout ---------- */
.kk-auth{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:calc(100svh - var(--header-h))}
.kk-auth-brand{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(40px,6vw,80px);background:linear-gradient(180deg,rgba(8,8,8,.15),rgba(8,8,8,.92)),url("../images/site/auth-marigold.webp") center/cover;color:#fff}
.kk-auth-brand::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px 400px at 20% 10%,rgba(201,162,74,.35),transparent 60%)}
.kk-auth-quote{margin:14px 0 22px;font:400 clamp(28px,2.8vw,40px)/1.15 var(--heading);max-width:440px}
.kk-auth-quote em{font-style:normal;color:var(--gold2)}
.kk-auth-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kk-auth-points li{display:flex;align-items:center;gap:10px;color:#ddd;font-size:14.5px}
.kk-auth-points .icon{flex:none;padding:3px;border-radius:50%;background:var(--gold);color:#111}
.kk-auth-panel{display:flex;align-items:center;justify-content:center;padding:clamp(32px,5vw,72px) clamp(18px,4vw,56px);background:var(--paper)}
.kk-auth-card{width:min(100%,460px);display:grid;gap:14px}
.kk-auth-card h1{margin:4px 0 0;font:400 clamp(30px,3vw,42px)/1.1 var(--heading)}
.kk-auth-card h1 em{font-style:normal;color:#a9842d}
.kk-auth-lede{margin:0 0 6px;color:#666;font-size:15px}
.kk-auth-switch{margin:6px 0 0;text-align:center;color:#666;font-size:14px}
.kk-auth-switch a{color:#8a6a1e;font-weight:700}
.kk-form-inline{text-align:center}

/* ---------- Dashboard ---------- */
.kk-dash{width:min(1180px,92%);margin:-34px auto clamp(48px,6vw,80px);position:relative;z-index:2}
.kk-quick{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kk-quick a{display:flex;flex-direction:column;gap:4px;height:100%;padding:20px;background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);box-shadow:var(--kk-shadow);transition:transform .35s var(--ease),border-color .35s}
.kk-quick a:hover{transform:translateY(-5px);border-color:var(--gold)}
.kk-quick strong{margin-top:12px;font:600 16px var(--heading)}
.kk-quick small{color:#888;font-size:13px}
.kk-dash-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}
.kk-dash-main,.kk-dash-side{display:grid;gap:22px}
.kk-panel{background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);padding:clamp(20px,2.6vw,28px)}
.kk-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.kk-panel-head h2{margin:0;font:600 20px var(--heading)}
.kk-panel-sub{margin:20px 0 10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#a9842d}
.kk-count{min-width:28px;padding:3px 10px;border-radius:999px;background:var(--kk-soft);color:#7a5c17;font-size:12.5px;font-weight:700;text-align:center}
.kk-count--new{background:var(--gold);color:#111}
.kk-panel-head .kk-count--new{margin-left:auto}
.kk-inline-form{margin:0}
.mt-btn--sm{padding:6px 14px;font-size:13px;min-height:0}
.kk-subs,.kk-notes,.kk-links{list-style:none;margin:0;padding:0}
.kk-sub{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #f0ebe0}
.kk-sub:first-child{border-top:0}
.kk-sub-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.kk-sub-main strong{font-size:15px}
.kk-sub-main span{color:#888;font-size:12.5px}
.kk-sub-note{display:flex;gap:6px;align-items:flex-start;margin:6px 0 0;padding:8px 10px;border-radius:8px;background:#fff4f2;color:#7a2017;font-size:13px}
.kk-sub-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}
.kk-notes li{padding:12px 0 12px 14px;border-left:2px solid #eee;margin-bottom:6px}
.kk-notes li.is-new{border-left-color:var(--gold);background:linear-gradient(90deg,#fffaf0,transparent)}
.kk-notes strong{font-size:14px}
.kk-notes p{margin:4px 0;color:#555;font-size:13.5px}
.kk-notes span{color:#999;font-size:12px}
.kk-notes a{color:#8a6a1e;font-weight:700}
.kk-mat-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.kk-mat-summary>div{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:14px;border-radius:var(--kk-radius-sm);background:var(--kk-soft)}
.kk-label{color:#888;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.kk-dl{margin:0 0 14px;display:grid;gap:10px}
.kk-dl div{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-bottom:1px solid #f0ebe0;padding-bottom:8px}
.kk-dl dt{color:#888}
.kk-dl dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}
.kk-links li a{display:flex;align-items:center;gap:10px;padding:10px 0;color:#444;font-size:14px}
.kk-links li a:hover{color:#8a6a1e}
.kk-links+form{margin-top:12px}

@media(max-width:1080px){.kk-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.kk-dash-grid{grid-template-columns:1fr}}
@media(max-width:860px){.kk-auth{grid-template-columns:1fr;min-height:0}.kk-auth-brand{min-height:200px;padding:28px 22px}.kk-auth-points{display:none}.kk-auth-quote{margin:8px 0 0;font-size:26px}}
@media(max-width:560px){.kk-quick{grid-template-columns:1fr 1fr;gap:10px}.kk-quick a{padding:16px}.kk-sub{flex-direction:column}.kk-sub-side{flex-direction:row;align-items:center}.kk-mat-summary{grid-template-columns:1fr}.toolbar{padding:10px}}
@media (prefers-reduced-motion:reduce){.kk-hero::before,.kk-hero::after,.page-hero::before,.page-hero::after,.kk-hero h1 em,.page-hero h1 em{animation:none!important}}

/* ---------- Filter bar, segmented switch, result count ---------- */
.kk-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:18px;margin:0 0 22px;background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);box-shadow:var(--kk-shadow)}
.kk-filter .kk-field{flex:1 1 140px}
.kk-filter .kk-filter-grow{flex:3 1 240px}
.kk-filter .mt-btn{min-height:50px}
.kk-segment{display:inline-flex;padding:4px;background:var(--kk-soft);border-radius:999px;align-self:center}
.kk-segment label{position:relative;cursor:pointer}
.kk-segment input{position:absolute;opacity:0;inset:0;margin:0}
.kk-segment span{display:block;padding:10px 20px;border-radius:999px;font-weight:700;font-size:14px;color:#7a6a45;transition:background .25s,color .25s,box-shadow .25s}
.kk-segment input:checked+span{background:var(--black);color:var(--gold2);box-shadow:0 6px 16px rgba(0,0,0,.18)}
.kk-segment input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.kk-result-count{margin:0 0 18px;color:#666;font-size:14px}
.kk-result-count strong{color:var(--kk-ink)}
.kk-privacy-note{display:flex;gap:10px;align-items:flex-start;margin:30px 0 0;padding:16px 18px;border-radius:var(--kk-radius-sm);background:var(--kk-soft);color:#5c4b25;font-size:13.5px}
.kk-privacy-note .icon{flex:none;color:#a9842d;margin-top:2px}

/* ---------- Matrimony public preview cards ---------- */
.kk-mat-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kk-mat-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.kk-mat-card:hover{transform:translateY(-6px);box-shadow:var(--kk-shadow-lg)}
.kk-mat-photo{position:relative;display:grid;place-items:center;aspect-ratio:4/3;background:radial-gradient(circle at 50% 35%,#2a2418,#0b0b0b 70%)}
.kk-mat-photo span{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;border:1px solid rgba(228,200,120,.6);color:var(--gold2);font:400 38px/1 var(--heading)}
.kk-mat-photo small{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:inline-flex;gap:6px;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#ddd;font-size:11px;white-space:nowrap}
.kk-mat-body{display:flex;flex-direction:column;gap:8px;padding:18px 18px 20px;flex:1}
.kk-mat-body h2{margin:0;font:600 20px var(--heading)}
.kk-mat-place{display:flex;gap:6px;align-items:center;margin:0;color:#777;font-size:13.5px}
.kk-mat-facts{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.kk-mat-facts li{padding:4px 10px;border-radius:999px;background:var(--kk-soft);color:#5c4b25;font-size:12px;font-weight:600}
.kk-mat-body .kk-link{margin-top:auto;align-self:flex-start}
@media(max-width:1080px){.kk-mat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.kk-mat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kk-filter{padding:14px}.kk-segment{width:100%}.kk-segment label{flex:1;text-align:center}}
@media(max-width:420px){.kk-mat-grid{grid-template-columns:1fr}}

/* ---------- Shared module layout helpers ---------- */
.kk-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.kk-panel-note{margin:4px 0 0;color:#777;font-size:13.5px}
.kk-panel-title{margin:10px 0 16px;font:400 clamp(26px,2.6vw,34px)/1.15 var(--heading)}
.kk-panel-title em,.kk-request-form h2 em{font-style:normal;color:#a9842d}
.kk-panel--dark{background:var(--black);color:#ddd;border-color:#222}
.kk-panel--dark h3{color:#fff}
.kk-panel h3{margin:0 0 10px;font:600 17px var(--heading)}
.kk-section-block{margin-top:clamp(40px,6vw,64px)}

/* ---------- Government schemes: document cards ---------- */
.kk-docs{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.kk-doc{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:22px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s}
.kk-doc:hover{transform:translateY(-4px);box-shadow:var(--kk-shadow-lg);border-color:rgba(201,162,74,.6)}
.kk-doc-icon{display:grid;place-items:center;width:64px;height:72px;border-radius:12px;background:linear-gradient(160deg,#1b1b1b,#0b0b0b);color:var(--gold2)}
.kk-doc-icon svg{width:34px;height:40px}
.kk-doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#888;font-size:12.5px}
.kk-doc-body h2{margin:8px 0 6px;font:600 20px/1.3 var(--heading)}
.kk-doc-body p{margin:0;color:#666;font-size:14px;max-width:760px}
.kk-doc-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:170px}
.kk-doc-actions .mt-btn{justify-content:center;min-height:44px}
.kk-doc-missing{color:#999;font-size:13px;text-align:center}

/* ---------- Blood Bank ---------- */
.kk-stock-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.kk-stock-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 8px;border-radius:var(--kk-radius-sm);background:var(--kk-soft);text-align:center;transition:transform .3s var(--ease)}
.kk-stock-tile:hover{transform:translateY(-3px)}
.kk-stock-tile strong{font:600 22px/1 var(--heading)}
.kk-stock-tile span:last-child{font-size:11.5px;color:#777}
.kk-blood-drop{color:#c4473a}
.kk-stock-tile.is-ok{background:#e9f6ec}.kk-stock-tile.is-ok span:last-child{color:#1d6230;font-weight:700}
.kk-stock-tile.is-low{background:#fff3dc}.kk-stock-tile.is-low span:last-child{color:#8a5a00;font-weight:700}
.kk-stock-tile.is-none .kk-blood-drop{color:#bbb}
.kk-chips{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0;padding:0}
.kk-chips label{position:relative;cursor:pointer}
.kk-chips input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%}
.kk-chips span{display:grid;place-items:center;min-width:52px;height:44px;padding:0 14px;border-radius:999px;border:1px solid #ddd6c6;background:#fff;font-weight:800;font-size:14px;color:#5c4b25;transition:all .25s}
.kk-chips input:checked+span{background:#a32a1e;border-color:#a32a1e;color:#fff;box-shadow:0 8px 18px rgba(163,42,30,.28)}
.kk-chips input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.kk-chips--form span{min-width:58px}
.kk-donors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kk-donor{display:flex;align-items:center;gap:16px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.kk-donor:hover{transform:translateY(-4px);box-shadow:var(--kk-shadow)}
.kk-donor-group{display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#c4473a,#8e2a20);color:#fff;font:700 18px var(--heading);box-shadow:0 10px 22px rgba(163,42,30,.3)}
.kk-donor-body{flex:1;min-width:0}
.kk-donor-body h3{margin:0;font:600 17px var(--heading)}
.kk-donor-body p{display:flex;gap:6px;align-items:center;margin:4px 0 8px;color:#777;font-size:13px}
.kk-donor-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#888;font-size:12px}
.kk-donor .mt-btn{min-height:42px;padding:0 16px;flex:none}
.kk-request{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;margin-top:clamp(40px,6vw,64px);align-items:start;scroll-margin-top:90px}
.kk-request-form h2{margin:10px 0 4px;font:400 clamp(26px,2.6vw,34px)/1.15 var(--heading)}
.kk-request-form .kk-form{margin-top:18px}
.kk-request-tips{padding:clamp(22px,3vw,30px);border-radius:var(--kk-radius);background:var(--black);color:#ccc;position:sticky;top:20px}
.kk-request-tips h3{margin:0 0 14px;color:#fff;font:600 19px var(--heading)}
.kk-request-tips ol{margin:0;padding-left:20px;display:grid;gap:12px;font-size:14px}
.kk-request-tips strong{color:var(--gold2)}
.kk-request-tips a{color:var(--gold2);text-decoration:underline}

/* ---------- Contact ---------- */
.kk-channels{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.kk-channels a{display:flex;align-items:center;gap:14px;height:100%;padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);transition:transform .35s var(--ease),border-color .35s}
.kk-channels a:hover{transform:translateY(-4px);border-color:var(--gold)}
.kk-channels small{display:block;color:#888;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.kk-channels strong{display:block;font-size:15px;overflow-wrap:anywhere}
.kk-contact-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}
.kk-contact-side{display:grid;gap:18px}
.kk-panel--dark p{margin:0;font-size:14px;color:#bbb}

@media(max-width:1080px){.kk-stock-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.kk-request,.kk-contact-grid{grid-template-columns:1fr}.kk-request-tips{position:static}.kk-donors{grid-template-columns:1fr}}
@media(max-width:640px){.kk-grid-2{grid-template-columns:1fr}.kk-doc{grid-template-columns:auto 1fr;padding:18px}.kk-doc-actions{grid-column:1/-1;flex-direction:row}.kk-doc-actions .mt-btn{flex:1}.kk-doc-icon{width:52px;height:60px}.kk-donor{flex-wrap:wrap}.kk-donor .mt-btn{width:100%;justify-content:center}}
@media(max-width:420px){.kk-stock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Matrimony progress tracker ---------- */
.kk-progress{list-style:none;margin:0 0 26px;padding:18px 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#fff;border:1px solid var(--border);border-radius:var(--kk-radius);counter-reset:none}
.kk-progress li{position:relative;display:flex;align-items:center;gap:10px;color:#999;font-size:13.5px;font-weight:600}
.kk-progress li:not(:last-child)::after{content:"";flex:1;height:2px;margin-left:6px;background:#eee6d4;border-radius:2px}
.kk-progress li.is-done:not(:last-child)::after{background:var(--gold)}
.kk-progress-dot{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;border:2px solid #e3dccb;background:#fff;font-size:13px;font-weight:800}
.kk-progress li.is-done{color:#5c4b25}
.kk-progress li.is-done .kk-progress-dot{background:var(--gold);border-color:var(--gold);color:#111}
.kk-progress li.is-current{color:var(--kk-ink)}
.kk-progress li.is-current .kk-progress-dot{border-color:var(--gold);color:#7a5c17;box-shadow:0 0 0 5px rgba(201,162,74,.18)}
@media(max-width:760px){.kk-progress{grid-template-columns:1fr 1fr}.kk-progress li::after{display:none}}

/* ---------- Fixes after the visual review ---------- */
.toolbar{display:flex;flex-wrap:wrap;align-items:center}
.toolbar input{flex:1 1 240px;width:auto!important;min-width:0!important}
.toolbar select{flex:0 1 230px;width:auto!important;min-width:180px!important}
.listing-card-body .pill{align-self:flex-start}
.kk-form>.mt-btn,.kk-request-form .kk-form>.mt-btn{justify-content:center}
.kk-choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.kk-choice-group legend{grid-column:1/-1}
@media(max-width:560px){.kk-choice-group{grid-template-columns:1fr}.toolbar select,.toolbar input{flex:1 1 100%}}

/* Matrimony search: one even filter panel (4 columns → 2 → 1), actions in the last row. */
.kk-note{margin:0 0 16px;padding:12px 16px;border-left:3px solid var(--gold);background:#fffaf0;color:#5b4a22;font-size:14px}
.matrimony-search-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;align-items:end;padding:22px;background:#fff;border:1px solid #ece6d8;border-radius:16px;margin-bottom:18px}
.matrimony-search-form .field{margin:0;min-width:0}
.matrimony-search-form label{display:block;margin-bottom:6px;font-size:13px;font-weight:600}
.matrimony-search-form input,.matrimony-search-form select{width:100%;min-height:44px}
.matrimony-search-actions{grid-column:span 2;display:flex;align-items:center;gap:16px;justify-content:flex-end}
.matrimony-search-actions .gold-button{min-height:44px}
.listing-grid > .kk-empty{grid-column:1/-1}
@media (max-width:900px){.matrimony-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.matrimony-search-actions{grid-column:1/-1;justify-content:flex-start}}
@media (max-width:520px){.matrimony-search-form{grid-template-columns:1fr 1fr;gap:12px;padding:16px}.matrimony-search-form .field:nth-child(n+5){grid-column:1/-1}.matrimony-search-actions .gold-button{flex:1}}

/* Public outline button (Cancel / secondary actions) — previously only styled inside the admin. */
.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border:1px solid var(--border);background:#fff;color:var(--kk-ink);font-weight:600;font-size:14px;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.ghost-button:hover{border-color:var(--gold);color:#7a5c17;background:#fffaf0}
.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* File inputs: a branded "Choose file" button instead of the browser default. */
input[type=file]::file-selector-button{margin-right:14px;padding:9px 18px;border:1px solid var(--gold);border-radius:999px;background:#fff;color:#7a5c17;font:600 13px/1.2 inherit;cursor:pointer;transition:background .2s,color .2s}
input[type=file]:hover::file-selector-button{background:var(--gold);color:#111}
input[type=file].form-control,.field input[type=file]{padding:12px 14px;color:#6b6b6b;font-size:13.5px}
input[type=file]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ==========================================================================
   Minimal navbar — no boxes or dividers: logo + wordmark, quiet text links with a
   gold underline, one gold pill for the account, icon-only admin and translate.
   ========================================================================== */
.site-header{border-bottom:0!important;background:rgba(8,8,8,.92);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);box-shadow:none}
.brand{gap:12px;justify-content:flex-start}
.brand-logo{width:46px;height:46px;border-radius:50%;object-fit:cover}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font:700 17px var(--heading,inherit);letter-spacing:.01em;color:#fff}
.brand-text small{margin-top:3px;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2,#e4c878)}
.main-nav{gap:clamp(16px,1.9vw,30px)!important;font-size:14px!important}
.main-nav>a,.nav-group-toggle{color:rgba(255,255,255,.72)!important;font-size:14px!important}
.main-nav>a:hover,.main-nav>a.active,.nav-group:hover .nav-group-toggle,.nav-group.is-active .nav-group-toggle{color:#fff!important}
.main-nav>a:not(.nav-cta):not(.nav-admin)::after{height:2px!important;bottom:0!important;border-radius:2px}
.nav-cta{border-radius:999px;padding:9px 18px!important;border:0!important;box-shadow:none}
.nav-cta .nav-dot{background:#111;color:var(--gold2)}
.nav-admin{width:34px;height:34px;justify-content:center;border-radius:50%;color:rgba(255,255,255,.55)!important;transition:background .2s,color .2s}
.nav-admin:hover{background:rgba(255,255,255,.08)}
.google-translate-toggle{display:inline-flex;align-items:center;gap:6px;border:0!important;background:transparent!important;padding:7px 4px!important;min-height:34px;color:rgba(255,255,255,.72)!important;font-size:14px!important}
.google-translate-toggle:hover,.google-translate-toggle:focus-visible,.google-translate-toggle[aria-expanded="true"]{color:var(--gold2)!important;background:transparent!important}
.nav-menu{border:0!important;border-radius:16px;padding:8px!important;background:#121212!important;box-shadow:0 30px 70px rgba(0,0,0,.6)!important}
.nav-menu a{border-radius:10px}
.nav-menu-icon{border:0!important;border-radius:10px;background:rgba(201,162,74,.14)}
.menu-toggle{border:0!important;border-radius:50%;background:rgba(255,255,255,.06)}
@media (max-width:1239px){
  .main-nav{border-bottom:0!important;box-shadow:0 30px 60px rgba(0,0,0,.55)!important;padding-top:10px!important}
  .main-nav>a{border-bottom:0!important;min-height:46px;padding:10px 4px;border-radius:10px}
  .main-nav>a.active{background:rgba(201,162,74,.08)}
  .google-translate{border-top:0!important}
  .nav-group{border-bottom:0!important}
  .nav-group-toggle{padding:10px 4px!important}
  .google-translate-toggle{width:auto!important;justify-content:flex-start}
  .nav-admin{width:auto;height:auto;border-radius:10px;justify-content:flex-start!important;padding:10px 4px!important}
}
@media (max-width:420px){.brand-text small{display:none}.brand-text strong{font-size:15px}}

/* ==========================================================================
   Indian folk-art theme. Original single-colour SVG drawings in assets/images/art/
   (Warli figures, Koli fishing boat, rangoli, toran, kolam, sea waves) are painted
   gold or ivory with CSS masks, so one file works on dark and light sections.
   ========================================================================== */
:root{
  --art-rangoli:url("../images/art/rangoli.svg");
  --art-toran:url("../images/art/toran.svg");
  --art-warli-dance:url("../images/art/warli-dance.svg");
  --art-warli-village:url("../images/art/warli-village.svg");
  --art-boat:url("../images/art/koli-boat.svg");
  --art-waves:url("../images/art/waves.svg");
  --art-kolam:url("../images/art/kolam-divider.svg");
}
@keyframes kk-spin{to{transform:translateY(-50%) rotate(360deg)}}
@keyframes kk-sway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@keyframes kk-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Page headers: slowly turning rangoli on the right, a toran garland along the top edge. */
.kk-hero::after,.page-hero::after{content:""!important;right:clamp(-160px,-6vw,-60px)!important;top:50%!important;width:min(460px,46vw)!important;height:min(460px,46vw)!important;border:0!important;border-radius:0!important;background:var(--gold)!important;opacity:.16;-webkit-mask:var(--art-rangoli) center/contain no-repeat;mask:var(--art-rangoli) center/contain no-repeat;transform:translateY(-50%);animation:kk-spin 140s linear infinite!important}
.kk-hero::before,.page-hero::before{content:""!important;left:0!important;right:0!important;top:0!important;width:auto!important;height:46px!important;border:0!important;border-radius:0!important;transform:none!important;background:var(--gold)!important;opacity:.55;-webkit-mask:var(--art-toran) 0 0/96px 48px repeat-x;mask:var(--art-toran) 0 0/96px 48px repeat-x;animation:none!important}
.kk-hero,.page-hero{padding-top:clamp(78px,9vw,120px)!important}

/* Matrimony hero: wedding toran across the top. About hero: Warli village along the bottom. */
.mt-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:52px;z-index:2;background:var(--gold);opacity:.7;-webkit-mask:var(--art-toran) 0 0/104px 52px repeat-x;mask:var(--art-toran) 0 0/104px 52px repeat-x;pointer-events:none;transform-origin:top center;animation:kk-sway 7s ease-in-out infinite}
.ab-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(70px,9vw,120px);z-index:0;background:var(--gold);opacity:.14;-webkit-mask:var(--art-warli-village) left bottom/auto 100% repeat-x;mask:var(--art-warli-village) left bottom/auto 100% repeat-x;pointer-events:none}

/* Section headings get a kolam flourish underneath. */
.mt-head::after{content:"";display:block;width:220px;height:30px;margin-top:16px;background:var(--gold);opacity:.75;-webkit-mask:var(--art-kolam) left center/contain no-repeat;mask:var(--art-kolam) left center/contain no-repeat}
.mt-head[style*="center"]::after,.mt-head.is-center::after{margin-left:auto;margin-right:auto}
#services-title::before{content:"";display:inline-block;width:.9em;height:.9em;margin-right:.35em;vertical-align:-.1em;background:var(--gold);-webkit-mask:var(--art-rangoli) center/contain no-repeat;mask:var(--art-rangoli) center/contain no-repeat;animation:kk-spin-plain 30s linear infinite}
@keyframes kk-spin-plain{to{transform:rotate(360deg)}}

/* Values band and journey band (dark): faint Warli dance circle in the corner. */
.ab-values-band,.mt-journey{position:relative;isolation:isolate;overflow:hidden}
.ab-values-band::before,.mt-journey::before{content:"";position:absolute;z-index:-1;right:-90px;bottom:-90px;width:380px;height:380px;background:var(--gold);opacity:.08;-webkit-mask:var(--art-warli-dance) center/contain no-repeat;mask:var(--art-warli-dance) center/contain no-repeat}

/* Call-to-action band: Koli boat sailing on the right. */
.mt-cta{position:relative;isolation:isolate;overflow:hidden}
.mt-cta::after{content:"";position:absolute;z-index:0;right:4%;bottom:6px;width:clamp(150px,18vw,240px);aspect-ratio:340/240;background:var(--gold);opacity:.16;-webkit-mask:var(--art-boat) center/contain no-repeat;mask:var(--art-boat) center/contain no-repeat;animation:kk-float 6s ease-in-out infinite;pointer-events:none}

/* Sign-in / registration brand panel: Warli dance circle above the quote. */
.kk-auth-brand::before{content:"";position:absolute;left:0;right:0;top:0;height:56px;z-index:1;background:var(--gold2,#e4c878);opacity:.9;-webkit-mask:var(--art-toran) 0 0/112px 56px repeat-x;mask:var(--art-toran) 0 0/112px 56px repeat-x;transform-origin:top center;animation:kk-sway 7s ease-in-out infinite;pointer-events:none}

/* Empty states: a soft rangoli behind the icon. */
.kk-empty{position:relative;isolation:isolate}
.kk-empty-icon{position:relative}
.kk-empty-icon::before{content:"";position:absolute;inset:-26px;z-index:-1;background:var(--gold);opacity:.18;-webkit-mask:var(--art-rangoli) center/contain no-repeat;mask:var(--art-rangoli) center/contain no-repeat}

/* Footer: Koli coast — waves, a fishing boat, and the Warli village on the shore. */
.site-footer{position:relative;isolation:isolate;border-top:0!important;padding-top:clamp(120px,12vw,150px)!important}
.footer-art{position:absolute;left:0;right:0;top:0;height:clamp(96px,10vw,124px);pointer-events:none;z-index:-1}
.footer-art::before{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:var(--gold);opacity:.35;-webkit-mask:var(--art-waves) 0 0/80px 34px repeat-x;mask:var(--art-waves) 0 0/80px 34px repeat-x}
.footer-art::after{content:"";position:absolute;left:clamp(16px,5vw,70px);bottom:10px;width:clamp(260px,40vw,520px);height:calc(100% - 20px);background:var(--gold);opacity:.22;-webkit-mask:var(--art-warli-village) left bottom/contain no-repeat;mask:var(--art-warli-village) left bottom/contain no-repeat}
.footer-boat{position:absolute;right:clamp(16px,8vw,120px);bottom:12px;width:clamp(110px,12vw,160px);aspect-ratio:340/240;background:var(--gold);opacity:.4;-webkit-mask:var(--art-boat) center/contain no-repeat;mask:var(--art-boat) center/contain no-repeat;animation:kk-float 6s ease-in-out infinite}

@media (max-width:640px){
  .kk-hero::after,.page-hero::after{width:260px!important;height:260px!important;opacity:.1}
  .mt-head::after{width:170px}
  .footer-art::after{opacity:.16}
}
@media (prefers-reduced-motion:reduce){
  .mt-hero::before,#services-title::before,.mt-cta::after,.kk-auth-brand::before,.footer-boat{animation:none!important}
}

/* Business Directory intro (its own layout): rangoli watermark on the right. */
.dir-intro{position:relative;isolation:isolate;overflow:clip;overflow-clip-margin:0}
.dir-intro::after{content:"";position:absolute;z-index:-1;right:0;top:50%;width:min(300px,34vw);aspect-ratio:1;background:var(--gold);opacity:.12;-webkit-mask:var(--art-rangoli) center/contain no-repeat;mask:var(--art-rangoli) center/contain no-repeat;transform:translateY(-50%);animation:kk-spin 140s linear infinite;pointer-events:none}
@media (prefers-reduced-motion:reduce){.dir-intro::after{animation:none}}

/* ==========================================================================
   Site footer: logo + about, three link columns, contact details, bottom bar.
   (The Koli-coast art strip above it is defined in the folk-art section.)
   ========================================================================== */
.site-footer{display:block!important;color:#b9b4a8!important;padding-left:clamp(20px,5vw,70px)!important;padding-right:clamp(20px,5vw,70px)!important;padding-bottom:22px!important}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)) minmax(0,1.3fr);gap:clamp(24px,3vw,44px);padding-bottom:34px}
.footer-logo{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.footer-logo img{width:72px;height:72px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px rgba(201,162,74,.25)}
.footer-logo strong{display:block;font:700 22px var(--heading,inherit);letter-spacing:.01em}
.footer-logo small{display:block;margin-top:4px;font-size:10.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.footer-about p{margin:18px 0 0;max-width:340px;font-size:14px;line-height:1.65;color:#9f998c}
.footer-quick{display:flex;gap:10px;margin-top:20px}
.footer-quick a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.06);color:var(--gold2);transition:background .2s,color .2s,transform .2s}
.footer-quick a:hover{background:var(--gold);color:#111;transform:translateY(-2px)}
.footer-col h2{margin:6px 0 16px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.footer-col a{color:#b9b4a8;font-size:14px;text-decoration:none;transition:color .2s}
.footer-col a:hover{color:var(--gold2)}
.footer-contact li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;line-height:1.5}
.footer-contact .icon{margin-top:3px;color:var(--gold)}
.footer-contact span{color:#9f998c;overflow-wrap:anywhere}
.footer-contact a{overflow-wrap:anywhere}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.07);font-size:12.5px;color:#7f7a70}
.footer-bottom-links{display:flex;flex-wrap:wrap;gap:20px}
.footer-bottom a{color:#9f998c;text-decoration:none}
.footer-bottom a:hover{color:var(--gold2)}
@media (max-width:1100px){.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-about{grid-column:1/-1}.footer-contact{grid-column:span 3}}
@media (max-width:640px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px}
  .footer-contact{grid-column:1/-1}
  .footer-logo img{width:60px;height:60px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}

/* ==========================================================================
   Member Matrimony journey: five-step tracker with one clear next action,
   new-notification banner and match banner.
   ========================================================================== */
.kk-journey{position:relative;overflow:hidden;padding:clamp(22px,3vw,32px);border-radius:22px;background:#fff;box-shadow:0 1px 2px rgba(20,16,8,.05),0 16px 40px rgba(20,16,8,.07);margin-bottom:22px}
.kk-journey::after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;background:var(--gold);opacity:.08;-webkit-mask:var(--art-rangoli) center/contain no-repeat;mask:var(--art-rangoli) center/contain no-repeat;pointer-events:none}
.kk-journey-steps{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.kk-journey-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:12.5px;font-weight:600;color:#9a9a9a}
.kk-journey-steps li::before{content:"";position:absolute;top:17px;left:-50%;right:50%;height:3px;background:#eee7d6;z-index:0}
.kk-journey-steps li:first-child::before{display:none}
.kk-journey-steps li.is-done::before,.kk-journey-steps li.is-current::before{background:var(--gold)}
.kk-journey-dot{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f3efe4;color:#9a8f74;font-weight:800;font-size:13px;border:3px solid #fff;box-shadow:0 0 0 1px #eee7d6}
.kk-journey-steps .is-done .kk-journey-dot{background:var(--gold);color:#111;box-shadow:none}
.kk-journey-steps .is-current .kk-journey-dot{background:#111;color:var(--gold2);box-shadow:0 0 0 4px rgba(201,162,74,.3)}
.kk-journey-steps .is-done,.kk-journey-steps .is-current{color:#222}
.kk-journey-body{position:relative;z-index:1;max-width:620px}
.kk-journey-body h2{margin:0 0 8px;font:600 clamp(22px,2.4vw,28px)/1.2 var(--heading,inherit);color:#111}
.kk-journey-body p{margin:0;color:#5c5c5c;font-size:15px;line-height:1.6}
.kk-journey-body .mt-actions{margin-top:18px}
.kk-journey-ref{margin-top:16px!important;font-size:12.5px!important;color:#9a9a9a!important}
.kk-journey--warn{box-shadow:0 0 0 2px #f1c9a8,0 16px 40px rgba(20,16,8,.07)}
.kk-journey--warn .kk-journey-body h2{color:#9a4a10}
.kk-journey--wait .kk-journey-body h2::before{content:"";display:inline-block;width:10px;height:10px;margin-right:10px;border-radius:50%;background:var(--gold);vertical-align:middle;animation:kk-pulse 1.6s ease-in-out infinite}
.kk-journey--done{background:linear-gradient(135deg,#fffdf7,#fff)}
@keyframes kk-pulse{0%,100%{box-shadow:0 0 0 0 rgba(201,162,74,.5)}50%{box-shadow:0 0 0 7px rgba(201,162,74,0)}}
.kk-notice-banner{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;border-radius:18px;background:linear-gradient(135deg,#111,#2a2214);color:#fff;text-decoration:none;box-shadow:0 14px 34px rgba(20,16,8,.18);animation:kk-rise .5s ease both}
.kk-notice-banner strong{display:block;font-size:16px;color:var(--gold2)}
.kk-notice-banner small{display:block;margin-top:3px;font-size:13.5px;color:#d9d3c4}
.kk-notice-bell{position:relative;display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:rgba(201,162,74,.18);color:var(--gold2)}
.kk-notice-bell b{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--gold);color:#111;font-size:11px;line-height:20px;text-align:center}
@keyframes kk-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.kk-match-banner{display:flex;gap:14px;align-items:center;margin-bottom:14px;padding:14px 16px;border-radius:14px;background:#fff7e6;color:#6b4d10}
.kk-match-banner .icon{flex:none;color:#c0392b}
.kk-match-banner strong{display:block;font-size:15px}
.kk-match-banner span{display:block;font-size:13.5px}
.kk-panel-note{margin:12px 0 0;font-size:13.5px;color:#7a7a7a}
@media (max-width:640px){
  .kk-journey-label{font-size:10.5px}
  .kk-journey-dot{width:30px;height:30px}
  .kk-journey-steps li::before{top:14px}
}
@media (prefers-reduced-motion:reduce){.kk-journey--wait .kk-journey-body h2::before,.kk-notice-banner{animation:none}}

.kk-choice-group--two{grid-template-columns:1fr 1fr!important}

/* Matrimony profile form: three short sections with a step tracker. */
.kk-mform-wrap{max-width:880px}
.kk-mform{padding:clamp(22px,3vw,34px);border-radius:22px;background:#fff;box-shadow:0 1px 2px rgba(20,16,8,.05),0 16px 40px rgba(20,16,8,.07);margin-bottom:22px;scroll-margin-top:90px}
.kk-mform-steps{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kk-mform-steps li{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#f7f4ec;color:#8f8a7c;font-weight:700;font-size:13.5px}
.kk-mform-steps li span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#fff;color:#8f8a7c;font-size:12.5px}
.kk-mform-steps li.is-current{background:#111;color:#fff}
.kk-mform-steps li.is-current span{background:var(--gold);color:#111}
.kk-mform-steps li.is-done{background:#f4ead0;color:#6b4d10}
.kk-mform-steps li.is-done span{background:var(--gold);color:#111}
.kk-mform-step{border:0;margin:0;padding:0;min-width:0}
.kk-mform-step legend{margin-bottom:14px;padding:0;font:600 22px var(--heading,inherit);color:#111}
.kk-mform-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 14px;border-radius:999px;background:#fbf1d9;color:#6b4d10;font-size:13.5px}
.kk-mform-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#f3f8f4;color:#2f6b45;font-size:13.5px;line-height:1.5}
.kk-mform-note .icon{flex:none;margin-top:2px}
.kk-mform-more{margin-top:6px;padding:12px 16px;border-radius:14px;background:#faf8f3}
.kk-mform-more summary{cursor:pointer;font-weight:600;color:#8a6a1f;font-size:14px}
.kk-mform-more[open] summary{margin-bottom:14px}
.kk-mform textarea.kk-input{min-height:96px;resize:vertical}
.kk-mform-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #f1ece0}
.kk-mform-actions [data-step-count]{margin-right:auto}
.kk-mform-actions [data-step-prev]:not([hidden])+[data-step-count]{margin-left:0}
@media (max-width:640px){
  .kk-mform-steps li{flex-direction:column;gap:4px;padding:10px 6px;font-size:11.5px;text-align:center}
  .kk-mform-actions{flex-wrap:wrap}
  .kk-mform-actions [data-step-next],.kk-mform-actions [data-step-submit]{flex:1;justify-content:center}
}

/* Matrimony payment: pay (dark card with QR) and upload receipt side by side. */
.kk-pay-wrap{max-width:980px}
.kk-pay-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}
.kk-pay-card{position:relative;padding:clamp(22px,3vw,30px);border-radius:22px;background:#fff;box-shadow:0 1px 2px rgba(20,16,8,.05),0 16px 40px rgba(20,16,8,.07)}
.kk-pay-card h2{margin:0 0 16px;font:600 22px var(--heading,inherit)}
.kk-pay-card--dark{background:linear-gradient(160deg,#111,#231c10);color:#ddd;text-align:center}
.kk-pay-card--dark h2{color:#fff}
.kk-pay-no{position:absolute;top:18px;right:20px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#111;font-weight:800;font-size:13px}
.kk-pay-amount{margin:0 0 18px;font:700 44px/1 var(--heading,inherit);color:var(--gold2)}
.kk-pay-amount small{display:block;margin-top:8px;font-family:inherit;font-size:12.5px;font-weight:500;line-height:1.4;letter-spacing:0;color:#a9a397}
.kk-pay-qr{display:block;width:min(220px,70%);margin:0 auto 18px;padding:10px;border-radius:16px;background:#fff}
.kk-pay-dl{display:grid;gap:8px;margin:0 0 14px;text-align:left}
.kk-pay-dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.06)}
.kk-pay-dl dt{color:#a9a397;font-size:13px}
.kk-pay-dl dd{margin:0;color:#fff;font-weight:600;overflow-wrap:anywhere}
.kk-pay-dl code{font-size:14px;color:var(--gold2)}
.kk-pay-tip{margin:0;font-size:13px;color:#b9b3a6;line-height:1.55}
@media (max-width:820px){.kk-pay-grid{grid-template-columns:1fr}}
.kk-panel .matrimony-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,180px));gap:14px}
.kk-panel .matrimony-photo-item img{border-radius:14px}

/* Homepage static hero (replaces the background video): photo, gradient, headline and two actions. */
.hero-static{display:flex;align-items:flex-end;border-radius:4px}
.hero-static .hero-poster{z-index:0;object-position:center 60%}
.hero-static::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,8,8,.86) 0%,rgba(8,8,8,.55) 48%,rgba(8,8,8,.08) 100%),linear-gradient(0deg,rgba(8,8,8,.7) 0%,transparent 55%)}
.hero-static-body{position:relative;z-index:2;max-width:620px;padding:clamp(22px,3.4vw,46px);color:#fff}
.hero-static-kicker{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.hero-static-kicker::before{content:"";width:28px;height:1px;background:currentColor}
.hero-static h1{margin:12px 0 12px;font:400 clamp(34px,4.2vw,62px)/1.04 var(--heading);letter-spacing:-.02em;color:#fff}
.hero-static h1 em{font-style:normal;background:linear-gradient(100deg,var(--gold) 0%,#f6e3a4 45%,var(--gold) 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mt-shimmer 6s ease-in-out infinite}
.hero-static p{margin:0;max-width:520px;color:#e2ddd2;font-size:clamp(14px,1.1vw,16.5px);line-height:1.6}
.hero-static-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hero-static-points{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;padding:0;font-size:12.5px;color:#cfc9bd}
.hero-static-points li{display:inline-flex;align-items:center;gap:6px}
.hero-static-points .icon{color:var(--gold2)}
@media (max-width:640px){
  .hero-static{min-height:520px}
  .hero-static::after{background:linear-gradient(0deg,rgba(8,8,8,.92) 0%,rgba(8,8,8,.6) 55%,rgba(8,8,8,.15) 100%)}
  .hero-static-actions .mt-btn{flex:1 1 100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.hero-static h1 em{animation:none}}

/* Image credits page */
.kk-credits{max-width:980px}
.kk-credits .kk-panel{margin-bottom:18px}
.kk-credit-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kk-credit-list li{display:grid;gap:3px;padding-bottom:12px;border-bottom:1px solid #f0ebe0;font-size:13.5px}
.kk-credit-list li:last-child{border-bottom:0}
.kk-credit-list strong{font-size:14.5px;color:#222}
.kk-credit-list span{color:#6f6f6f;overflow-wrap:anywhere}
.kk-credit-list a{color:#8a6a1f}
.footer-credit{flex-basis:100%;text-align:center;padding-top:14px;margin-top:4px;border-top:1px dashed rgba(255,255,255,.06);font-size:12.5px;color:#8a8478;letter-spacing:.02em}
.footer-credit a{color:var(--gold2)!important;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(228,200,120,.35);transition:border-color .2s,color .2s}
.footer-credit a:hover,.footer-credit a:focus-visible{color:#fff!important;border-bottom-color:#fff}
.ab-member-resp{margin:2px 0 6px;font-size:12.5px;font-weight:600;color:#8a6a1f}

/* Member area navigation bar (all signed-in member pages). */
.kk-member-nav{position:sticky;top:0;z-index:25;background:#fff;border-bottom:1px solid #ece7db;box-shadow:0 6px 18px rgba(20,16,8,.05)}
.kk-member-nav-inner{display:flex;align-items:center;gap:16px;max-width:1240px;margin:0 auto;padding:10px clamp(16px,3vw,32px)}
.kk-member-who{display:flex;align-items:center;gap:10px;min-width:0;flex:none}
.kk-member-who strong{display:block;font-size:14px;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.kk-member-who small{display:block;font-size:11.5px;color:#8a6a1f;font-weight:600}
.kk-member-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#111;color:var(--gold2);font-weight:800}
.kk-member-nav ul{list-style:none;display:flex;gap:4px;margin:0 0 0 auto;padding:0;overflow-x:auto;scrollbar-width:none}
.kk-member-nav ul::-webkit-scrollbar{display:none}
.kk-member-nav li a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;color:#4a4a4a;font-size:13.5px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background .2s,color .2s}
.kk-member-nav li a:hover{background:#f6f2e8;color:#111}
.kk-member-nav li a.is-active{background:#111;color:#fff}
.kk-member-nav li a.is-active .icon{color:var(--gold2)}
.kk-member-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--gold);color:#111;font-size:10.5px;line-height:18px;text-align:center}
.kk-member-nav form{margin:0;flex:none}
.kk-member-logout{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #ece7db;border-radius:999px;background:#fff;color:#a33a2f;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer}
.kk-member-logout:hover{border-color:#a33a2f;background:#fdf3f2}
@media (max-width:860px){
  .kk-member-nav-inner{flex-wrap:wrap;gap:8px 12px;padding:10px 16px}
  .kk-member-nav ul{order:3;width:100%;margin:0}
  .kk-member-nav form{margin-left:auto}
  .kk-member-logout span{display:none}
}
/* Logo only (no wordmark) in header and footer */
.brand-logo{width:52px;height:52px}
.footer-logo img{width:84px;height:84px}

/* Homepage video (restored) */
.hero-video-el{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.33);transform-origin:center}
.hero-video .hero-poster{transform:scale(1.33);transform-origin:center}
.hero-video.is-failed .hero-video-el{display:none}
.video-controls{position:absolute;z-index:3;right:12px;bottom:12px;display:flex;gap:6px;align-items:center}
.video-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(8,8,8,.62);color:#fff;font-family:inherit;font-size:11px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px)}
.video-btn:hover,.video-btn:focus-visible{border-color:var(--gold);color:var(--gold2)}
.video-btn .icon-play{display:none}
.video-btn[aria-pressed="true"] .icon-play{display:inline-block}
.video-btn[aria-pressed="true"] .icon-pause{display:none}
