/* =========================================================
   ADV LAW — Light Theme
   "Column & Pen" design system — warm paper, black header/footer
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&family=Inter:wght@300;400;500;600;700&display=swap');

:root{
  /* Palette */
  --bg:           #faf7f1;
  --bg-panel:     #ffffff;
  --bg-panel-2:   #f3eee2;
  --line:         rgba(140,103,40,0.16);
  --line-soft:    rgba(20,18,14,0.08);
  --gold:         #a3792f;
  --gold-bright:  #8a6324;
  --gold-soft:    #c9a25d;
  --ink:          #1c1813;
  --ink-dim:      rgba(28,24,19,0.68);
  --muted:        #7c7567;
  --black:        #0a0a0a;
  --ivory:        #f3ede0;

  /* Type */
  --serif: 'Fraunces', Georgia, serif;
  --sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --container: 1200px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:600;margin:0;color:var(--ink);letter-spacing:-0.01em;}
p{margin:0;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 0.8s ease, transform 0.8s ease;}
[data-reveal].revealed{opacity:1;transform:translateY(0);}

.container{max-width:var(--container);margin:0 auto;padding:0 24px;}

/* ---------- Fluted column rule — signature motif ---------- */
.flute-rule{
  display:flex;align-items:stretch;gap:5px;height:14px;width:100%;
  opacity:0.6;
}
.flute-rule span{flex:1;border-radius:2px;background:linear-gradient(180deg, transparent, var(--gold), transparent);}
.flute-rule.center{justify-content:center;width:160px;margin:0 auto;}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold-bright);
}
.eyebrow::before{content:'';width:18px;height:1px;background:var(--gold-bright);display:inline-block;}

.shloka{
  font-family:var(--serif);font-style:italic;font-weight:400;
  color:var(--ink-dim);
  font-size:15px;
  letter-spacing:0.01em;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;
  font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0.03em;
  border-radius:2px;
  border:1px solid transparent;
  cursor:pointer;
  transition:all 0.3s ease;
  white-space:nowrap;
}
.btn-gold{
  background:linear-gradient(135deg, #b3863a, var(--gold-bright));
  color:#fff;
}
.btn-gold:hover{
  background:linear-gradient(135deg, #c79544, #9a712b);
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(138,99,36,0.25);
}
.btn-outline{
  border:1px solid var(--line);
  color:var(--ink);
  background:transparent;
}
.btn-outline:hover{
  border-color:var(--gold-bright);
  color:var(--gold-bright);
}
.btn svg{width:15px;height:15px;flex-shrink:0;transition:transform 0.3s ease;}
.btn:hover svg{transform:translateX(3px);}

/* Buttons used on black surfaces (header/footer/hero) need light text */
.on-dark .btn-outline{color:var(--ivory);border-color:rgba(243,237,224,0.25);}
.on-dark .btn-outline:hover{border-color:var(--gold-soft);color:var(--gold-soft);}

/* ============================================================
   HEADER — always black, per brief
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(10,10,10,0.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:background 0.3s ease;
}
.site-header.is-solid{background:#0a0a0a;}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:100px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:90px;width:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.15;}
.brand-text .name{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--ivory);letter-spacing:0.01em;}
.brand-text .tag{font-family:var(--sans);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft);margin-top:2px;}

.main-nav{display:flex;align-items:center;gap:2px;}
.main-nav > ul{display:flex;align-items:center;gap:4px;list-style:none;}
.main-nav > ul > li{position:relative;}
.main-nav > ul > li > a{
  display:flex;align-items:center;gap:6px;
  padding:10px 18px;
  font-size:14.5px;font-weight:500;color:rgba(243,237,224,0.78);
  transition:color 0.25s ease;
  border-radius:2px;
}
.main-nav > ul > li > a:hover,
.main-nav > ul > li.active > a{color:var(--gold-soft);}
.main-nav .chev{width:9px;height:9px;transition:transform 0.25s ease;opacity:0.7;}
.main-nav li:hover .chev{transform:rotate(180deg);}

.dropdown{
  position:absolute;top:calc(100% + 10px);left:0;
  min-width:240px;
  background:#141312;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:4px;
  padding:8px;
  opacity:0;visibility:hidden;
  transform:translateY(8px);
  transition:all 0.25s ease;
  box-shadow:0 24px 48px rgba(0,0,0,0.5);
}
.main-nav li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{
  display:block;padding:11px 14px;font-size:14px;color:rgba(243,237,224,0.78);border-radius:3px;
}
.dropdown a:hover{background:rgba(201,162,93,0.12);color:var(--gold-soft);}

.header-actions{display:flex;align-items:center;gap:14px;}
.header-actions .phone{font-size:13.5px;color:rgba(243,237,224,0.78);display:flex;align-items:center;gap:7px;}
.header-actions .phone svg{width:14px;height:14px;color:var(--gold-soft);}

.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;width:26px;background:none;border:none;padding:0;}
.burger span{height:1.5px;width:100%;background:var(--ivory);transition:all 0.3s ease;}

/* Mobile nav drawer (black, matches header) */
.mobile-drawer{
  position:fixed;top:0;right:-100%;height:100vh;width:min(86vw,380px);
  background:#0a0a0a;border-left:1px solid rgba(255,255,255,0.08);
  z-index:1100;transition:right 0.4s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
  padding:28px 26px 40px;
  color:var(--ivory);
}
.mobile-drawer.open{right:0;}
.mobile-drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;}
.mobile-drawer-top img{height:38px;}
.mobile-close{background:none;border:none;color:var(--ivory);font-size:26px;cursor:pointer;line-height:1;}
.mobile-drawer nav ul{list-style:none;display:flex;flex-direction:column;}
.mobile-drawer nav > ul > li{border-bottom:1px solid rgba(255,255,255,0.08);}
.mobile-drawer nav > ul > li > a{display:flex;justify-content:space-between;align-items:center;padding:16px 2px;font-size:16px;color:var(--ivory);font-weight:500;}
.mobile-drawer .sub{list-style:none;padding-left:14px;display:none;}
.mobile-drawer .sub.open{display:block;}
.mobile-drawer .sub li a{display:block;padding:11px 2px;font-size:14.5px;color:rgba(243,237,224,0.7);}
.mobile-drawer-cta{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
.mobile-drawer-contact{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.08);}
.mobile-drawer-contact a{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(243,237,224,0.78);padding:8px 0;}
.mobile-drawer-contact svg{width:16px;height:16px;color:var(--gold-soft);flex-shrink:0;}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1050;opacity:0;visibility:hidden;transition:opacity 0.4s ease;}
.scrim.open{opacity:1;visibility:visible;}

