/*
Theme Name: KC Events Choreography
Description: Dance direction for weddings, sangeets, corporate and stage events.
Author: Hashtag Web
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kcevents
*/

:root{--ink:#17102B;--violet:#3B1D8F;--gold:#FFB627;--pink:#FF5D8F;--paper:#FAF7FF;--lilac:#E9E1FA;--r:28px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:1.0625rem/1.65 'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:'Unbounded',sans-serif;line-height:1.08;letter-spacing:-.02em;font-weight:600}
h1{font-size:clamp(2.6rem,7.5vw,6rem)}h2{font-size:clamp(1.8rem,4vw,3rem)}h3{font-size:1.2rem}
a{color:inherit}img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.wrap{width:min(1180px,92%);margin:auto}
section{padding:clamp(4rem,9vw,7.5rem) 0}
section.tight{padding-top:0}
p{max-width:62ch}
.btn{display:inline-block;padding:.95rem 1.7rem;border-radius:99px;background:var(--gold);color:var(--ink);font:inherit;font-weight:700;text-decoration:none;border:0;cursor:pointer;transition:transform .2s}
.btn:hover{transform:translateY(-3px) rotate(-1deg)}
.btn.alt{background:transparent;border:2px solid currentColor}
/* header */
header{position:sticky;top:0;z-index:9;background:rgba(250,247,255,.9);backdrop-filter:blur(10px)}
header .wrap{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.logo{font:600 1.05rem 'Unbounded';text-decoration:none}.logo b{color:var(--pink)}
nav{display:flex;gap:2rem;align-items:center}
nav ul{display:flex;gap:2rem;align-items:center;margin:0;padding:0;list-style:none}
nav a{text-decoration:none;font-weight:500}
nav a[aria-current],nav .current-menu-item a{border-bottom:3px solid var(--gold)}
/* images: assets/images/<slot>.<ext>; striped box while the file is missing */
.ph,.img{border-radius:var(--r);overflow:hidden}
.ph{background:repeating-linear-gradient(135deg,var(--lilac) 0 14px,#F2ECFC 14px 28px);display:grid;place-items:center;text-align:center;color:var(--violet);font-size:.8rem;font-weight:500;padding:1rem;min-height:100%}
.img{display:block;width:100%;object-fit:cover;background:var(--lilac)}
.r43{aspect-ratio:4/3}.r34{aspect-ratio:3/4}.r11{aspect-ratio:1}.r169{aspect-ratio:16/9}
/* utilities */
.lead{margin-top:1.5rem;font-size:1.2rem}
.subhead{font-size:clamp(2.4rem,6vw,4.5rem)}
.facts{margin-top:1.5rem}
.facts a{text-decoration:none;border-bottom:2px solid var(--gold)}
.mt1{margin-top:1rem}.mt15{margin-top:1.5rem}
.muted{opacity:.7}
.start{align-items:start}
/* hero */
.hero{padding-top:clamp(2.5rem,6vw,5rem);position:relative;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.hero h1 span{display:block}.hero h1 .o{color:var(--violet)}
.hero p{margin:1.6rem 0 2rem;font-size:1.2rem}
.hero .btns{display:flex;gap:1rem;flex-wrap:wrap}
.stack{position:relative;padding-bottom:3rem}
.stack .a{transform:rotate(3deg);box-shadow:0 30px 60px -25px rgba(59,29,143,.5)}
.stack .b{position:absolute;width:48%;left:-14%;bottom:0;transform:rotate(-6deg);border:6px solid var(--paper)}
.path{position:absolute;inset:auto 0 -2rem 0;width:100%;height:120px;z-index:-1}
.path path{stroke:var(--pink);stroke-width:3;fill:none;stroke-dasharray:2 14;stroke-linecap:round;animation:dash 3s linear infinite}
@keyframes dash{to{stroke-dashoffset:-64}}
/* services */
.list{margin-top:3rem;border-top:2px solid var(--ink)}
.row{display:grid;grid-template-columns:1fr 2fr auto;gap:2rem;align-items:center;padding:1.8rem 0;border-bottom:2px solid var(--ink);text-decoration:none;transition:background .25s,padding .25s}
.row:hover{background:var(--lilac);padding-inline:1.2rem}
.row .tag{background:var(--ink);color:#fff;border-radius:99px;padding:.3rem .9rem;font-size:.85rem}
/* process: a real sequence */
.dark{background:var(--violet);color:#fff}
.counts{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.counts div{border-top:4px solid var(--gold);padding-top:1rem}
.counts strong{font:600 3.5rem 'Unbounded';color:var(--gold);display:block}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.gal>*:nth-child(even){margin-top:2.5rem}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}
/* quote + cta */
blockquote{font:500 clamp(1.4rem,3vw,2.2rem)/1.3 'Unbounded';max-width:26em}
cite{display:block;margin-top:1.5rem;font:500 1rem 'DM Sans'}
.cta{background:var(--gold);border-radius:var(--r);padding:clamp(2.5rem,6vw,5rem);display:flex;justify-content:space-between;gap:2rem;align-items:center;flex-wrap:wrap}
.cta .btn{background:var(--ink);color:#fff}
/* inner pages */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3rem}
.vals h3{margin-bottom:.6rem;color:var(--violet)}
form{display:grid;gap:1.1rem}
label{font-weight:700;font-size:.95rem;display:grid;gap:.4rem}
input,select,textarea{font:inherit;padding:.9rem 1rem;border:2px solid var(--ink);border-radius:14px;background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.notice{border:2px solid var(--violet);background:var(--lilac);border-radius:14px;padding:.9rem 1.1rem;font-weight:500}
.notice.err{border-color:var(--pink);background:#FFE9F0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* generic page + 404 */
.entry h2{margin-top:2rem}
.entry p,.entry ul,.entry ol{margin-top:1rem}
.entry img{margin-top:1.5rem;border-radius:var(--r)}
.nf{padding:clamp(6rem,14vw,10rem) 0;text-align:center}
.nf p{margin:1.5rem auto 2rem}
footer{background:var(--ink);color:#fff;padding:3.5rem 0 2rem;margin-top:4rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem}
footer a{display:block;opacity:.8;text-decoration:none}
.footer-links{display:block}
.footer-links ul{display:block;margin:0;padding:0;list-style:none}
footer .footer-bottom{justify-content:space-between;gap:.6rem 1.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);font-size:.85rem}
footer .footer-bottom p{opacity:.75;max-width:none}
footer .footer-bottom a{display:inline;text-decoration:underline}
@media(max-width:800px){.hero .grid,.split,.vals,.two,.row{grid-template-columns:1fr}.counts,.gal,.team{grid-template-columns:1fr 1fr}.stack .b{left:0}nav{gap:1rem;font-size:.95rem}nav ul{gap:1rem}.logo{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
