/* Page-specific styles for contact-us.php — extracted from inline <style> blocks */

/* ============================================================
   LOTIA FOUNDATION — CONTACT US
   Design system matches the main site: temple indigo + marigold
   gold palette, Cormorant Garamond display + Mukta body.
   ============================================================ */

/* :root variables moved to common.css */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--ff-body);
  background:var(--ink);
  color:var(--cream);
  line-height:1.65;
  overflow-x:hidden;
  font-weight:400;
  letter-spacing:.005em;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}
::selection{background:var(--gold);color:var(--night)}

/* ---------- Type system ---------- */
.eyebrow{
  font-family:var(--ff-body);
  font-size:.72rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold);display:inline-flex;align-items:center;gap:.7em;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);opacity:.7}

/* ---------- Layout helpers ---------- */
.wrap{width:min(100% - 3rem, var(--maxw));margin-inline:auto}
.section{position:relative;padding:60px 0}
.lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:rgba(245,237,217,.78);font-weight:300;max-width:62ch}
.on-light .lead,.on-cream2 .lead{color:var(--paper-soft)}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}
.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.65em;
  font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.95em 1.7em;border-radius:999px;position:relative;
  transition:all .4s var(--ease);
}
.btn .arw{transition:transform .4s var(--ease)}
.btn:hover .arw{transform:translateX(4px)}
.btn-gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#3a2607;box-shadow:0 8px 30px -10px rgba(216,165,52,.6)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 38px -10px rgba(216,165,52,.75)}
.btn-ghost{border:1px solid var(--hairline);color:var(--cream);backdrop-filter:blur(4px)}
.btn-ghost:hover{border-color:var(--gold);background:rgba(216,165,52,.08);transform:translateY(-2px)}
.btn-outline-dark{border:1px solid var(--line-dark);color:var(--ink)}
.btn-outline-dark:hover{border-color:var(--ink);background:var(--ink);color:var(--cream);transform:translateY(-2px)}

/* ---------- Shared section chrome ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2.2rem,5vw,3.4rem)}
.sec-head .eyebrow{margin-bottom:1rem}
.sec-title{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.04;letter-spacing:-.015em}
.sec-title em{font-style:italic;color:var(--gold-bright)}
.on-light .sec-title em{color:var(--vermilion)}
.on-light{background:var(--cream);color:var(--paper-ink)}
.on-cream2{background:var(--cream-2);color:var(--paper-ink)}
.on-dark{background:var(--ink);color:var(--cream)}
.on-deep{background:linear-gradient(180deg,#0b1226,#101d38);color:var(--cream)}

/* ornamental divider */
.divider{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--gold-deep)}
.divider .l{width:clamp(40px,12vw,120px);height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.divider .r{width:clamp(40px,12vw,120px);height:1px;background:linear-gradient(90deg,currentColor,transparent)}
.divider svg{width:26px;height:26px;flex:none}

/* split layout (two columns), reused from main site */
.split{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split.rev{grid-template-columns:1.04fr 1fr}
.split.top{align-items:flex-start}

/* ============================================================
   PAGE HERO (interior banner)
   ============================================================ */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#0b1226,#101d38);
  padding:clamp(7rem,14vw,9.5rem) 0 clamp(3.5rem,7vw,5rem)}
.page-hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(65% 55% at 50% 0%,rgba(216,165,52,.16),transparent 65%)}
.page-hero .wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center}
.crumb{display:flex;align-items:center;gap:.55em;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(246,239,221,.5);margin-bottom:1.8rem}
.crumb a{color:rgba(246,239,221,.5);transition:color .3s}
.crumb a:hover{color:var(--gold-bright)}
.crumb .cur{color:var(--gold-bright)}
.page-hero .eyebrow{justify-content:center}
.page-hero h1{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.6rem,6.4vw,4.6rem);
  line-height:1.03;letter-spacing:-.015em;max-width:18ch;margin-top:1.2rem}
.page-hero h1 em{font-style:italic;color:var(--gold-bright)}
.page-hero .lead{margin:1.5rem auto 0;text-align:center;color:rgba(246,239,221,.78);max-width:58ch}

.hero-stats{display:flex;gap:clamp(1.6rem,5vw,3.2rem);margin-top:2.8rem;flex-wrap:wrap;justify-content:center}
.hero-stats .hs{text-align:center;padding:0 clamp(.4rem,1vw,1rem);position:relative;transition:transform .3s}
.hero-stats a.hs:hover{transform:translateY(-2px)}
.hero-stats a.hs:hover b{color:var(--gold)}
.hero-stats .hs+.hs::before{content:"";position:absolute;left:calc(-1 * clamp(.8rem,2.5vw,1.6rem));top:.2em;bottom:.2em;width:1px;background:var(--hairline-soft)}
.hero-stats .hs b{display:block;font-family:var(--ff-display);font-weight:600;font-size:clamp(1.15rem,2vw,1.5rem);color:var(--gold-bright);white-space:nowrap;transition:color .3s}
.hero-stats .hs span{display:block;margin-top:.35rem;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,239,221,.55);white-space:nowrap}

