/* ============================================
   Vatsal Vora, Advocate
   Shared stylesheet
   ============================================ */

:root{
  --ink:#12171C;          /* primary text - deep ink */
  --ink-soft:#3A424B;     /* secondary text */
  --ink-faint:#6B7280;    /* captions, meta */
  --paper:#E8E5DD;        /* page background */
  --paper-raised:#F1EEE7; /* cards / panels */
  --band:#1B2129;         /* dark masthead + footer */
  --band-2:#232B34;
  --gold:#9C7A33;         /* accent on light */
  --gold-light:#D9AF66;   /* accent on dark */
  --rule:#C6C0B2;
  --rule-soft:#D6D1C5;
  --rule-dark:#39414B;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'EB Garamond', Georgia, 'Times New Roman', serif;
  font-size:18px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;display:block;}
a{color:var(--ink);}

.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.wrap-narrow{max-width:800px;margin:0 auto;padding:0 28px;}

/* ============ Disclaimer gate ============ */
#disclaimer{
  position:fixed;inset:0;z-index:1000;
  background:var(--band);
  display:flex;align-items:center;justify-content:center;
  padding:28px;overflow-y:auto;
}
#disclaimer.hidden{display:none;}
.disc-box{
  max-width:640px;width:100%;
  background:var(--band-2);
  border:1px solid var(--rule-dark);
  padding:44px 40px;
  text-align:center;
  margin:auto;
}
.disc-crest{width:76px;height:auto;margin:0 auto 22px;}
.disc-box h2{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:600;font-size:25px;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--gold-light);margin-bottom:20px;
}
.disc-box p{
  color:#C3C9D1;font-size:15.5px;line-height:1.75;
  margin-bottom:14px;text-align:left;
}
.disc-btn{
  margin-top:20px;display:inline-block;
  border:1px solid var(--gold-light);
  color:var(--gold-light);background:transparent;
  padding:12px 40px;
  font-family:'EB Garamond', serif;font-size:15px;
  letter-spacing:0.16em;text-transform:uppercase;
  cursor:pointer;transition:background .25s,color .25s;
}
.disc-btn:hover{background:var(--gold-light);color:var(--band);}

/* ============ Masthead ============ */
.masthead{
  background:var(--band);
  border-bottom:3px solid var(--gold);
  padding:38px 0 0;
}
.masthead-inner{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;padding-bottom:28px;
}
.masthead .crest{
  width:clamp(150px, 20vw, 232px);
  height:auto;margin-bottom:22px;
}
.masthead .name{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:600;
  font-size:clamp(30px,5vw,44px);
  letter-spacing:0.06em;
  color:#F2EEE4;
  line-height:1.15;
}
.masthead .role{
  font-size:12.5px;letter-spacing:0.42em;text-transform:uppercase;
  color:var(--gold-light);margin-top:12px;
}

/* ============ Navigation ============ */
nav{
  background:var(--band-2);
  border-top:1px solid var(--rule-dark);
}
.nav-inner{
  display:flex;justify-content:center;flex-wrap:wrap;gap:0;
}
nav a{
  display:block;
  padding:15px 26px;
  font-size:13px;letter-spacing:0.2em;text-transform:uppercase;
  color:#BFC6CE;text-decoration:none;
  border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s;
}
nav a:hover{color:var(--gold-light);}
nav a.active{color:var(--gold-light);border-bottom-color:var(--gold-light);}
@media (max-width:560px){
  nav a{padding:13px 15px;font-size:11.5px;letter-spacing:0.14em;}
}

/* ============ Page header ============ */
.page-head{padding:64px 0 10px;text-align:center;}
.page-eyebrow{
  font-size:12px;letter-spacing:0.34em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;
}
.page-title{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:600;font-size:clamp(30px,4.6vw,42px);
  color:var(--ink);letter-spacing:0.01em;
}
.rule-ornament{
  display:flex;align-items:center;justify-content:center;gap:16px;
  margin:26px 0 0;
}
.rule-ornament .ln{height:1px;background:var(--rule);flex:1;max-width:150px;}
.rule-ornament .dot{color:var(--gold);font-size:12px;letter-spacing:0.3em;}

/* ============ Content ============ */
main{padding-bottom:80px;}
section{padding:44px 0;}
p{margin-bottom:20px;color:var(--ink-soft);}
p.lead{font-size:20px;color:var(--ink);}

h3{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:600;font-size:25px;color:var(--ink);
  margin-bottom:18px;letter-spacing:0.01em;
}

