﻿/* ============================================================
   VK&S — Design System | 2026
   Vijaywargi Khabiya & Saoji · Chartered Accountants
   Single brand maroon + muted gold accent + neutral surfaces
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..700&family=Manrope:wght@200..800&display=swap');

/* ── DESIGN TOKENS ──
   Token names are kept stable for backwards-compat with downstream rules.
   The brand maroon is unified at #7b1d2e (matches nav/hero/footer accents).
   "navy" tokens are remapped to the same maroon family so legacy uses pick up the new brand.
*/
:root {
  /* Brand maroon (primary accent) */
  --navy:     #7b1d2e;
  --navy2:    #5a1322;
  --navy3:    #8a2338;
  --red:      #7b1d2e;
  --red2:     #5a1322;
  --red-lt:   #fbeef0;
  /* Muted gold (secondary accent — used for rules, eyebrows, hover lifts) */
  --gold:     #9d741f;
  --gold2:    #c49a1a;
  --gold3:    #d8b358;
  --gold-lt:  #f8efd8;
  --gold-bg:  #faf6e8;
  /* Neutrals (cooler, cleaner) */
  --ink:      #14181d;
  --ink2:     #2a2f36;
  --ink3:     #4f5660;
  --ink4:     #7c8590;
  --line:     #e6e6e2;
  --line2:    #efefea;
  --surf:     #f7f5f0;
  --surf2:    #f1ece2;
  --white:    #ffffff;
  --nav-h:    75px;
  --ease:     cubic-bezier(0.16,1,0.3,1);
  --ease2:    cubic-bezier(0.34,1.56,0.64,1);
  --t:        0.38s;
  --tf:       0.18s;
  --r:        12px;
  --rs:       10px;
  --rl:       14px;
  --sh-sm:    0 1px 3px rgba(20,24,29,.05);
  --sh-md:    0 4px 14px rgba(20,24,29,.07);
  --sh-lg:    0 12px 32px rgba(20,24,29,.09);
  --sh-gold:  0 4px 14px rgba(176,133,56,.14);
  --sh-navy:  0 4px 14px rgba(123,29,46,.14);
  --sh-red:   0 4px 14px rgba(123,29,46,.14);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;min-width:0}
::selection{background:rgba(123,29,46,.16);color:var(--ink)}
::-moz-selection{background:rgba(123,29,46,.16);color:var(--ink)}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;touch-action:pan-x pan-y}
body{font-family:'Manrope','Inter',system-ui,sans-serif;color:var(--ink);background:#fdfcf9;overflow-x:hidden;line-height:1.65;max-width:100vw}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:180px 180px}
img{max-width:100%;height:auto;display:block;-webkit-user-drag:none;user-select:none}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,textarea,select{font-family:inherit}

.skip-link{
  position:fixed;
  left:1rem;
  top:1rem;
  z-index:5000;
  transform:translateY(calc(-100% - 1.5rem));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.65rem 1rem;
  border-radius:999px;
  background:#fffaf3;
  color:#7b1d2e;
  border:1px solid rgba(123,29,46,.18);
  box-shadow:0 14px 32px rgba(43,24,24,.16);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:transform .18s ease;
}
.skip-link:focus{
  transform:translateY(0);
  outline:none;
}
:focus-visible{
  outline:2px solid rgba(123,29,46,.62);
  outline-offset:4px;
}
img[width][height]{
  height:auto;
}

@media (hover:hover) and (pointer:fine){
  html,
  body{
    cursor:url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 3.8 20.4 14.2l-7.2 1.05 4.15 6.75-3.05 1.8-4.02-6.72L5 22.15Z' fill='%23fffaf3' stroke='%237b1d2e' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M10.28 17.08 13.6 15.2' stroke='%23b08538' stroke-width='1.45' stroke-linecap='round'/%3E%3C/svg%3E") 5 4, auto;
  }
  a,
  button,
  [role="button"],
  .bento-card[data-card-href],
  .p-card[data-partner-link],
  .drawer-toggle,
  .mob-nav-item{
    cursor:inherit;
  }
  input,
  textarea,
  [contenteditable="true"]{
    cursor:text;
  }
}

/* ── TYPE SCALE ── */
h1,h2,h3{font-family:'Fraunces',Georgia,serif;line-height:1.08;letter-spacing:-.01em;color:var(--ink)}
h4{font-family:'Manrope','Inter',sans-serif;color:var(--ink)}
h1{font-size:clamp(2.1rem,5.2vw,4.2rem);font-weight:400}
h2{font-size:clamp(1.65rem,3.6vw,2.9rem);font-weight:400}
h3{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:500}
h4{font-size:.92rem;font-weight:600}
p{color:var(--ink3);line-height:1.82;font-size:.95rem;font-weight:300}

/* ── LAYOUT ── */
.container{max-width:1240px;margin:0 auto;padding:0 1.75rem;box-sizing:border-box}
.pad{padding:88px 0}
.pad-sm{padding:60px 0}
.tc{text-align:center}

/* ── UTILITIES ── */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.65rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#8a2338;margin-bottom:.9rem}
.eyebrow::before{content:'';width:20px;height:1px;background:currentColor;opacity:.8;flex-shrink:0}
.rule{width:36px;height:2px;background:var(--red);border-radius:2px;margin:.85rem 0 1.5rem}
.rule.c{margin:.85rem auto 1.5rem}
.rule.gold{background:var(--gold)}

/* ── BUTTONS ── three variants: primary (filled), outline (light bg), ghost (dark bg).
   .btn-gold / .btn-navy / .btn-red are kept as aliases of primary so existing markup keeps working. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.75rem;border-radius:999px;font-size:.82rem;font-weight:600;letter-spacing:.04em;transition:background var(--tf) var(--ease),color var(--tf) var(--ease),border-color var(--tf) var(--ease),transform var(--tf) var(--ease),box-shadow var(--tf) var(--ease);position:relative;overflow:hidden;white-space:nowrap;cursor:pointer;max-width:100%;flex-shrink:0;border:1.5px solid transparent}
.arr{width:14px;height:14px;flex-shrink:0;transition:transform var(--tf)}
.btn:hover .arr{transform:translateX(3px)}

/* Primary (filled maroon) */
.btn-primary,.btn-gold,.btn-navy,.btn-red{background:var(--navy);color:var(--white);box-shadow:var(--sh-sm)}
.btn-primary:hover,.btn-gold:hover,.btn-navy:hover,.btn-red:hover{background:var(--navy2);color:var(--white);transform:translateY(-1px);box-shadow:var(--sh-md)}

/* Outline (transparent on light bg) */
.btn-outline{background:transparent;color:var(--navy);border-color:rgba(123,29,46,.32)}
.btn-outline:hover{background:var(--navy);color:var(--white);border-color:var(--navy);transform:translateY(-1px)}

/* Ghost (transparent on dark bg — used inside .cta-strip etc.) */
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.34)}
.btn-ghost:hover{background:rgba(255,255,255,.10);color:var(--white);border-color:rgba(255,255,255,.7);transform:translateY(-1px)}