/* ============================================================
   SEND A MESSAGE + CONTACT INFO
   ============================================================ */
.contact-card{background:rgba(8,13,28,.92);border:1px solid var(--hairline-soft);border-radius:20px;
  padding:clamp(1.8rem,3.5vw,2.6rem);box-shadow:0 40px 80px -50px rgba(0,0,0,.6)}
.contact-card h3{font-family:var(--ff-display);font-weight:600;font-size:1.6rem;margin-bottom:1.5rem;color:var(--cream)}
.ff-field{margin-bottom:1.3rem}
.ff-field label{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(246,239,221,.5);margin-bottom:.5rem}
.ff-field input,.ff-field select,.ff-field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--hairline-soft);
  color:var(--cream);font-family:var(--ff-body);font-size:1rem;padding:.5em 0;transition:border-color .3s}
.ff-field input::placeholder,.ff-field textarea::placeholder{color:rgba(246,239,221,.35)}
.ff-field input:focus,.ff-field select:focus,.ff-field textarea:focus{outline:none;border-color:var(--gold)}
.ff-field select{cursor:pointer}
.ff-field select option{background:var(--ink);color:var(--cream)}
.ff-field textarea{resize:vertical;min-height:90px}
.ff-row2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.ff-consent{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:1.4rem}
.ff-consent input{margin-top:.3rem;accent-color:var(--gold);flex:none}
.ff-consent label{font-size:.78rem;color:rgba(246,239,221,.55);font-weight:300;line-height:1.5}
.ff-consent a{color:var(--gold);text-decoration:underline}
.ff-submit{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#3a2607;font-weight:700;font-size:.8rem;
  letter-spacing:.12em;text-transform:uppercase;padding:.9em 2em;border-radius:999px;transition:transform .35s,box-shadow .35s}
.ff-submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(216,165,52,.7)}
.ff-msg{margin-top:1rem;font-size:.86rem;color:var(--gold-bright);min-height:1.2em}

.info-rows{display:flex;flex-direction:column;gap:1.7rem;margin-top:.4rem}
.info-rows .row{display:flex;gap:1.1rem;align-items:flex-start}
.info-rows .row .ic{width:44px;height:44px;flex:none;border-radius:50%;background:rgba(216,165,52,.12);color:var(--ink);display:grid;place-items:center}
.info-rows .row .ic svg{width:22px;height:22px}
.info-rows .row .lab{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.35rem}
.info-rows .row a,.info-rows .row span{display:block;color:var(--ink);font-size:1.02rem;font-weight:500}
.info-rows .row a:hover{color:var(--vermilion)}
.info-social{display:flex;gap:.7rem;margin-top:2rem}
.info-social a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(34,48,75,.18);display:grid;place-items:center;color:var(--ink);transition:all .35s}
.info-social a:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

.email-block { border-left: 2px solid var(--gold); padding-left: 1.2rem; }
.email-block .lab { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: .5rem; font-weight: 700; }
.email-block a { display: block; color: var(--ink); font-size: 1.02rem; font-weight: 500; text-decoration: none; transition: color .25s; }
.email-block a:hover { color: var(--vermilion); }
.email-block .sub { font-size: .88rem; opacity: .75; margin-top: .25rem; }

.info-divider { border: none; border-top: 1px solid rgba(34,48,75,.12); margin: 1.6rem 0; }

.reach-heading { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 1.1rem; font-weight: 700; }
.reach-items { display: flex; flex-direction: column; gap: 1rem; }
.reach-item { display: flex; gap: .9rem; align-items: flex-start; }
.reach-dot { width: 32px; height: 32px; flex: none; border-radius: 50%; background: rgba(216,165,52,.08); border: 1px solid rgba(216,165,52,.2); display: grid; place-items: center; color: var(--gold); }
.reach-dot svg { width: 15px; height: 15px; }
.reach-txt strong { display: block; font-size: .9rem; font-weight: 600; color: var(--ink); margin-bottom: .2rem; }
.reach-txt span { font-size: .82rem; color: rgba(34,48,75,.6); line-height: 1.5; }

.hours-note { background: rgba(216,165,52,.05); border: 1px solid rgba(216,165,52,.18); border-radius: 10px; padding: .9rem 1.1rem; font-size: .82rem; color: rgba(34,48,75,.65); line-height: 1.6; margin-top: .5rem; }
.hours-note strong { display: block; color: var(--gold-deep); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .3rem; }