/* Home hero */
.home-intro{
  display:grid;grid-template-columns:1fr 320px;
  gap:52px;align-items:center;padding:56px 0 44px;
}
.portrait-frame{
  padding:12px;border:1px solid var(--rule);
  background:var(--paper-raised);position:relative;
}
.portrait-frame::before{
  content:"";position:absolute;inset:5px;
  border:1px solid var(--rule-soft);pointer-events:none;
}
.portrait-frame img{width:100%;height:auto;filter:saturate(.9) contrast(1.03);}
@media (max-width:780px){
  .home-intro{grid-template-columns:1fr;gap:36px;}
  .portrait-frame{max-width:290px;margin:0 auto;order:-1;}
}

/* Summary list on home */
.summary-list{border-top:1px solid var(--rule-soft);margin-top:8px;}
.summary-row{
  display:grid;grid-template-columns:190px 1fr;gap:24px;
  padding:18px 2px;border-bottom:1px solid var(--rule-soft);
}
.summary-key{
  font-size:12px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);padding-top:5px;
}
.summary-val{color:var(--ink);}
@media (max-width:600px){
  .summary-row{grid-template-columns:1fr;gap:4px;}
}

/* Practice grid */
.practice-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--rule-soft);
}
.practice-item{
  padding:24px 22px;
  border-bottom:1px solid var(--rule-soft);
  border-right:1px solid var(--rule-soft);
}
.practice-item:nth-child(even){border-right:none;}
.practice-num{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:13px;color:var(--gold);letter-spacing:0.16em;
  display:block;margin-bottom:6px;
}
.practice-name{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:600;font-size:21px;color:var(--ink);
}
@media (max-width:620px){
  .practice-grid{grid-template-columns:1fr;}
  .practice-item{border-right:none;}
}

/* Plain listing (forums, instruments) */
.plain-list{border-top:1px solid var(--rule-soft);}
.plain-list li{
  list-style:none;
  padding:14px 2px;
  border-bottom:1px solid var(--rule-soft);
  color:var(--ink);
}

/* Qualifications */
.qual-list{border-top:1px solid var(--rule-soft);}
.qual-item{
  display:grid;grid-template-columns:150px 1fr;gap:24px;
  padding:22px 2px;border-bottom:1px solid var(--rule-soft);
}
.qual-deg{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:16px;letter-spacing:0.08em;color:var(--gold);
  text-transform:uppercase;
}
.qual-full{font-size:18px;color:var(--ink);margin-bottom:3px;}
.qual-inst{font-size:15.5px;color:var(--ink-faint);font-style:italic;}
@media (max-width:560px){
  .qual-item{grid-template-columns:1fr;gap:5px;}
}

/* Contact */
.contact-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:34px;
  border-top:1px solid var(--rule-soft);padding-top:40px;text-align:center;
}
.c-label{
  font-size:12px;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:10px;
}
.c-val{font-size:18px;color:var(--ink);}
.c-val a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);}
.c-val a:hover{color:var(--gold);border-color:var(--gold);}
@media (max-width:660px){
  .contact-grid{grid-template-columns:1fr;gap:28px;}
}

.contact-single{
  border-top:1px solid var(--rule-soft);
  margin-top:38px;padding-top:34px;text-align:center;
}

.c-map{margin-top:12px;}
.c-map a{
  font-size:13px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;
  border-bottom:1px solid var(--rule);
  padding-bottom:2px;
}
.c-map a:hover{border-color:var(--gold);}

/* ============ Footer ============ */
footer{
  background:var(--band);
  border-top:3px solid var(--gold);
  padding:46px 0 52px;text-align:center;
}
.foot-crest{width:52px;height:auto;margin:0 auto 16px;opacity:.9;}
.foot-name{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:15px;color:#AEB5BD;letter-spacing:0.1em;margin-bottom:8px;
}
.foot-motto{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-style:italic;font-size:14px;color:var(--gold-light);
  letter-spacing:0.08em;margin-bottom:22px;
}
.foot-note{
  max-width:660px;margin:0 auto;
  font-size:12.5px;line-height:1.8;color:#848C95;
}

/* ============ A11y ============ */
a:focus-visible,button:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;
}
@media (prefers-reduced-motion:no-preference){
  .fade-in{animation:fadeIn .8s ease-out both;}
  @keyframes fadeIn{
    from{opacity:0;transform:translateY(9px);}
    to{opacity:1;transform:translateY(0);}
  }
}
