@font-face{font-family:Jakarta;src:url('../font/PlusJakartaSans-VariableFont_wght.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Jakarta;src:url('../font/PlusJakartaSans-Italic-VariableFont_wght.ttf') format('truetype');font-weight:200 800;font-style:italic;font-display:swap}
:root{--cream:#f8f3ea;--paper:#ede3d0;--ink:#18201f;--muted:#bfb6a6;--gold:#d4b36f;--gold2:#ab8545;--charcoal:#111716;--glass:rgba(22,27,26,.58);--glass2:rgba(248,243,234,.095);--line:rgba(248,243,234,.18);--shadow:0 18px 60px rgba(0,0,0,.18);--max:1180px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden;background:#101514;color:var(--cream);font-family:Jakarta,system-ui,sans-serif;scroll-behavior:smooth}body{line-height:1.56;background:transparent}main,.footer{position:relative;z-index:1}a{color:inherit;text-decoration:none}img,svg,video{max-width:100%;display:block}.video-bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:#0d1211}.video-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02)}.video-bg:before{content:"";position:absolute;inset:0;background:#000;z-index:3;animation:fadeBlack 2s ease forwards}.video-bg:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(135deg,rgba(8,10,10,.82) 0%,rgba(12,14,14,.68) 26%,rgba(16,18,18,.44) 58%,rgba(19,21,20,.24) 100%),radial-gradient(circle at 18% 14%,rgba(7,9,9,.34),transparent 40%),radial-gradient(circle at 70% 25%,rgba(245,206,129,.12),transparent 35%)}@keyframes fadeBlack{to{opacity:0}}.site-header{position:fixed;top:0;left:0;right:0;z-index:90;display:flex;align-items:center;justify-content:space-between;height:86px;padding:14px clamp(16px,3vw,38px);pointer-events:none;gap:22px}.site-header:before{content:"";position:absolute;inset:12px 16px;border-radius:999px;background:rgba(24,31,30,.52);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid rgba(246,240,230,.1);opacity:0;transition:opacity .8s ease;z-index:-1}.site-header.scrolled:before,.site-header.search-open:before{opacity:1}.brand{width:auto;min-width:188px;pointer-events:auto;position:relative;z-index:3;display:flex;align-items:center}.brand img{width:min(252px,25vw);height:auto;max-height:52px;transition:opacity .85s ease}.home-page .brand img{opacity:0}.home-page.home-scrolled .brand img,.home-page .site-header.search-open .brand img{opacity:1}.nav-cluster{display:flex;align-items:center;gap:18px;pointer-events:auto}.desktop-nav{display:flex;align-items:center;gap:4px}.nav-link{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(248,243,234,.78);padding:14px 11px;border-radius:999px;transition:.25s ease}.nav-link:hover,.nav-link.active{background:rgba(248,243,234,.14);color:#fff}.nav-contact-pill{border:1px solid rgba(248,243,234,.18);background:rgba(248,243,234,.08)}.menu-btn{display:none;border:1px solid rgba(248,243,234,.2);background:rgba(248,243,234,.1);color:var(--cream);border-radius:999px;padding:10px 14px;text-transform:uppercase;letter-spacing:.09em;font-size:12px}.site-search{position:relative}.search-toggle{width:42px;height:42px;border:0;background:transparent;color:var(--cream);display:grid;place-items:center;cursor:pointer}.search-toggle svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.search-panel{position:absolute;right:0;top:48px;width:0;opacity:0;overflow:hidden;transition:.28s ease}.site-header.search-open .search-panel,.site-search:hover .search-panel{width:286px;opacity:1}.search-input{width:100%;border:1px solid rgba(248,243,234,.18);background:rgba(17,23,22,.78);backdrop-filter:blur(18px);color:#fff;border-radius:999px;padding:14px 18px;font:500 16px Jakarta,sans-serif;outline:none}.search-results{position:fixed;right:30px;top:90px;z-index:88;width:min(440px,calc(100vw - 40px));display:none;padding:10px;border-radius:24px;background:rgba(15,21,20,.86);border:1px solid rgba(248,243,234,.15);backdrop-filter:blur(22px);box-shadow:var(--shadow)}.search-results.open{display:block}.result-item{display:block;padding:14px 16px;border-radius:16px;border:1px solid transparent}.result-item:hover{background:rgba(248,243,234,.08);border-color:rgba(248,243,234,.12)}.result-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.result-title{font-weight:600;margin-top:3px}.result-desc{font-size:13px;color:rgba(248,243,234,.72)}.mobile-panel{display:none;position:fixed;z-index:89;right:18px;top:82px;width:calc(100vw - 36px);max-width:360px;padding:12px;border-radius:24px;background:rgba(14,20,19,.88);border:1px solid rgba(248,243,234,.16);backdrop-filter:blur(22px)}.mobile-panel.open{display:grid}.mobile-panel a{padding:14px 16px;border-radius:14px;text-transform:uppercase;letter-spacing:.09em;font-size:13px;color:rgba(248,243,234,.82)}.mobile-panel a:hover,.mobile-panel a.active{background:rgba(248,243,234,.12);color:white}.home-intro-logo{position:fixed;top:132px;left:50%;transform:translateX(-50%);z-index:20;pointer-events:none;opacity:1;transition:opacity .42s ease;display:flex;justify-content:center;width:min(100%,660px);padding:0 18px}.home-intro-logo img{width:min(420px,42vw);height:auto}.home-page.home-logo-hidden .home-intro-logo{opacity:0}.hero{min-height:100svh;display:grid;align-items:end;padding:250px clamp(22px,5vw,72px) 96px}.hero-inner,.wrap{width:min(var(--max),calc(100vw - 56px));margin-inline:auto}.eyebrow{color:var(--gold);font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:650;margin-bottom:14px}.hero h1{font-size:clamp(54px,7.35vw,110px);line-height:.94;letter-spacing:-.055em;word-spacing:.045em;font-weight:500;margin:0 0 22px;max-width:900px}.hero p{font-size:clamp(18px,2vw,25px);max-width:760px;margin:0 0 26px;color:rgba(248,243,234,.85)}.pill-row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border-radius:999px;border:1px solid rgba(248,243,234,.2);background:rgba(248,243,234,.11);color:#fff;font-weight:650;font-size:13px;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(18px);transition:.24s ease}.btn:hover{background:rgba(212,179,111,.28);border-color:rgba(212,179,111,.5);transform:translateY(-1px)}.btn.gold{background:rgba(171,133,69,.38);border-color:rgba(212,179,111,.5)}.section{padding:70px 28px}.glass{background:var(--glass);border:1px solid var(--line);border-radius:34px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow);padding:44px}.grid{display:grid;gap:20px}.two{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--glass2);border:1px solid rgba(248,243,234,.12);border-radius:26px;padding:28px;transition:.25s ease}.card:hover{background:rgba(248,243,234,.14);transform:translateY(-2px)}h2,h3{font-weight:500;letter-spacing:-.018em;word-spacing:.018em;margin:0;color:#fff}h2{font-size:clamp(34px,5vw,68px);line-height:1.04;margin-bottom:20px}h3{font-size:clamp(21px,2vw,30px);line-height:1.16;margin-bottom:12px}p{color:rgba(248,243,234,.76);margin:0 0 16px}.lede{font-size:clamp(17px,1.7vw,23px);color:rgba(248,243,234,.84)}.label{display:block;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:12px;font-weight:700}.about-split{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.image-panel{min-height:390px;border-radius:30px;background:linear-gradient(rgba(16,22,21,.1),rgba(16,22,21,.42)),url('../img/courthouse-night.jpg') center/cover;position:relative;overflow:hidden}.image-panel:after{content:'Santa Barbara County Courthouse';position:absolute;left:22px;bottom:22px;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.34);backdrop-filter:blur(12px);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(248,243,234,.82)}.attorney-card .monogram{width:100%;aspect-ratio:4/3;border-radius:22px;background:linear-gradient(135deg,rgba(212,179,111,.22),rgba(248,243,234,.08));display:grid;place-items:center;margin-bottom:20px;color:rgba(248,243,234,.9);font-family:Georgia,serif;font-size:72px}.practice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}.practice-item{padding:24px;border-radius:24px;background:rgba(248,243,234,.09);border:1px solid rgba(248,243,234,.12)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.form{display:grid;gap:12px}.form input,.form textarea{width:100%;border:1px solid rgba(248,243,234,.16);background:rgba(8,12,12,.36);border-radius:999px;color:#fff;padding:16px 19px;font:500 16px Jakarta,sans-serif;outline:none}.form textarea{border-radius:26px;min-height:154px;resize:vertical}.form input:focus,.form textarea:focus{border-color:rgba(212,179,111,.6);background:rgba(8,12,12,.48)}.footer{padding:60px 28px 30px}.footer-inner{width:min(var(--max),calc(100vw - 56px));margin:auto;padding-top:28px;border-top:1px solid rgba(248,243,234,.16);display:grid;grid-template-columns:1.1fr 1fr;gap:24px;color:rgba(248,243,234,.66);font-size:13px}.footer-logo{width:300px;margin-bottom:16px}.social{display:flex;gap:14px;margin:18px 0}.social a{width:22px;height:22px;color:rgba(248,243,234,.7)}.social svg{fill:currentColor;width:22px;height:22px}.footer a{text-decoration:underline;text-underline-offset:3px}.boiler{font-size:12px;color:rgba(248,243,234,.54)}.search-hit-highlight{outline:2px solid rgba(212,179,111,.65);outline-offset:8px;transition:outline .3s ease}.interior-hero{min-height:54vh;padding-top:190px}.interior-hero h1{font-size:clamp(48px,8vw,116px)}.page-content{padding-top:0}.map-link{display:inline-flex;margin-top:8px;color:#fff;text-decoration:underline;text-underline-offset:4px}.small-list{margin:0;padding-left:20px;color:rgba(248,243,234,.76)}.small-list li{margin:8px 0}
@media (max-width:900px){.desktop-nav{display:none}.menu-btn{display:inline-flex}.site-header{padding:20px 18px}.site-header:before{inset:10px 10px}.brand{width:min(290px,58vw)}.nav-cluster{gap:8px}.home-intro-logo{top:126px;width:min(100%,360px);padding:0 10px}.home-intro-logo img{width:min(300px,84vw)}.hero{padding:210px 20px 70px}.hero-inner,.wrap,.footer-inner{width:calc(100vw - 40px)}.section{padding:40px 20px}.glass{padding:28px;border-radius:28px}.two,.three,.about-split,.contact-grid{grid-template-columns:1fr}.practice-list{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.site-header.search-open .search-panel,.site-search:hover .search-panel{width:min(270px,calc(100vw - 42px))}.search-panel{right:-52px;top:50px}.search-results{right:20px;top:96px}.hero h1,h2,h3{letter-spacing:-.012em;word-spacing:.012em}.image-panel{min-height:260px}.footer-logo{width:250px}}
@media (max-width:560px){.video-bg:after{background:linear-gradient(135deg,rgba(8,10,10,.82) 0%,rgba(11,13,13,.68) 28%,rgba(15,17,17,.42) 60%,rgba(19,21,20,.18) 100%),radial-gradient(circle at 18% 14%,rgba(7,9,9,.24),transparent 42%),radial-gradient(circle at 70% 25%,rgba(245,206,129,.08),transparent 35%)}.brand{width:220px}.hero h1{font-size:58px}.hero p{font-size:17px}.card{padding:23px}.footer{padding-inline:20px}.mobile-panel{right:14px}.search-toggle{width:38px}.menu-btn{padding:10px 12px}.nav-cluster{position:absolute;right:18px}.brand{max-width:190px}}

/* v2 refinements */
.about-story{display:grid;gap:28px}.story-intro{max-width:980px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-actions{margin-top:2px}.story-card p{color:#fff}.attorney-photo-card{overflow:hidden;padding:0}.attorney-photo{height:310px;background:rgba(255,255,255,.08);overflow:hidden}.attorney-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.95) contrast(1.03)}.attorney-photo-card .label,.attorney-photo-card h3,.attorney-photo-card p{margin-left:28px;margin-right:28px}.attorney-photo-card .label{margin-top:24px}.attorney-photo-card p{padding-bottom:12px}.attorney-card .monogram{display:none}.home-page .site-header:not(.scrolled):not(.search-open):before{opacity:0} 
@media (max-width:900px){.site-header{height:82px;padding:12px 14px}.brand{min-width:154px}.brand img{width:178px;max-height:46px}.nav-cluster{position:absolute;right:14px}.story-grid{grid-template-columns:1fr}.attorney-photo{height:360px}.hero{padding:238px 20px 70px}.hero h1{font-size:clamp(48px,15vw,74px);line-height:.98;letter-spacing:-.038em;word-spacing:.03em}}
@media (max-width:560px){.brand{max-width:none;width:auto}.brand img{width:178px}.home-page.home-scrolled .brand img,.home-page .site-header.search-open .brand img{width:178px}.attorney-photo{height:330px}}


/* v3 refinements: no tan, lighter video, smaller hero, slimmer/spaced nav */
:root{--gold:#b8c4cf;--gold2:#6f7f8d;--muted:#b7bec4;--paper:#e7ecef}
.video-bg video{filter:saturate(1.02) contrast(1.01) brightness(1.04)}
.video-bg:after{background:linear-gradient(135deg,rgba(7,10,12,.58) 0%,rgba(12,17,20,.42) 30%,rgba(18,23,26,.25) 62%,rgba(24,29,31,.10) 100%),radial-gradient(circle at 18% 14%,rgba(8,11,13,.16),transparent 44%),radial-gradient(circle at 72% 28%,rgba(180,198,210,.08),transparent 38%)}
.site-header{height:74px;padding:10px clamp(18px,3vw,40px);gap:26px}.site-header:before{inset:14px 18px;background:rgba(20,28,31,.38);border-color:rgba(235,241,244,.09)}
.brand img{width:min(226px,22vw);max-height:44px}.nav-cluster{gap:22px}.desktop-nav{gap:10px}.nav-link{padding:7px 16px;font-size:10.5px;letter-spacing:.14em;line-height:1.1}.nav-link:hover,.nav-link.active{background:rgba(235,241,244,.12)}
.search-toggle{width:36px;height:36px}.search-toggle svg{width:21px;height:21px}.search-panel{top:42px}.search-input{padding:11px 16px;background:rgba(13,19,22,.72)}
.home-intro-logo{top:118px}.home-intro-logo img{width:min(370px,37vw)}
.hero{padding:220px clamp(22px,5vw,72px) 86px}.hero h1{font-size:clamp(42px,5.8vw,82px);line-height:.96;max-width:980px;margin-bottom:18px;letter-spacing:-.045em}.hero-title-two-line span{display:block;white-space:nowrap}.hero p{font-size:clamp(17px,1.55vw,21px);max-width:720px}.eyebrow,.label,.result-label{color:#b8c4cf}.btn:hover{background:rgba(184,196,207,.20);border-color:rgba(184,196,207,.45)}.btn.gold{background:rgba(105,124,139,.32);border-color:rgba(184,196,207,.45)}.form input:focus,.form textarea:focus{border-color:rgba(184,196,207,.65)}.search-hit-highlight{outline-color:rgba(184,196,207,.65)}
#home-attorneys .two{gap:22px}.attorney-photo-card{display:grid;grid-template-columns:150px 1fr;align-items:start;padding:22px;min-height:260px}.attorney-photo{width:150px;height:190px;border-radius:20px;margin:0;background:rgba(235,241,244,.08)}.attorney-photo img{object-fit:cover;object-position:center 18%;filter:grayscale(.08) saturate(.9) contrast(1.02)}.attorney-photo-card .label,.attorney-photo-card h3,.attorney-photo-card p{grid-column:2;margin-left:22px;margin-right:0}.attorney-photo-card .label{margin-top:0}.attorney-photo-card h3{font-size:clamp(23px,2vw,30px)}.attorney-photo-card p{padding-bottom:0;font-size:15px;line-height:1.55;color:rgba(248,243,234,.78)}
@media (max-width:900px){.site-header{height:74px;padding:10px 14px}.site-header:before{inset:12px 10px}.brand img{width:166px;max-height:42px}.home-intro-logo{top:116px}.home-intro-logo img{width:min(270px,76vw)}.nav-cluster{right:14px;gap:10px}.menu-btn{padding:8px 12px}.hero{padding:210px 20px 68px}.hero h1{font-size:clamp(42px,12vw,62px);line-height:.98;letter-spacing:-.026em}.hero-title-two-line span{white-space:normal}.hero p{font-size:17px}.story-grid{grid-template-columns:1fr}.attorney-photo-card{grid-template-columns:116px 1fr;padding:18px}.attorney-photo{width:116px;height:148px;border-radius:18px}.attorney-photo-card .label,.attorney-photo-card h3,.attorney-photo-card p{margin-left:18px}.attorney-photo-card p{font-size:14px}}
@media (max-width:560px){.video-bg:after{background:linear-gradient(135deg,rgba(7,10,12,.54) 0%,rgba(12,17,20,.38) 32%,rgba(18,23,26,.22) 64%,rgba(24,29,31,.08) 100%),radial-gradient(circle at 18% 14%,rgba(8,11,13,.12),transparent 45%),radial-gradient(circle at 72% 28%,rgba(180,198,210,.05),transparent 38%)}.brand img,.home-page.home-scrolled .brand img,.home-page .site-header.search-open .brand img{width:164px}.search-toggle{width:36px}.hero h1{font-size:clamp(39px,11.2vw,50px)}.attorney-photo-card{display:block}.attorney-photo{width:124px;height:156px;float:left;margin:0 18px 10px 0}.attorney-photo-card .label,.attorney-photo-card h3,.attorney-photo-card p{margin-left:0}.attorney-photo-card:after{content:"";display:block;clear:both}}


/* v4 bottom boilerplate readability gradient: video overlay only, below all content */
.video-bg .bottom-readability-gradient{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:250px;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(to top, rgba(0,0,0,.20) 0%, rgba(0,0,0,.14) 34%, rgba(0,0,0,.07) 68%, rgba(0,0,0,0) 100%);
}
@media (max-width:560px){
  .video-bg .bottom-readability-gradient{
    height:270px;
    background:linear-gradient(to top, rgba(0,0,0,.24) 0%, rgba(0,0,0,.16) 36%, rgba(0,0,0,.08) 70%, rgba(0,0,0,0) 100%);
  }
}

/* v5: stronger true-bottom footer readability gradient */
.video-bg{
  z-index:-2;
}
.video-bg .bottom-readability-gradient{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  height:340px;
  z-index:6;
  pointer-events:none;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.48) 0%,
    rgba(0,0,0,.36) 24%,
    rgba(0,0,0,.22) 52%,
    rgba(0,0,0,.10) 76%,
    rgba(0,0,0,0) 100%
  );
}
body:after{
  content:"";
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  height:340px;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.42) 0%,
    rgba(0,0,0,.30) 26%,
    rgba(0,0,0,.17) 55%,
    rgba(0,0,0,.07) 78%,
    rgba(0,0,0,0) 100%
  );
}
main,.footer{position:relative;z-index:1}
@media (max-width:560px){
  .video-bg .bottom-readability-gradient,
  body:after{
    height:360px;
  }
  .video-bg .bottom-readability-gradient{
    background:linear-gradient(
      to top,
      rgba(0,0,0,.54) 0%,
      rgba(0,0,0,.40) 26%,
      rgba(0,0,0,.24) 56%,
      rgba(0,0,0,.10) 80%,
      rgba(0,0,0,0) 100%
    );
  }
}

/* v6: true footer-bottom readability strip only
   Full browser width, anchored to the bottom of the footer/page, over the video and under footer copy. */
body:after{
  display:none !important;
}
.video-bg{
  z-index:0 !important;
}
.video-bg .bottom-readability-gradient{
  display:none !important;
}
.footer{
  position:relative;
  z-index:2;
  isolation:isolate;
  overflow:visible;
}
.footer:before{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:100vw;
  height:250px;
  transform:translateX(-50%);
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.36) 0%,
    rgba(0,0,0,.28) 22%,
    rgba(0,0,0,.18) 48%,
    rgba(0,0,0,.08) 74%,
    rgba(0,0,0,0) 100%
  );
}
.footer-inner{
  position:relative;
  z-index:1;
}
@media (max-width:560px){
  .footer:before{
    height:280px;
    background:linear-gradient(
      to top,
      rgba(0,0,0,.42) 0%,
      rgba(0,0,0,.31) 24%,
      rgba(0,0,0,.19) 52%,
      rgba(0,0,0,.08) 76%,
      rgba(0,0,0,0) 100%
    );
  }
}


/* v7: attorney cards tightened and text pulled up beside photo under the Partner label */
@media (min-width: 761px) {
  #home-attorneys .grid.two {
    gap: 22px;
    align-items: stretch;
  }

  #home-attorneys .attorney-photo-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 22px;
    row-gap: 8px;
    align-items: start;
    padding: 24px 24px 22px;
    overflow: visible;
    min-height: 0;
  }

  #home-attorneys .attorney-photo {
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 150px;
    height: 190px;
    margin: 0;
    border-radius: 18px;
  }

  #home-attorneys .attorney-photo-card .label,
  #home-attorneys .attorney-photo-card h3,
  #home-attorneys .attorney-photo-card p {
    grid-column: 2;
    margin-left: 0;
    margin-right: 0;
  }

  #home-attorneys .attorney-photo-card .label {
    margin-top: 0;
    margin-bottom: 4px;
  }

  #home-attorneys .attorney-photo-card h3 {
    margin: 0 0 8px;
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.12;
    font-weight: 500;
  }

  #home-attorneys .attorney-photo-card p {
    margin: 0;
    padding-bottom: 0;
    font-size: 15px;
    line-height: 1.55;
  }
}