/* ============================================================
   WAYS TO REACH US — value/dept cards
   ============================================================ */
.give-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.give-card{background:linear-gradient(165deg,rgba(28,44,77,.9),rgba(14,24,48,.92));border:1px solid var(--hairline-soft);
  border-radius:18px;padding:2rem 1.7rem;display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .5s}
.give-card:hover{transform:translateY(-7px);border-color:var(--hairline)}
.give-card .ic{width:44px;height:44px;color:var(--gold);margin-bottom:1.1rem}
.give-card h3{font-family:var(--ff-display);font-weight:600;font-size:1.45rem;color:var(--cream);margin-bottom:.5rem;line-height:1.15}
.give-card p{font-size:.92rem;color:rgba(246,239,221,.66);font-weight:300;flex:1}
.give-card .gcl{margin-top:1.1rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--gold-bright);display:inline-flex;align-items:center;gap:.4em}
.give-card .gcl:hover{color:var(--gold)}

/* ============================================================
   VISUAL STAGE (map motif) — reused component
   ============================================================ */
.visual-stage{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3.6;
  box-shadow:0 40px 80px -50px rgba(0,0,0,.7);background:var(--ink)}
.vfx{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease);transform:scale(1.04)}
.vfx.show{opacity:1;transform:scale(1)}
.vfx .cap{position:absolute;left:0;bottom:0;width:100%;padding:1.6rem;z-index:3;
  background:linear-gradient(0deg,rgba(8,13,28,.85),transparent);
  font-family:var(--ff-display);font-style:italic;font-size:1.25rem;color:var(--cream)}
.stage-note{position:absolute;top:14px;right:14px;z-index:4;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(246,239,221,.7);background:rgba(8,13,28,.5);backdrop-filter:blur(6px);padding:.4em .7em;border-radius:999px;border:1px solid rgba(246,239,221,.18)}
.scn{position:absolute;inset:0;overflow:hidden}
.scn .sky{position:absolute;inset:0}
.scn-map .sky{background:
  linear-gradient(180deg,#1a2b54,#2c3f72 55%,#465f96);
}
.scn-map .grid-lines{position:absolute;inset:0;opacity:.18;
  background-image:linear-gradient(rgba(246,239,221,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(246,239,221,.6) 1px,transparent 1px);
  background-size:34px 34px}
.scn-icon{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:26%;max-width:110px;
  color:var(--gold-bright);opacity:.96;filter:drop-shadow(0 10px 26px rgba(0,0,0,.4))}

/* ============================================================
   FAQ — accordion (reused from homepage component)
   ============================================================ */
.acc-list{display:flex;flex-direction:column;gap:.6rem;max-width:880px;margin:0 auto}
.acc{border-radius:16px;overflow:hidden;transition:background .45s var(--ease);background:var(--cream-2)}
.acc.open{background:var(--sand)}
.acc-head{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.25rem;cursor:pointer;user-select:none}
.acc-ic{width:40px;height:40px;flex:none;color:var(--ink);display:grid;place-items:center;border-radius:50%;background:rgba(216,165,52,.14)}
.acc-ic svg{width:24px;height:24px}
.acc-t{font-family:var(--ff-display);font-weight:600;font-size:clamp(1.1rem,2vw,1.36rem);line-height:1.15;color:var(--ink);flex:1}
.acc-plus{flex:none;width:22px;height:22px;position:relative;opacity:.7}
.acc-plus::before,.acc-plus::after{content:"";position:absolute;background:var(--ink);transition:transform .4s var(--ease)}
.acc-plus::before{left:0;top:50%;width:100%;height:2px;transform:translateY(-50%)}
.acc-plus::after{top:0;left:50%;width:2px;height:100%;transform:translateX(-50%)}
.acc.open .acc-plus::after{transform:translateX(-50%) scaleY(0)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.acc-body-inner{padding:0 1.25rem 1.3rem 4.25rem}
.acc-body-inner p{color:var(--paper-soft);font-size:.98rem;font-weight:300;max-width:62ch}

/* ============================================================
   FOOTER + CONTACT FORM
   ============================================================ */
.footer{background:var(--night);color:var(--cream);padding:clamp(3.5rem,7vw,5.5rem) 0 2.5rem}
.foot-top{text-align:center;margin-bottom:clamp(2.5rem,5vw,4rem)}
.foot-logo{height:46px;margin:0 auto .8rem;width:auto}
.foot-logo-fallback{font-family:var(--ff-display);font-size:1.7rem;letter-spacing:.06em;color:var(--cream);display:none}
.foot-tagline{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.foot-main{display:grid;grid-template-columns:1.1fr 1fr 1.25fr;gap:clamp(2rem,4vw,3.5rem)}
.foot-col h4{font-family:var(--ff-display);font-weight:600;font-size:1.4rem;color:var(--cream);margin-bottom:.6rem}
.foot-col .muted{color:rgba(246,239,221,.55);font-weight:300;font-size:.94rem;max-width:34ch}
.foot-social{display:flex;gap:.7rem;margin-top:1.4rem}
.foot-social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--hairline-soft);display:grid;place-items:center;color:var(--cream);transition:all .35s}
.foot-social a:hover{background:var(--gold);color:var(--night);border-color:var(--gold)}
.foot-contacts{margin-top:1.8rem;display:flex;flex-direction:column;gap:1.1rem}
.foot-contacts .grp .lab{font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,239,221,.4);margin-bottom:.3rem}
.foot-contacts .grp a,.foot-contacts .grp span{display:block;color:rgba(246,239,221,.82);font-size:.94rem}
.foot-links{display:flex;flex-direction:column;gap:.6rem}
.foot-links .lab{font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,239,221,.4);margin-bottom:.4rem}
.foot-links a{color:rgba(246,239,221,.82);font-family:var(--ff-display);font-size:1.2rem;transition:color .3s}
.foot-links a:hover{color:var(--gold)}
.foot-links a.cur{color:var(--gold-bright)}

