/* Aniabh Management and Consultancy Services LLP — aniabhadvisory.com */

:root{
  --paper:#FBF9F5;
  --paper-sunk:#F3EFE7;
  --ink:#1A1F28;
  --ink-soft:#4C5462;
  --ink-faint:#7A8292;
  --rule:#D9D3C7;
  --rule-fine:#E6E1D7;
  --accent:#77302F;          /* oxblood — rules, links, marks only */
  --measure:68ch;
  --h:68px;                  /* fixed header height */
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:Newsreader,Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:-0.01em;
  margin:0;
}

p{margin:0 0 1.05em;max-width:var(--measure);}
p:last-child{margin-bottom:0;}

a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(119,48,47,.35);}
a:hover{border-bottom-color:var(--accent);}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

img{max-width:100%;height:auto;display:block;}

.skip{position:absolute;left:-9999px;top:0;}
.skip:focus{left:16px;top:12px;z-index:100;background:var(--paper);padding:8px 12px;}

/* ---------- shell ---------- */

.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 32px;}

.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  height:var(--h);
  background:rgba(251,249,245,.96);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid var(--rule);
}
.header-inner{height:var(--h);display:flex;align-items:center;justify-content:space-between;gap:28px;}

.brand{display:flex;align-items:center;gap:12px;border:0;color:var(--ink);}
.brand img{width:34px;height:34px;flex:none;}
.brand-text{font-family:Newsreader,Georgia,serif;font-size:19px;line-height:1.1;white-space:nowrap;}
.brand-text small{
  display:block;margin-top:3px;
  font-family:Inter,sans-serif;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-faint);
}

.site-nav{display:flex;gap:24px;}
.site-nav a{font-size:14px;color:var(--ink-soft);border:0;white-space:nowrap;padding:4px 0;}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--accent);}
.site-nav a[aria-current="page"]{box-shadow:inset 0 -1px 0 var(--accent);}

.nav-toggle{
  display:none;
  font:inherit;font-size:14px;color:var(--ink);
  background:none;border:1px solid var(--rule);border-radius:0;
  padding:7px 12px;cursor:pointer;
}

main{padding-top:var(--h);}

section{
  scroll-margin-top:calc(var(--h) + 8px);
  padding:88px 0;
  border-top:1px solid var(--rule);
}
main > section:first-child,
.page-banner + section{border-top:0;}

/* ---------- section frame: left rail + content ---------- */

.frame{display:grid;grid-template-columns:200px minmax(0,1fr);gap:56px;}
.rail h2{font-size:22px;line-height:1.25;position:sticky;top:calc(var(--h) + 40px);padding-top:2px;}
.rail .rail-note{
  font-size:13.5px;color:var(--ink-faint);line-height:1.5;margin-top:10px;
  position:sticky;top:calc(var(--h) + 76px);
}

/* ---------- buttons ---------- */

.btn{
  display:inline-block;
  font-size:14.5px;font-weight:500;
  padding:12px 22px;
  border:1px solid var(--accent);color:var(--accent);
}
.btn:hover{background:var(--accent);color:var(--paper);}
.btn-light{border-color:rgba(255,255,255,.85);color:#fff;}
.btn-light:hover{background:#fff;color:var(--ink);border-color:#fff;}
.btn-fill{background:#fff;color:var(--ink);border-color:#fff;}
.btn-fill:hover{background:var(--paper-sunk);color:var(--ink);}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}

.more{display:inline-block;margin-top:28px;font-size:15px;font-weight:500;}

/* ---------- home: video hero ---------- */

.hero-video{
  position:relative;overflow:hidden;
  min-height:min(80vh,720px);
  display:flex;align-items:flex-end;
  padding:0;border:0;
  color:#fff;
  background:#1A1F28 url(../img/hero-poster.webp) center/cover no-repeat;
}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-video::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,31,40,.20) 0%,rgba(26,31,40,.45) 45%,rgba(26,31,40,.86) 100%);
}
.hero-video .wrap{position:relative;z-index:1;padding-top:120px;padding-bottom:72px;}
.hero-name{
  font-size:14.5px;letter-spacing:.02em;
  color:rgba(255,255,255,.8);
  margin:0 0 28px;padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.28);
  max-width:none;
}
.hero-statement{
  font-family:Newsreader,Georgia,serif;
  font-size:clamp(32px,5vw,56px);
  line-height:1.14;font-weight:300;letter-spacing:-0.018em;
  max-width:20ch;margin:0;color:#fff;
}
.hero-sub{margin-top:22px;font-size:18px;color:rgba(255,255,255,.86);max-width:56ch;}