@media (max-width: 760px) {
  #home-attorneys .attorney-photo-card {
    padding: 22px;
  }

  #home-attorneys .attorney-photo-card .label {
    margin-top: 0;
  }
}

/* v8: full-width top header bar, no floating pill shape */
.site-header{
  top:0;
  left:0;
  right:0;
  height:70px;
  padding:0 clamp(20px,3vw,44px);
  border-radius:0;
}
.site-header:before{
  inset:0;
  border-radius:0;
  background:rgba(20,28,31,.62);
  border:0;
  border-bottom:1px solid rgba(235,241,244,.12);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}
.site-header.scrolled:before,
.site-header.search-open:before{
  opacity:1;
}
.home-page .site-header:not(.scrolled):not(.search-open):before{
  opacity:0;
}
.brand img{
  width:min(218px,21vw);
  max-height:44px;
}
.nav-cluster{
  gap:26px;
}
.desktop-nav{
  gap:14px;
}
.nav-link{
  padding:8px 15px;
  border-radius:999px;
}
@media (max-width:900px){
  .site-header{
    height:68px;
    padding:0 16px;
  }
  .site-header:before{
    inset:0;
    border-radius:0;
  }
  .nav-cluster{
    right:16px;
  }
  .mobile-panel{
    top:76px;
  }
}
@media (max-width:560px){
  .site-header{
    padding:0 14px;
  }
  .brand img,
  .home-page.home-scrolled .brand img,
  .home-page .site-header.search-open .brand img{
    width:164px;
  }
}