.foot-form{background:rgba(20,29,64,.4);border:1px solid var(--hairline-soft);border-radius:18px;padding:clamp(1.6rem,3vw,2.4rem)}
.foot-form h4{font-family:var(--ff-display);font-weight:600;font-size:1.5rem;margin-bottom:1.4rem;color:var(--cream)}

.foot-partners{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:clamp(2.5rem,5vw,4rem);padding-top:2rem;border-top:1px solid var(--hairline-soft)}
.foot-partners .pchip{font-size:.7rem;letter-spacing:.08em;color:rgba(246,239,221,.5);border:1px solid var(--hairline-soft);padding:.5em .9em;border-radius:8px}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;font-size:.78rem;color:rgba(246,239,221,.4)}
.foot-bottom a{color:rgba(246,239,221,.6)}
.foot-bottom a:hover{color:var(--gold)}

/* Site nav + mobile menu styles moved to common.css */

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .split{grid-template-columns:1fr;gap:2.4rem}
  .split.rev .visual-stage{order:-1}
  .give-grid{grid-template-columns:repeat(2,1fr)}
  .ff-row2{grid-template-columns:1fr}
  .foot-main{grid-template-columns:1fr 1fr;gap:2.4rem}
  .foot-form{grid-column:1/-1}
  .acc-body-inner{padding-left:1.25rem}
}
@media(max-width:560px){
  .give-grid{grid-template-columns:1fr}
  .hero-stats{gap:1.1rem}
  .hero-stats .hs+.hs::before{display:none}
  .sec-head{flex-direction:column;align-items:flex-start}
  .foot-main{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column}
  .crumb{font-size:.64rem}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.12s!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   BACKGROUND MUSIC TOGGLE — copy this whole block (CSS + the
   HTML markup near </body> + the JS block) onto other pages.
   ============================================================ */
.music-toggle{
  position:fixed;right:22px;bottom:80px;z-index:90;width:56px;height:56px;border-radius:50%;
  background:rgba(10,16,34,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(246,239,221,.2);display:grid;place-items:center;cursor:pointer;
  color:var(--cream);box-shadow:0 14px 40px -16px rgba(0,0,0,.65);
  transition:transform .35s var(--ease),border-color .35s,background .35s;
}
.music-toggle:hover{transform:translateY(-3px);border-color:var(--gold)}
.music-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.music-toggle .mt-on,.music-toggle .mt-off{position:relative;display:flex;align-items:center;justify-content:center}
.music-toggle .mt-off{display:none}
.music-toggle.is-off .mt-on{display:none}
.music-toggle.is-off .mt-off{display:flex}
.music-toggle svg{width:22px;height:22px}
.music-toggle .mt-bars{position:absolute;right:-3px;bottom:-3px;display:flex;align-items:flex-end;gap:2px;height:10px}
.music-toggle .mt-bars span{width:2px;border-radius:1px;background:var(--gold-bright);
  animation:mtbar 1s ease-in-out infinite}
.music-toggle .mt-bars span:nth-child(1){height:4px;animation-delay:0s}
.music-toggle .mt-bars span:nth-child(2){height:9px;animation-delay:.15s}
.music-toggle .mt-bars span:nth-child(3){height:6px;animation-delay:.3s}
@keyframes mtbar{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
@media(max-width:560px){.music-toggle{right:16px;bottom:16px;width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){.music-toggle .mt-bars span{animation:none}}