.fade-in{opacity:0;transform:translateY(10px);}
.fade-in.shown{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease;}

.lede-lg{font-size:18.5px;}
.tracks{
  margin-top:40px;padding-top:24px;
  border-top:2px solid var(--accent);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;
  max-width:820px;
}
.tracks p{font-size:15.5px;color:var(--ink-soft);margin:0;}
.tracks b{color:var(--ink);font-weight:600;}

.area-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;}
.area-list li{padding:16px 0;border-top:1px solid var(--rule-fine);}
.area-list li:nth-child(-n+2){border-top:0;padding-top:0;}
.area-list b{display:block;font-family:Newsreader,Georgia,serif;font-weight:400;font-size:19px;margin-bottom:4px;}
.area-list span{font-size:15px;color:var(--ink-soft);line-height:1.55;display:block;}

.snapshot h3{font-size:28px;line-height:1.15;}
.snapshot .role{font-size:15px;color:var(--ink-soft);margin:6px 0 20px;}
.snapshot + .snapshot{margin-top:48px;padding-top:40px;border-top:1px solid var(--rule);}

.cta{background:var(--ink);color:#fff;border:0;padding:72px 0;}
.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;}
.cta h2{font-size:clamp(26px,3.2vw,36px);font-weight:300;max-width:26ch;line-height:1.2;}
.cta p{color:rgba(255,255,255,.72);margin-top:10px;font-size:15.5px;}

/* ---------- inner pages: image banner ---------- */

.page-banner{
  position:relative;overflow:hidden;
  min-height:300px;
  display:flex;align-items:flex-end;
  padding:0;border:0;
  color:#fff;
  background-color:var(--ink);
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.page-banner::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,31,40,.15) 0%,rgba(26,31,40,.82) 100%);
}
.page-banner .wrap{position:relative;z-index:1;padding-top:96px;padding-bottom:44px;}
.page-banner .eyebrow{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.72);margin:0 0 12px;
}
.page-banner h1{font-size:clamp(32px,5vw,52px);font-weight:300;line-height:1.12;max-width:22ch;}
.page-banner .banner-lead{margin-top:14px;font-size:17px;color:rgba(255,255,255,.84);max-width:60ch;}

/* Small images for phones, full-size above 700px */
.banner-practice{background-image:url(../img/banner-practice-sm.webp);}
.banner-consultants{background-image:url(../img/banner-consultants-sm.webp);}
.banner-record{background-image:url(../img/banner-record-sm.webp);}
.banner-firm{background-image:url(../img/banner-firm-sm.webp);}
.banner-contact{background-image:url(../img/banner-contact-sm.webp);}
@media (min-width:700px){
  .page-banner{min-height:380px;}
  .banner-practice{background-image:url(../img/banner-practice.webp);}
  .banner-consultants{background-image:url(../img/banner-consultants.webp);}
  .banner-record{background-image:url(../img/banner-record.webp);}
  .banner-firm{background-image:url(../img/banner-firm.webp);}
  .banner-contact{background-image:url(../img/banner-contact.webp);}
}

/* ---------- practice areas ---------- */

.practice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;}
.practice article{padding:26px 0 24px;border-top:1px solid var(--rule-fine);}
.practice article:nth-child(-n+2){border-top:0;padding-top:0;}
.practice h3{font-size:21px;margin-bottom:8px;}
.practice p{font-size:15.5px;color:var(--ink-soft);line-height:1.6;}

/* ---------- consultants ---------- */