/* v9: clearer three-part About Us content structure */
.about-story-v9{
  gap:32px;
}
.about-story-v9 .story-intro{
  max-width:1060px;
}
.about-feature-grid{
  align-items:stretch;
}
.about-feature-card{
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.about-feature-card h3{
  margin-bottom:18px;
}
.about-feature-card p{
  color:rgba(248,243,234,.80);
}
.about-closing{
  max-width:980px;
  padding:24px 26px;
  border-radius:24px;
  background:rgba(235,241,244,.075);
  border:1px solid rgba(235,241,244,.12);
}
.about-closing p{
  margin:0;
  color:rgba(248,243,234,.82);
  font-size:16px;
  line-height:1.65;
}
@media (max-width:900px){
  .about-feature-card{
    min-height:0;
  }
  .about-closing{
    padding:20px;
  }
}


/* v10: use the same clean logo treatment in the top-left header as the footer boilerplate */
.site-header .brand{
  width:auto;
  min-width:260px;
  max-width:320px;
  display:flex;
  align-items:center;
}
.site-header .brand img{
  width:260px;
  max-width:24vw;
  max-height:48px;
  object-fit:contain;
  object-position:left center;
}
.home-page .site-header .brand img{
  opacity:0;
}
.home-page.home-scrolled .site-header .brand img,
.home-page .site-header.search-open .brand img{
  opacity:1;
}
@media (max-width:900px){
  .site-header .brand{
    min-width:190px;
    max-width:210px;
  }
  .site-header .brand img,
  .home-page.home-scrolled .site-header .brand img,
  .home-page .site-header.search-open .brand img{
    width:190px;
    max-width:46vw;
    max-height:44px;
  }
}
@media (max-width:560px){
  .site-header .brand{
    min-width:172px;
    max-width:186px;
  }
  .site-header .brand img,
  .home-page.home-scrolled .site-header .brand img,
  .home-page .site-header.search-open .brand img{
    width:176px;
    max-width:46vw;
    max-height:42px;
  }
}

/* v11: attorney section hover darkening */
#home-attorneys .wrap.glass {
  transition: background .28s ease, border-color .28s ease;
}