/* ══════════════════════════════════════
   NAV
══════════════════════════════════════ */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);overflow:visible;background:#f7efe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:none;transition:box-shadow var(--t),background var(--t);z-index:1000}
.nav.scrolled{background:#f7efe6;box-shadow:none}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:calc(var(--nav-h) - 14px);
  margin-top:7px;
  padding:.34rem .72rem;
  gap:1.7rem;
  border-radius:16px;
  background:linear-gradient(180deg,#fffaf3 0%,#f7efe6 100%);
  border:1px solid rgba(123,33,53,.08);
  box-shadow:0 14px 28px rgba(76,32,20,.07), inset 0 1px 0 rgba(255,255,255,.84);
}

/* Logo */
.logo{display:flex;align-items:center;gap:.78rem;flex-shrink:0;min-width:0;text-decoration:none}
.logo-img{width:55px;height:55px;object-fit:contain;flex-shrink:0}
.nav .logo-img{
  mix-blend-mode:multiply;
  isolation:isolate;
  background:transparent;
}
.logo-text{display:flex;flex-direction:column;justify-content:center;gap:.2rem;line-height:1.04;min-width:0}
.logo-firm{font-family:'Manrope','Inter',system-ui,sans-serif;font-size:1.05rem;font-weight:600;color:#341c1f;white-space:nowrap;line-height:1.02;letter-spacing:.01em}
.logo-tag{font-family:'Manrope','Inter',system-ui,sans-serif;font-size:.57rem;font-weight:600;color:#171717;letter-spacing:.08em;white-space:nowrap;line-height:1.1}
.nav .logo{
  gap:.95rem;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  padding:.1rem .2rem .1rem 0;
  min-width:0;
  max-width:410px;
  margin-right:auto;
}
.nav .logo-img{
  position:relative;
  z-index:1;
  width:64px;
  height:64px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.nav .logo-text{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  align-items:flex-start;
  justify-content:center;
  gap:.22rem;
  position:relative;
  z-index:1;
  padding:.28rem 0 .24rem;
}
.nav .logo-firm{
  position:relative;
  z-index:1;
  font-size:1.12rem;
  font-weight:600;
  color:#8a2338;
  letter-spacing:.01em;
  white-space:nowrap;
  line-height:1;
  text-shadow:0 1px 0 rgba(255,255,255,.65);
}
.nav .logo-tag{
  position:relative;
  z-index:1;
  display:block;
  align-self:flex-start;
  min-height:auto;
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  color:#171717;
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.03em;
  white-space:nowrap;
  text-align:left;
  line-height:1.15;
  box-shadow:none;
}

/* Nav links */
.nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.12rem;
  flex:0 1 auto;
  min-width:max-content;
  margin-left:auto;
  padding:0;
  border-radius:0;
  background:none;
  border:none;
}
.nav-item{position:relative}
.nav-links a,.nav-drop-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  line-height:1;
  font-size:.74rem;
  font-weight:600;
  color:#2f201f;
  padding:.54rem .62rem;
  border-radius:999px;
  transition:color var(--tf),background var(--tf),transform var(--tf),box-shadow var(--tf);
  position:relative;
  white-space:nowrap
}
.nav-links a::after,.nav-drop-toggle::after{content:'';position:absolute;bottom:4px;left:.6rem;right:.6rem;height:1.5px;background:#7b2135;transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease);border-radius:2px}
.nav-links a:hover,.nav-links a.active{color:#2f201f;background:rgba(123,33,53,.08)}
.nav-drop-toggle:hover,.nav-item.open .nav-drop-toggle,.nav-drop-toggle.active{color:#7b2135;background:#fff4df;box-shadow:inset 0 0 0 1px rgba(196,154,26,.24)}
.nav-links a:hover::after,.nav-links a.active::after,.nav-item.open .nav-drop-toggle::after,.nav-drop-toggle.active::after{transform:scaleX(1)}
.nav-links a.active{color:#2f201f;font-weight:700}
.nav-links a.active::after{background:#7b2135}
.nav-drop-toggle{display:inline-flex;align-items:center;gap:.38rem;border:none;background:none;font-family:inherit;cursor:pointer}
.nav-drop-toggle::after{display:none}
.nav-drop-toggle svg{width:12px;height:12px;transition:transform var(--t) var(--ease)}
.nav-item.open .nav-drop-toggle svg{transform:rotate(180deg)}
.nav-dropdown{counter-reset:navdrop;position:absolute;top:calc(100% + .65rem);left:50%;width:min(500px,calc(100vw - 2rem));min-width:0;max-width:calc(100vw - 2rem);padding:.55rem;background:linear-gradient(145deg,rgba(255,250,243,.98) 0%,rgba(247,239,230,.96) 100%);border:1px solid rgba(123,33,53,.12);border-top:2px solid rgba(196,154,26,.62);border-radius:24px;box-shadow:0 26px 60px rgba(76,32,20,.16),inset 0 1px 0 rgba(255,255,255,.82);opacity:0;visibility:hidden;transform:translate(-50%,10px) scale(.98);transform-origin:top center;transition:opacity .22s ease,transform .26s var(--ease),visibility .22s;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden}
.nav-dropdown::before{content:'';position:absolute;top:-7px;left:50%;width:14px;height:14px;background:#fffaf3;border-left:1px solid rgba(123,33,53,.12);border-top:1px solid rgba(123,33,53,.12);transform:translateX(-50%) rotate(45deg);z-index:0}
.nav-dropdown::after{content:'';position:absolute;inset:-35% -18% auto auto;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(196,154,26,.14) 0%,rgba(196,154,26,0) 68%);pointer-events:none}
.nav-item.open .nav-dropdown,.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.nav-dropdown a{counter-increment:navdrop;position:relative;z-index:1;display:grid;grid-template-columns:2.35rem minmax(0,1fr);align-items:center;column-gap:.75rem;row-gap:.12rem;padding:.82rem 1.8rem .82rem .78rem;border-radius:18px;border-bottom:none;background:rgba(255,255,255,.36);transition:background var(--tf),transform var(--tf),box-shadow var(--tf),border-color var(--tf);overflow:hidden;white-space:normal}
.nav-dropdown a + a{margin-top:.22rem}
.nav-dropdown a::before{content:counter(navdrop, decimal-leading-zero);grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border-radius:50%;background:#fff4df;border:1px solid rgba(196,154,26,.32);color:#8a2338;font-size:.58rem;font-weight:900;letter-spacing:.06em}
.nav-dropdown a::after{content:'\2192';display:block;position:absolute;right:.9rem;top:50%;height:auto;background:none;transform:translateY(-50%) translateX(-4px);opacity:0;color:#8a2338;font-size:.95rem;font-weight:800;transition:opacity var(--tf),transform var(--tf)}
.nav-dropdown a span{min-width:0;font-size:.82rem;font-weight:800;color:#2f201f;letter-spacing:0;white-space:normal}
.nav-dropdown a small{min-width:0;font-size:.7rem;line-height:1.5;color:#76675f;white-space:normal;overflow-wrap:anywhere}
.nav-links .nav-dropdown a{min-height:auto;justify-content:stretch;text-align:left;line-height:1.25;padding:.82rem 1.8rem .82rem .78rem;white-space:normal}
.nav-dropdown a:hover{background:#fff;transform:translateX(4px);box-shadow:0 12px 24px rgba(76,32,20,.08)}
.nav-dropdown a:hover::before{background:#8a2338;border-color:#8a2338;color:#fff}
.nav-dropdown a:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}

@media(min-width:901px){
  .nav-item.has-dropdown::before{
    content:'';
    position:absolute;
    top:100%;
    left:0;
    right:0;
    height:.85rem;
  }
  .nav-item:focus-within .nav-drop-toggle{
    color:#7b2135;
    background:#fff4df;
    box-shadow:inset 0 0 0 1px rgba(196,154,26,.24);
  }
  .nav-item:focus-within .nav-drop-toggle svg{
    transform:rotate(180deg);
  }
}
.nav-timesheet-btn{color:#7b2135!important;background:#fff8e8!important;box-shadow:inset 0 0 0 1px rgba(196,154,26,.34);font-weight:800!important}
.nav-timesheet-btn:hover{background:#fff1ca!important;color:#5f1828!important;transform:translateY(-1px)}
.nav-timesheet-btn::after{background:#c49a1a!important}
.nav-cta-btn{background:#8a2338!important;color:var(--white)!important;padding:.72rem 1.12rem!important;border-radius:999px!important;font-size:.68rem!important;font-weight:800!important;letter-spacing:.08em!important;white-space:nowrap!important;box-shadow:0 10px 22px rgba(138,35,56,.2)}
.nav-cta-btn:hover{background:#6f1d2d!important;transform:translateY(-1px)!important}
.nav-cta-btn::after{display:none!important}

/* Hamburger */
.ham{display:none;flex-direction:column;gap:5px;padding:10px;border-radius:16px;cursor:pointer;flex-shrink:0;background:rgba(255,255,255,.38);border:1px solid rgba(123,33,53,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.ham span{display:block;width:22px;height:1.5px;background:var(--red);border-radius:2px;transition:all .3s var(--ease)}
.ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ham.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile drawer */
.drawer{display:block;position:fixed;inset:0;background:
  radial-gradient(circle at 100% 0%, rgba(176,28,46,.08) 0%, rgba(176,28,46,0) 26%),
  linear-gradient(180deg,#f8f1e8 0%,#f4eadf 52%,#efe3d6 100%);
z-index:999;padding:calc(var(--nav-h) + 1rem) 1rem calc(1.4rem + env(safe-area-inset-bottom));transform:translateX(100%);transition:transform .34s var(--ease);overflow-y:auto;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.drawer.open{transform:translateX(0);pointer-events:all}
.drawer a{display:block;font-size:1.02rem;font-family:'Fraunces',serif;color:#2b1818;padding:.9rem 1rem;border:1px solid rgba(123,33,53,.08);transition:color var(--tf),padding-left var(--tf),background var(--tf),border-color var(--tf),transform var(--tf),box-shadow var(--tf);animation:drawerItem .4s var(--ease) both;background:rgba(255,252,248,.82);border-radius:16px;margin-bottom:.55rem;box-shadow:0 10px 24px rgba(76,32,20,.08);position:relative;overflow:hidden;letter-spacing:.01em}
.drawer a::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#8a2338 0%,rgba(138,35,56,.16) 100%);opacity:.65}
.drawer a::after{display:none}
.drawer a:hover{color:#2b1818;padding-left:1.12rem;background:#fffdf9;border-color:rgba(123,33,53,.12);transform:translateY(-1px);box-shadow:0 14px 28px rgba(76,32,20,.1)}
.drawer a:hover::before,.drawer-group.open .drawer-toggle::before{opacity:1;transform:scaleY(1)}
.drawer a:last-child{margin-top:.8rem}
.drawer-group{border:1px solid rgba(123,33,53,.08);margin-bottom:.55rem;background:rgba(255,251,247,.72);border-radius:16px;padding:0 .85rem;box-shadow:0 10px 24px rgba(76,32,20,.08);position:relative;overflow:hidden}
.drawer-group::after{content:'';position:absolute;inset:auto 14px 0 14px;height:1px;background:linear-gradient(90deg,rgba(123,33,53,0),rgba(123,33,53,.1),rgba(123,33,53,0))}
.drawer-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:1.02rem;font-family:'Fraunces',serif;color:#2b1818;padding:.95rem 0;transition:color var(--tf);position:relative;font-weight:600}
.drawer-toggle::before{content:'';position:absolute;inset:0 auto 0 -.85rem;width:3px;background:linear-gradient(180deg,#8a2338 0%,rgba(138,35,56,.16) 100%);opacity:.55;transform:scaleY(.62);transform-origin:center;transition:opacity var(--tf),transform var(--tf)}
.drawer-toggle svg{width:18px;height:18px;transition:transform var(--t) var(--ease)}
.drawer-group.open .drawer-toggle{color:#8a2338}
.drawer-group.open .drawer-toggle svg{transform:rotate(180deg)}
.drawer-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease)}
.drawer-group.open .drawer-panel{grid-template-rows:1fr}
.drawer-panel-inner{overflow:hidden;padding:.1rem 0 .75rem .2rem}
.drawer-panel a{
  position:relative;
  font-size:.82rem;
  padding:.62rem .76rem .62rem 1rem;
  color:#6a5c55;
  border:none;
  animation:none;
  background:transparent;
  margin-bottom:.14rem;
  box-shadow:none;
  border-radius:10px;
  font-family:'Manrope','Inter',sans-serif;
}
.drawer-panel a::before{
  content:'';
  position:absolute;
  left:.18rem;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(138,35,56,.42);
  transform:translateY(-50%);
}
.drawer-panel a:hover{
  color:#2b1818;
  background:rgba(143,22,36,.05);
  padding-left:1.08rem;
  transform:none;
  box-shadow:none;
}
.drawer-panel a:last-child{margin-top:0;color:#6a5c55;background:transparent}
@keyframes drawerItem{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.hero{position:relative;height:100vh;min-height:600px;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-h) + 2.5rem) 0 3rem;overflow:hidden;background:linear-gradient(135deg,#fcf8f1 0%,#f7efe4 50%,#efe7df 100%)}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(circle at 16% 22%, rgba(138,35,56,.09) 0%, rgba(138,35,56,0) 30%),
  radial-gradient(circle at 82% 28%, rgba(196,154,26,.12) 0%, rgba(196,154,26,0) 28%),
  linear-gradient(115deg,rgba(252,248,241,.99) 0%,rgba(247,240,230,.95) 52%,rgba(240,232,222,.92) 100%);z-index:1;filter:saturate(1.02) contrast(1)}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(251,247,240,.18) 0%,rgba(247,240,230,.1) 48%,rgba(91,62,54,.035) 100%)}
.hero-mesh{position:absolute;inset:0;background:
  radial-gradient(circle at 18% 20%, rgba(138,35,56,.08) 0%, rgba(138,35,56,0) 30%),
  radial-gradient(circle at 84% 54%, rgba(196,154,26,.05) 0%, rgba(196,154,26,0) 24%),
  linear-gradient(to right,rgba(251,247,241,.97) 0%,rgba(247,241,232,.84) 56%,rgba(105,82,74,.05) 100%);
z-index:2}
.hero-sketches{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.hero-sketch{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.42rem;color:rgba(123,29,46,.25);filter:drop-shadow(0 10px 22px rgba(120,66,45,.06));animation:heroSketchFloat 14s ease-in-out infinite}
.hero-sketch svg{display:block;width:100%;height:auto;overflow:visible;transform:rotate(var(--sketch-rot,0deg));transform-origin:50% 52%}
.hero-sketch span{display:block;margin-top:0;min-width:max-content;font-family:'Manrope','Inter',sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(154,116,23,.82);white-space:nowrap;text-align:center}
/* 2 sketches on the LEFT (top + bottom) + 2 on the RIGHT (top + bottom).
   Insets are generous so SVGs and labels never get clipped at viewport edges.
   Top zone is above the firm name (top:6% area), bottom zone is below the CTAs (bottom:7% area). */
.sketch-calc{top:calc(var(--nav-h) + 1.35rem);left:3.5%;width:96px;--sketch-rot:-7deg;animation-delay:-2s}
.sketch-tax{top:calc(var(--nav-h) + .85rem);right:2.6%;width:84px;--sketch-rot:7deg;animation-delay:-7s}
.sketch-scales{bottom:7%;left:3.5%;width:118px;--sketch-rot:6deg;animation-delay:-4s}
.sketch-ibc{bottom:7%;right:4.5%;width:114px;--sketch-rot:7deg;animation-delay:-11s}
/* Hide on smaller viewports where firm name and content extend across the row */
@media (max-width:1100px){ .hero-sketches{display:none} }
.hero-peer-stamp{--stamp-start-rot:-18deg;--stamp-start-scale:1.18;--stamp-bounce-rot:-9deg;--stamp-bounce-scale:.96;--stamp-final-rot:-10deg;--stamp-final-scale:1;--stamp-hover-rot:-8deg;--stamp-hover-scale:1.045;position:absolute;right:clamp(11.5rem,19vw,18.5rem);top:clamp(18.8rem,47vh,24.4rem);z-index:6;border:none;background:none;padding:0;cursor:pointer;pointer-events:auto;opacity:1;transform:translate3d(0,0,0) rotate(var(--stamp-final-rot)) scale(var(--stamp-final-scale));transition:filter var(--tf)}
/* `both` = stamp starts invisible (0% keyframe held during the 1.05s delay), then animates in once and freezes at the final state. */
.hero-peer-stamp.is-live{animation:stampLand .82s 1.05s cubic-bezier(.2,.9,.24,1.18) both}
.hero-peer-stamp:hover{filter:drop-shadow(0 18px 28px rgba(43,36,34,.16))}
.hero-peer-stamp.is-live:hover{transform:translate3d(0,0,0) rotate(var(--stamp-hover-rot)) scale(var(--stamp-hover-scale))}
.hero-peer-stamp-ring{position:relative;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff 0%,#fffdf8 50%,#f3eee4 100%);box-shadow:0 20px 42px rgba(43,36,34,.13),inset 0 2px 0 rgba(255,255,255,.96),inset 0 -10px 22px rgba(43,36,34,.05);overflow:visible}
.hero-peer-stamp-halo{position:absolute;inset:-13px;border-radius:50%;background:radial-gradient(circle,rgba(43,36,34,.10),rgba(43,36,34,0) 68%);opacity:.5}
.hero-peer-stamp-ring::before{content:'';position:absolute;inset:13px;border-radius:50%;border:2px dashed rgba(43,36,34,.54)}
/* One-shot impact ring — tied to the live class so it restarts with the stamp. */
.hero-peer-stamp-ring::after{content:'';position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(145,27,52,.28);opacity:0}
.hero-peer-stamp.is-live .hero-peer-stamp-ring::after{animation:stampImpact .7s 1.5s ease-out forwards}
.hero-peer-stamp-ring svg{position:absolute;inset:0;width:132px;height:132px;display:block;filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}
.hero-peer-stamp-ring circle{fill:none}
.stamp-outer-circle{stroke:#7b2135;stroke-width:4.5}
.stamp-inner-circle{stroke:#2f2a28;stroke-width:2.5}
.hero-peer-stamp-curve{position:absolute;inset:0;z-index:2;width:132px;height:132px;overflow:visible;pointer-events:none}
.hero-peer-stamp-curve path{fill:none}
.hero-peer-stamp-curve text{font-family:'Manrope','Inter',sans-serif;font-size:9px;font-weight:950;letter-spacing:.2em;fill:#2f2a28;text-transform:uppercase}
.hero-peer-stamp-center{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#2f2a28;width:82px;height:82px;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:inset 0 0 0 1px rgba(43,36,34,.1);opacity:1;transform:scale(1);animation:none;overflow:hidden}
/* Shine sweep removed — stamp stays still after landing for a "stamped & done" feel. */
.hero-peer-stamp-center strong{position:relative;z-index:1;font-family:'Manrope','Inter',sans-serif;font-size:.94rem;font-weight:950;line-height:1;color:#7b2135;letter-spacing:.2em;text-transform:uppercase}
.hero-peer-stamp-center span{position:relative;z-index:1;font-size:.5rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:#2f2a28;margin-top:.32rem;line-height:1.12}
.hero-peer-stamp-center i{position:relative;z-index:1;display:grid;place-items:center;width:21px;height:21px;margin-top:.34rem;border-radius:50%;background:#b98a2f;color:#fff;font-style:normal;font-size:.82rem;font-weight:900;line-height:1}
.hero-peer-stamp-center small{position:relative;z-index:1;font-size:.45rem;font-weight:950;letter-spacing:.22em;text-transform:uppercase;color:#2f2a28;margin-top:.32rem;line-height:1}
.hero-peer-mobile{display:none}
.hero-content{position:relative;z-index:5;max-width:760px;padding:0}
.hero-est{display:inline-flex;align-items:center;gap:.75rem;font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(123,29,46,.85);margin-bottom:1.5rem;animation:fadeUp .8s .1s var(--ease) both}
.hero-est::before,.hero-est::after{content:'';height:1px;background:rgba(123,29,46,.3);width:28px;flex-shrink:0}
.hero h1{color:#8a2338;font-weight:400;line-height:1.06;animation:fadeUp .9s .25s var(--ease) both}
.hero-name{display:block;font-family:'Manrope','Inter',system-ui,sans-serif;font-weight:600;font-size:85px}
.hero-name-desktop{white-space:nowrap}
.hero-name-mobile{display:none}
.hero h1 em{font-family:'Manrope','Inter',system-ui,sans-serif;font-size:clamp(1.85rem,4vw,3.35rem);font-style:normal;font-weight:600;color:#2a1a18;display:block;white-space:nowrap;letter-spacing:-.03em;max-width:100%}
.hero h1 small{display:block;font-size:.4em;font-weight:500;color:rgba(42,26,24,.72);font-style:normal;font-family:'Manrope','Inter',sans-serif;letter-spacing:.06em;margin-top:.55rem}
.hero-desc{max-width:560px;margin:1.1rem 0 2rem;font-size:.94rem;color:rgba(32,19,18,.8);line-height:1.85;animation:fadeUp .8s .55s var(--ease) both}
.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;animation:fadeUp .8s .65s var(--ease) both}
/* Hero btn overrides removed — primary aliases now handle hero CTAs uniformly. */
.hero .btn-ghost{background:transparent;color:var(--ink);border-color:rgba(20,24,29,.18)}
.hero .btn-ghost:hover{background:var(--navy);color:var(--white);border-color:var(--navy);transform:translateY(-1px)}
@keyframes handBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}

/* ══════════════════════════════════════
   STATS BAR
══════════════════════════════════════ */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(180deg,#fffaf3 0%,#f6eadc 100%);border-top:1px solid rgba(123,33,53,.08);border-bottom:1px solid rgba(123,33,53,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);max-width:100%;overflow:hidden}
.stat-cell{padding:1.45rem 1.25rem;text-align:center;border-right:1px solid rgba(123,33,53,.1);position:relative;transition:background var(--t)}
.stat-cell:last-child{border-right:none}
.stat-cell:hover{background:rgba(196,154,26,.08)}
.stat-n{font-family:'Fraunces',serif;font-size:clamp(1.85rem,3.4vw,2.65rem);font-weight:500;color:#8a2338;line-height:1;margin-bottom:.32rem}
.stat-l{font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8a6d60}

/* ══════════════════════════════════════
   ABOUT (index section)
══════════════════════════════════════ */
.about-grid{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:4.5rem;align-items:start}
.about-visual{position:relative}
.about-img-main{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh-lg)}
.about-img-badge{position:absolute;bottom:-1.25rem;right:-1.25rem;background:var(--navy);color:var(--white);padding:1.25rem 1.4rem;border-radius:var(--r);box-shadow:var(--sh-navy);text-align:center}
.about-img-badge .n{font-family:'Fraunces',serif;font-size:2.5rem;font-weight:400;color:var(--gold2);line-height:1;display:block}
.about-img-badge .l{font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:.25rem;display:block;line-height:1.5}
.about-copy{padding-top:.5rem}
.about-quote{background:var(--gold-bg);border-left:3px solid var(--gold);padding:1.2rem 1.4rem;border-radius:0 var(--r) var(--r) 0;margin:1.4rem 0 1.75rem}
.about-quote p{font-family:'Fraunces',serif;font-size:1.08rem;font-weight:400;font-style:italic;color:var(--ink2);line-height:1.6}
.about-quote cite{font-size:.67rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:.45rem;display:block}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-top:1.5rem}
.pillar{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem .9rem;text-align:center;transition:all var(--t)}
.pillar:hover{background:var(--white);border-color:var(--gold);box-shadow:var(--sh-gold);transform:translateY(-3px)}
.pillar-icon{font-size:1.4rem;margin-bottom:.5rem}
.pillar h4{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);margin-bottom:.25rem}
.pillar p{font-size:.76rem;color:var(--ink4)}

/* ══════════════════════════════════════
   SERVICES BENTO GRID
══════════════════════════════════════ */
.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.5rem}
.bento-card{border-radius:var(--rl);padding:1.85rem 1.6rem;position:relative;overflow:hidden;transition:all var(--t) var(--ease);cursor:default;border:1px solid rgba(123,33,53,.1);background:linear-gradient(145deg,#fffefa 0%,#fff8ef 100%);box-shadow:0 10px 28px rgba(76,32,20,.04)}
.bento-card::before{content:'';position:absolute;bottom:-2rem;right:-2rem;width:110px;height:110px;border-radius:50%;transition:transform var(--t) var(--ease)}
.bento-card::after{content:'';position:absolute;left:0;top:1.15rem;bottom:1.15rem;width:3px;background:linear-gradient(180deg,#8a2338,#c49a1a);opacity:.72}
.bento-card:hover{transform:translateY(-4px)}
.bento-card:hover::before{transform:scale(2.8)}
.bento-card:hover .bc-arrow{opacity:1;transform:translateX(0)}
.bento-card[data-card-href]{cursor:pointer}
.bento-card[data-card-href]:focus-visible{outline:2px solid rgba(138,35,56,.5);outline-offset:4px}
.bento-card.is-opening{animation:bentoCardOpen .34s cubic-bezier(.2,.9,.24,1) both}

/* Uniform light cards */
.bento-grid .bento-card::before{background:rgba(196,154,26,.07)}
.bento-grid .bento-card:hover{border-color:rgba(196,154,26,.55);box-shadow:0 18px 42px rgba(76,32,20,.09)}
.bento-grid .bento-card:hover .bc-icon{background:#8a2338;color:#fff;border-color:#8a2338}

.bc-icon{width:44px;height:44px;border-radius:var(--rs);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;border:1px solid;flex-shrink:0;transition:all var(--t)}
.bc-icon svg{width:22px;height:22px;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}

.bento-grid .bento-card .bc-icon{background:rgba(255,255,255,.72);border-color:rgba(138,35,56,.12);color:#8a2338}

.bc-tag{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}
.bento-grid .bento-card .bc-tag{color:#9a7417}

.bc-title{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:500;line-height:1.2;margin-bottom:.65rem}
.bento-grid .bento-card .bc-title{color:var(--ink)}

.bc-desc{font-size:.8rem;line-height:1.7;margin-bottom:1rem}
.bento-grid .bento-card .bc-desc{color:var(--ink4)}

.bc-arrow{font-size:.78rem;font-weight:600;opacity:.4;transform:translateX(-4px);transition:all var(--tf);display:inline-block}
.bento-grid .bento-card .bc-arrow{color:#8a2338}

/* ══════════════════════════════════════
   PARTNERS (home + page)
══════════════════════════════════════ */
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.pf-card{background:var(--white);border:1px solid var(--line2);border-radius:var(--rl);overflow:hidden;transition:all var(--t);box-shadow:var(--sh-sm)}
.pf-card:hover{box-shadow:var(--sh-md);transform:translateY(-5px);border-color:var(--gold)}
.pf-img-wrap{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--navy)}
.pf-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s var(--ease)}
.pf-card:hover .pf-img-wrap img{transform:scale(1.05)}
.pf-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,27,62,.7) 0%,transparent 60%);display:flex;align-items:flex-end;padding:1rem}
.pf-img-spec{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.pf-body{padding:1.4rem 1.5rem}
.pf-name-sm{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:500;color:var(--ink);margin-bottom:.25rem}
.pf-years{font-size:.75rem;color:var(--ink4);margin-bottom:1rem}
.pf-tags-sm{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.1rem}
.pf-tag-sm{font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.22rem .65rem;border-radius:40px;background:var(--surf);color:var(--navy);border:1px solid var(--line2)}
.pf-contact-btns{display:flex;gap:.5rem;flex-wrap:wrap}
.pf-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;padding:.42rem .8rem;border-radius:var(--rs);transition:all var(--tf);flex-shrink:0}
.pf-btn-wa{background:#25d366;color:var(--white)}
.pf-btn-wa:hover{background:#128c7e}
.pf-btn-li{background:#0a66c2;color:var(--white)}
.pf-btn-li:hover{background:#004182}
.pf-btn-mail{background:var(--surf);color:var(--ink3);border:1px solid var(--line)}
.pf-btn-mail:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.pf-btn svg{width:13px;height:13px;flex-shrink:0}

/* Partner Feature page layout */
.partner-feature{padding:72px 0;border-bottom:1px solid var(--line2)}
.partner-feature:last-of-type{border:none}
.pf-layout{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:4rem;align-items:start}
.pf-layout.flip{grid-template-columns:1fr minmax(0,300px)}
.pf-layout.flip .pf-img-col{order:2}
.pf-layout.flip .pf-content{order:1}
.pf-sticky{position:sticky;top:calc(var(--nav-h) + 1.5rem)}
.pf-img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:var(--r);box-shadow:var(--sh-md)}
.pf-info-card{background:var(--navy);border-radius:var(--r);padding:1.5rem;margin-top:1rem}
.pf-badge{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);margin-bottom:1rem}
.pf-mobile-link{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;color:rgba(255,255,255,.75);padding:.55rem .75rem;background:rgba(255,255,255,.07);border-radius:var(--rs);margin-bottom:.4rem;transition:all var(--tf)}
.pf-mobile-link:hover{background:rgba(255,255,255,.12);color:var(--white)}
.pf-wa-link{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--white);padding:.55rem .75rem;background:#25d366;border-radius:var(--rs);margin-bottom:.4rem;transition:all var(--tf)}
.pf-wa-link:hover{background:#128c7e}
.pf-linkedin{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--white);padding:.55rem .75rem;background:#0a66c2;border-radius:var(--rs);margin-bottom:.4rem;transition:all var(--tf)}
.pf-linkedin:hover{background:#004182}
.pf-email{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--ink3);padding:.55rem .75rem;background:var(--surf);border-radius:var(--rs);transition:all var(--tf);margin-top:.2rem}
.pf-email:hover{background:var(--navy);color:var(--white)}

.pf-name{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:.35rem}
.pf-spec{font-size:.8rem;font-weight:500;color:var(--ink4);margin-bottom:.75rem;letter-spacing:.02em}
.pf-bio{font-size:.9rem;line-height:1.85;color:var(--ink3);margin-bottom:1rem}
.pf-areas h4{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);margin-bottom:.75rem}
.pf-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.pf-tag{font-size:.68rem;font-weight:500;padding:.28rem .75rem;border-radius:40px;background:var(--surf);color:var(--navy);border:1px solid var(--line2);transition:all var(--tf)}
.pf-tag:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}

/* Other Team Members */
.tm-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2rem}
.tm-card{background:var(--white);border:1px solid var(--line2);border-radius:var(--rl);padding:1.4rem 1rem;text-align:center;transition:all var(--t)}
.tm-card:hover{box-shadow:var(--sh-md);transform:translateY(-4px);border-color:var(--gold)}
.tm-av{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--white);margin:0 auto 1rem;letter-spacing:.04em}
.tm-name{font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:.25rem}
.tm-spec{font-size:.72rem;color:var(--ink4)}

.article-banner{display:flex;align-items:center;gap:1.75rem;background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:var(--r);padding:1.75rem 2rem;color:var(--white)}
.ab-num{font-family:'Fraunces',serif;font-size:2.8rem;font-weight:300;color:var(--gold2);line-height:1;flex-shrink:0}
.article-banner h4{color:var(--white);margin-bottom:.25rem}
.article-banner p{font-size:.82rem;color:rgba(255,255,255,.5)}

/* ══════════════════════════════════════
   INDUSTRIES
══════════════════════════════════════ */
.ind-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:3rem}
.home-partners-preview{padding-bottom:44px}
.home-partners-preview + .home-industries{padding-top:44px}
.home-industries{padding-bottom:30px}
.ind-cell{background:var(--white);padding:1.6rem .75rem;text-align:center;transition:all var(--t);cursor:default;position:relative;overflow:hidden}
.ind-cell::after{content:'';position:absolute;inset:0;background:var(--navy);transform:scaleY(0);transform-origin:bottom;transition:transform var(--t) var(--ease);z-index:0}
.ind-cell:hover::after{transform:scaleY(1)}
.ind-icon{font-size:1.55rem;margin-bottom:.55rem;transition:transform var(--t);position:relative;z-index:1}
.ind-cell:hover .ind-icon{transform:scale(1.1)}
.ind-name{font-size:.67rem;font-weight:600;letter-spacing:.04em;color:var(--ink3);transition:color var(--t);position:relative;z-index:1}
.ind-cell:hover .ind-name{color:rgba(255,255,255,.8)}

/* ══════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════ */
.testimonials{background:var(--navy);padding:80px 0;position:relative;overflow:hidden}
.testimonials::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.5rem}
.t-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:var(--rl);padding:1.85rem 1.6rem;transition:all var(--t);position:relative;overflow:hidden}
.t-card::before{content:'❝';position:absolute;top:.25rem;right:1.1rem;font-size:3.8rem;color:rgba(196,154,26,.1);font-family:'Fraunces',serif;line-height:1}
.t-card:hover{background:rgba(255,255,255,.07);border-color:rgba(196,154,26,.22);transform:translateY(-4px)}
.t-quote{font-family:'Fraunces',serif;font-size:1.02rem;font-weight:400;font-style:italic;color:rgba(255,255,255,.7);line-height:1.72;margin-bottom:1.4rem;position:relative;z-index:1}
.t-author{display:flex;align-items:center;gap:.8rem}
.t-avatar{width:40px;height:40px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--navy);flex-shrink:0}
.t-name{font-size:.82rem;font-weight:600;color:var(--white)}
.t-co{font-size:.7rem;color:rgba(255,255,255,.32)}

/* ══════════════════════════════════════
   PUBLICATIONS
══════════════════════════════════════ */
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.5rem}
.pub-card{background:var(--white);border:1px solid var(--line2);border-radius:var(--rl);padding:1.65rem;transition:all var(--t);position:relative;overflow:hidden;display:flex;flex-direction:column}
.pub-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2.5px;background:linear-gradient(90deg,var(--gold),var(--red));transform:scaleX(0);transform-origin:left;transition:transform var(--t)}
.pub-card:hover{box-shadow:var(--sh-md);transform:translateY(-4px)}
.pub-card:hover::after{transform:scaleX(1)}
.pub-tag{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);background:var(--red-lt);padding:.2rem .6rem;border-radius:40px;margin-bottom:.85rem;flex-shrink:0}
.pub-title{font-family:'Fraunces',serif;font-size:1.12rem;font-weight:500;color:var(--ink);margin-bottom:.55rem;line-height:1.3;flex:1}
.pub-excerpt{font-size:.8rem;color:var(--ink4);line-height:1.7;margin-bottom:.85rem}
.pub-meta{font-size:.67rem;font-weight:600;color:var(--ink4);letter-spacing:.04em;margin-top:auto}

/* ══════════════════════════════════════
   ACHIEVEMENTS
══════════════════════════════════════ */
.achieve-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}
.achieve-card{background:var(--white);border:1px solid var(--line2);border-radius:var(--rl);padding:1.85rem 1.25rem;text-align:center;position:relative;overflow:hidden;transition:all var(--t)}
.achieve-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.achieve-card:nth-child(1)::before{background:var(--gold)}
.achieve-card:nth-child(2)::before{background:var(--navy)}
.achieve-card:nth-child(3)::before{background:var(--red)}
.achieve-card:nth-child(4)::before{background:var(--gold)}
.achieve-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--gold)}
.achieve-icon{font-size:1.85rem;margin-bottom:.65rem}
.achieve-num{font-family:'Fraunces',serif;font-size:2.6rem;font-weight:400;color:var(--navy);line-height:1;margin-bottom:.3rem}
.achieve-num span{font-size:1.5rem;color:var(--gold)}
.achieve-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink4);line-height:1.5}
.legacy-home-section{display:none}
.firm-overview{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2.5rem;align-items:start}
.firm-overview-copy{max-width:640px}
.firm-overview-single{grid-template-columns:minmax(0,1fr)}
.firm-overview-single .firm-overview-copy{max-width:900px}
.firm-overview .pillar{padding:1rem .9rem}
.firm-overview .pillar-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  min-height:28px;
  padding:0 .75rem;
  border-radius:999px;
  margin-bottom:.7rem;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--navy);
  background:var(--gold-bg);
  border:1px solid rgba(196,154,26,.28);
}
.achieve-grid-compact{grid-template-columns:repeat(2,1fr);margin-top:0}
.achieve-grid-compact .achieve-card{
  min-height:170px;
  padding:1.55rem 1.45rem;
  border-radius:22px;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid rgba(196,154,26,.16);
  box-shadow:0 18px 44px rgba(76,32,20,.08);
  background:
    radial-gradient(circle at top right, rgba(196,154,26,.08), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, #fbf7ef 100%);
}
.achieve-grid-compact .achieve-card::before{height:4px}
.achieve-grid-compact .achieve-card::after{
  content:'';
  position:absolute;
  right:-22px;
  bottom:-22px;
  width:96px;
  height:96px;
  border-radius:50%;
  background:rgba(196,154,26,.08);
}
.achieve-grid-compact .achieve-card:nth-child(2){
  background:
    radial-gradient(circle at top right, rgba(13,27,62,.09), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, #f8f6f2 100%);
}
.achieve-grid-compact .achieve-card:nth-child(3){
  background:
    radial-gradient(circle at top right, rgba(176,28,46,.08), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, #fcf7f7 100%);
}
.achieve-grid-compact .achieve-card:nth-child(4){
  background:
    radial-gradient(circle at top right, rgba(196,154,26,.08), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, #fbf7ef 100%);
}
.achieve-grid-compact .achieve-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 52px rgba(76,32,20,.12);
}
.achieve-grid-compact .achieve-num{
  font-size:3.2rem;
  margin-bottom:.75rem;
  letter-spacing:-.03em;
}
.achieve-grid-compact .achieve-num span{
  font-size:1em;
  color:#8a2338;
}
.achieve-grid-compact .achieve-label{
  font-size:.78rem;
  line-height:1.45;
  letter-spacing:.08em;
  color:var(--ink3);
}

/* ══════════════════════════════════════
   EVENTS / SLIDER
══════════════════════════════════════ */
.events-section{padding:80px 0;background:var(--surf);overflow:hidden}
.events-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}
.event-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.75rem}
.event-tab{padding:.46rem 1.1rem;border-radius:40px;font-size:.7rem;font-weight:600;letter-spacing:.05em;border:1.5px solid var(--line);background:var(--white);color:var(--ink3);cursor:pointer;transition:all var(--tf);white-space:nowrap}
.event-tab.active{background:#8a2338;border-color:#8a2338;color:var(--white)}
.event-tab:hover:not(.active){border-color:#8a2338;color:#8a2338}
.event-panel{display:none}
.event-panel.active{display:block}
.events-slider-wrap{position:relative;overflow:hidden;width:100%;cursor:grab}
.events-slider-wrap:active{cursor:grabbing}
.events-slider{display:flex;gap:1rem;transition:transform .55s var(--ease);will-change:transform}
.event-card{width:288px;max-width:calc(82vw);background:var(--white);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-sm);flex-shrink:0;transition:all var(--t)}
.event-card:hover{box-shadow:var(--sh-md);transform:translateY(-4px)}
.event-img-placeholder{width:100%;height:190px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--navy2));color:rgba(255,255,255,.25);font-size:2.8rem}
.event-img{width:100%;height:190px;object-fit:cover}
.event-body{padding:1.2rem 1.4rem}
.event-date{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.event-title{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:500;color:var(--ink);margin-bottom:.45rem;line-height:1.3}
.event-desc{font-size:.78rem;color:var(--ink4);line-height:1.6}
.slider-controls{display:flex;align-items:center;gap:.65rem;margin-top:1.75rem}
.slider-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--tf);color:#8a2338;flex-shrink:0}
.slider-btn:hover{background:var(--red);border-color:var(--red);color:var(--white)}
.slider-dots{display:flex;gap:.45rem}
.slider-dot{width:7px;height:7px;border-radius:50%;background:var(--line);transition:all var(--tf);cursor:pointer;flex-shrink:0}
.slider-dot.active{background:#8a2338;width:20px;border-radius:4px}

/* ══════════════════════════════════════
   CTA STRIP
══════════════════════════════════════ */
/* Uniform light CTA band across every page (matches Team / Articleship treatment). */
.cta-strip{background:linear-gradient(135deg,#fff8ef 0%,#f2e5d8 100%);border-top:1px solid rgba(123,33,53,.1);border-bottom:1px solid rgba(123,33,53,.1);padding:56px 0;position:relative;overflow:hidden}
.cta-strip::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(123,33,53,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(123,33,53,.026) 1px,transparent 1px);background-size:52px 52px}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:1;flex-wrap:wrap}
.cta-copy h2{color:#251817;font-weight:300}
.cta-copy h2 em{color:#8a2338;font-style:italic}
.cta-copy p{color:#6f625b;margin-top:.45rem}
.cta-actions{display:flex;gap:.85rem;flex-shrink:0;flex-wrap:wrap}
.cta-strip .btn-gold,.cta-strip .btn-primary{background:#8a2338;color:#fff;box-shadow:0 10px 28px rgba(138,35,56,.18)}
.cta-strip .btn-gold:hover,.cta-strip .btn-primary:hover{background:#6f1d2d}
.cta-strip .btn-ghost{color:#251817;border-color:rgba(123,33,53,.2);background:#fff}
.cta-strip .btn-ghost:hover{background:#8a2338;color:#fff;border-color:#8a2338}

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
.footer{position:relative;background:linear-gradient(180deg,var(--surf) 0%,#f4ece2 100%);padding:12px 0 0;overflow:hidden;border-top:1px solid rgba(123,33,53,.08)}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:42px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));pointer-events:none}
.footer::after{content:'';position:absolute;inset:auto 0 0 0;height:70%;background:radial-gradient(circle at 86% 10%,rgba(196,154,26,.08),transparent 34%);pointer-events:none}
.footer .container{position:relative;z-index:1;max-width:none;width:100%;padding:0 clamp(1.4rem,4vw,5rem)}
.footer-shell{position:relative;border:none;border-radius:0;padding:.5rem 0 0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.footer-spotlight{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding-bottom:.72rem;border-bottom:1px solid rgba(123,33,53,.12)}
.footer-brand-card{display:flex;flex-direction:column;justify-content:center;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none}
.footer-brand-card::after{display:none}
.footer-brand-card{position:relative;overflow:hidden}
.footer-brand{display:flex;align-items:center;gap:.65rem;margin-bottom:.38rem}
.footer-brand .logo{margin-bottom:0!important}
.footer-brand .logo img{width:44px!important;height:44px!important;border-radius:9px;background:#fff;padding:.24rem;border:1px solid rgba(123,33,53,.08)}
.footer-brand .logo-text{gap:.24rem}
.footer-brand .logo-firm{font-size:1.12rem!important;line-height:1.02!important;color:#8a2338!important}
.footer-brand .logo-tag{min-height:auto!important;padding:0!important;border-radius:0!important;background:transparent!important;border:none!important;box-shadow:none!important;font-size:.5rem!important;letter-spacing:.12em!important;line-height:1.1!important;color:#3b1015!important}
.footer-kicker{display:inline-flex;align-items:center;gap:.4rem;font-size:.54rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8a2338;margin-bottom:.34rem}
.footer-kicker::before{content:'';width:18px;height:1px;background:currentColor}
.ft-desc{max-width:820px;font-size:.84rem;color:#5f514c;margin:0;line-height:1.48}
.ft-dynamic-line{display:none}
.ft-dynamic-dot{width:8px;height:8px;border-radius:50%;background:#8a2338;box-shadow:0 0 0 rgba(138,35,56,.2);animation:footerPulse 1.8s infinite}
.ft-dynamic-text{color:#9a7417;transition:opacity .2s ease,transform .2s ease,color .2s ease}
.ft-highlight-row{display:none}
.ft-highlight{min-width:112px;padding:.58rem .7rem;border-radius:13px;background:#fff;border:1px solid rgba(196,154,26,.22);box-shadow:0 8px 18px rgba(76,32,20,.05)}
.ft-highlight strong{display:block;font-family:'Fraunces',serif;font-size:1.16rem;font-weight:600;color:#8a2338;line-height:1}
.ft-highlight span{display:block;font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7b6255;margin-top:.32rem}
.footer-contact-card{display:flex;align-items:center;gap:1.1rem;justify-content:flex-end;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none}
.footer-contact-card h5,.ft-col h5{font-size:.56rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8a2338;margin-bottom:.44rem}
.footer-contact-card h5{display:none}
.footer-action{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.28rem 0 .28rem .72rem;border-radius:0;background:transparent;border:none;border-left:2px solid rgba(138,35,56,.32);box-shadow:none;margin-bottom:0;min-width:190px}
.footer-action:last-of-type{margin-bottom:0}
.footer-action-copy span{display:block;font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8a7567;margin-bottom:.2rem}
.footer-action-copy a{font-size:.96rem;font-weight:700;color:#3b1015;transition:color var(--tf)}
.footer-action-copy a:hover{color:#8a2338}
.footer-action svg{width:18px;height:18px;color:#8a2338;flex-shrink:0}
.ft-note{display:none}
.footer-top{display:grid;grid-template-columns:minmax(0,1.18fr) .85fr .9fr 1.2fr;gap:1.4rem;padding:.64rem 0 .66rem;align-items:start}
.ft-col ul{display:flex;flex-direction:column;gap:.32rem}
.ft-col li{position:relative;padding-left:.82rem}
.ft-col li::before{content:'';position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:1px;background:#c49a1a;box-shadow:0 0 0 3px rgba(196,154,26,.12);transform:translateY(-50%) rotate(45deg);transition:background var(--tf),transform var(--tf),box-shadow var(--tf)}
.ft-col li:hover::before{background:#8a2338;box-shadow:0 0 0 3px rgba(138,35,56,.1);transform:translateY(-50%) rotate(45deg) scale(1.12)}
.ft-col a{display:inline-block;font-size:.82rem;color:#574844;transition:color var(--tf),padding-left var(--tf)}
.ft-col a:hover{color:#8a2338;padding-left:4px}
.ft-contact{display:flex;flex-direction:column;gap:.52rem}
.ft-ci{display:flex;gap:.65rem;align-items:flex-start;padding:0;background:transparent;border:none}
.ft-ci svg{opacity:.85;color:#8a2338;margin-top:2px;flex-shrink:0}
.ft-ci span{font-size:.82rem;color:#5b4f49;line-height:1.52}
.ft-ci a{color:#3b1015;transition:color var(--tf)}
.ft-ci a:hover{color:#8a2338}
.footer-linkedin-icon{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;background:#0a66c2;color:#fff;box-shadow:0 8px 18px rgba(10,102,194,.18);border:1px solid rgba(10,102,194,.18);flex-shrink:0;transition:transform var(--tf),box-shadow var(--tf),background var(--tf)}
.footer-linkedin-icon svg{width:17px;height:17px;color:#fff!important;opacity:1!important;margin:0!important;display:block}
.footer-linkedin-action:hover .footer-linkedin-icon,.ft-ci:hover .footer-linkedin-icon{transform:translateY(-1px);box-shadow:0 10px 22px rgba(10,102,194,.24)}
.ft-ci .footer-linkedin-icon{width:18px;height:18px;border-radius:4px;margin-top:2px;box-shadow:none}
.ft-ci .footer-linkedin-icon svg{width:11px;height:11px}
.ft-partners{display:grid;gap:.48rem}
.ft-partners h6{font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8a7567;margin-bottom:.15rem}
.ft-p-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.24rem 0;border-radius:0;background:transparent;border:none;border-bottom:1px solid rgba(123,33,53,.1);flex-wrap:nowrap}
.ft-p-item:last-child{border-bottom:none}
.ft-p-name{font-size:.8rem;color:#5b4f49}
.ft-p-num{font-size:.8rem;font-weight:700;color:#8a2338;transition:color var(--tf)}
.ft-p-num:hover{color:#6f1d2d}
.ft-p-num,.p-mobile,.pf-mobile-link{--phone-reveal-bg:#fff8e8;--phone-reveal-border:rgba(196,154,26,.34);--phone-reveal-ink:#8a2338}
.ft-p-num:not(.is-revealed),.p-mobile:not(.is-revealed),.pf-mobile-link:not(.is-revealed){font-size:0!important;letter-spacing:0!important;gap:.38rem;justify-content:center}
.ft-p-num:not(.is-revealed){display:inline-flex;align-items:center;min-width:116px;min-height:26px;padding:.22rem .52rem;border:1px solid var(--phone-reveal-border);border-radius:999px;background:var(--phone-reveal-bg);color:var(--phone-reveal-ink)}
.p-mobile:not(.is-revealed),.pf-mobile-link:not(.is-revealed){color:var(--phone-reveal-ink)!important}
.pf-mobile-link:not(.is-revealed){background:rgba(255,255,255,.11)}
.p-mobile.phone-reveal-link:not(.is-revealed):hover{background:#fff1ca!important;border-color:rgba(196,154,26,.38)!important;color:#7b2135!important}
.ft-p-num.phone-reveal-link:not(.is-revealed):hover{background:#fff1ca;color:#7b2135}
.phone-reveal-link:not(.is-revealed)::after{content:'View contact details';font-size:.56rem!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1;white-space:nowrap}
.phone-reveal-link.is-revealed::after{content:none!important}
.phone-reveal-eye,.phone-reveal-call{width:14px;height:14px;flex-shrink:0;stroke:currentColor}
.ft-p-num .phone-reveal-eye,.ft-p-num .phone-reveal-call{width:13px;height:13px}
.phone-reveal-link.is-revealed{font-weight:800}
.ft-p-num.phone-reveal-link.is-revealed{display:inline-flex;align-items:center;justify-content:flex-end;gap:.28rem;min-width:132px;font-size:.8rem!important;text-align:right;white-space:nowrap}
.p-mobile.phone-reveal-link.is-revealed{font-size:.75rem!important}
.pf-mobile-link.phone-reveal-link.is-revealed{font-size:.82rem!important}
.footer-bottom{padding:.38rem 0 .44rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.55rem;border-top:1px solid rgba(123,33,53,.12)}
.footer-bottom p{font-size:.74rem;color:#7d6b61}
.footer-sitemap-link{display:inline-flex;align-items:center;margin-left:.55rem;color:#8a2338;font-weight:800;text-decoration:none}
.footer-sitemap-link::before{content:'|';margin-right:.55rem;color:rgba(123,33,53,.28);font-weight:500}
.footer-sitemap-link:hover{text-decoration:underline;text-underline-offset:3px}
/* ── Verified-stamp impression ──
   One decisive entrance, then static. No continuous breathing/glow/shine.
   The stamp comes down from above, makes "impact", squashes slightly, settles tilted.
   stampImpact fires a one-shot expanding ring at the impact moment.
*/
@keyframes stampLand{
  0%   { opacity:0; transform: translate3d(0,-46px,0) rotate(var(--stamp-start-rot)) scale(var(--stamp-start-scale)); filter:blur(2px) }
  55%  { opacity:1; transform: translate3d(0,0,0)     rotate(var(--stamp-bounce-rot)) scale(.90); filter:blur(0) }
  70%  {            transform: translate3d(0,0,0)     rotate(var(--stamp-bounce-rot)) scale(1.05) }
  85%  {            transform: translate3d(0,0,0)     rotate(var(--stamp-final-rot))  scale(.99) }
  100% { opacity:1; transform: translate3d(0,0,0)     rotate(var(--stamp-final-rot))  scale(var(--stamp-final-scale)) }
}
@keyframes stampTextIn{
  0%  { opacity:0; transform:scale(.82) }
  100%{ opacity:1; transform:scale(1) }
}
@keyframes stampImpact{
  0%, 45% { opacity:0; transform:scale(.85); box-shadow:0 0 0 0 rgba(145,27,52,.30) }
  55%     { opacity:.7; transform:scale(1);  box-shadow:0 0 0 4px rgba(145,27,52,.18) }
  100%    { opacity:0;  transform:scale(1.55); box-shadow:0 0 0 18px rgba(145,27,52,0) }
}
@keyframes heroSketchFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes bentoCardOpen{0%{transform:translateY(-4px) scale(1)}45%{transform:translateY(-7px) scale(1.018)}100%{transform:translateY(-2px) scale(.992)}}
@keyframes footerPulse{0%{box-shadow:0 0 0 0 rgba(138,35,56,.22)}70%{box-shadow:0 0 0 10px rgba(138,35,56,0)}100%{box-shadow:0 0 0 0 rgba(138,35,56,0)}}
@keyframes footerGlow{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-10px,-12px,0) scale(1.06)}}

.peer-review-modal{position:fixed;inset:0;display:grid;place-items:center;padding:clamp(.75rem,2vw,1.5rem);z-index:1100;opacity:0;pointer-events:none;transition:opacity .28s ease;overflow-y:auto}
.peer-review-modal.open{opacity:1;pointer-events:auto}
.peer-review-backdrop{position:absolute;inset:0;background:rgba(20,16,18,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.peer-review-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 2.5rem);max-height:calc(100dvh - 2.5rem);display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(248,242,236,.98) 100%);border:1px solid rgba(123,33,53,.08);box-shadow:0 28px 80px rgba(20,16,18,.22);padding:clamp(.9rem,2vw,1.4rem)}
.peer-review-close{position:absolute;top:.9rem;right:.9rem;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid rgba(123,33,53,.12);background:rgba(255,255,255,.92);color:#7b2135;font-size:1.45rem;line-height:1;cursor:pointer}
.peer-review-copy{padding:0 2.8rem .75rem 0}
.peer-review-kicker{display:inline-flex;align-items:center;gap:.45rem;font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#7b2135;margin-bottom:.45rem}
.peer-review-kicker::before{content:'';width:18px;height:1px;background:currentColor}
.peer-review-copy h3{font-size:1.55rem;line-height:1.05;color:#7b2135}
.peer-review-copy p{margin-top:.45rem;font-size:.98rem;color:#211312;line-height:1.5;font-weight:700}
.peer-review-frame{position:relative;display:grid;place-items:center;flex:1 1 auto;min-height:0;overflow:hidden;border-radius:24px;padding:clamp(.55rem,1.6vw,1rem);background:linear-gradient(145deg,#f6ede4 0%,#fff 100%);border:1px solid rgba(123,33,53,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.peer-review-image{display:block;width:auto;height:auto;max-width:100%;max-height:70vh;max-height:min(70vh,720px);object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(20,16,18,.1)}
.peer-review-placeholder{margin-top:.8rem;text-align:center;font-size:.76rem;color:rgba(33,19,18,.58)}

/* ══════════════════════════════════════
   PAGE HEADER (inner pages)
══════════════════════════════════════ */
.ph{padding:calc(var(--nav-h) + 3.5rem) 0 3rem;background:linear-gradient(150deg,rgba(123,29,46,.95) 0%,rgba(123,29,46,.82) 50%,rgba(176,133,56,.5) 100%);position:relative;overflow:hidden}
.ph::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px}
.ph-inner{position:relative;z-index:1}
.ph h1{font-weight:300;color:var(--white)}
.ph h1 em{color:var(--gold2)}
.ph .eyebrow{color:rgba(196,154,26,.78)}
.ph .eyebrow::before{background:rgba(196,154,26,.5)}
.breadcrumb{display:flex;align-items:center;gap:.45rem;font-size:.7rem;color:rgba(255,255,255,.3);margin-bottom:.85rem;flex-wrap:wrap}
.breadcrumb a{color:var(--gold);transition:color var(--tf)}
.breadcrumb a:hover{color:var(--gold2)}
.breadcrumb span{color:rgba(255,255,255,.15)}
.ph p{color:rgba(255,255,255,.46)}

/* Uniform inner-page header treatment: same light tone and grid pattern across pages. */
html body .ph,
html body .about-ph,
html body .services-ph,
html body .industries-ph,
html body .team-ph,
html body .insights-ph,
html body .jobs-hero,
html body .arship-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 16%,rgba(138,35,56,.08),transparent 28%),
    radial-gradient(circle at 14% 18%,rgba(196,154,26,.1),transparent 28%),
    linear-gradient(125deg,#fffaf2 0%,#f4eadf 58%,#fffdf8 100%)!important;
  border-bottom:1px solid rgba(123,33,53,.1)!important;
}
html body .ph::before,
html body .about-ph::before,
html body .services-ph::before,
html body .industries-ph::before,
html body .team-ph::before,
html body .insights-ph::before,
html body .jobs-hero::before,
html body .arship-hero::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background-image:
    linear-gradient(rgba(123,33,53,.065) 1px,transparent 1px),
    linear-gradient(90deg,rgba(123,33,53,.065) 1px,transparent 1px),
    linear-gradient(rgba(196,154,26,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(196,154,26,.028) 1px,transparent 1px)!important;
  background-size:48px 48px,48px 48px,96px 96px,96px 96px!important;
  opacity:.9!important;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.86),transparent 92%)!important;
  pointer-events:none;
}
html body .ph-inner,
html body .jobs-hero-inner,
html body .arship-hero-inner{
  position:relative;
  z-index:1;
}
html body .ph h1,
html body .jobs-hero h1,
html body .arship-hero h1{
  color:#1f1412!important;
}
html body .ph h1 em,
html body .jobs-hero h1 em,
html body .arship-hero h1 em{
  color:#8a2338!important;
}
html body .ph p,
html body .jobs-hero p,
html body .arship-hero p{
  color:#6d625c!important;
}
html body .ph .eyebrow,
html body .jobs-hero .eyebrow,
html body .arship-hero .eyebrow{
  color:#8a2338!important;
}
html body .ph .eyebrow::before,
html body .jobs-hero .eyebrow::before,
html body .arship-hero .eyebrow::before{
  background:#8a2338!important;
}
html body .breadcrumb{
  color:#8b7569!important;
}
html body .breadcrumb a{
  color:#8a2338!important;
}
html body .breadcrumb a:hover{
  color:#6f1d2d!important;
}
html body .breadcrumb span{
  color:rgba(138,35,56,.28)!important;
}

/* ══════════════════════════════════════
   SCROLL TO TOP
══════════════════════════════════════ */
.stt{position:fixed;bottom:5.25rem;right:1.25rem;width:44px;height:44px;background:#8a2338;color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(14px) scale(.9);transition:all var(--t);z-index:948;border:1.5px solid rgba(255,255,255,.35);box-shadow:0 8px 22px rgba(138,35,56,.24)}
.stt.show{opacity:1;transform:translateY(0) scale(1)}
.stt:hover{background:var(--red);border-color:var(--red);transform:translateY(-2px) scale(1.04)}

/* ══════════════════════════════════════
   MOBILE BOTTOM NAV
══════════════════════════════════════ */
.mob-nav{display:none;position:fixed;bottom:.6rem;left:.75rem;right:.75rem;background:linear-gradient(180deg,rgba(255,250,243,.96) 0%,rgba(247,239,230,.95) 100%);border:1px solid rgba(123,33,53,.13);border-radius:24px;z-index:950;padding:.42rem .45rem calc(.42rem + env(safe-area-inset-bottom));box-shadow:0 -8px 28px rgba(76,32,20,.14), inset 0 1px 0 rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mob-nav-inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.24rem}
.mob-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.46rem .1rem;color:#6f5b52;transition:color var(--tf),background var(--tf),transform var(--tf),box-shadow var(--tf),border-color var(--tf);font-size:.55rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:17px;line-height:1.1;min-height:52px;text-align:center;border:1px solid transparent}
.mob-nav-item svg{width:19px;height:19px;min-width:19px;min-height:19px;display:block;flex:0 0 19px;stroke-width:1.85;overflow:visible;stroke-linecap:round;stroke-linejoin:round}
.mob-nav-item.active{color:#8a2338;background:#fff4df;border-color:rgba(196,154,26,.34);box-shadow:0 8px 18px rgba(138,35,56,.1), inset 0 1px 0 rgba(255,255,255,.86)}
.mob-nav-item:hover{color:#8a2338;background:rgba(138,35,56,.06);border-color:rgba(138,35,56,.12)}

/* ══════════════════════════════════════
   SERVICES PAGE
══════════════════════════════════════ */
.svc-layout{display:grid;grid-template-columns:minmax(0,210px) 1fr;gap:2.75rem;align-items:start;align-content:start}
.svc-sidebar{position:sticky;top:90px;align-self:start}
.svc-nav{display:flex;flex-direction:column;gap:.2rem}
.svc-nav a{font-size:.76rem;font-weight:500;color:var(--ink3);padding:.58rem .8rem;border-radius:var(--rs);border-left:2px solid transparent;transition:all var(--tf)}
.svc-nav a:hover,.svc-nav a.active{color:var(--navy);background:rgba(13,27,62,.04);border-left-color:var(--red)}
.svc-section{padding:2.75rem 0;border-bottom:1px solid var(--line2)}
.svc-section:last-child{border:none}
.svc-section h2{font-size:1.75rem;margin-bottom:.45rem}

/* ══════════════════════════════════════
   CAREERS
══════════════════════════════════════ */
.career-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;margin-top:2.5rem}
.careers-inner{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.ind-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.career-card{display:flex;flex-direction:column;height:100%;border-radius:22px;overflow:hidden;border:1px solid rgba(123,33,53,.08);box-shadow:0 18px 42px rgba(76,32,20,.08);transition:all var(--t);background:linear-gradient(180deg,#fffdfa 0%,#fff7f0 100%)}
.career-card:hover{transform:translateY(-4px);box-shadow:0 24px 52px rgba(76,32,20,.12);border-color:rgba(123,33,53,.16)}
.cc-header{padding:2.25rem 2rem 1.75rem;position:relative;overflow:hidden}
.cc-header::after{content:'';position:absolute;bottom:-2rem;right:-2rem;width:130px;height:130px;border-radius:50%;opacity:.1}
.cc-article .cc-header{background:var(--navy)}
.cc-article .cc-header::after{background:var(--gold)}
.cc-jobs .cc-header{background:linear-gradient(135deg,var(--red2),var(--red))}
.cc-jobs .cc-header::after{background:var(--white)}
.cc-icon{width:50px;height:50px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;border:1.5px solid rgba(255,255,255,.14)}
.cc-article .cc-icon{background:rgba(196,154,26,.13);color:var(--gold2)}
.cc-jobs .cc-icon{background:rgba(255,255,255,.13);color:var(--white)}
.cc-header h3{font-family:'Fraunces',serif;font-size:1.65rem;font-weight:400;color:var(--white);margin-bottom:.3rem}
.cc-header p{font-size:.8rem;color:rgba(255,255,255,.5)}
.cc-badge{display:inline-block;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .65rem;border-radius:40px;margin-bottom:.65rem}
.cc-article .cc-badge{background:rgba(196,154,26,.18);color:var(--gold3)}
.cc-jobs .cc-badge{background:rgba(255,255,255,.13);color:rgba(255,255,255,.85)}
.cc-body{display:grid;grid-template-rows:auto auto minmax(290px,auto) minmax(74px,auto) minmax(176px,auto) auto;gap:1rem;flex:1 1 auto;background:linear-gradient(180deg,#fffdfa 0%,#fff8f1 100%);padding:1.65rem}
.cc-intro{font-size:.92rem;color:var(--ink3);line-height:1.8;margin:0;min-height:108px}
.cc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;align-items:stretch}
.cc-metric{display:flex;flex-direction:column;justify-content:center;min-height:102px;padding:1rem .9rem;border-radius:16px;background:linear-gradient(180deg,#fffaf3 0%,#f8f0e6 100%);border:1px solid rgba(123,33,53,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.cc-metric strong{display:block;font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.18rem}
.cc-metric span{display:block;font-size:.72rem;line-height:1.45;color:var(--ink4)}
.cc-section{padding:1rem 1rem 1.05rem;border-radius:18px;border:1px solid var(--line2);background:#fff;margin:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}
.cc-primary,.cc-secondary{display:flex;flex-direction:column}
.cc-lower{display:contents}
.cc-section-title{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink4);margin-bottom:.9rem}
.cc-list{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.6rem}
.cc-li{display:flex;align-items:flex-start;gap:.7rem;font-size:.85rem;color:var(--ink3)}
.cc-li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:.55rem}
.cc-article .cc-li::before{background:var(--navy)}
.cc-jobs .cc-li::before{background:var(--red)}
.cc-inline-note{margin-top:auto;padding:.85rem .95rem;border-radius:14px;background:var(--surf);border:1px solid var(--line2);font-size:.78rem;line-height:1.65;color:var(--ink4)}
.cc-note{font-size:.78rem;color:var(--ink4);margin:0;padding:.9rem 1rem;border-radius:14px;border-left:2px solid;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;line-height:1.65}
.cc-note-gold{background:var(--gold-bg);border-left-color:var(--gold)}
.cc-note-red{background:#fef2f2;border-left-color:var(--red)}
.cc-note strong{display:block;white-space:nowrap}
.cc-note-copy{display:block}
.cc-job-stack{display:flex;flex-direction:column;gap:1rem;margin-bottom:0}
.cc-footer{display:grid;gap:.9rem;align-items:center;align-self:stretch}
.cc-actions{display:grid;gap:.75rem;align-content:end}
.cc-quote{min-height:92px;padding:.95rem 1rem;border-radius:16px;background:linear-gradient(180deg,#f8f0e7 0%,#fffaf3 100%);border:1px solid rgba(196,154,26,.22);display:flex;flex-direction:column;justify-content:center}
.cc-quote p{font-family:'Fraunces',serif;font-size:1.08rem;font-style:italic;line-height:1.45;color:var(--navy);margin:0}
.cc-quote span{display:block;margin-top:.55rem;font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cc-fit{min-height:92px;font-size:.76rem;line-height:1.6;color:var(--ink4);padding:.78rem .9rem;border-radius:14px;background:var(--surf);border:1px solid var(--line2);display:flex;align-items:center}
.cc-cta{width:100%;justify-content:center;padding:.82rem;min-height:48px}

/* Career items */
.careers{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 60%,rgba(176,28,46,.45) 100%);padding:80px 0;position:relative;overflow:hidden}
.careers::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:56px 56px}
.career-item{display:flex;align-items:flex-start;gap:1.1rem;padding:1.1rem;background:rgba(255,255,255,.05);border-radius:var(--r);border:1px solid rgba(255,255,255,.07);transition:all var(--t)}
.career-item:hover{background:rgba(255,255,255,.08);border-color:rgba(196,154,26,.22)}
.career-num{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:300;color:var(--gold);opacity:.65;line-height:1;flex-shrink:0;width:2.5rem}
.career-text h4{color:var(--white)!important;margin-bottom:.25rem}
.career-text p{color:rgba(255,255,255,.5)!important;font-size:.8rem;line-height:1.6}
.careers-copy h2{color:var(--white)}
.careers-copy .eyebrow{color:rgba(196,154,26,.78)}
.careers-copy .eyebrow::before{background:rgba(196,154,26,.5)}

/* ══════════════════════════════════════
   CONTACT
══════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:3.5rem;align-items:start}
.c-details{display:flex;flex-direction:column;gap:.85rem}
.c-item{display:flex;align-items:flex-start;gap:.8rem;padding:.9rem;background:var(--surf);border-radius:var(--r);border:1px solid var(--line)}
.c-icon{width:36px;height:36px;flex-shrink:0;background:var(--navy);border-radius:var(--rs);display:flex;align-items:center;justify-content:center;color:var(--white)}
.c-icon svg{width:15px;height:15px}
.c-detail-txt h4{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:.18rem}
.c-detail-txt p,.c-detail-txt a{font-size:.85rem;color:var(--ink3)}
.c-detail-txt a:hover{color:var(--red)}
.map-wrap{margin-top:1.1rem;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.map-wrap iframe{display:block;width:100%;max-width:100%;border:0}
.c-form{background:var(--surf);border-radius:var(--rl);padding:2.25rem;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.c-form h3{font-family:'Fraunces',serif;font-size:1.55rem;font-weight:400;margin-bottom:.2rem}
.c-form>.sub{margin-bottom:1.75rem;font-size:.82rem}
.fg{margin-bottom:1.05rem}
.fg label{display:block;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:.38rem}
.fc{width:100%;padding:.68rem .95rem;border:1.5px solid var(--line);border-radius:var(--rs);font-size:.86rem;color:var(--ink);background:var(--white);outline:none;transition:border-color var(--tf),box-shadow var(--tf)}
.fc:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(13,27,62,.07)}
.fc::placeholder{color:var(--ink4)}
textarea.fc{resize:vertical;min-height:110px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* ══════════════════════════════════════
   KNOWLEDGE PORTAL
══════════════════════════════════════ */
.kb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.25rem}
.kb-card{background:var(--white);border:1px solid var(--line2);border-radius:var(--r);padding:1.4rem;display:flex;flex-direction:column;gap:.65rem;transition:all var(--t);position:relative;overflow:hidden}
.kb-card::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform var(--t)}
.kb-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.kb-card:hover::after{transform:scaleY(1)}
.kb-month{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.kb-title{font-family:'Fraunces',serif;font-size:1.02rem;font-weight:500;color:var(--ink);line-height:1.3;flex:1}
.kb-desc{font-size:.78rem;color:var(--ink4);line-height:1.6}
.kb-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.73rem;font-weight:600;color:var(--navy);transition:color var(--tf)}
.kb-link:hover{color:var(--red)}
.kb-link svg{width:11px;height:11px;transition:transform var(--tf)}
.kb-link:hover svg{transform:translateX(3px)}
.kb-add-note{text-align:center;margin-top:1.75rem;padding:1.4rem;border:2px dashed var(--line);border-radius:var(--r);color:var(--ink4);font-size:.8rem}

/* ══════════════════════════════════════
   WEEKEND CHARCHAS
══════════════════════════════════════ */
.charcha-section{background:linear-gradient(135deg,var(--navy2),var(--navy));padding:72px 0;position:relative;overflow:hidden}
.charcha-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:48px 48px}
.charcha-inner{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;position:relative;z-index:1}
.charcha-badge{display:inline-flex;align-items:center;gap:.45rem;background:rgba(196,154,26,.13);border:1px solid rgba(196,154,26,.28);border-radius:40px;padding:.38rem .9rem;font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
.charcha-features{display:flex;flex-direction:column;gap:.75rem;margin-top:1.75rem}
.charcha-feat{display:flex;align-items:flex-start;gap:.8rem}
.charcha-feat-icon{width:34px;height:34px;border-radius:var(--rs);background:rgba(196,154,26,.1);border:1px solid rgba(196,154,26,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem}
.charcha-feat-text h5{font-size:.82rem;font-weight:600;color:var(--white);margin-bottom:.18rem}
.charcha-feat-text p{font-size:.76rem;color:rgba(255,255,255,.42);line-height:1.5}
.charcha-visual{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:var(--rl);padding:2.25rem;text-align:center}
.charcha-day{font-family:'Fraunces',serif;font-size:3.8rem;font-weight:300;color:var(--gold2);line-height:1}
.charcha-day-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-top:.2rem}
.charcha-divider{width:36px;height:1px;background:rgba(196,154,26,.28);margin:1.1rem auto}
.charcha-tagline{font-size:.85rem;color:rgba(255,255,255,.45);line-height:1.6}

/* ══════════════════════════════════════
   JOB CARDS
══════════════════════════════════════ */
.job-card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:.95rem 1.05rem;margin-bottom:.65rem;transition:all var(--tf)}
.job-card:last-child{margin-bottom:0}
.job-card:hover{border-color:var(--red);background:var(--white)}
.job-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.28rem;flex-wrap:wrap;gap:.25rem}
.job-badge{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .55rem;border-radius:40px}
.job-exp{font-size:.66rem;color:var(--ink4)}
.job-title{font-size:.88rem;font-weight:600;color:var(--ink);margin-bottom:.18rem}
.job-desc{font-size:.76rem;color:var(--ink4)}
.job-card-inline{background:var(--surf);border:1px solid var(--line2);border-radius:var(--r);padding:.95rem 1.1rem;transition:all var(--t)}
.job-card-inline:hover{border-color:var(--red)}

/* ══════════════════════════════════════
   ANIMATIONS
══════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeRight{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}

.hero-est,
.hero h1,
.hero-desc,
.hero-actions{
  opacity:1!important;
  transform:none!important;
}

.rv{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.vis{opacity:1;transform:translateY(0)}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}.rv-d4{transition-delay:.4s}.rv-d5{transition-delay:.5s}
.rv-scale{opacity:0;transform:scale(.95);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.rv-scale.vis{opacity:1;transform:scale(1)}

/* ══════════════════════════════════════
   ABOUT PAGE SPECIFIC
══════════════════════════════════════ */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem}
.why-card{background:var(--white);border:1px solid var(--line2);border-radius:var(--rl);padding:1.85rem 1.65rem;transition:all var(--t);position:relative;overflow:hidden}
.why-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2.5px;background:linear-gradient(90deg,var(--navy),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform var(--t)}
.why-card:hover{box-shadow:var(--sh-md);border-color:transparent;transform:translateY(-4px)}
.why-card:hover::after{transform:scaleX(1)}
.why-n{font-family:'Fraunces',serif;font-size:3.4rem;font-weight:300;color:rgba(196,154,26,.14);line-height:1;margin-bottom:.85rem}
.why-icon{font-size:1.85rem;margin-bottom:.65rem}
.why-h{font-size:.95rem;font-weight:600;color:var(--navy);margin-bottom:.45rem}
.city-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.4rem}
.city{padding:.3rem .9rem;border:1.5px solid var(--line);border-radius:40px;font-size:.76rem;font-weight:500;color:var(--ink3);transition:all var(--t)}
.city:hover{border-color:var(--gold);color:var(--navy);background:var(--gold-lt)}
.city.hq{border-color:var(--navy);color:var(--navy);font-weight:600}
.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:380px;margin:5rem 0;border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-lg)}
.split-left{background:var(--navy);padding:3.75rem 3.25rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.split-left::before{content:'';position:absolute;top:-3rem;right:-3rem;width:210px;height:210px;border-radius:50%;background:rgba(196,154,26,.06)}
.split-right{background:var(--white);padding:3.75rem 3.25rem;display:flex;flex-direction:column;justify-content:center}
.split-quote{font-family:'Fraunces',serif;font-size:clamp(1.15rem,2.3vw,1.5rem);font-weight:300;font-style:italic;color:rgba(255,255,255,.82);line-height:1.58;position:relative;z-index:1}
.split-quote::before{content:'❝';font-size:3.8rem;color:rgba(196,154,26,.22);position:absolute;top:-1.25rem;left:-.75rem;font-style:normal;line-height:1}
.split-cite{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(196,154,26,.68);margin-top:1.4rem;position:relative;z-index:1}
.value-row{display:flex;align-items:flex-start;gap:1.1rem;padding:1.1rem 0;border-bottom:1px solid var(--line2)}
.value-row:last-child{border:none}
.value-icon{width:42px;height:42px;border-radius:12px;background:var(--surf);display:grid;place-items:center;font-size:1.05rem;flex-shrink:0;border:1px solid var(--line)}
.value-row h4{font-size:.86rem;font-weight:600;color:var(--navy);margin-bottom:.22rem}
.value-row p{font-size:.8rem;color:var(--ink4);line-height:1.6}

/* ══════════════════════════════════════
   OVERFLOW PREVENTION
══════════════════════════════════════ */
footer,nav,.pad,.pad-sm{max-width:100%;overflow-x:hidden}

/* ══════════════════════════════════════
   RESPONSIVE — Tablet 1100px
══════════════════════════════════════ */
@media(max-width:1100px){
  .hero-peer-stamp{
    right:clamp(3.5rem,8vw,6.5rem);
    top:clamp(15rem,39vh,19rem);
    --stamp-start-rot:-16deg;
    --stamp-start-scale:1.02;
    --stamp-final-rot:-12deg;
    --stamp-final-scale:.96;
    --stamp-hover-rot:-12deg;
    --stamp-hover-scale:1;
  }
  .hero-peer-stamp.is-live:hover{transform:translate3d(0,0,0) rotate(var(--stamp-hover-rot)) scale(var(--stamp-hover-scale))}
  .hero-peer-stamp-ring{width:102px;height:102px}
  .hero-peer-stamp-ring svg{width:102px;height:102px}
  .hero-peer-stamp-center{width:68px;height:68px}
  .hero-peer-stamp-center strong{font-size:.82rem}
  .hero-peer-stamp-center span{font-size:.42rem}
  .hero-peer-stamp-center i{width:18px;height:18px;font-size:.72rem}
  .hero-peer-stamp-curve{width:102px;height:102px}
  .hero-peer-stamp-curve text{font-size:9px;letter-spacing:.18em}
  .nav-links{gap:0}
  .nav-inner{height:calc(var(--nav-h) - 12px);margin-top:6px;padding:.3rem .48rem;gap:1rem}
  .logo-img{width:52px;height:52px}
  .logo-firm{font-size:.94rem}
  .logo-tag{font-size:.48rem}
  .nav .logo{
    max-width:340px;
    padding:.04rem 0
  }
  .nav .logo-img{width:54px;height:54px}
  .nav .logo-text{gap:.2rem;padding:.22rem 0 .18rem}
  .nav .logo-firm{font-size:1rem}
  .nav .logo-tag{font-size:.56rem;padding:0;letter-spacing:.03em}
  .nav-links a{font-size:.65rem;padding:.42rem .38rem}
  .nav-links a::after{left:.34rem;right:.34rem}
  .nav-cta-btn{padding:.36rem .68rem!important;font-size:.63rem!important}
  .bento-grid{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(4,1fr)}
  .footer-shell{padding:.65rem 0 0}
  .footer-spotlight{grid-template-columns:1fr;gap:.65rem;align-items:start}
  .footer-top{grid-template-columns:1fr 1fr;gap:.75rem}
  .about-grid{grid-template-columns:minmax(0,300px) 1fr;gap:3rem}
  .tm-grid{grid-template-columns:repeat(4,1fr)}
  .pf-layout{grid-template-columns:minmax(0,260px) 1fr;gap:2.5rem}
  .pf-layout.flip{grid-template-columns:1fr minmax(0,260px)}
  .svc-layout{grid-template-columns:minmax(0,180px) 1fr;gap:1.75rem}
  .contact-grid{gap:2.5rem}
  .t-grid{grid-template-columns:1fr 1fr 1fr}
}

/* ══════════════════════════════════════
   RESPONSIVE — Mobile 900px
══════════════════════════════════════ */
@media(max-width:900px){
  .hero-peer-stamp{
    right:clamp(1rem,5vw,2rem);
    top:clamp(12.5rem,34vh,16rem);
    --stamp-start-rot:-14deg;
    --stamp-start-scale:.92;
    --stamp-bounce-scale:.88;
    --stamp-final-rot:-11deg;
    --stamp-final-scale:.9;
    --stamp-hover-rot:-11deg;
    --stamp-hover-scale:.94;
  }
  .hero-peer-stamp.is-live:hover{transform:translate3d(0,0,0) rotate(var(--stamp-hover-rot)) scale(var(--stamp-hover-scale))}
  .hero-peer-stamp-ring{width:84px;height:84px}
  .hero-peer-stamp-ring svg{width:84px;height:84px}
  .hero-peer-stamp-ring::before{inset:6px}
  .hero-peer-stamp-ring::after{inset:-7px}
  .hero-peer-stamp-center{width:56px;height:56px}
  .hero-peer-stamp-center strong{font-size:.68rem}
  .hero-peer-stamp-center span{font-size:.32rem;margin-top:.18rem}
  .hero-peer-stamp-center i{width:15px;height:15px;font-size:.62rem;margin-top:.2rem}
  .hero-peer-stamp-center small{display:none}
  .hero-peer-stamp-curve{width:84px;height:84px}
  .hero-peer-stamp-curve text{font-size:8px;letter-spacing:.14em}
  .nav-links{display:none}
  .ham{display:flex}
  .mob-nav{display:block}
  body{padding-bottom:86px}
  .nav{background:#f7efe6}
  .nav-inner{height:calc(var(--nav-h) - 10px);margin-top:5px;padding:.22rem .32rem;gap:.8rem;border-radius:12px}
  .nav .logo{max-width:min(72vw,340px);padding:.06rem 0}
  .nav .logo-img{width:50px;height:50px}
  .nav .logo-text{gap:.18rem;padding:.16rem 0 .14rem}
  .nav .logo-firm{font-size:.95rem;line-height:1}
  .nav .logo-tag{font-size:.5rem;padding:0;letter-spacing:.03em}
  .ham{padding:9px}

  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .stat-cell:nth-child(2){border-right:none}
  .stat-cell:nth-child(4){border-right:none}

  .partners-grid{grid-template-columns:repeat(2,1fr)}
  .t-grid{grid-template-columns:1fr 1fr}
  .pub-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .cta-inner{flex-direction:column;align-items:flex-start}
  .cta-actions{width:100%}

  .about-grid{grid-template-columns:1fr}
  .about-visual{display:none}
  .firm-overview{grid-template-columns:1fr;gap:1.75rem}
  .achieve-grid-compact{grid-template-columns:1fr 1fr;gap:1rem}

  .pf-layout,.pf-layout.flip{grid-template-columns:1fr}
  .pf-layout.flip .pf-img-col,.pf-layout.flip .pf-content{order:unset}
  .pf-sticky{position:static;display:grid;grid-template-columns:minmax(0,150px) 1fr;gap:1.1rem;align-items:start}
  .pf-img{aspect-ratio:1/1}

  .tm-grid{grid-template-columns:repeat(3,1fr)}
  .ind-grid{grid-template-columns:repeat(3,1fr)}
  .svc-layout{grid-template-columns:1fr}
  .svc-sidebar{display:none}
  .career-cards{grid-template-columns:1fr}
  .careers-inner{grid-template-columns:1fr;gap:2.25rem}
  .cc-body{display:flex;flex-direction:column;gap:1rem}
  .cc-intro{min-height:0}
  .cc-metrics{grid-template-columns:1fr}
  .cc-primary,.cc-secondary,.cc-fit,.cc-quote{min-height:0}
  .ind-split-grid{grid-template-columns:1fr;gap:2.25rem}
  .charcha-inner{grid-template-columns:1fr;gap:2.25rem}
  .split-section{grid-template-columns:1fr;min-height:auto}
  .split-right,.split-left{padding:2.75rem 2rem}
  .why-grid{grid-template-columns:1fr 1fr}
  .achieve-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
  .kb-grid{grid-template-columns:1fr 1fr}
  .stt{bottom:6.1rem}
}

/* ══════════════════════════════════════
   RESPONSIVE — Mobile 640px
══════════════════════════════════════ */
@media(max-width:640px){
  :root{--nav-h:62px}
  .pad{padding:56px 0}
  .home-industries{padding-bottom:24px}
  .pad-sm{padding:40px 0}
  .container{padding:0 1rem}

  /* Nav */
/* Nav */
.logo{gap:.55rem}
.logo-img{width:44px;height:44px;max-height:44px}
.logo-text{max-width:min(66vw,244px)}
.nav-inner{
  height:calc(var(--nav-h) - 8px);
  margin-top:4px;
  padding:.12rem .16rem;
  gap:.4rem;
  border-radius:11px;
}
.nav .logo{gap:.6rem}
.nav .logo{
  min-width:0;
  max-width:min(73vw,250px);
  padding:.04rem 0;
  gap:.42rem;
}
.nav .logo-img{
  width:38px;
  height:38px;
  padding:0;
  border-radius:0;
}
.nav .logo-text{
  flex:1 1 auto;
  max-width:none;
  align-items:flex-start;
  justify-content:center;
  gap:.12rem;
  padding:.08rem 0 .06rem;
}
.nav .logo-firm{
  font-size:.73rem;
  line-height:1;
  max-width:none;
  white-space:normal;
  font-weight:600;
  color:#8a2338;
  letter-spacing:.01em;
}
.nav .logo-tag{
  display:inline-flex;
  max-width:100%;
  font-size:.42rem;
  letter-spacing:.03em;
  white-space:normal;
  line-height:1;
  padding:0;
}
.peer-review-dialog{width:min(430px,100%);max-height:calc(100vh - 1.3rem);max-height:calc(100dvh - 1.3rem);border-radius:20px;padding:.75rem}
.peer-review-close{top:.55rem;right:.55rem;width:34px;height:34px;font-size:1.25rem}
.peer-review-copy{padding:0 2.45rem .45rem 0}
.peer-review-kicker{font-size:.52rem;letter-spacing:.14em;margin-bottom:.35rem}
.peer-review-kicker::before{width:14px}
.peer-review-copy h3{font-size:1.12rem}
.peer-review-copy p{font-size:.8rem;margin-top:.3rem}
.peer-review-frame{border-radius:16px;padding:.45rem}
.peer-review-image{max-height:calc(100vh - 8.75rem);max-height:calc(100dvh - 8.75rem);border-radius:12px}

  /* Grid */
  .bento-grid{grid-template-columns:1fr 1fr;gap:.85rem}
  .partners-grid{grid-template-columns:1fr;gap:1rem}
  .home-partners-preview{padding-bottom:34px}
  .home-partners-preview + .home-industries{padding-top:34px}
  .pub-grid{grid-template-columns:1fr}
  .t-grid{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr 1fr}
  .tm-grid{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:1fr}
  .split-section{margin:2.75rem 0}
  .kb-grid{grid-template-columns:1fr}

  /* Hero */
  .hero{height:auto;min-height:100svh;justify-content:flex-start;padding-top:calc(var(--nav-h) + 1.85rem);padding-bottom:7rem}
  .hero-content{max-width:100%;padding:0}
  .hero-est{display:block;max-width:100%;font-size:.58rem;line-height:1.55;letter-spacing:.15em;gap:0;margin-bottom:1.05rem;white-space:normal;overflow:visible}
  .hero-est::before,.hero-est::after{display:none}
  .hero-sketches{opacity:.6}
  .sketch-calc{top:16%;left:-2%;width:100px}
  .sketch-tax{top:20%;right:-14%;width:104px}
  .sketch-scales{left:-7%;bottom:22%;width:122px}
  .sketch-compliance{right:12%;top:8%;width:52px;opacity:.3}
  .sketch-ibc{right:-12%;bottom:23%;width:122px}
  .hero-peer-stamp{display:none}
  .hero-peer-mobile{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.85rem;padding:.7rem .85rem;border-radius:999px;background:rgba(255,250,243,.9);border:1px solid rgba(138,35,56,.18);box-shadow:0 10px 22px rgba(76,32,20,.08);color:#7b2135;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .hero-peer-mobile-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff4df;border:1px dashed rgba(138,35,56,.38);color:#8a2338;font-size:.62rem;font-weight:900;letter-spacing:.12em;flex-shrink:0}
  .hero-peer-stamp-ring{width:74px;height:74px}
  .hero-peer-stamp-ring svg{width:74px;height:74px}
  .hero-peer-stamp-ring::before{inset:6px}
  .hero-peer-stamp-ring::after{inset:-7px}
  .hero-peer-stamp-center{max-width:60px}
  .hero-peer-stamp-center strong{font-size:.82rem}
  .hero-peer-stamp-center span{font-size:.38rem;margin-top:.22rem}
  .hero-peer-stamp-center small{display:none}
  .hero-sketch span{font-size:.58rem;letter-spacing:.12em}
  .hero-name-desktop{display:none}
  .hero-name-mobile{display:block}
  .hero h1 small{font-size:.43em}
  .hero-desc{font-size:.92rem;line-height:1.75}
  .hero-actions{flex-direction:column;gap:.65rem}
  .hero-actions .btn{width:100%;justify-content:center}
  .achieve-grid-compact{grid-template-columns:1fr}
  .achieve-grid-compact .achieve-card{min-height:auto}
  .btn{white-space:normal;text-align:center}

  /* Stats */
  .stats-bar{grid-template-columns:repeat(2,1fr)}

  /* CTA */
  .cta-actions{flex-direction:column;width:100%}
  .cta-actions .btn{width:100%;justify-content:center}

  /* Footer */
  .footer-shell{padding:.55rem 0 0;border-radius:0}
  .footer-spotlight{gap:.6rem}
  .footer-contact-card{justify-content:flex-start;flex-wrap:wrap}
  .footer-action{width:100%;min-width:0}
  .footer-brand-card,.footer-contact-card{padding:0}
  .footer-brand{align-items:flex-start}
  .footer-brand .logo-firm{font-size:1.02rem!important}
  .ft-highlight-row{display:none}
  .footer-top{grid-template-columns:1fr;gap:.6rem}
  .footer-bottom{flex-direction:column;text-align:center}
  .form-row{grid-template-columns:1fr}
  .c-form{padding:1.6rem}

  /* Misc */
  .article-banner{flex-direction:column;text-align:center;gap:1rem}
  .pf-sticky{grid-template-columns:1fr}
  .career-cards{gap:1.1rem}
  .achieve-grid{grid-template-columns:repeat(2,1fr);gap:.85rem}
 .event-tab{font-size:.65rem;padding:.4rem .85rem}

/* Partner slider mobile */
.partners-slider-mob{display:block;position:relative;padding:0 2.5rem}
.partners-grid{display:none}
.p-slider-track-wrap{overflow:hidden;width:100%}
.p-slider-track{display:flex;transition:transform .5s cubic-bezier(0.16,1,0.3,1);will-change:transform}
.p-slider-track .p-card{min-width:100%;width:100%;flex-shrink:0;transform:none!important;cursor:pointer}
.p-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(123,29,46,.14);background:#fbf6ee;display:flex;align-items:center;justify-content:center;color:#7b2135;cursor:pointer;box-shadow:0 8px 22px rgba(76,32,20,.12);z-index:10;transition:all .18s;flex-shrink:0}
.p-slider-arrow:hover{background:var(--red);border-color:var(--red);color:var(--white)}
.p-slider-arrow.prev{left:0}
.p-slider-arrow.next{right:0}
.p-slider-dots{display:flex;justify-content:center;gap:.45rem;margin-top:1.25rem}
.p-slider-dot{width:7px;height:7px;border-radius:50%;background:rgba(123,29,46,.2);transition:all .18s;cursor:pointer}
.p-slider-dot.active{background:var(--red);width:20px;border-radius:4px}
}

/* ══════════════════════════════════════
   RESPONSIVE — Small Mobile 420px
══════════════════════════════════════ */
@media(max-width:420px){
  .container{padding:0 .9rem}
  h1{font-size:1.85rem;word-break:break-word}
  h2{word-break:break-word}
  .stat-n{font-size:1.75rem}
  .logo{gap:.45rem}
  .nav-inner{padding:.1rem .14rem;gap:.3rem}
  .logo-img{width:34px;height:34px}
  .logo-text{max-width:136px}
  .logo-firm{font-size:.66rem;max-width:none}
  .nav .logo{max-width:min(70vw,222px);gap:.34rem}
  .nav .logo-tag{font-size:.36rem;padding:0;letter-spacing:.03em}
  .ham{padding:7px}
  .ham span{width:18px}
  .hero-peer-mobile{font-size:.66rem;padding:.62rem .7rem}
  .hero-peer-stamp-ring{width:68px;height:68px}
  .hero-peer-stamp-ring svg{width:68px;height:68px}
  .hero-peer-stamp-center strong{font-size:.7rem}
  .hero-peer-stamp-center span{font-size:.34rem}
  .mob-nav{left:.45rem;right:.45rem;bottom:.45rem;border-radius:20px;padding:.34rem .32rem calc(.34rem + env(safe-area-inset-bottom))}
  .mob-nav-inner{gap:.12rem}
  .mob-nav-item{min-height:48px;font-size:.48rem;letter-spacing:.04em;border-radius:14px;padding:.42rem .04rem}
  .mob-nav-item svg{width:17px;height:17px;min-width:17px;min-height:17px;flex-basis:17px}
  .tm-grid{grid-template-columns:repeat(2,1fr)}
  .pillars{grid-template-columns:1fr}
  .bento-grid{grid-template-columns:1fr}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .btn{font-size:.78rem;padding:.65rem 1.1rem}
  .nav-cta-btn{font-size:.65rem!important;padding:.35rem .7rem!important}
  .achieve-grid{grid-template-columns:1fr 1fr;gap:.7rem}
  .event-card{width:calc(88vw)}
}

/* MOBILE POLISH PASS - 2026-04-20
   Keep this block isolated so this pass can be reverted cleanly if needed. */
@media(max-width:900px){
  html,body{overflow-x:hidden}
  body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}

  .drawer{
    overflow-y:auto;
    padding:calc(var(--nav-h) + 1rem) 1rem calc(6.4rem + env(safe-area-inset-bottom));
  }
  .drawer a,
  .drawer-toggle{
    min-height:46px;
  }

  .mob-nav{
    left:.72rem;
    right:.72rem;
    bottom:.72rem;
    padding:.42rem .44rem calc(.42rem + env(safe-area-inset-bottom));
    border-radius:22px;
  }
  .mob-nav-inner{gap:.18rem}
  .mob-nav-item{
    min-height:52px;
    border-radius:16px;
    line-height:1;
  }
  .stt{
    right:1rem;
    bottom:calc(6.65rem + env(safe-area-inset-bottom));
    width:44px;
    height:44px;
  }

  html body .ph,
  html body .about-ph,
  html body .services-ph,
  html body .industries-ph,
  html body .team-ph,
  html body .insights-ph,
  html body .jobs-hero,
  html body .arship-hero{
    padding:calc(var(--nav-h) + 2rem) 0 2.25rem!important;
  }
  html body .ph h1,
  html body .jobs-hero h1,
  html body .arship-hero h1{
    font-size:clamp(2.1rem,9.2vw,3.2rem)!important;
    line-height:1.02!important;
  }
  html body .ph p,
  html body .jobs-hero p,
  html body .arship-hero p{
    max-width:100%!important;
    font-size:.92rem!important;
    line-height:1.72!important;
  }
  html body .ph .eyebrow,
  html body .jobs-hero .eyebrow,
  html body .arship-hero .eyebrow{
    margin-bottom:.95rem!important;
    letter-spacing:.18em!important;
  }

  .pad{padding:52px 0}
  .pad-sm{padding:38px 0}
  .section-head{margin-bottom:1.6rem}
  .section-head p{font-size:.9rem;line-height:1.7}
}

@media(max-width:640px){
  h1{font-size:clamp(2rem,10vw,2.75rem)}
  h2{font-size:clamp(1.85rem,9vw,2.55rem);line-height:1.05}
  p{line-height:1.72}

  .container{padding:0 .95rem}
  .nav-inner{
    width:calc(100% - .9rem);
    border-radius:14px;
  }
  .nav .logo{max-width:calc(100vw - 5.5rem)}
  .nav .logo-firm{
    font-size:.76rem;
    line-height:1.05;
  }
  .nav .logo-tag{
    font-size:.4rem;
    line-height:1.05;
  }

  .hero{
    min-height:auto!important;
    padding-top:calc(var(--nav-h) + 1.35rem)!important;
    padding-bottom:5.75rem!important;
  }
  .hero-est{
    font-size:.52rem!important;
    letter-spacing:.14em!important;
    margin-bottom:.85rem!important;
  }
  .hero h1{
    font-size:clamp(2.25rem,13vw,3.2rem)!important;
    line-height:1.02!important;
  }
  .hero h1 em{
    font-size:clamp(1.55rem,8.5vw,2.15rem)!important;
    white-space:normal!important;
    line-height:1.05!important;
  }
  .hero h1 small{
    font-size:.38em!important;
    letter-spacing:.04em!important;
    margin-top:.45rem!important;
  }
  .hero-desc{
    margin:.85rem 0 1.25rem!important;
    font-size:.9rem!important;
    line-height:1.68!important;
  }
  .hero-actions{gap:.58rem!important}
  .hero-peer-mobile{
    margin-top:.72rem!important;
    min-height:48px;
    border-radius:16px!important;
    letter-spacing:.06em!important;
  }
  .hero-sketches{opacity:.38!important}

  .bento-grid{
    grid-template-columns:1fr!important;
    gap:.85rem!important;
  }
  .bento-card{
    min-height:auto!important;
    padding:1.15rem 1.08rem!important;
    border-radius:18px!important;
  }
  .bento-card::after{top:.85rem!important;bottom:.85rem!important}
  .bc-icon{
    width:42px!important;
    height:42px!important;
    z-index:5001!important;
    margin-bottom:.85rem!important;
  }
  .bc-title{font-size:1.08rem!important}
  .bc-desc{font-size:.82rem!important;line-height:1.62!important}

  .partners-slider-mob{
    display:block;
    position:relative;
    padding:0!important;
    margin-top:1.35rem;
  }
  .p-slider-track-wrap{
    overflow:hidden;
    border-radius:22px;
  }
  .p-slider-track{align-items:stretch}
  .p-slider-track .p-card{
    min-width:100%!important;
    width:100%!important;
    box-shadow:0 14px 34px rgba(76,32,20,.09)!important;
    border-radius:22px!important;
  }
  .p-slider-track .p-photo-wrap{
    aspect-ratio:4/3!important;
  }
  .p-slider-track .p-body{
    padding:1.1rem 1.05rem 1.2rem!important;
  }
  .p-slider-arrow{
    top:39%!important;
    width:34px!important;
    height:34px!important;
    background:rgba(255,250,244,.94)!important;
    border-color:rgba(138,35,56,.18)!important;
    box-shadow:0 10px 24px rgba(76,32,20,.14)!important;
  }
  .p-slider-arrow.prev{left:.58rem!important}
  .p-slider-arrow.next{right:.58rem!important}
  .p-slider-dots{margin-top:.85rem!important}

  .ind-grid{
    grid-template-columns:repeat(2,1fr)!important;
    margin-top:1.35rem!important;
  }
  .ind-cell{
    min-height:106px;
    padding:1rem .6rem!important;
  }

  .footer{padding-top:8px!important}
  .footer .container{padding:0 .95rem!important}
  .footer-spotlight{padding-bottom:.62rem!important}
  .footer-brand .logo img{
    width:38px!important;
    height:38px!important;
  }
  .footer-brand .logo-firm{font-size:.96rem!important}
  .footer-copy{font-size:.78rem!important;line-height:1.62!important}
  .footer-action{
    min-height:54px;
    padding:.5rem 0 .5rem .72rem!important;
  }
  .footer-top{
    gap:.75rem!important;
    padding:.7rem 0!important;
  }
  .ft-partners{gap:.36rem!important}
  .footer-bottom{
    padding:.5rem 0 calc(.75rem + env(safe-area-inset-bottom))!important;
  }

  .events-slider-wrap,
  .charcha-carousel{
    touch-action:pan-y;
  }
  .event-card{width:86vw!important}
}

@media(max-width:520px){
  html body .ph,
  html body .about-ph,
  html body .services-ph,
  html body .industries-ph,
  html body .team-ph,
  html body .insights-ph,
  html body .jobs-hero,
  html body .arship-hero{
    padding:calc(var(--nav-h) + 1.55rem) 0 1.8rem!important;
  }
  html body .ph h1,
  html body .jobs-hero h1,
  html body .arship-hero h1{
    font-size:clamp(1.95rem,11vw,2.75rem)!important;
  }
  .mob-nav{
    left:.48rem!important;
    right:.48rem!important;
    bottom:.48rem!important;
    border-radius:20px!important;
  }
  .mob-nav-item{
    min-height:48px!important;
    font-size:.48rem!important;
    letter-spacing:.04em!important;
    gap:.22rem!important;
  }
  .mob-nav-item svg{
    width:17px!important;
    height:17px!important;
  }
  .stt{bottom:calc(6.2rem + env(safe-area-inset-bottom))!important}
}

/* MOBILE SIDEBAR + HOME TYPE POLISH - 2026-04-20
   This block only affects mobile/tablet drawer and home hero sizing. */
@media(max-width:900px){
  body.no-scroll{overflow:hidden}
  body.no-scroll .mob-nav{
    opacity:0;
    pointer-events:none;
    transform:translateY(14px);
  }

  .ham{
    width:44px;
    height:44px;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    background:linear-gradient(180deg,#fffdf9,#f8eee5);
    border-color:rgba(138,35,56,.13);
    box-shadow:0 10px 22px rgba(76,32,20,.1), inset 0 1px 0 rgba(255,255,255,.86);
  }
  .ham span{
    width:20px;
    height:1.7px;
    background:#8a2338;
  }

  .drawer{
    counter-reset:drawerlink;
    display:flex!important;
    flex-direction:column;
    align-items:flex-end;
    gap:.58rem;
    inset:0!important;
    width:auto!important;
    max-width:none!important;
    padding:calc(var(--nav-h) + .85rem) .72rem calc(1rem + env(safe-area-inset-bottom)) 1rem!important;
    background:
      radial-gradient(circle at 18% 16%,rgba(196,154,26,.12),transparent 32%),
      linear-gradient(90deg,rgba(35,24,22,.2),rgba(35,24,22,.08) 42%,rgba(35,24,22,.2));
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
    z-index:999;
    transform:translateX(105%);
    transition:transform .42s cubic-bezier(.16,1,.3,1);
    overflow-y:auto;
    overflow-x:hidden;
    pointer-events:none;
    box-shadow:none;
  }
  .drawer.open{
    transform:translateX(0);
    pointer-events:all;
  }
  .drawer::after{
    content:'';
    position:fixed;
    top:calc(var(--nav-h) + .48rem);
    right:.58rem;
    bottom:.72rem;
    width:min(390px,calc(100vw - 1.15rem));
    border-radius:28px;
    background:
      radial-gradient(circle at 90% 0%,rgba(196,154,26,.18),transparent 30%),
      linear-gradient(155deg,rgba(255,253,248,.98) 0%,rgba(249,241,232,.97) 54%,rgba(244,232,222,.98) 100%);
    border:1px solid rgba(123,33,53,.12);
    box-shadow:0 26px 70px rgba(49,31,26,.26), inset 0 1px 0 rgba(255,255,255,.88);
    z-index:0;
    pointer-events:none;
  }
  .drawer > *{
    position:relative;
    z-index:1;
    width:min(360px,calc(100vw - 2.25rem));
    opacity:0;
    transform:translateX(22px);
    transition:opacity .26s ease,transform .34s cubic-bezier(.16,1,.3,1);
  }
  .drawer.open > *{
    opacity:1;
    transform:translateX(0);
  }
  .drawer.open > :nth-child(1){transition-delay:.03s}
  .drawer.open > :nth-child(2){transition-delay:.06s}
  .drawer.open > :nth-child(3){transition-delay:.09s}
  .drawer.open > :nth-child(4){transition-delay:.12s}
  .drawer.open > :nth-child(5){transition-delay:.15s}
  .drawer.open > :nth-child(6){transition-delay:.18s}
  .drawer.open > :nth-child(7){transition-delay:.21s}
  .drawer.open > :nth-child(8){transition-delay:.24s}
  .drawer.open > :nth-child(9){transition-delay:.27s}
  .drawer.open > :nth-child(10){transition-delay:.3s}

  .drawer > a,
  .drawer > .drawer-group{
    margin:0;
    border-radius:20px;
    box-shadow:none;
  }
  .drawer > a,
  .drawer-toggle{
    min-height:58px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 20px;
    align-items:center;
    gap:.76rem;
    padding:.78rem .92rem!important;
    border-radius:20px;
    border:1px solid rgba(123,33,53,.09);
    background:rgba(255,255,255,.68);
    color:#2b1818;
    font-family:'Manrope','Inter',system-ui,sans-serif;
    font-size:.88rem;
    font-weight:700;
    letter-spacing:.01em;
    line-height:1.2;
    box-shadow:0 10px 24px rgba(76,32,20,.07), inset 0 1px 0 rgba(255,255,255,.72);
    animation:none!important;
    transition:background var(--tf),border-color var(--tf),color var(--tf),transform var(--tf),box-shadow var(--tf);
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    counter-increment:drawerlink;
    content:counter(drawerlink, decimal-leading-zero);
    position:static!important;
    inset:auto!important;
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#fff4df;
    border:1px solid rgba(196,154,26,.28);
    color:#8a2338;
    font-family:'Manrope','Inter',system-ui,sans-serif;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.06em;
    opacity:1!important;
    transform:none!important;
  }
  .drawer > a::after{
    content:'\2192';
    display:block;
    position:static;
    height:auto;
    background:none;
    color:#8a2338;
    font-size:1rem;
    font-weight:900;
    opacity:.7;
    transform:none;
  }
  .drawer > a:hover,
  .drawer > a:focus-visible,
  .drawer-toggle:hover,
  .drawer-group.open .drawer-toggle{
    padding:.78rem .92rem!important;
    background:#fff;
    border-color:rgba(196,154,26,.34);
    transform:translateX(-3px);
    box-shadow:0 14px 30px rgba(76,32,20,.1), inset 0 1px 0 rgba(255,255,255,.84);
    color:#8a2338;
  }
  .drawer-toggle svg{
    grid-column:3;
    width:18px;
    height:18px;
    justify-self:end;
    color:#8a2338;
  }
  .drawer-group{
    padding:0!important;
    background:transparent!important;
    border:none!important;
    overflow:visible;
  }
  .drawer-group::after{display:none}
  .drawer-panel{
    margin-top:.28rem;
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,255,255,.38);
    border:1px solid rgba(123,33,53,.07);
  }
  .drawer-panel-inner{
    padding:.42rem!important;
  }
  .drawer-panel a{
    width:100%;
    display:grid!important;
    grid-template-columns:10px minmax(0,1fr);
    gap:.55rem;
    align-items:center;
    min-height:42px;
    margin:0!important;
    padding:.58rem .7rem!important;
    border-radius:13px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:#6b5c55!important;
    font-size:.76rem!important;
    font-weight:600!important;
    line-height:1.3;
    transform:none!important;
  }
  .drawer-panel a + a{margin-top:.08rem!important}
  .drawer-panel a::before{
    content:''!important;
    position:static!important;
    width:6px!important;
    height:6px!important;
    border-radius:50%;
    background:#c49a1a!important;
    border:0!important;
  }
  .drawer-panel a::after{display:none!important}
  .drawer-panel a:hover{
    color:#8a2338!important;
    background:rgba(138,35,56,.06)!important;
    padding:.58rem .7rem!important;
  }
  .drawer > a[href*="timesheet"]{
    background:linear-gradient(135deg,#fff8e8,#fff1ca);
    border-color:rgba(196,154,26,.38);
    color:#7b2135;
  }
  .drawer > a[href="contact.html"]{
    background:linear-gradient(135deg,#8a2338,#6f1d2d);
    border-color:rgba(138,35,56,.2);
    color:#fff;
    box-shadow:0 16px 32px rgba(138,35,56,.2);
  }
  .drawer > a[href="contact.html"]::before{
    background:rgba(255,255,255,.15);
    border-color:rgba(255,255,255,.24);
    color:#fff;
  }
  .drawer > a[href="contact.html"]::after{color:#fff;opacity:.9}

  .hero-content{
    max-width:100%;
  }
  .hero-name-desktop{display:none!important}
  .hero-name-mobile{display:block!important}
  .hero h1{
    font-size:clamp(2.45rem,8.3vw,4rem)!important;
    line-height:1.03!important;
    max-width:100%;
  }
  .hero h1 em{
    font-size:clamp(1.85rem,5.7vw,2.75rem)!important;
    line-height:1.04!important;
    white-space:normal!important;
  }
  .hero h1 small{
    font-size:clamp(1.1rem,3.1vw,1.55rem)!important;
    line-height:1.22!important;
    letter-spacing:.045em!important;
  }
  .hero-est{
    max-width:100%;
    flex-wrap:wrap;
    line-height:1.55;
    font-size:.58rem!important;
    letter-spacing:.16em!important;
    margin-bottom:1.05rem!important;
  }
}

@media(max-width:680px){
  .hero h1{
    font-size:clamp(2.18rem,10.4vw,3.05rem)!important;
  }
  .hero h1 em{
    font-size:clamp(1.55rem,7.4vw,2.05rem)!important;
  }
  .hero h1 small{
    font-size:clamp(1rem,4.3vw,1.32rem)!important;
  }
}

@media(max-width:430px){
  .drawer{
    padding:calc(var(--nav-h) + .72rem) .5rem calc(.72rem + env(safe-area-inset-bottom)) .5rem!important;
  }
  .drawer::after{
    right:.42rem;
    bottom:.48rem;
    width:calc(100vw - .84rem);
    border-radius:24px;
  }
  .drawer > *{
    width:calc(100vw - 1.4rem);
  }
  .drawer > a,
  .drawer-toggle{
    min-height:54px;
    grid-template-columns:34px minmax(0,1fr) 18px;
    gap:.62rem;
    border-radius:18px;
    font-size:.82rem;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    width:31px;
    height:31px;
    border-radius:11px;
    font-size:.54rem;
  }
}

/* MOBILE FOOTER COMPACT PASS - 2026-04-20
   Reduces repeated footer content only on mobile and tightens sidebar row alignment. */
@media(max-width:640px){
  .footer{
    padding:6px 0 0!important;
    background:linear-gradient(180deg,#f8f1e8 0%,#f2e8dd 100%)!important;
  }
  .footer::before,
  .footer::after{
    display:none!important;
  }
  .footer .container{
    padding:0 .82rem!important;
  }
  .footer-shell{
    padding:.38rem 0 0!important;
  }
  .footer-spotlight{
    display:block!important;
    padding-bottom:.55rem!important;
    border-bottom:1px solid rgba(123,33,53,.1)!important;
  }
  .footer-kicker{
    font-size:.48rem!important;
    letter-spacing:.12em!important;
    margin-bottom:.28rem!important;
  }
  .footer-kicker::before{
    width:13px!important;
  }
  .footer-brand{
    margin-bottom:.3rem!important;
    gap:.5rem!important;
  }
  .footer-brand .logo{
    align-items:center!important;
    gap:.5rem!important;
  }
  .footer-brand .logo img{
    width:34px!important;
    height:34px!important;
    padding:.12rem!important;
    border-radius:7px!important;
  }
  .footer-brand .logo-text{
    gap:.1rem!important;
    margin-left:.35rem!important;
  }
  .footer-brand .logo-firm{
    font-size:.82rem!important;
    line-height:1.02!important;
  }
  .footer-brand .logo-tag{
    font-size:.4rem!important;
    letter-spacing:.03em!important;
    line-height:1.05!important;
  }
  .ft-desc{
    max-width:100%!important;
    font-size:.72rem!important;
    line-height:1.5!important;
    margin:0 0 .52rem!important;
  }
  .footer-contact-card{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:.45rem!important;
    margin-top:.55rem!important;
  }
  .footer-action{
    width:100%!important;
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    gap:.45rem!important;
    padding:.48rem .58rem!important;
    border:1px solid rgba(123,33,53,.1)!important;
    border-left:1px solid rgba(123,33,53,.1)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.58)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.68)!important;
  }
  .footer-linkedin-action{
    grid-column:1/-1!important;
  }
  .footer-action-copy span{
    font-size:.48rem!important;
    letter-spacing:.11em!important;
    margin-bottom:.08rem!important;
  }
  .footer-action-copy a{
    font-size:.78rem!important;
    line-height:1.15!important;
  }
  .footer-action svg{
    width:15px!important;
    height:15px!important;
  }
  .footer-linkedin-icon{
    width:24px!important;
    height:24px!important;
    border-radius:6px!important;
  }
  .footer-linkedin-icon svg{
    width:13px!important;
    height:13px!important;
  }
  .footer-top{
    display:block!important;
    padding:.5rem 0 .42rem!important;
  }
  .footer-top .ft-col:not(:last-child){
    display:none!important;
  }
  .footer-top .ft-col h5{
    font-size:.48rem!important;
    letter-spacing:.12em!important;
    margin-bottom:.28rem!important;
  }
  .ft-contact{
    gap:.2rem!important;
  }
  .ft-contact .ft-ci:not(:first-child){
    display:none!important;
  }
  .ft-ci{
    gap:.48rem!important;
    align-items:flex-start!important;
  }
  .ft-ci svg{
    width:13px!important;
    height:13px!important;
    margin-top:.18rem!important;
  }
  .ft-ci span{
    font-size:.72rem!important;
    line-height:1.45!important;
  }
  .footer-bottom{
    flex-direction:column!important;
    gap:.08rem!important;
    padding:.38rem 0 calc(.62rem + env(safe-area-inset-bottom))!important;
    text-align:center!important;
  }
  .footer-bottom p{
    font-size:.62rem!important;
    line-height:1.35!important;
  }
  .footer-bottom p:last-child{
    display:none!important;
  }

  .drawer > a,
  .drawer-toggle{
    text-align:left!important;
    justify-items:start!important;
    min-height:52px!important;
  }
  .drawer > a::after,
  .drawer-toggle svg{
    justify-self:end!important;
  }
  .drawer-panel a{
    text-align:left!important;
    justify-items:start!important;
  }
}

/* MOBILE SIDEBAR REFINEMENT - 2026-04-20
   Keeps Timesheet/Contact aligned with the rest of the mobile drawer. */
@media(max-width:900px){
  .drawer{
    gap:.42rem!important;
    padding-top:calc(var(--nav-h) + .72rem)!important;
    padding-bottom:calc(2.4rem + env(safe-area-inset-bottom))!important;
  }
  .drawer::after{
    top:calc(var(--nav-h) + .38rem)!important;
    bottom:.56rem!important;
  }
  .drawer > a,
  .drawer-toggle{
    min-height:50px!important;
    grid-template-columns:34px minmax(0,1fr) 18px!important;
    gap:.62rem!important;
    border-radius:18px!important;
    padding:.62rem .78rem!important;
    background:rgba(255,255,255,.72)!important;
    border-color:rgba(123,33,53,.09)!important;
    color:#2b1818!important;
    box-shadow:0 8px 20px rgba(76,32,20,.06), inset 0 1px 0 rgba(255,255,255,.72)!important;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    width:30px!important;
    height:30px!important;
    border-radius:10px!important;
    background:#fff7e7!important;
    color:#8a2338!important;
  }
  .drawer > a:hover,
  .drawer > a:focus-visible,
  .drawer-toggle:hover,
  .drawer-group.open .drawer-toggle{
    padding:.62rem .78rem!important;
    transform:translateX(-2px)!important;
    background:#fff!important;
    color:#8a2338!important;
  }
  .drawer > a[href*="timesheet"],
  .drawer > a[href="contact.html"]{
    background:rgba(255,255,255,.78)!important;
    border-color:rgba(123,33,53,.12)!important;
    color:#2b1818!important;
    box-shadow:0 8px 20px rgba(76,32,20,.06), inset 3px 0 0 rgba(138,35,56,.78)!important;
  }
  .drawer > a[href*="timesheet"]::before,
  .drawer > a[href="contact.html"]::before{
    background:#fff4df!important;
    border-color:rgba(196,154,26,.32)!important;
    color:#8a2338!important;
  }
  .drawer > a[href*="timesheet"]::after,
  .drawer > a[href="contact.html"]::after{
    color:#8a2338!important;
    opacity:.78!important;
  }

  .drawer-panel{
    margin-top:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .drawer-panel-inner{
    padding:0!important;
  }
  .drawer-group.open .drawer-panel{
    margin-top:.24rem!important;
    border:1px solid rgba(123,33,53,.07)!important;
    background:rgba(255,255,255,.38)!important;
  }
  .drawer-group.open .drawer-panel-inner{
    padding:.36rem!important;
  }
  .drawer > a:last-child{
    margin-bottom:1rem!important;
  }
}

/* MOBILE SIDEBAR FINAL ALIGNMENT - 2026-04-20
   Removes the fragile inner panel so every row, including Contact, sits on the same full-screen surface. */
@media(max-width:900px){
  .drawer{
    align-items:center!important;
    gap:.42rem!important;
    padding:calc(var(--nav-h) + .7rem) 1rem calc(1.35rem + env(safe-area-inset-bottom))!important;
    background:
      radial-gradient(circle at 16% 18%,rgba(138,35,56,.12),transparent 31%),
      radial-gradient(circle at 86% 78%,rgba(196,154,26,.14),transparent 34%),
      linear-gradient(145deg,#f9f2e8 0%,#f3e8dc 55%,#eee0d3 100%)!important;
  }
  .drawer::after{
    display:none!important;
  }
  .drawer > *{
    width:min(414px,calc(100vw - 2rem))!important;
  }
  .drawer > a,
  .drawer-toggle{
    min-height:48px!important;
    grid-template-columns:30px minmax(0,1fr) 18px!important;
    gap:.72rem!important;
    padding:.58rem .86rem!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.82)!important;
    border-color:rgba(123,33,53,.08)!important;
    color:#251817!important;
    font-size:.9rem!important;
    font-weight:780!important;
    box-shadow:0 9px 22px rgba(76,32,20,.06), inset 0 1px 0 rgba(255,255,255,.82)!important;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    width:28px!important;
    height:28px!important;
    border-radius:10px!important;
    font-size:.55rem!important;
  }
  .drawer > a:hover,
  .drawer > a:focus-visible,
  .drawer-toggle:hover,
  .drawer-group.open .drawer-toggle{
    padding:.58rem .86rem!important;
    transform:translateY(-1px)!important;
  }
  .drawer > a:last-child{
    margin-top:0!important;
    margin-bottom:.85rem!important;
  }
}

/* MOBILE SITE CLEANUP PASS - 2026-04-20
   Final mobile-only polish layer. Keep this block together so it can be reviewed or reverted cleanly. */
@media(max-width:900px){
  html{
    scroll-padding-top:calc(var(--nav-h) + 14px);
  }
  body{
    padding-bottom:calc(78px + env(safe-area-inset-bottom));
  }
  body.no-scroll{
    padding-bottom:0;
  }
  main,
  section,
  .pad,
  .pad-sm,
  .svc-page-wrap{
    max-width:100%;
    overflow-x:hidden;
  }
  .container{
    width:100%;
    padding-left:clamp(.95rem,4vw,1.25rem);
    padding-right:clamp(.95rem,4vw,1.25rem);
  }
  .pad{
    padding-top:clamp(44px,10vw,58px);
    padding-bottom:clamp(44px,10vw,58px);
  }
  .pad-sm{
    padding-top:clamp(34px,8vw,44px);
    padding-bottom:clamp(34px,8vw,44px);
  }

  html body .ph,
  html body .services-ph,
  html body .team-ph,
  html body .insights-ph,
  html body .jobs-hero,
  html body .arship-hero{
    min-height:auto!important;
    padding:calc(var(--nav-h) + 1.65rem) 0 2.05rem!important;
    border-bottom:1px solid rgba(123,33,53,.08);
  }
  html body .ph .breadcrumb,
  html body .jobs-hero .breadcrumb,
  html body .arship-hero .breadcrumb{
    margin-bottom:1rem!important;
    font-size:.72rem!important;
  }
  html body .ph h1,
  html body .jobs-hero h1,
  html body .arship-hero h1{
    max-width:100%!important;
    font-size:clamp(2.08rem,9.4vw,3.05rem)!important;
    line-height:1.04!important;
    letter-spacing:-.025em!important;
  }
  html body .ph p,
  html body .jobs-hero p,
  html body .arship-hero p{
    max-width:100%!important;
    margin-top:.78rem!important;
    font-size:.92rem!important;
    line-height:1.72!important;
  }
  html body .ph .eyebrow,
  html body .jobs-hero .eyebrow,
  html body .arship-hero .eyebrow{
    margin-bottom:.85rem!important;
    font-size:.58rem!important;
    letter-spacing:.18em!important;
  }

  .hero{
    min-height:auto!important;
    height:auto!important;
    padding-top:calc(var(--nav-h) + 1.45rem)!important;
    padding-bottom:7.4rem!important;
  }
  .hero-content{
    max-width:100%!important;
  }
  .hero-est{
    display:block!important;
    margin-bottom:.9rem!important;
    font-size:.58rem!important;
    line-height:1.55!important;
    letter-spacing:.14em!important;
  }
  .hero h1{
    font-size:clamp(2.28rem,10vw,3.45rem)!important;
    line-height:1.02!important;
  }
  .hero h1 em{
    font-size:clamp(1.35rem,6.4vw,2.05rem)!important;
    white-space:normal!important;
    line-height:1.08!important;
  }
  .hero h1 small{
    font-size:clamp(.9rem,4vw,1.2rem)!important;
    line-height:1.35!important;
  }
  .hero-desc{
    margin:1rem 0 1.45rem!important;
    font-size:.92rem!important;
    line-height:1.72!important;
  }
  .hero-actions .btn,
  .jobs-hero .btn,
  .arship-hero .btn{
    width:100%;
    justify-content:center;
    min-height:52px;
  }

  .bento-grid,
  .why-grid,
  .profile-glance-grid,
  .firm-focus-grid,
  .career-cards,
  .jobs-layout,
  .jobs-section-head,
  .jobs-hero-inner,
  .jobs-values-inner,
  .arship-hero-inner,
  .charcha-new-inner,
  .culture-grid,
  .apply-split,
  .contact-grid,
  .pub-grid,
  .kb-grid,
  .ind-split-grid,
  .firm-overview{
    grid-template-columns:1fr!important;
    gap:1rem!important;
  }
  .bento-card,
  .why-card,
  .profile-glance-card,
  .firm-focus-card,
  .job-row,
  .jobs-general,
  .jobs-contact,
  .jobs-note,
  .culture-card,
  .pub-card,
  .kb-card,
  .c-card,
  .contact-card,
  .career-card,
  .about-profile-card{
    border-radius:18px!important;
    padding:1.1rem!important;
    min-height:auto!important;
  }
  .profile-glance-card::after,
  .why-card-num{
    font-size:2.75rem!important;
  }
  .profile-glance-value{
    font-size:2.2rem!important;
  }
  .section-head{
    margin-bottom:1.35rem!important;
  }
  .section-head p{
    max-width:100%!important;
  }

  .svc-mobile-jump{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    gap:.42rem!important;
    padding:.1rem 0 1rem!important;
    margin-bottom:.2rem!important;
  }
  .svc-mobile-jump a{
    flex:0 0 auto;
    max-width:100%;
    white-space:nowrap;
    font-size:.65rem!important;
    padding:.46rem .64rem!important;
  }
  .svc-section{
    padding:1.9rem 0!important;
    scroll-margin-top:calc(var(--nav-h) + 12px)!important;
  }
  .svc-section:first-child{
    padding-top:1.2rem!important;
  }
  .svc-section-inner,
  .svc-section-inner.flip{
    grid-template-columns:1fr!important;
    gap:1rem!important;
  }
  .svc-text{
    min-width:0;
  }
  .svc-num{
    font-size:2.7rem!important;
    margin-bottom:.45rem!important;
  }
  .svc-icon-box{
    width:38px!important;
    height:38px!important;
    margin-bottom:.75rem!important;
  }
  .svc-list{
    gap:.34rem!important;
  }
  .svc-list li{
    font-size:.84rem!important;
    line-height:1.55!important;
  }

  .jobs-main{
    padding:42px 0 46px!important;
  }
  .jobs-section-title{
    padding-bottom:.15rem!important;
  }
  .jobs-section-title h2{
    font-size:clamp(2rem,9vw,2.65rem)!important;
  }
  .jobs-section-title p{
    font-size:.88rem!important;
    line-height:1.65!important;
  }
  .jobs-side{
    gap:.75rem!important;
  }
  .jobs-general{
    display:block!important;
  }
  .jobs-contact-lines{
    gap:.46rem!important;
  }
  .jobs-contact-line{
    grid-template-columns:32px minmax(0,1fr)!important;
    padding:.58rem .62rem!important;
  }
  .job-row{
    padding:1rem!important;
  }
  .job-row h3{
    font-size:1.35rem!important;
  }
  .job-summary,
  .job-detail li{
    font-size:.82rem!important;
  }

  .offer-row{
    grid-template-columns:1fr!important;
    gap:.6rem!important;
    padding:1.15rem 0!important;
  }
  .offer-num{
    font-size:2.1rem!important;
  }
  .exposure-grid{
    grid-template-columns:1fr 1fr!important;
    gap:.75rem!important;
  }
  .exp-card{
    padding:1rem .75rem!important;
  }
  .apply-card,
  .apply-box,
  .ready-apply-card{
    border-radius:18px!important;
    padding:1.15rem!important;
  }

  .partners-slider-mob{
    padding:0!important;
  }
  .p-slide-btn{
    width:38px!important;
    height:38px!important;
  }
  .p-slider-prev{
    left:.1rem!important;
  }
  .p-slider-next{
    right:.1rem!important;
  }

  .footer{
    padding-top:4px!important;
  }
  .footer .container{
    padding-left:.85rem!important;
    padding-right:.85rem!important;
  }
  .footer-spotlight,
  .footer-top,
  .footer-bottom{
    gap:.5rem!important;
  }
  .footer-copy,
  .ft-desc{
    font-size:.74rem!important;
    line-height:1.55!important;
  }
  .footer-action{
    min-height:44px!important;
  }
  .footer-top{
    padding:.45rem 0!important;
  }
  .footer-bottom{
    padding:.34rem 0 calc(.58rem + env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:430px){
  body{
    padding-bottom:calc(72px + env(safe-area-inset-bottom));
  }
  .container{
    padding-left:.82rem;
    padding-right:.82rem;
  }
  .nav .logo-firm{
    font-size:.86rem!important;
  }
  .nav .logo-tag{
    font-size:.42rem!important;
  }
  .hero h1{
    font-size:clamp(2.05rem,11.5vw,2.85rem)!important;
  }
  .hero h1 em{
    font-size:clamp(1.22rem,6.8vw,1.75rem)!important;
  }
  .hero-desc{
    font-size:.88rem!important;
  }
  html body .ph h1,
  html body .jobs-hero h1,
  html body .arship-hero h1{
    font-size:clamp(1.88rem,10vw,2.45rem)!important;
  }
  .svc-mobile-jump a{
    font-size:.6rem!important;
    padding:.42rem .56rem!important;
  }
  .exposure-grid,
  .ind-grid,
  .achieve-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .drawer{
    gap:.36rem!important;
    padding-left:.74rem!important;
    padding-right:.74rem!important;
  }
  .drawer > *{
    width:100%!important;
  }
  .drawer > a,
  .drawer-toggle{
    min-height:46px!important;
    font-size:.86rem!important;
  }
}

/* Final stabilization layer: shared rhythm, card geometry and mobile drawer/footer fixes. */
html body .ph,
html body .jobs-hero,
html body .arship-hero{
  padding:calc(var(--nav-h) + 2.9rem) 0 2.85rem!important;
}
html body .ph h1,
html body .jobs-hero h1,
html body .arship-hero h1{
  margin:0!important;
  max-width:min(860px,100%)!important;
  font-size:clamp(3rem,5.2vw,4.65rem)!important;
  line-height:.98!important;
  letter-spacing:-.028em!important;
}
html body .ph p,
html body .jobs-hero p,
html body .arship-hero p{
  max-width:min(620px,100%)!important;
  margin-top:.82rem!important;
  font-size:1rem!important;
  line-height:1.72!important;
}
html body .ph .breadcrumb,
html body .jobs-hero .breadcrumb,
html body .arship-hero .breadcrumb{
  margin-bottom:1rem!important;
}
.bc-icon,
.svc-icon-box,
.svc-visual-icon,
.jobs-contact-icon,
.c-icon{
  display:grid;
  place-items:center;
}
.bc-icon svg,
.svc-icon-box svg,
.svc-visual-icon svg,
.jobs-contact-icon svg,
.c-icon svg{
  display:block;
  margin:0 auto;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.jobs-layout{
  align-items:start!important;
}
.jobs-side,
.jobs-openings-panel{
  display:grid;
  align-content:start;
  gap:1rem;
}
.jobs-section-title{
  margin-bottom:0!important;
}
.jobs-general{
  min-height:min(100%,430px)!important;
}
.jobs-profile-actions{
  display:grid;
  gap:.7rem;
}
.profile-glance-card{
  padding-top:1.45rem!important;
}
.profile-glance-head{
  align-items:flex-start!important;
  padding-right:3.85rem!important;
}
.profile-glance-card::after{
  top:1rem!important;
  right:1rem!important;
  font-size:3rem!important;
  color:rgba(138,35,56,.038)!important;
}
.profile-glance-label{
  max-width:90px!important;
  min-height:44px!important;
  text-align:right!important;
}

@media(max-width:1024px){
  html body .ph,
  html body .jobs-hero,
  html body .arship-hero{
    padding:calc(var(--nav-h) + 2.45rem) 0 2.45rem!important;
  }
  html body .ph h1,
  html body .jobs-hero h1,
  html body .arship-hero h1{
    font-size:clamp(2.6rem,5.8vw,3.85rem)!important;
  }
}

@media(max-width:900px){
  body.no-scroll .mob-nav{
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(14px)!important;
  }
  .hero-est{
    font-size:.66rem!important;
    line-height:1.65!important;
    row-gap:.25rem!important;
  }
  html body .ph,
  html body .jobs-hero,
  html body .arship-hero{
    padding:calc(var(--nav-h) + 2rem) 0 2rem!important;
  }
  html body .ph h1,
  html body .jobs-hero h1,
  html body .arship-hero h1{
    font-size:clamp(2.18rem,8.9vw,3rem)!important;
    line-height:1.01!important;
  }
  html body .ph p,
  html body .jobs-hero p,
  html body .arship-hero p{
    font-size:.92rem!important;
    line-height:1.68!important;
    margin-top:.72rem!important;
  }
  .svc-mobile-jump{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.5rem!important;
    padding:.15rem 0 1rem!important;
    margin-bottom:.25rem!important;
  }
  .svc-mobile-jump a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:46px!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.24!important;
  }
  .insights-hero-inner,
  .jobs-hero-inner,
  .arship-hero-inner{
    grid-template-columns:1fr!important;
    gap:1.05rem!important;
  }
  .jobs-side,
  .jobs-openings-panel{
    gap:.85rem!important;
  }
  .jobs-side .jobs-section-head-inner,
  .jobs-openings-panel .jobs-section-head-inner{
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
  .jobs-general{
    padding:1.15rem!important;
  }
  .jobs-general h3{
    margin-bottom:.3rem!important;
  }
  .hr-profile-head{
    margin-bottom:.7rem!important;
  }
  .jobs-profile-actions{
    grid-template-columns:1fr!important;
    gap:.55rem!important;
  }
  .article-reader-card{
    padding:1.35rem!important;
    border-radius:16px!important;
  }
  .pub-filters{
    gap:.42rem!important;
    margin:1rem 0 .95rem!important;
  }
  .pub-filter-btn{
    font-size:.62rem!important;
    padding:.48rem .74rem!important;
  }
  .drawer{
    display:grid!important;
    grid-auto-rows:min-content!important;
    gap:.58rem!important;
    position:fixed!important;
    inset:calc(var(--nav-h) + .42rem) .58rem calc(.82rem + env(safe-area-inset-bottom)) .58rem!important;
    width:auto!important;
    height:auto!important;
    max-height:calc(100dvh - var(--nav-h) - 1.24rem - env(safe-area-inset-bottom))!important;
    padding:.88rem!important;
    border-radius:30px!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    background:linear-gradient(180deg,rgba(255,251,246,.985) 0%,rgba(247,239,230,.975) 100%)!important;
    box-shadow:0 28px 68px rgba(55,28,23,.22)!important;
    border:1px solid rgba(123,33,53,.1)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    transform:translateY(18px) scale(.98)!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .drawer.open{
    transform:translateY(0) scale(1)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .drawer::after{
    display:none!important;
  }
  .drawer > *{
    width:100%!important;
    margin:0!important;
    opacity:1!important;
    transform:none!important;
  }
  .drawer > a,
  .drawer-toggle{
    min-height:56px!important;
    padding:0 1rem 0 .95rem!important;
    border-radius:20px!important;
    font-family:'Manrope','Inter',sans-serif!important;
    font-size:.96rem!important;
    font-weight:700!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    line-height:1.2!important;
  }
  .drawer-group{
    margin:0!important;
    padding:0 .95rem!important;
    border-radius:20px!important;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    width:34px!important;
    height:34px!important;
    margin-right:.82rem!important;
    flex:0 0 34px!important;
    font-size:.78rem!important;
  }
  .drawer-toggle svg{
    width:16px!important;
    height:16px!important;
  }
  .drawer-panel{
    margin:0!important;
  }
  .drawer-panel-inner{
    padding:0 0 .72rem .06rem!important;
  }
  .drawer-panel a{
    min-height:40px!important;
    margin:0!important;
    padding:.58rem .9rem .58rem 1rem!important;
    border-radius:14px!important;
    font-family:'Manrope','Inter',sans-serif!important;
    font-size:.84rem!important;
    line-height:1.3!important;
  }
  .drawer-panel a + a{
    margin-top:.12rem!important;
  }
  .drawer > a:last-child,
  .drawer > a[href*="timesheet"],
  .drawer > a[href="contact.html"]{
    margin-top:0!important;
  }
  .footer{
    padding-top:2px!important;
  }
  .footer .container{
    padding-left:.9rem!important;
    padding-right:.9rem!important;
  }
  .footer-shell{
    padding-top:.22rem!important;
  }
  .footer-spotlight{
    gap:.55rem!important;
    padding-bottom:.55rem!important;
  }
  .footer-brand{
    gap:.55rem!important;
  }
  .footer-brand .logo img{
    width:38px!important;
    height:38px!important;
  }
  .footer-brand .logo-firm{
    font-size:.95rem!important;
  }
  .footer-brand .logo-tag{
    font-size:.47rem!important;
  }
  .ft-desc{
    font-size:.74rem!important;
    line-height:1.58!important;
    margin-bottom:.3rem!important;
  }
  .ft-dynamic-line{
    display:none!important;
  }
  .footer-contact-card{
    gap:.5rem!important;
  }
  .footer-action{
    width:100%!important;
    min-width:0!important;
    padding:.24rem 0 .24rem .62rem!important;
    min-height:0!important;
  }
  .footer-action-copy span{
    font-size:.54rem!important;
  }
  .footer-action-copy a{
    font-size:.9rem!important;
  }
  .footer-top{
    gap:.52rem!important;
    padding:.4rem 0!important;
  }
  .ft-col h5{
    margin-bottom:.34rem!important;
  }
  .ft-partners{
    gap:.18rem!important;
  }
  .ft-p-item,
  .ft-ci{
    padding:.08rem 0!important;
  }
  .ft-p-name,
  .ft-p-num,
  .ft-col li a,
  .ft-ci a{
    font-size:.78rem!important;
  }
  .footer-bottom{
    gap:.28rem!important;
    padding:.34rem 0 calc(.48rem + env(safe-area-inset-bottom))!important;
  }
  .footer-bottom p{
    font-size:.67rem!important;
  }
}

@media(max-width:430px){
  .hero-est{
    font-size:.62rem!important;
    letter-spacing:.16em!important;
  }
  .svc-mobile-jump a{
    font-size:.66rem!important;
    padding:.56rem .42rem!important;
  }
  .profile-glance-head{
    padding-right:3.2rem!important;
  }
  .profile-glance-card::after{
    font-size:2.45rem!important;
  }
  .ft-highlight-row{
    display:none!important;
  }
  .footer-action-copy a{
    font-size:.86rem!important;
  }
  .drawer{
    inset:calc(var(--nav-h) + .36rem) .5rem calc(.72rem + env(safe-area-inset-bottom)) .5rem!important;
    padding:.74rem!important;
    gap:.46rem!important;
  }
  .drawer > a,
  .drawer-toggle{
    min-height:52px!important;
    font-size:.9rem!important;
    padding:0 .86rem 0 .82rem!important;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    width:31px!important;
    height:31px!important;
    margin-right:.7rem!important;
    font-size:.74rem!important;
  }
  .drawer-group{
    padding:0 .82rem!important;
  }
  .drawer-panel a{
    font-size:.8rem!important;
    padding:.54rem .74rem .54rem .86rem!important;
  }
}

/* Mobile drawer equal-width correction.
   Keeps every sidebar row on the same box model, including Timesheet and Contact. */
@media(max-width:900px){
  .drawer,
  .drawer > *,
  .drawer > a,
  .drawer-group,
  .drawer-toggle,
  .drawer-panel,
  .drawer-panel a{
    box-sizing:border-box!important;
  }
  .drawer{
    align-items:stretch!important;
  }
  .drawer > *{
    width:100%!important;
    max-width:none!important;
  }
  .drawer > a,
  .drawer > .drawer-group,
  .drawer > a[href*="timesheet"],
  .drawer > a[href="contact.html"]{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .drawer-group{
    padding:0!important;
    overflow:visible!important;
  }
  .drawer-toggle{
    width:100%!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 18px!important;
    align-items:center!important;
    justify-content:initial!important;
    column-gap:.72rem!important;
    padding-left:.95rem!important;
    padding-right:1rem!important;
    text-align:left!important;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    margin-right:0!important;
    justify-self:start!important;
  }
  .drawer > a::after,
  .drawer-toggle svg{
    justify-self:end!important;
  }
  .drawer-group.open .drawer-panel{
    width:100%!important;
    margin-top:.3rem!important;
  }
  .drawer-group.open .drawer-panel-inner{
    padding:.32rem 0 0!important;
  }
}

@media(max-width:430px){
  .drawer-toggle{
    grid-template-columns:31px minmax(0,1fr) 18px!important;
    padding-left:.82rem!important;
    padding-right:.86rem!important;
  }
}

/* Mobile drawer label alignment: keep every main row centered consistently. */
@media(max-width:900px){
  .drawer{
    gap:.28rem!important;
  }
  .drawer-group{
    display:block!important;
  }
  .drawer-group:not(.open) .drawer-panel{
    display:none!important;
  }
  .drawer-group.open .drawer-panel{
    display:block!important;
    width:100%!important;
    margin-top:.16rem!important;
  }
  .drawer-group.open .drawer-panel-inner{
    padding:.22rem 0 0!important;
  }
  .drawer > a,
  .drawer-toggle{
    text-align:center!important;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    justify-self:start!important;
  }
  .drawer > a::after,
  .drawer-toggle svg{
    justify-self:end!important;
  }
}

@media(max-width:430px){
  .drawer{
    gap:.24rem!important;
  }
  .drawer-group.open .drawer-panel{
    margin-top:.12rem!important;
  }
  .drawer-group.open .drawer-panel-inner{
    padding:.18rem 0 0!important;
  }
}

/* ══════════════════════════════════════
   HOME — PARTNER PREVIEW CARDS
   (Moved from inline <style> in index.html)
══════════════════════════════════════ */
.p-card{background:var(--white);border:1px solid var(--line2);border-radius:var(--rl);overflow:hidden;transition:all var(--t);box-shadow:var(--sh-sm)}
.p-card:hover{box-shadow:var(--sh-md);transform:translateY(-5px);border-color:var(--gold)}
.p-photo-wrap{position:relative;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy2))}
.p-photo{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .6s var(--ease)}
.p-card:hover .p-photo{transform:scale(1.06)}
.p-photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(123,29,46,.82) 0%,transparent 55%);opacity:0;transition:opacity .35s;display:flex;align-items:flex-end;padding:1.1rem}
.p-card:hover .p-photo-overlay{opacity:1}
.p-overlay-content{width:100%}
.p-overlay-spec{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold3);margin-bottom:.5rem}
.p-overlay-mobile{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:rgba(255,255,255,.85);font-weight:500}
.p-body{padding:1.35rem 1.4rem}
.p-prof-badge{display:inline-block;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);background:var(--gold-lt);padding:.18rem .65rem;border-radius:40px;margin-bottom:.6rem}
.p-name{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:500;color:var(--ink);margin-bottom:.2rem}
.p-exp{font-size:.72rem;color:var(--ink4);margin-bottom:.75rem}
.p-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.85rem}
.p-tag{font-size:.6rem;font-weight:600;letter-spacing:.05em;padding:.2rem .6rem;border-radius:40px;background:var(--surf);color:var(--navy);border:1px solid var(--line2)}
.p-mobile{display:flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:500;color:var(--ink3);padding:.42rem .7rem;background:var(--surf);border-radius:var(--rs);transition:all var(--tf);border:1px solid var(--line2)}
.p-mobile:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.p-mobile svg{width:13px;height:13px;flex-shrink:0}

/* Industry cell SVG sizing — replaces emoji icons consistently */
.ind-cell .ind-icon svg{width:24px;height:24px;display:block;margin:0 auto;color:var(--navy);transition:color var(--t),transform var(--t)}
.ind-cell:hover .ind-icon svg{color:var(--gold);transform:scale(1.08)}
.ind-cell:hover .ind-name{color:rgba(255,255,255,.88)}
.ind-cell:hover .ind-icon svg{color:var(--gold3)}

/* ============================================================
   VISUAL NORMALIZATION PASS
   Keeps the site in one calm VK&S palette. Page-local styles had
   multiple left/right gradients, which made different pages feel
   unrelated and made some hero areas look uneven.
   ============================================================ */
:root{
  --page-bg:#fbf7ef;
  --page-band:#f7efe6;
  --page-band-2:#f4ecdf;
  --card-bg:#fffdf8;
  --card-bg-strong:#ffffff;
  --card-border:rgba(123,33,53,.11);
}

body{background:var(--page-bg)!important}
body::before{opacity:.012!important}

.hero,
.ph,
.about-ph,
.services-ph,
.industries-ph,
.team-ph,
.jobs-hero,
.insights-ph,
.arship-hero{
  background:var(--page-band)!important;
  border-bottom:1px solid rgba(123,33,53,.1)!important;
}

.hero-bg,
.hero-mesh,
.ph::before,
.ph::after,
.about-ph::before,
.services-ph::before,
.industries-ph::before,
.team-ph::before,
.jobs-hero::before,
.insights-ph::before,
.insights-ph::after,
.arship-hero::before,
.arship-hero::after{
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
}

.hero-bg{background:var(--page-band)!important}
.hero-mesh{
  background:
    linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,0) 44%),
    var(--page-band)!important;
}

.pad[style],
.firm-overview-section,
.home-industries,
.svc-page-wrap,
.industries-panel,
.ind-approach,
.jobs-main,
#monthly-bulletins,
#articles-alerts,
.article-reader-section,
.charcha-new,
.team-members-section,
.partner-feature.team-alt{
  background:var(--page-bg)!important;
}

.partner-feature,
.footer,
.stats-bar,
.cta-strip,
.team-cta,
.recruitment-shell{
  background:var(--page-band)!important;
}

.about-profile-card,
.why-card,
.profile-glance-card,
.firm-focus-card,
.split-right,
.svc-sidebar,
.svc-sidebar-title,
.svc-visual-card,
.ind-card,
.ind-scope-panel,
.ind-scope-card,
.jobs-hero-panel,
.job-row,
.jobs-contact,
.jobs-note,
.jobs-general,
.pub-card,
.bull-card,
.article-reader-card,
.insights-hero-art,
.insights-art-card,
.arship-hero-card,
.arship-path-card,
.exp-card,
.culture-card,
.apply-steps,
.apply-cta-box,
.arship-hr-card,
.contact-panel,
.c-form,
.contact-connect-card,
.tm-card,
.pf-info-card,
.team-members-section .article-banner{
  background:var(--card-bg)!important;
  border-color:var(--card-border)!important;
}

.about-profile-card::before,
.profile-glance-card::after,
.svc-visual-card::before,
.ind-card::after,
.ind-scope-card::before,
.jobs-general::before,
.arship-path-card::after,
.arship-hr-card::before,
.apply-cta-box::after,
.insights-art-card::before{
  display:none!important;
}

.split-left,
.jobs-values{
  background:#7b1d2e!important;
}

/* Hero firm name and all page-header emphasis share the single brand maroon. */
.hero h1{color:#8a2338!important}
.ph h1 em,
.about-ph h1 em,
.services-ph h1 em,
.industries-ph h1 em,
.team-ph h1 em,
.jobs-hero h1 em,
.insights-ph h1 em,
.arship-hero h1 em{
  color:#8a2338!important;
}

/* Articleship support block */
.support-section{
  background:var(--page-bg)!important;
}
.support-layout{
  display:grid;
  grid-template-columns:minmax(320px,.42fr) minmax(0,.58fr);
  gap:1.15rem;
  align-items:start;
}
.support-section .rv{
  opacity:1!important;
  transform:none!important;
}
.support-brief{
  position:relative;
  top:auto;
  align-self:start;
  min-height:0;
  padding:1.75rem;
  border:1px solid var(--card-border);
  border-radius:22px;
  background:#fffdf8;
  box-shadow:0 18px 44px rgba(80,51,26,.06);
}
.support-brief h2{
  font-size:clamp(2.15rem,4vw,3.6rem);
  line-height:.98;
  margin-bottom:.85rem;
}
.support-brief h2 em{
  display:block;
  color:#8a2338;
  font-style:italic;
}
.support-brief p{
  max-width:36ch;
  color:#655a54;
  font-size:.9rem;
}
.support-brief-list{
  display:grid;
  gap:.55rem;
  margin-top:1.5rem;
}
.support-brief-list span{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-height:38px;
  padding:.56rem .72rem;
  border:1px solid rgba(123,33,53,.1);
  border-radius:12px;
  background:#fff;
  color:#8a2338;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.support-brief-list span::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:2px;
  background:#c49a1a;
  transform:rotate(45deg);
  flex-shrink:0;
}
.support-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.72rem;
  align-items:stretch;
}
.support-grid .offer-row{
  grid-template-columns:44px 1fr!important;
  min-height:0;
  margin:0;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(80,51,26,.045)!important;
  padding:1rem 1.05rem!important;
}
.support-grid .offer-row::before{
  top:.9rem!important;
  bottom:.9rem!important;
}
.support-grid .offer-num{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  font-size:.7rem!important;
}
.support-grid .support-feature{
  grid-column:auto;
  min-height:0;
}
.support-grid .offer-content h4{
  font-size:.98rem;
  margin-bottom:.35rem;
}
.support-grid .offer-content p{
  font-size:.82rem;
  line-height:1.65;
}
.support-grid .offer-tags{
  margin-top:.85rem;
}
@media(max-width:980px){
  .support-layout{
    grid-template-columns:1fr;
  }
  .support-brief{
    position:relative;
    top:auto;
    min-height:0;
  }
}
@media(max-width:640px){
  .support-layout{
    gap:.85rem;
  }
  .support-brief{
    padding:1.15rem;
    border-radius:18px;
  }
  .support-grid{
    grid-template-columns:1fr;
  }
  .support-grid .support-feature{
    grid-column:auto;
  }
  .support-grid .offer-row{
    min-height:0;
  }
}

/* ============================================================
   MOBILE DUE DILIGENCE PASS
   Phone/tablet-only corrections for overflow, drawer alignment,
   bottom navigation and card density. Desktop rules are untouched.
   ============================================================ */
@media(max-width:900px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }
  *,
  *::before,
  *::after{
    box-sizing:border-box;
  }
  body{
    background:#fbf7ef!important;
  }
  .container,
  .nav-inner,
  .hero-content,
  .section-head,
  .ph .container,
  .services-ph .container,
  .team-ph .container,
  .industries-ph .container,
  .insights-ph .container,
  .jobs-hero .container,
  .arship-hero .container{
    min-width:0!important;
    max-width:100%!important;
  }
  p,
  h1,
  h2,
  h3,
  h4,
  .eyebrow,
  .breadcrumb,
  .hero-est,
  .hero-desc,
  .bc-title,
  .bc-desc,
  .svc-list li,
  .ind-name,
  .job-summary,
  .pub-title{
    overflow-wrap:anywhere;
  }
  .breadcrumb,
  .eyebrow,
  .hero-est{
    white-space:normal!important;
  }

  .nav{
    padding:.48rem .55rem!important;
  }
  .nav-inner{
    width:100%!important;
    margin:0!important;
    padding:.28rem .5rem!important;
    border-radius:16px!important;
    gap:.55rem!important;
  }
  .nav .logo{
    min-width:0!important;
    max-width:calc(100vw - 5.4rem)!important;
    gap:.48rem!important;
  }
  .nav .logo-img{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
  }
  .nav .logo-text{
    min-width:0!important;
    max-width:100%!important;
  }
  .nav .logo-firm{
    max-width:100%!important;
    font-size:clamp(.72rem,3.1vw,.92rem)!important;
    line-height:1.08!important;
    white-space:normal!important;
  }
  .nav .logo-tag{
    font-size:clamp(.36rem,1.8vw,.48rem)!important;
    line-height:1.1!important;
    white-space:normal!important;
  }
  .ham{
    width:42px!important;
    height:42px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:15px!important;
  }

  .hero{
    padding-top:calc(var(--nav-h) + 1rem)!important;
    padding-bottom:6.8rem!important;
  }
  .hero h1{
    max-width:100%!important;
  }
  .hero h1,
  .hero-name,
  .hero h1 em,
  .hero h1 small{
    white-space:normal!important;
  }
  .hero-est{
    max-width:100%!important;
    margin-bottom:.78rem!important;
    font-size:.58rem!important;
    line-height:1.45!important;
    letter-spacing:.12em!important;
  }
  .hero-desc{
    max-width:100%!important;
  }
  .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.65rem!important;
  }
  .btn,
  .hero-actions .btn,
  .cta-actions .btn,
  .jobs-profile-actions .btn,
  .apply-actions .btn{
    width:100%;
    min-height:48px!important;
    padding:.72rem .9rem!important;
    border-radius:999px!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.2!important;
  }

  .drawer{
    inset:calc(var(--nav-h) + .38rem) .72rem calc(.78rem + env(safe-area-inset-bottom)) .72rem!important;
    display:grid!important;
    grid-auto-rows:min-content!important;
    align-content:start!important;
    gap:.38rem!important;
    padding:.72rem!important;
    border-radius:22px!important;
    max-height:calc(100dvh - var(--nav-h) - 1.16rem - env(safe-area-inset-bottom))!important;
    overflow:auto!important;
    background:rgba(255,251,246,.985)!important;
    border:1px solid rgba(123,33,53,.1)!important;
    box-shadow:0 22px 54px rgba(55,28,23,.2)!important;
  }
  .drawer > a,
  .drawer-toggle{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 16px!important;
    column-gap:.68rem!important;
    align-items:center!important;
    min-height:46px!important;
    padding:.46rem .76rem!important;
    border-radius:14px!important;
    background:#fff!important;
    border:1px solid rgba(123,33,53,.09)!important;
    box-shadow:none!important;
    color:#241817!important;
    font-size:.9rem!important;
    font-weight:760!important;
    line-height:1.18!important;
    text-align:left!important;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    width:30px!important;
    height:30px!important;
    margin:0!important;
    border-radius:10px!important;
    background:#fff8e8!important;
    border:1px solid rgba(196,154,26,.38)!important;
    color:#8a2338!important;
    font-size:.64rem!important;
    justify-self:start!important;
  }
  .drawer > a::after{
    justify-self:end!important;
    color:#8a2338!important;
    opacity:.7!important;
  }
  .drawer-toggle svg{
    width:15px!important;
    height:15px!important;
    justify-self:end!important;
  }
  .drawer-group{
    padding:0!important;
    border-radius:14px!important;
    background:transparent!important;
  }
  .drawer-panel-inner{
    padding:.28rem 0 .06rem!important;
  }
  .drawer-panel a{
    min-height:36px!important;
    margin:0 0 .16rem 2.65rem!important;
    padding:.48rem .66rem!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.74)!important;
    font-size:.78rem!important;
    line-height:1.24!important;
    text-align:left!important;
  }

  .mob-nav{
    left:.55rem!important;
    right:.55rem!important;
    bottom:.5rem!important;
    width:auto!important;
    max-width:calc(100vw - 1.1rem)!important;
    padding:.32rem .34rem calc(.32rem + env(safe-area-inset-bottom))!important;
    border-radius:18px!important;
  }
  .mob-nav-inner{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:.1rem!important;
    min-width:0!important;
  }
  .mob-nav-item{
    min-width:0!important;
    min-height:46px!important;
    padding:.36rem .02rem!important;
    border-radius:13px!important;
    gap:.18rem!important;
    font-size:clamp(.43rem,1.7vw,.52rem)!important;
    letter-spacing:.02em!important;
    line-height:1.05!important;
    word-break:normal!important;
  }
  .mob-nav-item svg{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    min-height:17px!important;
  }

  .stats-bar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .stat-cell{
    padding:1rem .65rem!important;
  }
  .stat-l{
    font-size:.58rem!important;
    line-height:1.3!important;
  }

  .bento-grid,
  .partners-grid,
  .firm-overview,
  .achieve-grid,
  .ind-grid,
  .contact-grid,
  .pub-grid,
  .kb-grid,
  .career-cards,
  .culture-grid{
    grid-template-columns:1fr!important;
    gap:.75rem!important;
  }
  .bento-card{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:.82rem!important;
    align-items:start!important;
    padding:1rem!important;
    border-radius:15px!important;
    box-shadow:none!important;
    background:#fffdf8!important;
  }
  .bento-card::after{
    display:none!important;
  }
  .bc-icon{
    width:42px!important;
    height:42px!important;
    margin:0!important;
    grid-row:1/5;
    border-radius:13px!important;
  }
  .bc-tag{
    margin-bottom:.22rem!important;
    font-size:.55rem!important;
  }
  .bc-title{
    margin-bottom:.34rem!important;
    font-size:1rem!important;
    line-height:1.2!important;
  }
  .bc-desc{
    margin-bottom:.42rem!important;
    font-size:.78rem!important;
    line-height:1.55!important;
  }
  .bc-arrow{
    font-size:.72rem!important;
  }

  .p-card,
  .pf-card,
  .tm-card,
  .pub-card,
  .kb-card,
  .career-card,
  .contact-card,
  .job-row,
  .exp-card,
  .culture-card,
  .support-brief,
  .support-grid .offer-row{
    border-radius:16px!important;
    box-shadow:none!important;
  }
  .p-body,
  .pf-body,
  .tm-body{
    padding:1rem!important;
  }
  .p-mobile,
  .pf-btn,
  .footer-action,
  .contact-link{
    min-width:0!important;
    max-width:100%!important;
  }

  .svc-mobile-jump{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.48rem!important;
  }
  .svc-mobile-jump a{
    min-height:44px!important;
    border-radius:999px!important;
    font-size:.62rem!important;
    line-height:1.15!important;
    padding:.52rem .42rem!important;
  }
  .svc-section-inner,
  .svc-section-inner.flip{
    grid-template-columns:1fr!important;
  }
  .svc-visual-card{
    display:none!important;
  }

  .ph p,
  .services-ph p,
  .team-ph p,
  .industries-ph p,
  .insights-ph p{
    max-width:100%!important;
  }
}

@media(max-width:640px){
  .drawer{
    inset:calc(var(--nav-h) + .34rem) .5rem calc(.7rem + env(safe-area-inset-bottom)) .5rem!important;
    padding:.58rem!important;
    gap:.3rem!important;
    border-radius:20px!important;
  }
  .drawer > a,
  .drawer-toggle{
    min-height:42px!important;
    grid-template-columns:30px minmax(0,1fr) 14px!important;
    padding:.4rem .62rem!important;
    border-radius:13px!important;
    font-size:.84rem!important;
  }
  .drawer > a::before,
  .drawer > .drawer-group .drawer-toggle::before{
    width:27px!important;
    height:27px!important;
    font-size:.58rem!important;
  }
  .drawer-panel a{
    margin-left:2.3rem!important;
    min-height:34px!important;
    font-size:.74rem!important;
  }
}

@media(max-width:430px){
  .container{
    padding-left:.95rem!important;
    padding-right:.95rem!important;
  }
  .hero h1{
    font-size:clamp(2.15rem,11vw,2.72rem)!important;
  }
  .hero h1 em{
    font-size:clamp(1.28rem,6.4vw,1.62rem)!important;
  }
  .hero h1 small{
    font-size:.96rem!important;
  }
  .mob-nav-item{
    font-size:.43rem!important;
  }
  .mob-nav-item svg{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    min-height:16px!important;
  }
}

@media(max-width:900px){
  .hero-est{
    max-width:min(34rem,100%)!important;
  }
  .hero h1 small,
  .hero-desc,
  html body .ph p,
  html body .services-ph p,
  html body .industries-ph p,
  html body .team-ph p,
  html body .insights-ph p,
  html body .jobs-hero p,
  html body .arship-hero p{
    max-width:min(100%,32rem)!important;
    white-space:normal!important;
  }
  .hero h1 small{
    display:block!important;
    max-width:22ch!important;
  }
  .hero-desc{
    max-width:34ch!important;
  }
}

@media(max-width:520px){
  .hero-est{
    max-width:30ch!important;
  }
  .hero h1 small{
    max-width:20ch!important;
  }
  .hero-desc,
  html body .ph p,
  html body .services-ph p,
  html body .industries-ph p,
  html body .team-ph p,
  html body .insights-ph p,
  html body .jobs-hero p,
  html body .arship-hero p{
    max-width:30ch!important;
  }
  .mob-nav{
    left:.42rem!important;
    right:.42rem!important;
    max-width:calc(100vw - .84rem)!important;
  }
  .mob-nav-inner{
    gap:.06rem!important;
  }
  .mob-nav-item{
    min-height:44px!important;
    padding:.3rem 0!important;
    font-size:.39rem!important;
    letter-spacing:0!important;
  }
  .mob-nav-item svg{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    min-height:15px!important;
  }
}

@media (hover:hover) and (pointer:fine){
  *,
  *::before,
  *::after{
    cursor:url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 3.8 20.4 14.2l-7.2 1.05 4.15 6.75-3.05 1.8-4.02-6.72L5 22.15Z' fill='%23fffaf3' stroke='%237b1d2e' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M10.28 17.08 13.6 15.2' stroke='%23b08538' stroke-width='1.45' stroke-linecap='round'/%3E%3C/svg%3E") 5 4, auto!important;
  }
}

/* Targeted mobile fixes - 2026-05-07 */
.logo-text,
.footer-brand .logo-text{
  min-width:0;
  max-width:100%;
}
.logo-firm,
.footer-brand .logo-firm,
.hero-name{
  white-space:nowrap!important;
}

.stt{
  width:48px;
  height:48px;
  background:linear-gradient(145deg,#8a2338 0%,#5a1322 100%);
  border:1px solid rgba(255,255,255,.56);
  box-shadow:0 14px 32px rgba(90,19,34,.24), inset 0 1px 0 rgba(255,255,255,.22);
}
.stt::before{
  content:'';
  position:absolute;
  inset:7px;
  border-radius:50%;
  border:1px solid rgba(216,179,88,.5);
  pointer-events:none;
}
.stt svg{
  width:18px;
  height:18px;
  position:relative;
  z-index:1;
}
.stt:hover{
  background:linear-gradient(145deg,#9a2740 0%,#6f1d2d 100%);
  box-shadow:0 18px 38px rgba(90,19,34,.3), inset 0 1px 0 rgba(255,255,255,.24);
}

@media(max-width:900px){
  .nav .logo{
    max-width:calc(100vw - 5.6rem)!important;
    gap:.44rem!important;
  }
  .nav .logo-img{
    width:44px!important;
    height:44px!important;
  }
  .nav .logo-text{
    gap:.08rem!important;
  }
  .nav .logo-firm{
    font-size:clamp(.58rem,2.55vw,.92rem)!important;
    line-height:1.02!important;
    letter-spacing:0!important;
  }
  .nav .logo-tag{
    display:block!important;
    font-size:clamp(.34rem,1.38vw,.48rem)!important;
    letter-spacing:.025em!important;
    line-height:1.05!important;
  }

  .hero-name-mobile{
    display:block!important;
    white-space:nowrap!important;
    font-size:clamp(1.34rem,7vw,2.18rem)!important;
    line-height:1.02!important;
  }

  .svc-mobile-jump{
    position:sticky!important;
    top:calc(var(--nav-h) + .42rem)!important;
    z-index:25!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.48rem!important;
    padding:.58rem!important;
    margin:0 0 1rem!important;
    border:1px solid rgba(138,35,56,.12)!important;
    border-radius:18px!important;
    background:rgba(255,250,243,.96)!important;
    box-shadow:0 14px 30px rgba(76,32,20,.1), inset 0 1px 0 rgba(255,255,255,.85)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  .svc-mobile-jump a{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:12px!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.16!important;
    font-size:.66rem!important;
    padding:.52rem .42rem!important;
    color:#7b2135!important;
    background:#fff8e8!important;
    border:1px solid rgba(196,154,26,.28)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
  }
  .svc-mobile-jump a.active,
  .svc-mobile-jump a:hover{
    color:#fff!important;
    background:#8a2338!important;
    border-color:#8a2338!important;
  }
  .svc-section{
    scroll-margin-top:calc(var(--nav-h) + 132px)!important;
  }

  .footer-action{
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  .footer-action-copy{
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .footer-action-copy a{
    display:block!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  .footer-action > svg,
  .footer-linkedin-icon{
    flex:0 0 auto!important;
  }
  .ft-ci{
    max-width:100%!important;
    overflow:hidden!important;
  }
  .ft-ci span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  .stt{
    right:.95rem!important;
    bottom:calc(6.6rem + env(safe-area-inset-bottom))!important;
    width:46px!important;
    height:46px!important;
  }
}

@media(max-width:640px){
  body{
    font-size:16px!important;
  }
  p,
  li,
  .bc-desc,
  .svc-list li,
  .ft-ci span,
  .footer-action-copy a,
  .pub-excerpt,
  .job-summary,
  .contact-card p,
  .tm-role,
  .pf-bio,
  .ind-name{
    font-size:clamp(.86rem,3.55vw,.95rem)!important;
    line-height:1.62!important;
  }
  .btn,
  .drawer > a,
  .drawer-toggle,
  .bc-arrow,
  .footer-action-copy span,
  .bc-tag{
    font-size:clamp(.68rem,2.8vw,.78rem)!important;
  }
  .bc-title,
  .tm-name,
  .pub-title,
  .job-title{
    font-size:clamp(1.03rem,4.35vw,1.16rem)!important;
    line-height:1.2!important;
  }
  .eyebrow{
    font-size:clamp(.64rem,2.65vw,.74rem)!important;
    line-height:1.3!important;
  }
  .footer-bottom p{
    font-size:.72rem!important;
  }
  .mob-nav-item{
    font-size:clamp(.42rem,2.15vw,.56rem)!important;
    letter-spacing:.02em!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .firm-overview .pillars{
    display:block!important;
    margin-top:1.35rem!important;
    border-top:1px solid rgba(123,29,46,.12)!important;
  }
  .firm-overview .pillar{
    position:relative!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:.82rem!important;
    padding:1rem 0!important;
    border:0!important;
    border-bottom:1px solid rgba(123,29,46,.1)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left!important;
  }
  .firm-overview .pillar:last-child{
    border-bottom:0!important;
  }
  .firm-overview .pillar::before,
  .firm-overview .pillar::after{
    display:none!important;
  }
  .firm-overview .pillar-icon{
    grid-row:1/3!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    margin:.08rem 0 0!important;
    border-radius:50%!important;
    background:#8a2338!important;
    border:1px solid rgba(138,35,56,.18)!important;
    color:#fff8e8!important;
    font-size:0!important;
    letter-spacing:0!important;
  }
  .firm-overview .pillar:nth-child(1) .pillar-icon::before{content:'01'}
  .firm-overview .pillar:nth-child(2) .pillar-icon::before{content:'02'}
  .firm-overview .pillar:nth-child(3) .pillar-icon::before{content:'03'}
  .firm-overview .pillar-icon::before{
    font-size:.72rem!important;
    font-weight:900!important;
    line-height:1!important;
  }
  .firm-overview .pillar h4{
    margin:0 0 .2rem!important;
    font-size:.9rem!important;
    line-height:1.24!important;
    letter-spacing:.06em!important;
    color:#7b1d2e!important;
    text-align:left!important;
  }
  .firm-overview .pillar p{
    margin:0!important;
    font-size:.88rem!important;
    line-height:1.55!important;
    color:#68727d!important;
    text-align:left!important;
  }

  .nav .logo{
    max-width:calc(100vw - 4.85rem)!important;
  }
  .nav .logo-img{
    width:39px!important;
    height:39px!important;
  }
  .nav .logo-firm{
    font-size:clamp(.52rem,2.72vw,.74rem)!important;
  }
  .nav .logo-tag{
    font-size:clamp(.3rem,1.55vw,.4rem)!important;
  }

  .footer-contact-card{
    grid-template-columns:1fr!important;
  }
  .footer-linkedin-action{
    grid-column:auto!important;
  }
  .footer-brand .logo{
    max-width:100%!important;
    gap:.45rem!important;
  }
  .footer-brand .logo-text{
    margin-left:0!important;
  }
  .footer-brand .logo-firm{
    font-size:clamp(.66rem,3.2vw,.9rem)!important;
    letter-spacing:0!important;
  }
  .footer-brand .logo-tag{
    font-size:clamp(.34rem,1.7vw,.42rem)!important;
  }

  .ind-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.72rem!important;
    padding:.72rem!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,#fffaf3 0%,#f5eee5 100%)!important;
    border:1px solid rgba(123,29,46,.08)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
  }
  .ind-cell{
    min-height:98px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.5rem!important;
    padding:.82rem .5rem!important;
    border-radius:18px!important;
    background:#fffdf9!important;
    border:1px solid rgba(123,29,46,.08)!important;
    box-shadow:0 8px 20px rgba(76,32,20,.045)!important;
    overflow:hidden!important;
    transform:none!important;
  }
  .ind-cell::before,
  .ind-cell::after{
    display:block!important;
    content:''!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    pointer-events:none!important;
  }
  .ind-cell::before{
    background:linear-gradient(145deg,#8a2338 0%,#5a1322 100%)!important;
    transform:scaleY(0)!important;
    transform-origin:bottom!important;
    transition:transform .28s var(--ease)!important;
  }
  .ind-cell::after{
    background:linear-gradient(90deg,#c49a1a,#fff1c7)!important;
    top:auto!important;
    height:3px!important;
    transform:scaleX(0)!important;
    transform-origin:left!important;
    transition:transform .28s var(--ease)!important;
  }
  .ind-cell:hover{
    background:#fffdf9!important;
    border-color:rgba(138,35,56,.32)!important;
    box-shadow:0 12px 26px rgba(90,19,34,.14)!important;
  }
  .ind-cell:hover::before,
  .ind-cell:focus-within::before,
  .ind-cell:active::before{
    transform:scaleY(1)!important;
  }
  .ind-cell:hover::after,
  .ind-cell:focus-within::after,
  .ind-cell:active::after{
    transform:scaleX(1)!important;
  }
  .ind-icon{
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    color:#8a2338!important;
    background:#fff6e5!important;
    border:1px solid rgba(196,154,26,.24)!important;
    border-radius:10px!important;
    position:relative!important;
    z-index:1!important;
    transition:background .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease)!important;
  }
  .ind-cell .ind-icon svg{
    width:18px!important;
    height:18px!important;
    color:#8a2338!important;
    transform:none!important;
    transition:color .22s var(--ease),transform .22s var(--ease)!important;
  }
  .ind-name{
    max-width:100%!important;
    font-size:.84rem!important;
    font-weight:800!important;
    line-height:1.18!important;
    text-align:center!important;
    color:#46505b!important;
    overflow-wrap:break-word!important;
    position:relative!important;
    z-index:1!important;
    transition:color .22s var(--ease)!important;
  }
  .ind-cell:hover .ind-name,
  .ind-cell:focus-within .ind-name,
  .ind-cell:active .ind-name,
  .ind-cell:hover .ind-icon svg{
    color:#fff8e8!important;
  }
  .ind-cell:hover .ind-icon,
  .ind-cell:focus-within .ind-icon,
  .ind-cell:active .ind-icon{
    background:rgba(255,255,255,.12)!important;
    border-color:rgba(216,179,88,.5)!important;
    transform:translateY(-1px)!important;
  }
  .ind-cell:focus-within .ind-icon svg,
  .ind-cell:active .ind-icon svg{
    color:#fff8e8!important;
  }

  .pf-sticky{
    display:block!important;
  }
  .pf-img-wrap{
    margin-bottom:0!important;
    border-radius:16px 16px 0 0!important;
    box-shadow:none!important;
  }
  .pf-info-card{
    border-top:0!important;
    border-radius:0 0 16px 16px!important;
    padding:1rem!important;
    box-shadow:none!important;
  }

  .stt{
    right:.82rem!important;
    bottom:calc(5.85rem + env(safe-area-inset-bottom))!important;
    width:42px!important;
    height:42px!important;
  }
}

@media(max-width:430px){
  .hero-name-mobile{
    font-size:clamp(1.04rem,6.05vw,1.44rem)!important;
  }
  .svc-mobile-jump{
    gap:.4rem!important;
    padding:.48rem!important;
  }
  .svc-mobile-jump a{
    min-height:42px!important;
    font-size:.58rem!important;
    padding:.46rem .32rem!important;
  }
}

.sitemap-main{
  min-height:100vh;
  background:var(--page-bg,#fbf7ef);
  padding-top:calc(var(--nav-h) + 3rem);
}
.sitemap-container{
  max-width:960px;
}
.sitemap-logo{
  display:inline-flex;
  margin-bottom:2rem;
}
.sitemap-intro{
  max-width:620px;
}
.sitemap-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  margin-top:2rem;
  align-items:stretch;
}
.sitemap-grid .bento-card{
  min-height:190px;
  cursor:pointer;
  padding-right:1.35rem;
}
.sitemap-grid .bento-card::before{
  width:72px;
  height:72px;
  right:-36px;
  bottom:-28px;
}
.sitemap-grid .bc-title,
.sitemap-grid .bc-desc{
  position:relative;
  z-index:1;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:900px){
  .firm-focus-nav,
  .svc-mobile-jump{
    display:none!important;
  }
  .svc-section{
    scroll-margin-top:calc(var(--nav-h) + 18px)!important;
  }
  .sitemap-container{
    max-width:720px;
  }
  .sitemap-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.85rem!important;
  }
  .sitemap-grid .bento-card{
    min-height:0;
  }
}

@media(max-width:640px){
  .firm-story-actions .btn[href*="#firm-vision"],
  .firm-story-actions .btn[href*="#firm-strengths"]{
    display:none!important;
  }
  .sitemap-main{
    padding-top:calc(var(--nav-h) + 1.25rem)!important;
    padding-bottom:2.5rem!important;
    overflow-x:hidden!important;
  }
  .sitemap-container{
    width:100%!important;
    max-width:100%!important;
    padding-left:1.1rem!important;
    padding-right:1.1rem!important;
    overflow:hidden!important;
  }
  .sitemap-logo{
    width:100%;
    margin-bottom:1.35rem;
  }
  .sitemap-logo .logo-img{
    width:42px!important;
    height:42px!important;
  }
  .sitemap-logo .logo-firm{
    font-size:clamp(.68rem,3.15vw,.9rem)!important;
    letter-spacing:0!important;
  }
  .sitemap-logo .logo-tag{
    font-size:clamp(.34rem,1.75vw,.42rem)!important;
  }
  .sitemap-main .eyebrow{
    justify-content:flex-start!important;
  }
  .sitemap-main h1{
    font-size:clamp(2.2rem,12vw,3rem)!important;
    line-height:1!important;
  }
  .sitemap-intro{
    max-width:100%!important;
    font-size:.9rem!important;
    line-height:1.62!important;
  }
  .sitemap-grid{
    display:block!important;
    margin-top:1.25rem!important;
    border-top:1px solid rgba(123,29,46,.12)!important;
    border-bottom:1px solid rgba(123,29,46,.12)!important;
    background:linear-gradient(180deg,rgba(255,253,248,.62),rgba(255,248,239,.42))!important;
    border-radius:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .sitemap-grid .bento-card{
    position:relative!important;
    display:block!important;
    padding:.95rem 2.2rem .92rem 0!important;
    text-align:left!important;
    border:0!important;
    border-bottom:1px solid rgba(123,29,46,.1)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    overflow:visible!important;
  }
  .sitemap-grid .bento-card:last-child{
    border-bottom:0!important;
  }
  .sitemap-grid .bento-card::before{
    display:none!important;
  }
  .sitemap-grid .bento-card::after{
    content:'\2192'!important;
    display:block!important;
    position:absolute!important;
    right:.25rem!important;
    top:50%!important;
    width:auto!important;
    height:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:translateY(-50%)!important;
    background:none!important;
    color:#8a2338!important;
    opacity:.72!important;
    font-size:1rem!important;
    line-height:1!important;
  }
  .sitemap-grid .bc-tag,
  .sitemap-grid .bc-title,
  .sitemap-grid .bc-desc{
    grid-column:1!important;
  }
  .sitemap-grid .bc-tag{
    margin-bottom:.18rem!important;
    color:#9a7417!important;
  }
  .sitemap-grid .bc-title{
    margin-bottom:.16rem!important;
    font-size:1.04rem!important;
    line-height:1.18!important;
    color:#2a1815!important;
  }
  .sitemap-grid .bc-desc{
    display:none!important;
  }
}

@media(max-width:640px){
  .hero h1 .hero-name-mobile{
    display:block!important;
    width:100%!important;
    max-width:calc(100vw - 2rem)!important;
    white-space:normal!important;
    overflow:visible!important;
    font-size:clamp(1.62rem,8.2vw,2.12rem)!important;
    line-height:1.04!important;
    letter-spacing:-.02em!important;
  }
}

@media(max-width:430px){
  .hero h1 .hero-name-mobile{
    font-size:clamp(1.45rem,7.8vw,1.86rem)!important;
    letter-spacing:-.02em!important;
  }
}

@media(max-width:900px){
  .nav-links{
    display:none!important;
  }
  .ham{
    display:flex!important;
    position:absolute!important;
    right:.7rem!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:4!important;
    margin-left:auto!important;
    background:#fff8e8!important;
    border:1px solid rgba(138,35,56,.16)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
  }
  .ham span{
    background:#8a2338!important;
  }
  .ham::after{
    content:''!important;
    position:absolute!important;
    inset:9px!important;
    border-top:2px solid #8a2338!important;
    border-bottom:2px solid #8a2338!important;
    pointer-events:none!important;
  }
  .sitemap-ham{
    display:flex!important;
    position:fixed!important;
    top:1rem!important;
    right:1rem!important;
    width:42px!important;
    height:42px!important;
    z-index:5001!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:#fff8e8!important;
    border:1px solid rgba(138,35,56,.22)!important;
    box-shadow:0 10px 22px rgba(76,32,20,.12), inset 0 1px 0 rgba(255,255,255,.86)!important;
  }
}

/* UI refinement pass 2026-05-07.
   Keeps existing card layouts, but makes them quieter and less box-heavy. */
:root{
  --ui-line-soft:rgba(123,33,53,.105);
  --ui-line-warm:rgba(196,154,26,.18);
  --ui-card-shadow:0 8px 24px rgba(76,32,20,.045);
  --ui-card-shadow-hover:0 16px 34px rgba(76,32,20,.075);
  --ui-card-bg:linear-gradient(180deg,rgba(255,254,250,.96),rgba(255,250,242,.82));
  --ui-section-rule:linear-gradient(90deg,rgba(123,33,53,0),rgba(123,33,53,.14),rgba(196,154,26,.18),rgba(123,33,53,0));
}

.pad,
.pad-sm,
.jobs-main,
.jobs-values,
.partner-feature,
.ind-approach,
.article-reader-section,
.sitemap-main{
  position:relative;
}

.pad + .pad::before,
.pad + .pad-sm::before,
.pad-sm + .pad::before,
.jobs-values::before,
.partner-feature + .partner-feature::before,
.ind-approach::before{
  content:'';
  position:absolute;
  top:0;
  left:50%;
  width:min(1120px,calc(100% - 2rem));
  height:1px;
  transform:translateX(-50%);
  background:var(--ui-section-rule);
  opacity:.72;
  pointer-events:none;
}

.bento-card,
.why-card,
.profile-glance-card,
.firm-focus-card,
.svc-visual-card,
.ind-card,
.ind-scope-card,
.job-row,
.pub-card,
.bull-card,
.article-reader-card,
.insights-art-card,
.arship-hero-card,
.arship-path-card,
.exp-card,
.culture-card,
.contact-card,
.career-card,
.about-profile-card,
.p-card,
.pf-card,
.tm-card,
.support-grid .offer-row{
  background:var(--ui-card-bg)!important;
  border-color:var(--ui-line-soft)!important;
  box-shadow:var(--ui-card-shadow)!important;
}

.bento-card:hover,
.why-card:hover,
.profile-glance-card:hover,
.firm-focus-card:hover,
.ind-card:hover,
.job-row:hover,
.pub-card:hover,
.bull-card:hover,
.career-card:hover,
.contact-card:hover,
.p-card:hover,
.pf-card:hover,
.tm-card:hover,
.support-grid .offer-row:hover{
  border-color:var(--ui-line-warm)!important;
  box-shadow:var(--ui-card-shadow-hover)!important;
  transform:translateY(-2px)!important;
}

.bento-card::before,
.why-card::before,
.profile-glance-card::after,
.firm-focus-card::before,
.svc-visual-card::before,
.ind-card::after,
.ind-scope-card::before,
.arship-path-card::after,
.arship-hr-card::before,
.insights-art-card::before{
  opacity:.38!important;
}

.bento-card::after,
.why-card::after,
.pub-card::after{
  opacity:.68!important;
}

.bento-grid,
.why-grid,
.profile-glance-grid,
.firm-focus-grid,
.pub-grid,
.career-cards,
.culture-grid,
.contact-grid,
.kb-grid,
.support-grid{
  gap:clamp(1rem,2vw,1.45rem)!important;
}

.section-head,
.ph .container,
.jobs-hero .container,
.arship-hero .container{
  max-width:1120px;
}

.section-head{
  margin-bottom:clamp(1.45rem,3vw,2.35rem)!important;
}

.section-head p,
.ph p,
.jobs-hero p,
.arship-hero p,
.hero-desc{
  color:rgba(42,26,24,.72)!important;
}

.bc-tag,
.pub-tag,
.job-practice,
.pf-tag,
.p-tag,
.tm-role,
.career-tag,
.offer-label{
  letter-spacing:.08em!important;
}

.bc-title,
.pub-title,
.job-row h3,
.contact-card h3,
.career-card h3,
.why-card h3,
.profile-glance-card h3,
.firm-focus-card h3{
  color:#241615!important;
}

.bento-card,
.pub-card,
.job-row,
.contact-card,
.career-card,
.why-card,
.profile-glance-card,
.firm-focus-card{
  border-radius:16px!important;
}

.services-grid,
.svc-page-wrap{
  row-gap:clamp(1.4rem,2.4vw,2rem)!important;
}

.svc-section{
  border-color:rgba(123,33,53,.09)!important;
  box-shadow:none!important;
}

.svc-section + .svc-section{
  margin-top:clamp(1.2rem,2.2vw,1.8rem)!important;
}

.svc-mobile-jump,
.firm-focus-nav,
.pub-filter-bar{
  background:rgba(255,250,242,.76)!important;
  border-color:rgba(123,33,53,.1)!important;
  box-shadow:0 8px 24px rgba(76,32,20,.045)!important;
}

.footer{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62)!important;
}

.footer-shell,
.footer-spotlight,
.footer-top,
.footer-bottom{
  box-shadow:none!important;
}

.footer-contact-card{
  border-top:none!important;
  padding-top:0!important;
}

@media(min-width:901px){
  .home-industries .ind-grid{
    border-radius:18px!important;
    box-shadow:var(--ui-card-shadow)!important;
  }

  .partners-grid,
  .team-members-section .tm-grid{
    gap:1.25rem!important;
  }

  .job-row,
  .pub-card,
  .career-card,
  .contact-card{
    padding:clamp(1.35rem,2vw,1.75rem)!important;
  }
}

@media(max-width:900px){
  .pad + .pad::before,
  .pad + .pad-sm::before,
  .pad-sm + .pad::before,
  .jobs-values::before,
  .partner-feature + .partner-feature::before,
  .ind-approach::before{
    width:calc(100% - 1.6rem);
  }

  .bento-card,
  .pub-card,
  .job-row,
  .contact-card,
  .career-card,
  .why-card,
  .profile-glance-card,
  .firm-focus-card,
  .p-card,
  .pf-card,
  .tm-card{
    border-radius:14px!important;
    box-shadow:0 6px 18px rgba(76,32,20,.04)!important;
  }

  .bento-card:hover,
  .pub-card:hover,
  .job-row:hover,
  .contact-card:hover,
  .career-card:hover,
  .why-card:hover,
  .profile-glance-card:hover,
  .firm-focus-card:hover,
  .p-card:hover,
  .pf-card:hover,
  .tm-card:hover{
    transform:none!important;
  }
}

/* Services page: remove repeated side summary cards, keep numbered content. */
.svc-section-inner,
.svc-section-inner.flip{
  grid-template-columns:minmax(0,1fr)!important;
}

.svc-section-inner.flip .svc-text,
.svc-section-inner.flip .svc-visual-col{
  order:unset!important;
}

.svc-visual-col{
  display:none!important;
}

.svc-text{
  max-width:820px;
}

.svc-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:1.35rem!important;
  row-gap:.5rem!important;
}

.svc-list li{
  min-width:0;
  padding:.12rem 0;
}

.svc-heading-row{
  display:flex;
  align-items:center;
  gap:.82rem;
  margin-bottom:.75rem;
  min-width:0;
}

.svc-heading-row .svc-num{
  flex:0 0 auto;
  margin:0!important;
  font-family:'Manrope','Inter',system-ui,sans-serif!important;
  font-size:clamp(1.7rem,2.8vw,2.25rem)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  color:#8a2338!important;
  opacity:1!important;
  line-height:1.08!important;
}

.svc-heading-row .svc-icon-box{
  flex:0 0 auto;
  margin:0!important;
}

.svc-heading-row .svc-title-wrap{
  min-width:0;
}

.svc-heading-row .eyebrow{
  display:block;
  margin:0 0 .12rem!important;
  font-size:.52rem!important;
  line-height:1.1!important;
}

.svc-heading-row h2{
  margin:0!important;
  min-width:0;
  line-height:1.08!important;
}

.svc-heading-row + .rule{
  margin-top:.45rem!important;
}

@media(max-width:640px){
  .svc-heading-row{
    align-items:center;
    gap:.66rem;
  }

  .svc-heading-row .svc-num{
    padding-top:0;
    font-size:clamp(1.55rem,8vw,2rem)!important;
  }

  .svc-heading-row h2{
    font-size:clamp(1.55rem,8vw,2rem)!important;
  }

  .svc-list{
    grid-template-columns:1fr;
    row-gap:.42rem!important;
  }
}

/* ============================================================
   PREMIUM POLISH PASS - 2026-06-11
   One coherent brand language: maroon primary, antique-gold detail.
   Gradient rules, softened icon tiles, calmer card hovers and
   consistent geometry on desktop and mobile.
   ============================================================ */

/* Section rules become a maroon→gold keyline (matches card top bars). */
.rule{background:linear-gradient(90deg,#8a2338 0%,#c49a1a 100%)}
.rule.gold{background:linear-gradient(90deg,#c49a1a 0%,#8a2338 100%)}

/* Icon tiles: uniform rounded-square geometry with a soft inner light. */
.bc-icon,
.c-icon,
.svc-icon-box,
.jobs-contact-icon,
.profile-glance-icon,
.value-icon{
  border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.c-icon{background:#8a2338!important;color:#fff!important;box-shadow:0 8px 18px rgba(138,35,56,.16)}

/* Stats bar: quiet gold keyline above the brand numbers. */
.stats-bar{position:relative}
.stats-bar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(138,35,56,0),rgba(196,154,26,.5),rgba(138,35,56,0));pointer-events:none}
.stat-cell{position:relative;z-index:1}

/* Card hover: one consistent, restrained lift everywhere. */
.bento-card,
.p-card,
.pf-card,
.tm-card,
.pub-card,
.kb-card,
.why-card,
.achieve-card,
.ind-card{
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)!important;
}

/* Fraunces tuning: larger x-height than the previous serif, so display sizes
   come down a notch and tighten slightly to keep the same visual scale. */
h1{font-size:clamp(2rem,4.9vw,3.95rem);letter-spacing:-.02em}
h2{font-size:clamp(1.55rem,3.4vw,2.7rem);letter-spacing:-.015em}
html body .ph h1,
html body .jobs-hero h1,
html body .arship-hero h1{
  font-size:clamp(2.7rem,4.8vw,4.25rem)!important;
}

/* Hero secondary button: give it a real surface so it reads as a button on the cream hero. */
.hero .btn-ghost{background:rgba(255,255,255,.66);border-color:rgba(123,33,53,.22);color:#251817}
.hero .btn-ghost:hover{background:#8a2338;color:#fff;border-color:#8a2338}

/* Hero sketches: two-tone line art — maroon strokes with antique-gold accents. */
.hero-sketch svg .g{stroke:rgba(154,116,23,.6)}
@media(min-width:1101px){
  .hero-sketch{color:rgba(123,29,46,.32)}
}

/* Service cards: equal-height columns with the Explore link pinned to the
   bottom edge, so every row of cards aligns perfectly on desktop.
   (The ≤900px pass switches cards to compact grid rows and wins via !important.) */
@media(min-width:901px){
  .bento-card{display:flex;flex-direction:column;align-items:flex-start}
  .bento-card .bc-arrow{margin-top:auto}
}

/* Service card icon tiles: warm gold tile, maroon mark; flips solid maroon on hover. */
.bento-grid .bento-card .bc-icon{
  background:linear-gradient(160deg,#fff4df 0%,#fffdf8 72%);
  border-color:rgba(196,154,26,.4);
  color:#8a2338;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 6px 14px rgba(154,116,23,.08);
}
.bento-grid .bento-card:hover .bc-icon{
  background:#8a2338;
  border-color:#8a2338;
  color:#fff;
  box-shadow:0 10px 22px rgba(138,35,56,.22);
}

/* Mobile: icon tiles and chips share the same rounded geometry. */
@media(max-width:900px){
  .bc-icon,
  .c-icon,
  .svc-icon-box,
  .jobs-contact-icon,
  .value-icon{
    border-radius:12px!important;
  }
  .cta-strip{padding:42px 0}
  .cta-inner{flex-direction:column;align-items:flex-start;gap:1.1rem}
  .cta-actions{width:100%}

  /* Hamburger: the decorative extra bars made it read as 5 lines (and broke the X). */
  .ham::after{display:none!important;content:none!important}

  /* Stats 2x2: add the missing row divider so the grid reads cleanly. */
  .stat-cell:nth-child(-n+2){border-bottom:1px solid rgba(123,33,53,.1)}
}

/* Mobile hero: bring the sketches back as a faint background texture
   (they are hidden on tablets where they collide with the headline). */
@media(max-width:640px){
  .hero-sketches{display:block!important;opacity:.32!important}
  .hero-sketch{animation:none}
  .hero-sketch span{font-size:.5rem;letter-spacing:.1em}
}

/* ============================================================
   HERITAGE LUXE PASS - 2026-06-12
   Master brief: DESIGN-MASTER-PROMPT.md
   All-light palette: ivory pages with warm champagne bands (stats,
   page headers, CTA, footer) and maroon-gold gradient-ink accents.
   Fraunces display + Manrope UI. One unified luxe card language,
   restrained professional motion. Later-pass !important wins over
   the normalization pass by source order.
   ============================================================ */

/* -- 1. FOUNDATION ------------------------------------------------ */
:root{
  --champagne:  #ecd9a0;
  --gold-soft:  #d8b358;
  --card-bg:    linear-gradient(180deg,#fffefb 0%,#fcf7ec 100%);
  --card-border:rgba(123,29,46,.12);
  --luxe-shadow:0 1px 3px rgba(43,24,24,.04),0 22px 44px -22px rgba(43,24,24,.13);
  --luxe-shadow-hover:0 8px 18px rgba(43,24,24,.07),0 34px 64px -26px rgba(111,22,38,.22);
}
html{scroll-padding-top:calc(var(--nav-h) + 14px)}
body{font-family:'Manrope','Inter',system-ui,sans-serif}
p{font-weight:400}
.eyebrow{color:#a07a1c}

/* Branded cursor system:
   - default: maroon gradient arrow with a gold accent stroke
   - clickables: maroon arrow with gold "click sparks" so every link,
     button, card and the ICAI stamp clearly invites a click */
@media (hover:hover) and (pointer:fine){
  html,body{
    cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23a02c44'/%3E%3Cstop offset='1' stop-color='%235a1322'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M5 3.8 20.4 14.2l-7.2 1.05 4.15 6.75-3.05 1.8-4.02-6.72L5 22.15Z' fill='url(%23g)' stroke='%23fffaf3' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M10.28 17.08 13.6 15.2' stroke='%23d8b358' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") 5 4, auto;
  }
  a,button,[role="button"],[role="link"],[onclick],summary,
  [data-card-href],[data-partner-link],[data-peer-open],
  .bento-card[data-card-href],.bento-card[data-card-href] *,
  .p-card[data-partner-link],.p-card[data-partner-link] *,
  .p-slider-track .p-card,.p-slider-track .p-card *,
  .hero-peer-stamp,.hero-peer-stamp *,.hero-peer-mobile,
  .drawer-toggle,.nav-drop-toggle,.mob-nav-item,.ham,.filter-btn,.stt,
  .p-slider-arrow,.p-slider-dot,.charcha-arrow,.event-tab,.slider-btn,
  select,input[type="submit"],input[type="file"],label[for]{
    cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24'%3E%3Cpath d='M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z' fill='%238a2338' stroke='%23fffaf3' stroke-width='1.2' stroke-linejoin='round'/%3E%3Cpath d='M14 4.1 12 6' stroke='%23c49a1a' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='m5.1 8-2.9-.8' stroke='%23c49a1a' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='m6 12-1.9 2' stroke='%23c49a1a' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M7.2 2.2 8 5.1' stroke='%23c49a1a' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 11 12, pointer!important;
  }
  input:not([type="submit"]):not([type="file"]),textarea,[contenteditable="true"]{cursor:text!important}
}

/* -- 2. GRADIENT-INK HEADLINE ACCENTS ----------------------------- */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  h1 em,h2 em,.ph h1 em,.cta-copy h2 em,.achieve-num span{
    background-image:linear-gradient(115deg,#6f1626 0%,#9c2c45 48%,#9a7420 100%);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent!important;
  }
}
/* Hero subtitle "Chartered Accountants": solid ink-black, no gradient
   (owner preference — the maroon-gold ink read as too much red there) */
.hero h1 em{
  background-image:none!important;
  -webkit-background-clip:initial;background-clip:initial;
  -webkit-text-fill-color:#241a18!important;
  color:#241a18!important;
}

/* -- 3. BUTTONS: gradient primaries + sheen sweep ----------------- */
.btn{font-weight:700;letter-spacing:.05em}
.btn-primary,.btn-gold,.btn-navy,.btn-red{
  background:linear-gradient(135deg,#8a2338 0%,#6f1626 100%);
  box-shadow:0 10px 24px -8px rgba(111,22,38,.45);
}
.btn-primary:hover,.btn-gold:hover,.btn-navy:hover,.btn-red:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px -10px rgba(111,22,38,.55);
}
.btn::after{
  content:'';position:absolute;top:-25%;bottom:-25%;left:-80%;width:45%;
  background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.38) 50%,rgba(255,255,255,0) 100%);
  transform:skewX(-22deg);opacity:0;pointer-events:none;
}
.btn:hover::after{opacity:1;left:135%;transition:left .65s var(--ease),opacity .15s linear}

/* -- 4. NAV: ivory glass + scroll progress ------------------------ */
.nav{background:rgba(252,247,240,.88)!important;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5)}
.nav.scrolled{
  background:rgba(252,247,240,.96)!important;
  box-shadow:0 14px 40px -14px rgba(43,24,24,.18)!important;
  border-bottom:1px solid rgba(196,154,26,.3)!important;
}
.scroll-progress{
  position:fixed;top:0;left:0;width:100%;height:3px;z-index:2400;
  background:linear-gradient(90deg,#8a2338 0%,#c49a1a 60%,#d8b358 100%);
  transform-origin:0 50%;transform:scaleX(0);pointer-events:none;
}

/* -- 5. HERO: aurora drift + load cascade ------------------------- */
.hero-mesh{
  background:
    radial-gradient(560px 420px at 16% 24%,rgba(196,154,26,.20),transparent 62%),
    radial-gradient(720px 540px at 86% 74%,rgba(123,29,46,.10),transparent 66%),
    radial-gradient(420px 320px at 70% 8%,rgba(216,179,88,.13),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,0) 44%)!important;
  transform:scale(1.12);
  animation:vksAurora 18s ease-in-out infinite alternate;
}
@keyframes vksAurora{
  0%{transform:scale(1.12) translate3d(-1.4%,-1%,0)}
  100%{transform:scale(1.12) translate3d(1.4%,1.6%,0)}
}
.hero-est{
  display:inline-flex;align-items:center;
  background:rgba(255,255,255,.6);border:1px solid rgba(123,29,46,.14);
  padding:.5rem 1.05rem;border-radius:999px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  box-shadow:0 6px 16px -8px rgba(43,24,24,.18);
}
.hero-est::before,.hero-est::after{width:16px;background:rgba(196,154,26,.55)}
.hero-content .hero-est{animation:heroRise .9s var(--ease) .05s both}
.hero-content h1{animation:heroRise 1s var(--ease) .16s both}
.hero-content .hero-desc{animation:heroRise 1s var(--ease) .3s both}
.hero-content .hero-actions{animation:heroRise 1s var(--ease) .44s both}
.hero-content .hero-peer-mobile{animation:heroRise 1s var(--ease) .56s both}
@keyframes heroRise{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:none}
}

/* -- 6. SCROLL REVEALS: clean rise + fade (no blur: it stutters on
   low-end machines and older passes pin some .rv elements visible) -- */
.rv{transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv-scale{transition:opacity .65s var(--ease),transform .65s var(--ease)}

/* -- 7. LUXE CARD LANGUAGE ---------------------------------------- */
.bento-card,.achieve-card,.p-card,.pub-card,.firm-focus-card,
.profile-glance-card,.charcha-feat-new,.svc-visual-card,
.about-profile-card,.arship-hr-card,.c-form,.jobs-general,
.jobs-hero-panel,.arship-hero-card{
  border-radius:18px!important;
  border:1px solid var(--card-border)!important;
  background:var(--card-bg)!important;
  box-shadow:var(--luxe-shadow)!important;
}
.firm-focus-card,.profile-glance-card,.charcha-feat-new,
.svc-visual-card,.ind-cell{
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.bento-card:hover,.achieve-card:hover,.p-card:hover,.pub-card:hover,
.firm-focus-card:hover,.profile-glance-card:hover,
.charcha-feat-new:hover,.svc-visual-card:hover{
  transform:translateY(-6px);
  border-color:rgba(196,154,26,.5)!important;
  box-shadow:var(--luxe-shadow-hover)!important;
}
/* Dark glass cards on the maroon careers band keep their glass look */
.jobs-value{transition:transform .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}
.jobs-value:hover{transform:translateY(-4px);border-color:rgba(216,179,88,.45);background:rgba(255,255,255,.09)}
.bento-card[data-card-href]:focus-visible,.p-card[data-partner-link]:focus-visible{
  transform:translateY(-6px);
  border-color:rgba(196,154,26,.5)!important;
  box-shadow:var(--luxe-shadow-hover)!important;
  outline:2px solid rgba(123,29,46,.55);outline-offset:3px;
}
.bc-title{font-size:1.26rem}
.bento-card:hover .bc-arrow{opacity:1;transform:translateX(0);color:#8a2338}

/* Partner / team photography: slow zoom under maroon overlay */
.p-photo-wrap{overflow:hidden;border-radius:18px 18px 0 0}
.p-photo{transition:transform .9s var(--ease)}
.p-card:hover .p-photo{transform:scale(1.05)}
.pf-img-wrap{overflow:hidden;border-radius:18px}
.pf-img-wrap img{transition:transform .9s var(--ease)}
.pf-img-wrap:hover img{transform:scale(1.04)}

/* -- 8. STATS BAR: warm champagne band, gradient-ink numerals ------ */
.stats-bar{
  background:
    radial-gradient(640px 240px at 82% 0%,rgba(196,154,26,.14),transparent 60%),
    linear-gradient(180deg,#fffaf3 0%,#f6eadc 100%)!important;
  border-top:1px solid rgba(196,154,26,.35)!important;
  border-bottom:1px solid rgba(123,33,53,.12)!important;
}
.stats-bar::before{background:linear-gradient(90deg,rgba(196,154,26,0),rgba(196,154,26,.6),rgba(196,154,26,0))}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .stat-n{
    background-image:linear-gradient(115deg,#6f1626 0%,#9c2c45 48%,#9a7420 100%);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent!important;
  }
}

/* -- 9. INDUSTRIES GRID: rounded tiles ----------------------------- */
.ind-grid{gap:.8rem!important;background:transparent!important;border:none!important;border-radius:0!important;overflow:visible!important}
.ind-cell{
  border-radius:14px;border:1px solid var(--card-border);
  background:var(--card-bg);
  box-shadow:0 1px 3px rgba(43,24,24,.04),0 16px 30px -18px rgba(43,24,24,.10);
  overflow:hidden;
}
.ind-cell:hover{transform:translateY(-4px);border-color:rgba(196,154,26,.45);box-shadow:var(--luxe-shadow-hover)}

/* -- 10. PAGE HEADERS: warm champagne band + gold glow -------------- */
.ph,.jobs-hero,.arship-hero{
  background:
    radial-gradient(640px 340px at 88% -10%,rgba(196,154,26,.20),transparent 60%),
    linear-gradient(150deg,#fcf6ec 0%,#f7efe4 55%,#f3e7d2 100%)!important;
  border-bottom:1px solid rgba(196,154,26,.3)!important;
}
.ph{padding:calc(var(--nav-h) + 4rem) 0 3.4rem}
.ph::before{
  background-image:
    linear-gradient(rgba(123,29,46,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(123,29,46,.035) 1px,transparent 1px)!important;
  background-size:60px 60px!important;
}
.ph h1{color:#241a18!important}
.ph p{color:#6f625b!important}
.ph .eyebrow{color:#a07a1c}
.ph .eyebrow::before{background:rgba(160,122,28,.5)}
.ph .breadcrumb{color:#8a7567}
.ph .breadcrumb span{color:rgba(123,29,46,.3)}
.breadcrumb a{color:#a07a1c}
.breadcrumb a:hover{color:#8a2338}

/* -- 11. EDITORIAL DETAILS ----------------------------------------- */
.split-quote::before{
  content:'\201C';display:block;font-family:'Fraunces',Georgia,serif;
  font-size:4.6rem;line-height:.55;color:#d8b358;opacity:.6;margin-bottom:.9rem;
}
.svc-nav a.active{
  background:linear-gradient(120deg,#7b1d2e,#8a2338)!important;
  color:#fff!important;border-left-color:#d8b358!important;
  box-shadow:0 10px 22px -8px rgba(111,22,38,.5);
}
/* Page CSS pins sidebar icons maroon; flip them on the maroon pill */
.svc-nav a.active svg{color:#ffe9b8!important;opacity:1!important}

/* Nav dropdowns: gold diamond bullets + gliding gold arrow.
   `.nav-links .nav-dropdown a` matches the base rule's specificity
   (line ~305) so the padding actually wins — the bullet sits in its
   own gutter and never overlaps the title. */
.nav-links .nav-dropdown a,
.nav-dropdown a{
  display:block;
  padding:.68rem 2.2rem .68rem 1.7rem;
}
.nav-links .nav-dropdown a::before,
.nav-dropdown a::before{
  content:'';
  position:absolute;left:.78rem;top:.98rem;bottom:auto;
  width:7px;height:7px;border-radius:1.5px;border:none;
  background:linear-gradient(135deg,#d8b358,#8a2338);
  transform:rotate(45deg);opacity:.55;
  transition:transform .25s var(--ease),opacity .2s,box-shadow .25s var(--ease);
  display:block;
}
.nav-links .nav-dropdown a:hover::before,
.nav-dropdown a:hover::before{
  opacity:1;
  transform:rotate(45deg) scale(1.3);
  background:linear-gradient(135deg,#d8b358,#8a2338);
  box-shadow:0 0 0 3px rgba(196,154,26,.18);
  border-color:transparent;color:transparent;
}
.nav-links .nav-dropdown a span,
.nav-dropdown a span{
  display:block;
  font-size:.8rem;font-weight:800;letter-spacing:.01em;color:#241a18;
}
.nav-links .nav-dropdown a small,
.nav-dropdown a small{
  display:block;margin-top:.1rem;
  font-size:.68rem;line-height:1.45;color:#8c7a6a;
}
.nav-links .nav-dropdown a::after,
.nav-dropdown a::after{
  content:'\27F6';
  position:absolute;left:auto;right:1rem;top:50%;
  height:auto;background:none;
  color:#c49a1a;font-size:1.05rem;font-weight:700;
  opacity:0;transform:translateY(-50%) translateX(-8px);
  transition:opacity .22s var(--ease),transform .28s var(--ease),color .2s;
}
.nav-links .nav-dropdown a:hover::after,
.nav-dropdown a:hover::after{
  opacity:1;transform:translateY(-50%) translateX(0);color:#8a2338;
}

/* Hero tagline ("Nagpur-Based Multi-Disciplinary CA Firm"): set in
   Fraunces italic per owner request — distinct from the headline. */
.hero h1 small{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-weight:450;
  letter-spacing:.035em;
  color:rgba(74,48,40,.78);
}
.svc-mobile-jump a{border-radius:999px!important}
.filter-btn{border-radius:999px!important}
.filter-btn.active{
  background:linear-gradient(135deg,#8a2338,#6f1626)!important;
  color:#fff!important;border-color:transparent!important;
  box-shadow:0 10px 22px -8px rgba(111,22,38,.5);
}
.map-wrap{border-radius:18px;overflow:hidden;border:1px solid var(--card-border);box-shadow:var(--luxe-shadow)}
.map-wrap iframe{display:block;width:100%}

/* -- 12. FORMS: ivory fields, maroon focus, gold halo --------------- */
.fc{
  background:#fffdf8!important;
  border:1px solid rgba(123,29,46,.16)!important;
  border-radius:12px!important;
  transition:border-color var(--tf),box-shadow var(--tf),background var(--tf);
}
.fc:focus{
  outline:none!important;
  border-color:#8a2338!important;
  box-shadow:0 0 0 4px rgba(196,154,26,.18)!important;
  background:#fff!important;
}

/* -- 13. CTA STRIP: warm champagne invitation ------------------------ */
.cta-strip,.team-cta{
  background:
    radial-gradient(560px 300px at 86% 8%,rgba(196,154,26,.16),transparent 62%),
    linear-gradient(135deg,#fff8ef 0%,#f2e5d8 100%)!important;
  border-top:1px solid rgba(196,154,26,.3)!important;
  border-bottom:1px solid rgba(123,33,53,.1)!important;
}

/* -- 14. FOOTER: warm ivory close with gold keyline ------------------ */
.footer{
  background:
    radial-gradient(720px 320px at 12% 0%,rgba(196,154,26,.10),transparent 62%),
    linear-gradient(180deg,#faf4ea 0%,#f3e9da 100%)!important;
  border-top:1px solid rgba(196,154,26,.35)!important;
  padding:34px 0 0;
}
.footer .ft-col ul li a{
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:color var(--tf),background-size .3s var(--ease);
  padding-bottom:2px;
}
.footer .ft-col ul li a:hover{background-size:100% 1px}

/* -- 15. MOBILE DOCK: light glass refinement ------------------------- */
.mob-nav{border:1px solid rgba(196,154,26,.3)}

/* -- 16. RESPONSIVE POLISH ------------------------------------------ */
@media(max-width:900px){
  .ph{padding:calc(var(--nav-h) + 2.7rem) 0 2.4rem}
}
@media(max-width:640px){
  .bento-card,.pub-card,.p-card{border-radius:16px!important}
  .ind-grid{gap:.55rem!important}
  .split-quote::before{font-size:3.4rem}
  .hero-est{padding:.42rem .85rem}
}

/* -- 16b. TYPOGRAPHY REFINEMENT (variable-font pass) -----------------
   Fraunces now loads with its optical-size axis (opsz 9..144): large
   headings automatically use the high-contrast display cut instead of
   the text cut. Manrope loads as a variable font (wght 200..800),
   which unlocks precise in-between weights. */
h1,h2,h3,.stat-n,.bc-title,.split-quote{
  font-optical-sizing:auto;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
  font-feature-settings:"liga","kern";
}
h1{font-weight:360;letter-spacing:-.024em}
h2{font-weight:420;letter-spacing:-.018em}
h3{font-weight:480}
.ph h1{font-weight:340}
.hero h1 em{font-weight:650;letter-spacing:-.034em}
.split-quote{font-weight:340}
.bc-title{font-weight:540;letter-spacing:-.012em}
p{font-size:.96rem;line-height:1.78}
/* Stable digits while the counters animate */
.stat-n,.achieve-num span{font-variant-numeric:lining-nums tabular-nums}
.eyebrow{letter-spacing:.26em}
.btn{letter-spacing:.055em}

/* -- 18. GOLDEN IVORY THEME SHIFT (owner request, 2026-06-12) --------
   Background family moves from pink-tinged cream to the warm golden
   ivory of the Timesheet button (#fff8e8). Maroon + antique gold
   accents unchanged; every band shifts together so nothing clashes. */
:root{
  --page-bg:#fcf8ec;
  --page-band:#f9f2df;
  --page-band-2:#f6edd6;
  --card-bg:linear-gradient(180deg,#fffef9 0%,#fdf7e6 100%);
  --surf:#f9f4e6;
  --surf2:#f4ecd8;
}
body{background:var(--page-bg)!important}
.nav{background:rgba(253,249,236,.9)!important}
.nav.scrolled{background:rgba(253,249,236,.97)!important}
.hero,.ph,.jobs-hero,.arship-hero{
  background:
    radial-gradient(640px 340px at 88% -10%,rgba(196,154,26,.18),transparent 60%),
    linear-gradient(150deg,#fdf8e9 0%,#f9f1dc 55%,#f5ebcf 100%)!important;
}
.hero-bg{background:#f9f2df!important}
.hero-mesh{
  background:
    radial-gradient(560px 420px at 16% 24%,rgba(196,154,26,.18),transparent 62%),
    radial-gradient(720px 540px at 86% 74%,rgba(123,29,46,.08),transparent 66%),
    radial-gradient(420px 320px at 70% 8%,rgba(216,179,88,.12),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.36) 0%,rgba(255,255,255,0) 44%)!important;
}
.stats-bar{
  background:
    radial-gradient(640px 240px at 82% 0%,rgba(196,154,26,.13),transparent 60%),
    linear-gradient(180deg,#fffbef 0%,#f7eed4 100%)!important;
}
.cta-strip,.team-cta{
  background:
    radial-gradient(560px 300px at 86% 8%,rgba(196,154,26,.15),transparent 62%),
    linear-gradient(135deg,#fdf8e9 0%,#f5ebd2 100%)!important;
}
.footer{
  background:
    radial-gradient(720px 320px at 12% 0%,rgba(196,154,26,.1),transparent 62%),
    linear-gradient(180deg,#fbf6e7 0%,#f5edd5 100%)!important;
}
@media(max-width:640px){
  .footer{background:linear-gradient(180deg,#fbf6e7 0%,#f5edd5 100%)!important}
}
.mob-nav{background:linear-gradient(180deg,rgba(255,251,240,.96) 0%,rgba(249,242,223,.95) 100%)}

/* -- 19. HERO DESK NOTES: golden sticky notes, glossy red push-pin,
   curled corner, layered paper shadows -------------------------------- */
.hero-notes{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-note{
  position:absolute;width:200px;padding:2.15rem 1.45rem 1.6rem 1.05rem;
  background:linear-gradient(165deg,#fff8dd 0%,#ffefc0 68%,#fde7a9 100%);
  border:1px solid rgba(154,116,23,.15);
  border-radius:2px;
  box-shadow:
    0 1px 2px rgba(80,51,26,.08),
    0 8px 12px -8px rgba(80,51,26,.18),
    0 20px 34px -14px rgba(80,51,26,.32);
  pointer-events:auto;
  transition:transform .45s var(--ease2),box-shadow .35s var(--ease);
}
/* curled bottom-right corner */
.hero-note::after{
  content:'';position:absolute;right:0;bottom:0;width:26px;height:26px;
  background:linear-gradient(315deg,rgba(80,51,26,0) 0%,rgba(80,51,26,0) 46%,#f0d98f 50%,#fffbe8 100%);
  box-shadow:-3px -3px 6px -2px rgba(80,51,26,.14);
  border-radius:0 0 2px 0;
}
/* soft shading where the needle meets the paper */
.hero-note::before{
  content:'';position:absolute;top:1.02rem;left:50%;
  transform:translateX(calc(-50% + 6px));
  width:30px;height:12px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(80,51,26,.14),transparent 70%);
}
.note-tr::before,.note-br::before{transform:translateX(calc(-50% - 6px))}
.hero-note p{
  font-family:'Caveat','Fraunces',Georgia,cursive;
  font-size:1.05rem;line-height:1.28;font-weight:600;
  color:#4a3018;margin:0;position:relative;
}
/* illustrated SVG push-pin: head rises above the note edge, needle
   pierces the paper — mirrored on the right-side notes */
.hero-note .note-pin{
  position:absolute;top:-24px;left:50%;
  transform:translateX(-50%);
  width:48px;height:48px;
  filter:drop-shadow(3px 5px 4px rgba(80,51,26,.35));
  z-index:2;pointer-events:none;
}
.note-tr .note-pin,.note-br .note-pin{
  transform:translateX(-50%) scaleX(-1);
  filter:drop-shadow(-3px 5px 4px rgba(80,51,26,.35));
}
.note-tl{top:max(18%,140px);left:3.2%;transform:rotate(-3.5deg)}
.note-tr{top:max(20%,150px);right:3%;transform:rotate(2.6deg)}
.note-bl{bottom:12%;left:4%;transform:rotate(2.2deg)}
.note-br{bottom:14%;right:3.6%;transform:rotate(-2.8deg)}
.hero-note:hover{
  transform:rotate(0deg) translateY(-7px) scale(1.03);
  box-shadow:
    0 2px 4px rgba(80,51,26,.1),
    0 14px 18px -10px rgba(80,51,26,.2),
    0 28px 44px -16px rgba(80,51,26,.38);
  z-index:3;
}
@media(max-width:1250px){.hero-note{width:172px}.hero-note p{font-size:.94rem}}
@media(max-width:1100px){.hero-notes{display:none}}
@media (prefers-reduced-motion:reduce){
  .hero-note,.hero-note:hover{transition:none}
}

/* -- 17. ACCESSIBILITY: motion + focus parity ------------------------ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .rv,.rv-scale{opacity:1!important;transform:none!important;filter:none!important}
  .hero-content .hero-est,.hero-content h1,.hero-content .hero-desc,
  .hero-content .hero-actions,.hero-content .hero-peer-mobile{animation:none!important;opacity:1}
  .hero-mesh{animation:none!important}
}

/* ============================================================
   HOMEPAGE FIRST-FRAME REFINEMENT
   The shared header remains unchanged on inner pages. On the
   desktop homepage it sits below the masthead, then docks at the
   top when reached. Mobile keeps the delayed compact header.
   ============================================================ */
body.home-page .nav{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(0,calc(-100% - 10px),0);
  transition:
    transform .38s var(--ease),
    opacity .24s ease,
    visibility 0s linear .38s,
    box-shadow var(--t),
    background var(--t);
  will-change:transform,opacity;
}

body.home-page .nav.home-nav-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate3d(0,0,0);
  transition-delay:0s;
}

@media(min-width:901px){
  body.home-page .nav{
    position:absolute;
    top:var(--home-nav-flow-top,calc(100vh - var(--nav-h) - 1.25rem));
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:
      box-shadow var(--t),
      background var(--t);
    will-change:auto;
  }

  body.home-page .nav.home-nav-visible{
    position:fixed;
    top:0;
  }

  body.home-page .nav:not(.home-nav-visible) .logo-text{
    display:none;
  }

  body.home-page .nav:not(.home-nav-visible) .logo{
    width:auto;
    min-width:0;
    max-width:none;
    padding:.05rem .3rem;
  }

  body.home-page .nav:not(.home-nav-visible) .nav-dropdown{
    top:auto;
    bottom:calc(100% + .65rem);
    transform:translate(-50%,-10px) scale(.98);
    transform-origin:bottom center;
  }

  body.home-page .nav:not(.home-nav-visible) .nav-dropdown::before{
    top:auto;
    bottom:-7px;
    border-top:0;
    border-left:0;
    border-right:1px solid rgba(123,33,53,.12);
    border-bottom:1px solid rgba(123,33,53,.12);
  }

  body.home-page .nav:not(.home-nav-visible) .nav-item.open .nav-dropdown,
  body.home-page .nav:not(.home-nav-visible) .nav-item:hover .nav-dropdown,
  body.home-page .nav:not(.home-nav-visible) .nav-item:focus-within .nav-dropdown{
    transform:translate(-50%,0) scale(1);
  }

  body.home-page .nav:not(.home-nav-visible) .nav-item.has-dropdown::before{
    top:auto;
    bottom:100%;
  }

  body.home-page .hero > .container{
    align-self:stretch;
    width:100%;
    max-width:1240px;
    margin-right:auto;
    margin-left:auto;
  }

  body.home-page .hero-content{
    max-width:760px;
    margin:0;
  }

  body.home-page .hero{
    padding:3rem 0 calc(var(--nav-h) + 6rem)!important;
  }
}

@media(min-width:901px){
  body.home-page .hero-content .hero-peer-stamp{
    top:8.5rem;
    right:-80px;
    opacity:1;
    transform:rotate(-10deg);
  }
}

body.home-page .hero{
  height:100vh;
  min-height:600px;
  padding:3rem 0;
}

body.home-page .hero h1 small{
  max-width:none;
}

.hero-scroll-cue{
  position:absolute;
  z-index:6;
  top:43%;
  right:clamp(2rem,4vw,4.5rem);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.7rem;
  padding:.65rem;
  color:#8a2338;
  text-decoration:none;
  opacity:.72;
  transform:translateY(-50%);
  transition:opacity .22s ease,transform .22s ease;
}

.hero-scroll-cue:hover{
  color:#8a2338;
  opacity:1;
  transform:translateY(calc(-50% + 4px));
}

.hero-scroll-cue:focus-visible{
  outline:2px solid rgba(138,35,56,.58);
  outline-offset:4px;
  border-radius:999px;
}

.hero-scroll-cue-label{
  font-size:.63rem;
  font-weight:750;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}

.hero-scroll-cue-arrows{
  display:grid;
  place-items:center;
  width:34px;
  height:38px;
}

.hero-scroll-cue-arrows svg{
  grid-area:1/1;
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  animation:heroCueDown 1.7s ease-in-out infinite;
}

.hero-scroll-cue-arrows svg:first-child{
  margin-top:-12px;
  opacity:.38;
}

.hero-scroll-cue-arrows svg:last-child{
  margin-top:8px;
  animation-delay:.14s;
}

@keyframes heroCueDown{
  0%,100%{transform:translateY(-2px)}
  50%{transform:translateY(5px)}
}

.home-practice{
  position:relative;
  z-index:4;
  scroll-margin-top:var(--nav-h);
  padding:clamp(5.75rem,8vw,7.25rem) 0 clamp(4.75rem,7vw,6.25rem);
  overflow:hidden;
  background:
    radial-gradient(520px 260px at 8% 0%,rgba(196,154,26,.13),transparent 68%),
    radial-gradient(560px 280px at 94% 100%,rgba(123,29,46,.07),transparent 70%),
    linear-gradient(180deg,#fffaf0 0%,#f9f1dc 100%);
  border-top:1px solid rgba(196,154,26,.32);
  border-bottom:1px solid rgba(123,29,46,.1);
}

.home-practice::before{
  content:'';
  position:absolute;
  top:0;
  left:50%;
  width:min(760px,72vw);
  height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(196,154,26,.72),transparent);
}

.home-practice-head{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}

.home-practice-head .eyebrow{
  justify-content:center;
}

.home-practice-head h2{
  margin-top:.45rem;
  color:#2a1815;
}

.home-practice-head h2 em{
  color:#8a2338;
}

.home-practice-head p{
  max-width:620px;
  margin:.85rem auto 0;
  color:#75655d;
}

.home-practice-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(.85rem,1.5vw,1.25rem);
  margin:3.15rem 0 0;
  padding:0;
  list-style:none;
}

.home-practice-grid .hero-note{
  position:relative;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:min(100%,200px);
  height:100%;
  justify-self:center;
  pointer-events:auto;
}

.home-practice-grid .hero-note::before{
  transform:translateX(calc(-50% + 6px));
}

.home-practice-grid .note-tr::before,
.home-practice-grid .note-br::before{
  transform:translateX(calc(-50% - 6px));
}

@media(max-width:1100px){
  .hero-scroll-cue{
    display:none;
  }

  .home-practice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:1.65rem;
  }
}

@media(max-width:900px){
  body.home-page .mob-nav{
    display:block!important;
    position:fixed!important;
    z-index:1200;
    visibility:visible;
  }

  body.home-page .nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  body.home-page .nav:not(.home-nav-visible) .logo-text{
    display:none!important;
  }

  body.home-page .nav:not(.home-nav-visible) .logo{
    width:auto;
    min-width:0;
    max-width:none;
    padding:.05rem .22rem;
  }

  body.home-page .hero{
    height:auto!important;
    min-height:auto!important;
    justify-content:flex-start!important;
    padding-top:calc(var(--nav-h) + .9rem)!important;
    padding-bottom:1.35rem!important;
    background:
      radial-gradient(250px 210px at 104% 16%,rgba(196,154,26,.2),transparent 72%),
      linear-gradient(145deg,#fffaf0 0%,#f7eddd 58%,#f1e4d8 100%)!important;
  }

  body.home-page .hero::after{
    content:'';
    position:absolute;
    z-index:1;
    top:calc(var(--nav-h) + 1.35rem);
    right:-4.4rem;
    width:8.75rem;
    height:8.75rem;
    border:1px solid rgba(138,35,56,.12);
    border-radius:50%;
    box-shadow:
      0 0 0 18px rgba(196,154,26,.055),
      0 0 0 38px rgba(138,35,56,.025);
    pointer-events:none;
  }

  body.home-page .hero > .container,
  body.home-page .hero-content{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.home-page .hero-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:.625rem!important;
  }

  body.home-page .hero-actions .btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:48px!important;
    padding:.65rem .55rem!important;
  }

  body.home-page .hero h1{
    position:relative;
    padding-left:.82rem;
  }

  body.home-page .hero h1::before{
    content:'';
    position:absolute;
    top:.18rem;
    bottom:.12rem;
    left:0;
    width:2px;
    border-radius:999px;
    background:linear-gradient(180deg,#8a2338 0%,#c49a1a 68%,transparent 100%);
  }

  body.home-page .hero h1 small{
    max-width:22ch!important;
  }

  body.home-page .hero-peer-stamp{
    display:none!important;
  }

  body.home-page .hero-peer-mobile{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    min-height:44px;
    margin:.65rem 0 0 auto!important;
    padding:.5rem .85rem .5rem .55rem!important;
    border-radius:999px!important;
  }

  body.home-page .hero-peer-mobile.is-live{
    animation:mobilePeerLand .72s .55s cubic-bezier(.2,.9,.24,1.16) both;
  }

  body.home-page .hero-peer-mobile-mark{
    width:31px;
    height:31px;
  }
}

@media(max-width:640px){
  body.home-page .hero{
    min-height:auto!important;
    justify-content:flex-start!important;
    padding-top:calc(var(--nav-h) + .8rem)!important;
    padding-bottom:1.25rem!important;
  }

  body.home-page .hero-actions{
    width:100%!important;
    max-width:none!important;
  }

  body.home-page .hero-desc{
    max-width:40ch!important;
    margin:.8rem 0 1rem!important;
    font-size:.88rem!important;
    line-height:1.62!important;
    text-wrap:pretty;
  }

  .home-practice{
    padding:3rem 0 3.75rem;
  }

  .home-practice-head{
    text-align:left;
  }

  .home-practice-head h2{
    font-size:clamp(1.75rem,8vw,2.15rem)!important;
    line-height:1.08!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .home-practice-head h2 em{
    white-space:nowrap;
  }

  .home-practice-heading-line{
    display:block;
  }

  .home-practice-head .eyebrow{
    justify-content:flex-start;
  }

  .home-practice-head p{
    margin-left:0;
  }

  .home-practice-grid{
    grid-template-columns:1fr;
    gap:1.55rem;
    margin-top:2.65rem;
  }

}

@media(max-width:350px){
  body.home-page .hero-actions{
    grid-template-columns:1fr!important;
  }
}

@keyframes mobilePeerLand{
  0%{opacity:0;transform:translate3d(0,-18px,0) rotate(-3deg) scale(1.08)}
  58%{opacity:1;transform:translate3d(0,2px,0) rotate(1deg) scale(.96)}
  78%{transform:translate3d(0,0,0) rotate(-.5deg) scale(1.025)}
  100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
}

@media(prefers-reduced-motion:reduce){
  body.home-page .hero-peer-stamp.is-live{
    animation:none!important;
    opacity:1!important;
    transform:rotate(-10deg)!important;
  }
  body.home-page .hero-peer-mobile{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}
/* ============================================================
   HOME FIRST-SCREEN CONTACT CLUSTER
   Fills the gap left by the hidden .logo-text before the header
   docks. Hidden everywhere else, so it never duplicates the firm
   name and never appears on inner pages or after docking.
   Desktop: labelled capsule. Mobile: two round icon buttons.
   ============================================================ */
.nav-hero-contact{display:none}

body.home-page .nav:not(.home-nav-visible) .nav-hero-contact{
  display:flex;
  align-items:center;
  gap:.2rem;
  animation:navHcIn .45s var(--ease) both;
}

.nav-hc-item{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  text-decoration:none;
  transition:background var(--tf),transform var(--tf),box-shadow var(--tf);
}

.nav-hc-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  border-radius:50%;
  color:#8a2338;
  transition:background var(--tf),color var(--tf),border-color var(--tf);
}
.nav-hc-ico svg{display:block}

.nav-hc-text{
  font-family:'Manrope','Inter',system-ui,sans-serif;
  font-size:.79rem;
  font-weight:700;
  letter-spacing:.005em;
  color:#3a2226;
  white-space:nowrap;
  line-height:1;
  transition:color var(--tf);
}
.nav-hc-text small{display:none}

@keyframes navHcIn{
  from{opacity:0;transform:translateY(3px)}
  to{opacity:1;transform:none}
}

/* --- Desktop: one capsule, two links, hairline divider --- */
@media(min-width:901px){
  body.home-page .nav:not(.home-nav-visible) .logo{margin-right:0}

  body.home-page .nav:not(.home-nav-visible) .nav-hero-contact{
    margin:0 auto 0 1.05rem;
    padding:.26rem .34rem;
    border-radius:999px;
    background:linear-gradient(180deg,#fffaf3 0%,#fdf3e4 100%);
    border:1px solid rgba(196,154,26,.28);
    box-shadow:0 6px 16px rgba(76,32,20,.05), inset 0 1px 0 rgba(255,255,255,.9);
  }

  .nav-hc-item{padding:.3rem .78rem .3rem .34rem;border-radius:999px}
  .nav-hc-item:hover{background:rgba(138,35,56,.07)}
  .nav-hc-ico{width:1.65rem;height:1.65rem;background:rgba(138,35,56,.08)}
  .nav-hc-ico svg{width:13px;height:13px}
  .nav-hc-item:hover .nav-hc-ico{background:#8a2338;color:#fff}
  .nav-hc-item:hover .nav-hc-text{color:#8a2338}
  .nav-hc-sep{width:1px;height:1.1rem;background:rgba(123,33,53,.14);flex-shrink:0}
}

/* Tighter desktop widths: icons only, no numbers */
@media(min-width:901px) and (max-width:1240px){
  body.home-page .nav:not(.home-nav-visible) .nav-hero-contact{margin-left:.8rem}
  .nav-hc-item{padding:.3rem}
  .nav-hc-text{display:none}
  .nav-hc-sep{height:.9rem}
}

/* --- Mobile: two buttons matching the hamburger exactly ---
   .ham is 42px / radius 15px / #fff8e8 and is position:absolute
   right:.7rem, so the pair is spaced to sit level with it. --- */
@media(max-width:900px){
  /* .ham is absolutely positioned; without this it centres on the
     full .nav height and sits a few px above the header pill. */
  .nav-inner{position:relative}

  body.home-page .nav:not(.home-nav-visible) .nav-hero-contact{
    gap:.5rem;
    margin-left:auto;
    /* nav-inner content edge sits .5rem inside its border box, the ham
       .7rem in: 42px ham + .5rem gap - that .2rem difference = 3.375rem */
    margin-right:3.375rem;
    align-items:center;
  }

  .nav-hc-item{padding:0}
  .nav-hc-text,.nav-hc-sep{display:none}

  .nav-hc-ico{
    width:42px;
    height:42px;
    border-radius:15px;
    background:#fff8e8;
    border:1px solid rgba(138,35,56,.16);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
    color:#8a2338;
  }
  .nav-hc-ico svg{width:18px;height:18px;stroke-width:1.85}
  .nav-hc-item:active .nav-hc-ico{background:#8a2338;border-color:#8a2338;color:#fff}
}

@media(prefers-reduced-motion:reduce){
  body.home-page .nav:not(.home-nav-visible) .nav-hero-contact{animation:none}
  .nav-hc-item:hover{transform:none}
}

/* Docked mobile header: slightly larger firm name, same header box.
   Sizes are capped so the name still holds one line at 320px. */
@media(max-width:900px){
  .nav .logo-firm{
    font-size:clamp(.82rem,3.85vw,1.02rem)!important;
    line-height:1.02!important;
    white-space:nowrap!important;
  }
  .nav .logo-tag{
    font-size:clamp(.42rem,1.95vw,.55rem)!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
}

/* Docking: the mark never changes size, only the firm name animates in. */
@keyframes navNameIn{
  from{opacity:0;transform:translateX(-7px)}
  to{opacity:1;transform:none}
}
body.home-page .nav.home-nav-visible .logo-text{
  animation:navNameIn .42s var(--ease) both;
}
@media(prefers-reduced-motion:reduce){
  body.home-page .nav.home-nav-visible .logo-text{animation:none}
}