.profile{display:grid;grid-template-columns:184px minmax(0,1fr);gap:40px;}
.profile + .profile{margin-top:64px;padding-top:64px;border-top:1px solid var(--rule);}
.portrait{margin:0;aspect-ratio:4/5;background:var(--paper-sunk);border:1px solid var(--rule);overflow:hidden;}
.portrait img{width:100%;height:100%;object-fit:cover;}
.profile h2{font-size:30px;line-height:1.15;}
.profile .role{
  font-size:15px;color:var(--ink-soft);
  margin:6px 0 22px;padding-bottom:18px;
  border-bottom:1px solid var(--rule-fine);max-width:none;
}
.profile .lede{font-size:17.5px;}

.credentials{list-style:none;margin:0 0 26px;padding:0;max-width:var(--measure);}
.credentials li{padding:9px 0 9px 20px;border-bottom:1px solid var(--rule-fine);font-size:15.5px;line-height:1.55;position:relative;}
.credentials li::before{content:"";position:absolute;left:0;top:18px;width:9px;height:1px;background:var(--accent);}
.credentials li b{font-weight:600;}
.credentials li .qual{color:var(--ink-soft);}

.subhead{font-family:Newsreader,Georgia,serif;font-size:19px;margin:30px 0 12px;}

.assignments{list-style:none;margin:0 0 26px;padding:0;max-width:var(--measure);}
.assignments li{padding:14px 18px 14px 22px;border-left:2px solid var(--accent);background:var(--paper-sunk);font-size:16px;line-height:1.55;}
.assignments li + li{margin-top:10px;}

.career{list-style:none;margin:0 0 6px;padding:0;max-width:var(--measure);}
.career li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:9px 0;border-bottom:1px solid var(--rule-fine);font-size:15.5px;}
.career .when{color:var(--ink-faint);font-size:14px;white-space:nowrap;padding-top:2px;}

.cv-link{margin-top:24px;}

/* ---------- engagement models ---------- */

.models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}
.models article{padding:0 28px;border-left:1px solid var(--rule-fine);}
.models article:first-child{padding-left:0;border-left:0;}
.models article:last-child{padding-right:0;}
.models h3{font-size:19px;margin-bottom:10px;}
.models p{font-size:15px;color:var(--ink-soft);line-height:1.6;}

/* ---------- track record ---------- */

.record-card{border:1px solid var(--rule);padding:26px 28px;background:#fff;}
.record-card + .record-card{margin-top:18px;}
.record-card h3{font-size:21px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--rule-fine);}
.record-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0;margin:0;}
.record-grid dt{font-size:13.5px;color:var(--ink-faint);padding:9px 0;border-top:1px solid var(--rule-fine);}
.record-grid dd{margin:0;padding:9px 0;font-size:15.5px;border-top:1px solid var(--rule-fine);}
.record-grid dt:first-of-type,.record-grid dd:first-of-type{border-top:0;padding-top:0;}

/* ---------- particulars ---------- */

.particulars{display:grid;grid-template-columns:260px minmax(0,1fr);margin:0;max-width:760px;}
.particulars dt{font-size:15px;color:var(--ink-soft);padding:11px 0;border-top:1px solid var(--rule-fine);}
.particulars dd{margin:0;padding:11px 0;font-size:15.5px;border-top:1px solid var(--rule-fine);}
.particulars dt:first-of-type,.particulars dd:first-of-type{border-top:0;}
.declaration{margin-top:32px;padding:20px 24px;border-left:2px solid var(--accent);background:var(--paper-sunk);font-size:15.5px;}

/* ---------- contact ---------- */

.contact-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;}
.contact-details dl{margin:0;}
.contact-details dt{font-size:13.5px;color:var(--ink-faint);margin-top:18px;}
.contact-details dt:first-child{margin-top:0;}
.contact-details dd{margin:2px 0 0;font-size:16px;}