#home-attorneys .wrap.glass:hover {
  background: rgba(14, 20, 21, .68);
  border-color: rgba(248, 243, 234, .22);
}

#home-attorneys .attorney-photo-card {
  transition: background .28s ease, border-color .28s ease;
}

#home-attorneys .attorney-photo-card:hover {
  background: rgba(8, 13, 14, .32);
  border-color: rgba(248, 243, 234, .20);
  transform: none;
}

/* v12: restore home-page centered intro logo before scroll and clean mobile header behavior */
.home-page .site-header .brand img{
  opacity:0 !important;
  transition:opacity .7s ease !important;
}
.home-page.home-scrolled .site-header .brand img,
.home-page .site-header.search-open .brand img{
  opacity:1 !important;
}
.home-page .site-header:before{
  opacity:0 !important;
  transition:opacity .7s ease !important;
}
.home-page.home-scrolled .site-header:before,
.home-page .site-header.scrolled:before,
.home-page .site-header.search-open:before{
  opacity:1 !important;
}
.home-intro-logo{
  position:fixed !important;
  top:118px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:95 !important;
  width:min(100%,680px) !important;
  padding:0 18px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  pointer-events:none !important;
  opacity:1 !important;
  visibility:visible !important;
  transition:opacity .55s ease, visibility .55s ease !important;
}
.home-intro-logo img{
  width:min(430px,48vw) !important;
  max-width:100% !important;
  height:auto !important;
  opacity:1 !important;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.20));
}
.home-page.home-logo-hidden .home-intro-logo{
  opacity:0 !important;
  visibility:hidden !important;
}
.home-page.home-scrolled .site-header .brand,
.home-page .site-header.search-open .brand{
  min-width:260px !important;
  max-width:320px !important;
}
.home-page.home-scrolled .site-header .brand img,
.home-page .site-header.search-open .brand img{
  width:260px !important;
  max-width:24vw !important;
  max-height:48px !important;
}