/* ============================================================
   PAGE HERO (sub-pages) — black band, matches header/footer
   ============================================================ */
.page-hero{
  position:relative;
  padding:188px 0 90px;
  background:var(--black);
  overflow:hidden;
  color:var(--ivory);
}
.page-hero .eyebrow{margin-bottom:18px;color:var(--gold-soft);}
.page-hero .eyebrow::before{background:var(--gold-soft);}
.page-hero h1{font-size:clamp(34px,5vw,54px);max-width:760px;color:var(--ivory);}
.page-hero .col-bg{
  position:absolute;right:-60px;top:50%;transform:translateY(-50%);
  width:420px;opacity:0.07;pointer-events:none;
}
.breadcrumb{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:13.5px;color:rgba(243,237,224,0.55);}
.breadcrumb a{color:rgba(243,237,224,0.55);transition:color 0.2s;}
.breadcrumb a:hover{color:var(--gold-soft);}
.breadcrumb svg{width:10px;height:10px;opacity:0.6;}
.breadcrumb .current{color:var(--gold-soft);}

/* ============================================================
   FOOTER — always black, per brief
   ============================================================ */
.site-footer{
  background:var(--black);
  color:var(--ivory);
  padding:80px 0 0;
}
.footer-grid{
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:50px;
  padding-bottom:56px;
}
.footer-brand .brand{margin-bottom:20px;}
.footer-brand p,.footer-desc{color:rgba(243,237,224,0.55);font-size:14.5px;line-height:1.8;max-width:300px;}
.footer-desc p,.footer-office p,.footer-hours-wrap p{margin:0 0 8px;}
.footer-office,.footer-hours-wrap{color:rgba(243,237,224,0.55);font-size:14.5px;line-height:1.8;}
.footer-office td,.footer-hours-wrap td{color:rgba(243,237,224,0.55);}
.footer-col h4{font-family:var(--sans);font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:22px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:13px;}
.footer-col a{color:rgba(243,237,224,0.55);font-size:14.5px;transition:color 0.2s;}
.footer-col a:hover{color:var(--gold-soft);}
.footer-contact-item{display:flex;gap:10px;align-items:flex-start;color:rgba(243,237,224,0.55);font-size:14.5px;line-height:1.6;}
.footer-contact-item svg{width:15px;height:15px;color:var(--gold-soft);flex-shrink:0;margin-top:3px;}
.footer-hours{display:flex;justify-content:space-between;font-size:13.5px;color:rgba(243,237,224,0.55);padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.08);}
.footer-hours span:last-child{color:rgba(243,237,224,0.85);}
.footer-social{display:flex;gap:10px;margin-top:22px;}
.footer-social a{
  width:36px;height:36px;border:1px solid rgba(255,255,255,0.15);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:rgba(243,237,224,0.6);
  transition:all 0.25s ease;
}
.footer-social a:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
.footer-social svg{width:14px;height:14px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.08);
  padding:24px 0;
  display:flex;justify-content:space-between;align-items:center;
  font-size:13px;color:rgba(243,237,224,0.45);
}
.footer-bottom a{color:rgba(243,237,224,0.45);}
.footer-bottom a:hover{color:var(--gold-soft);}

/* WhatsApp float */
.wa-float{
  position:fixed;bottom:26px;right:26px;z-index:900;
  width:58px;height:58px;border-radius:50%;
  background:linear-gradient(135deg,#b3863a,var(--gold-bright));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 32px rgba(0,0,0,0.25);
  transition:transform 0.3s ease;
}
.wa-float:hover{transform:scale(1.08);}
.wa-float svg{width:26px;height:26px;color:#fff;}

@media (max-width:1080px){
  .main-nav{display:none;}
  .header-actions .phone{display:none;}
  .burger{display:flex;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px;}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr;gap:36px;}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
  .header-inner{height:72px;}
  .brand img{height:38px;}
  .page-hero{padding:150px 0 70px;}
}