.field{margin-bottom:20px;max-width:560px;}
.field label{display:block;font-size:14px;color:var(--ink-soft);margin-bottom:6px;}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:16px;color:var(--ink);
  background:#fff;border:1px solid var(--rule);border-radius:0;padding:11px 13px;
}
.field textarea{min-height:140px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid rgba(119,48,47,.18);outline-offset:0;}
.field .error{display:none;font-size:13.5px;color:var(--accent);margin-top:6px;}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--accent);}
.field.invalid .error{display:block;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.submit{
  font:inherit;font-size:15px;font-weight:500;
  background:var(--ink);color:var(--paper);
  border:1px solid var(--ink);border-radius:0;
  padding:12px 26px;cursor:pointer;
}
.submit:hover{background:var(--accent);border-color:var(--accent);}
.form-note{font-size:13px;color:var(--ink-faint);margin-top:14px;max-width:560px;}
.form-alert{display:none;max-width:560px;margin:0 0 24px;padding:14px 18px;border-left:2px solid var(--accent);background:var(--paper-sunk);font-size:15px;}
.form-alert.show{display:block;}

/* ---------- simple pages (thank you, 404) ---------- */

.simple{padding:140px 0 120px;border:0;}
.simple h1{font-size:clamp(32px,5vw,48px);font-weight:300;margin-bottom:18px;}

/* ---------- footer ---------- */

.site-footer{border-top:1px solid var(--rule);padding:44px 0 56px;font-size:14px;color:var(--ink-soft);}
.footer-inner{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:baseline;}
.footer-nav{display:flex;flex-wrap:wrap;gap:18px;}
.footer-nav a{color:var(--ink-soft);border:0;}
.footer-nav a:hover{color:var(--accent);}
.footer-legal p{margin:0 0 4px;max-width:none;}

.ph{color:var(--accent);background:rgba(119,48,47,.06);padding:0 4px;font-size:.94em;}

/* ---------- responsive ---------- */

@media (max-width:960px){
  .frame{grid-template-columns:1fr;gap:28px;}
  .rail h2,.rail .rail-note{position:static;}
  .rail h2{font-size:26px;}
  .practice,.area-list{grid-template-columns:1fr;gap:0;}
  .practice article:nth-child(2){border-top:1px solid var(--rule-fine);padding-top:26px;}
  .area-list li:nth-child(2){border-top:1px solid var(--rule-fine);padding-top:16px;}
  .models{grid-template-columns:1fr;}
  .models article{padding:24px 0;border-left:0;border-top:1px solid var(--rule-fine);}
  .models article:first-child{padding-top:0;border-top:0;}
  .contact-grid{grid-template-columns:1fr;gap:40px;}
  .tracks{grid-template-columns:1fr;gap:20px;}

  .nav-toggle{display:block;}
  .site-nav{
    display:none;
    position:absolute;top:var(--h);left:0;right:0;
    flex-direction:column;gap:0;
    background:var(--paper);border-bottom:1px solid var(--rule);
    padding:8px 32px 16px;
  }
  .site-nav.open{display:flex;}
  .site-nav a{font-size:16px;padding:12px 0;border-bottom:1px solid var(--rule-fine);}
  .site-nav a[aria-current="page"]{box-shadow:none;}
}

@media (max-width:680px){
  .wrap{padding:0 20px;}
  .site-nav{padding:8px 20px 16px;}
  section{padding:60px 0;}
  .hero-video{min-height:78vh;}
  .hero-video .wrap{padding-bottom:48px;}
  .profile{grid-template-columns:1fr;gap:24px;}
  .portrait{max-width:200px;}
  .record-grid,.particulars{grid-template-columns:1fr;}
  .record-grid dd,.particulars dd{border-top:0;padding-top:0;padding-bottom:11px;}
  .record-grid dt,.particulars dt{padding-bottom:2px;}
  .career li{grid-template-columns:1fr;gap:2px;}
  .brand-text{font-size:17px;}
  .brand-text small{font-size:9.5px;}
  .brand img{width:30px;height:30px;}
}

@media (prefers-reduced-motion:reduce){
  .fade-in{opacity:1;transform:none;}
  .fade-in.shown{transition:none;}
  html{scroll-behavior:auto;}
}

@media print{
  .site-header,.nav-toggle,.hero-video video{display:none;}
  main{padding-top:0;}
  .fade-in{opacity:1;transform:none;}
}
.cv-note{font-size:13px;color:var(--ink-faint);}