@media (max-width:900px){
  .site-header{
    height:68px !important;
    padding:0 14px !important;
  }
  .site-header:before{
    inset:0 !important;
    border-radius:0 !important;
  }
  .nav-cluster{
    position:absolute !important;
    right:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    gap:8px !important;
  }
  .search-toggle{
    width:36px !important;
    height:36px !important;
  }
  .menu-btn{
    display:inline-flex !important;
    min-height:36px !important;
    padding:8px 12px !important;
  }
  .home-intro-logo{
    top:112px !important;
    width:100% !important;
    padding:0 14px !important;
    z-index:95 !important;
  }
  .home-intro-logo img{
    width:min(330px,86vw) !important;
  }
  .home-page.home-scrolled .site-header .brand,
  .home-page .site-header.search-open .brand{
    min-width:190px !important;
    max-width:210px !important;
  }
  .home-page.home-scrolled .site-header .brand img,
  .home-page .site-header.search-open .brand img{
    width:190px !important;
    max-width:46vw !important;
    max-height:44px !important;
  }
  .hero{
    padding-top:224px !important;
  }
}
@media (max-width:560px){
  .site-header{
    height:66px !important;
    padding:0 12px !important;
  }
  .nav-cluster{
    right:12px !important;
    gap:6px !important;
  }
  .home-intro-logo{
    top:108px !important;
    padding:0 10px !important;
  }
  .home-intro-logo img{
    width:min(300px,86vw) !important;
  }
  .home-page.home-scrolled .site-header .brand,
  .home-page .site-header.search-open .brand{
    min-width:170px !important;
    max-width:188px !important;
  }
  .home-page.home-scrolled .site-header .brand img,
  .home-page .site-header.search-open .brand img{
    width:176px !important;
    max-width:46vw !important;
    max-height:42px !important;
  }
  .hero{
    padding-top:214px !important;
  }
  .search-panel{
    right:0 !important;
  }
  .mobile-panel{
    right:12px !important;
    width:calc(100vw - 24px) !important;
  }
}


/* v13: top readability gradient for header area before scroll
   Full-width strip anchored to the top of the viewport, over the video and under all content. */
.video-bg .top-readability-gradient{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:250px;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.26) 0%,
    rgba(0,0,0,.20) 30%,
    rgba(0,0,0,.11) 64%,
    rgba(0,0,0,0) 100%
  );
}
@media (max-width:560px){
  .video-bg .top-readability-gradient{
    height:270px;
    background:linear-gradient(
      to bottom,
      rgba(0,0,0,.30) 0%,
      rgba(0,0,0,.23) 30%,
      rgba(0,0,0,.12) 66%,
      rgba(0,0,0,0) 100%
    );
  }
}


/* v14: reliable top readability strip, matching the footer gradient logic in reverse.
   This is a separate full-width fixed layer so it cannot get hidden inside the video stack. */
.top-readability-strip {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  height: 250px;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, .38) 0%,
    rgba(0, 0, 0, .27) 28%,
    rgba(0, 0, 0, .15) 58%,
    rgba(0, 0, 0, .06) 78%,
    rgba(0, 0, 0, 0) 100%
  );
}

main,
.footer {
  position: relative;
  z-index: 2;
}

.site-header,
.mobile-panel,
.search-results,
.home-intro-logo {
  z-index: 90;
}

.home-intro-logo {
  z-index: 20;
}

@media (max-width: 560px) {
  .top-readability-strip {
    height: 270px;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, .42) 0%,
      rgba(0, 0, 0, .30) 30%,
      rgba(0, 0, 0, .16) 62%,
      rgba(0, 0, 0, .06) 80%,
      rgba(0, 0, 0, 0) 100%
    );
  }
}

/* v15: background video overlay darkened slightly, about 5% stronger */
.video-bg:after{
  background:
    linear-gradient(
      135deg,
      rgba(7,10,12,.63) 0%,
      rgba(12,17,20,.46) 30%,
      rgba(18,23,26,.29) 62%,
      rgba(24,29,31,.13) 100%
    ),
    radial-gradient(
      circle at 18% 14%,
      rgba(8,11,13,.18),
      transparent 44%
    ),
    radial-gradient(
      circle at 72% 28%,
      rgba(180,198,210,.09),
      transparent 38%
    );
}

@media (max-width:560px){
  .video-bg:after{
    background:
      linear-gradient(
        135deg,
        rgba(7,10,12,.59) 0%,
        rgba(12,17,20,.42) 32%,
        rgba(18,23,26,.26) 64%,
        rgba(24,29,31,.10) 100%
      ),
      radial-gradient(
        circle at 18% 14%,
        rgba(8,11,13,.14),
        transparent 45%
      ),
      radial-gradient(
        circle at 72% 28%,
        rgba(180,198,210,.06),
        transparent 38%
      );
  }
}


/* v16: restore visible centered intro logo before scroll on home page.
   This is separate from the upper-left header logo that appears after scrolling. */
.home-page .home-intro-logo {
  position: fixed !important;
  top: 152px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(100%, 720px) !important;
  padding: 0 20px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  z-index: 80 !important;
  transition: opacity .42s ease, visibility .42s ease !important;
}

.home-page .home-intro-logo img {
  display: block !important;
  width: min(500px, 48vw) !important;
  max-width: 500px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: drop-shadow(0 10px 28px rgba(0,0,0,.32));
}

.home-page.home-logo-hidden .home-intro-logo {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Keep the normal header logo hidden before scroll, then visible after scroll/search. */
.home-page .site-header .brand img {
  opacity: 0 !important;
}

.home-page.home-scrolled .site-header .brand img,
.home-page .site-header.search-open .brand img {
  opacity: 1 !important;
}

@media (max-width: 640px) {
  .home-page .home-intro-logo {
    top: 134px !important;
    width: min(100%, 380px) !important;
    padding: 0 14px !important;
    z-index: 80 !important;
  }

  .home-page .home-intro-logo img {
    width: min(326px, 84vw) !important;
    max-width: 326px !important;
  }
}


/* v17: hard-wired centered startup logo on homepage before scrolling.
   This is independent of the header logo and independent of the older home-intro-logo block. */
.startup-center-logo {
  position: fixed !important;
  top: 154px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 85 !important;
  width: min(720px, 96vw) !important;
  padding: 0 20px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transition: opacity .42s ease, visibility .42s ease !important;
}

.startup-center-logo img {
  display: block !important;
  width: min(520px, 50vw) !important;
  max-width: 520px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: drop-shadow(0 12px 30px rgba(0,0,0,.36));
}

/* Hide the startup logo only after the home page scroll threshold is crossed. */
.home-page.home-logo-hidden .startup-center-logo,
body:not(.home-page) .startup-center-logo {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Turn off the old intro logo so there is only one centered startup logo. */
.home-intro-logo {
  display: none !important;
}

@media (max-width: 640px) {
  .startup-center-logo {
    top: 136px !important;
    width: min(390px, 96vw) !important;
    padding: 0 14px !important;
  }

  .startup-center-logo img {
    width: min(338px, 86vw) !important;
    max-width: 338px !important;
  }
}


/* v18: forced visible homepage startup logo.
   Uses the same proven footer logo artwork and a topmost fixed layer. */
body.home-page .startup-center-logo {
  position: fixed !important;
  top: 150px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  margin: 0 !important;
  padding: 0 20px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  z-index: 9998 !important;
  transform: none !important;
}

body.home-page .startup-center-logo img {
  display: block !important;
  width: min(470px, 48vw) !important;
  max-width: 470px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: drop-shadow(0 12px 32px rgba(0,0,0,.45)) !important;
}

/* Only hide it once the page is actually scrolled. */
body.home-page.home-logo-hidden .startup-center-logo {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Normal upper-left logo remains hidden before scroll and appears after scroll. */
body.home-page:not(.home-scrolled) .site-header .brand img {
  opacity: 0 !important;
}

body.home-page.home-scrolled .site-header .brand img,
body.home-page .site-header.search-open .brand img {
  opacity: 1 !important;
}

@media (max-width: 640px) {
  body.home-page .startup-center-logo {
    top: 132px !important;
    padding: 0 14px !important;
  }

  body.home-page .startup-center-logo img {
    width: min(324px, 84vw) !important;
    max-width: 324px !important;
  }
}

/* v19: clear frosted glass panels instead of darkened glass panels */
:root{
  --glass: rgba(244, 248, 250, .12);
  --glass2: rgba(244, 248, 250, .08);
  --line: rgba(255, 255, 255, .24);
}

.glass{
  background: rgba(244, 248, 250, .12) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  backdrop-filter: blur(26px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(26px) saturate(1.08) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.12) !important;
}

.card,
.practice-item,
.about-closing{
  background: rgba(244, 248, 250, .08) !important;
  border-color: rgba(255,255,255,.18) !important;
}

.card:hover,
.practice-item:hover{
  background: rgba(244, 248, 250, .11) !important;
}

.search-results,
.mobile-panel,
.search-input,
.form input,
.form textarea{
  backdrop-filter: blur(22px) saturate(1.08);
  -webkit-backdrop-filter: blur(22px) saturate(1.08);
}


/* v20: restore darker mouseover on category cells while keeping clear frosted glass panels */
.card:hover,
.practice-item:hover,
.about-feature-card:hover,
.attorney-photo-card:hover {
  background: rgba(8, 12, 14, .24) !important;
  border-color: rgba(255,255,255,.24) !important;
}

#home-attorneys .glass:hover {
  background: rgba(244, 248, 250, .12) !important;
}

/* Make form prompt/placeholder text white and readable */
.form input::placeholder,
.form textarea::placeholder,
.search-input::placeholder {
  color: rgba(255,255,255,.82) !important;
  opacity: 1 !important;
}

.form input,
.form textarea {
  color: #fff !important;
}

.form input:focus::placeholder,
.form textarea:focus::placeholder,
.search-input:focus::placeholder {
  color: rgba(255,255,255,.68) !important;
}
