@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Playfair;src:url('/assets/fonts/playfair-display-600-latin.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}

:root{
  --black:#070706;
  --black-soft:#0d0d0b;
  --ink:#141310;
  --ivory:#f1ebdd;
  --ivory-dim:#c8c0af;
  --muted:#8d877b;
  --brass:#c8a763;
  --brass-light:#e2c98f;
  --brass-dark:#78623a;
  --rule:rgba(226,201,143,.22);
  --rule-soft:rgba(241,235,221,.11);
  --serif:Playfair,Georgia,'Times New Roman',serif;
  --sans:Inter,Arial,sans-serif;
  --shell:min(92rem,calc(100% - 2rem));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black);color-scheme:dark}
body{margin:0;background:var(--black);color:var(--ivory);font-family:var(--sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img,video{display:block;max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--brass);color:var(--black)}

.skip-link{position:fixed;z-index:1000;left:1rem;top:1rem;transform:translateY(-180%);padding:.75rem 1rem;background:var(--ivory);color:var(--black);font-weight:700}
.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--brass-light);outline-offset:4px}

.v5-shell{width:var(--shell);margin-inline:auto}
.v5-kicker,.v5-section-index{font-size:.66rem;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-light);font-weight:700}
.v5-section-index{padding-bottom:1rem;border-bottom:1px solid var(--rule);color:var(--muted)}

.v5-header{position:fixed;z-index:80;top:0;left:0;right:0;height:4.75rem;padding:0 max(1rem,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid rgba(226,201,143,.13);background:linear-gradient(180deg,rgba(7,7,6,.94),rgba(7,7,6,.38));backdrop-filter:blur(12px)}
.v5-mark{display:inline-flex;align-items:center;gap:.75rem;min-width:0}
.v5-mark-initials{width:2.15rem;height:2.15rem;display:grid;place-items:center;border:1px solid var(--brass-dark);font-family:var(--serif);font-size:.84rem;color:var(--brass-light)}
.v5-mark-name{display:flex;flex-direction:column;line-height:1.12}
.v5-mark-name strong{font-family:var(--serif);font-size:.96rem;font-weight:600}
.v5-mark-name small{margin-top:.18rem;color:var(--muted);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase}
.v5-nav{display:none}
.v5-header-call{padding:.54rem .8rem;border:1px solid var(--brass-dark);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-light)}

.v5-story{height:300svh;background:var(--black)}
.v5-stage{position:sticky;top:0;height:100svh;min-height:35rem;overflow:hidden;isolation:isolate;background:var(--black)}
.v5-media,.v5-vignette,.v5-grid{position:absolute;inset:0}
.v5-media{z-index:-3;background:var(--black)}
.v5-poster,.v5-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transition:opacity .55s ease,transform .8s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}
.v5-poster{opacity:0}
.v5-poster-opening{opacity:1}
.v5-film{opacity:0}
.video-ready .v5-film{opacity:1}
.video-ready .v5-poster{opacity:0!important}
.v5-story.video-ready[data-chapter="4"] .v5-film{opacity:0}
.v5-story.video-ready[data-chapter="4"] .v5-poster-scales{opacity:1!important;transform:scale(1)}
.v5-story[data-chapter="0"] .v5-poster-opening,.v5-story[data-chapter="1"] .v5-poster-opening{opacity:1;transform:scale(1.02) translateY(0)}
.v5-story[data-chapter="2"] .v5-poster-impact{opacity:1;transform:scale(1.035)}
.v5-story[data-chapter="3"] .v5-poster-impact{opacity:.25;transform:scale(1.08) translateY(-2%)}
.v5-story[data-chapter="3"] .v5-poster-scales,.v5-story[data-chapter="4"] .v5-poster-scales{opacity:1;transform:scale(1)}
.v5-vignette{z-index:2;background:linear-gradient(180deg,rgba(7,7,6,.28) 0%,rgba(7,7,6,.04) 30%,rgba(7,7,6,.32) 58%,rgba(7,7,6,.96) 100%),linear-gradient(90deg,rgba(7,7,6,.7),transparent 70%)}
.v5-grid{z-index:3;opacity:.22;background-image:linear-gradient(rgba(226,201,143,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(226,201,143,.07) 1px,transparent 1px);background-size:4rem 4rem;mask-image:linear-gradient(to bottom,transparent 0%,#000 36%,#000 72%,transparent 100%)}

.v5-chrome{position:absolute;z-index:12;top:5.7rem;left:1rem;right:1rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.8rem;color:var(--muted);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase}
.v5-progress{height:1px;background:rgba(241,235,221,.18);position:relative;overflow:hidden}
.v5-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--brass-light);will-change:transform}
.v5-chapter-label{color:var(--ivory-dim)}

.v5-scenes{position:absolute;z-index:10;inset:0;pointer-events:none}
.v5-scene{position:absolute;inset:0;padding:8.2rem 1rem 7.6rem;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transform:translateY(1rem);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.v5-story[data-chapter="0"] [data-scene="0"],.v5-story[data-chapter="1"] [data-scene="1"],.v5-story[data-chapter="2"] [data-scene="2"],.v5-story[data-chapter="3"] [data-scene="3"],.v5-story[data-chapter="4"] [data-scene="4"]{opacity:1;transform:none;pointer-events:auto}
.v5-scene h1,.v5-display{margin:.5rem 0 0;font-family:var(--serif);font-weight:600;line-height:.88;letter-spacing:-.045em}
.v5-scene h1{font-size:clamp(3.15rem,14vw,5.8rem);max-width:8ch}
.v5-scene h1 em,.v5-display em{color:var(--brass-light);font-style:italic}
.v5-role{margin:.8rem 0 0;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim)}
.v5-hero-line{margin:.9rem 0 0;max-width:20rem;font-size:1rem;color:var(--ivory-dim)}
.v5-first-actions{margin-top:1.1rem;display:grid;grid-template-columns:1.45fr .75fr .95fr;gap:.45rem;pointer-events:auto}
.v5-button{min-height:2.65rem;padding:.65rem .55rem;display:grid;place-items:center;border:1px solid var(--rule);font-size:.65rem;line-height:1.1;text-align:center;letter-spacing:.06em;text-transform:uppercase}
.v5-button-primary{background:var(--brass-light);border-color:var(--brass-light);color:var(--black);font-weight:800}
.v5-button-quiet{background:rgba(7,7,6,.68);backdrop-filter:blur(10px)}
.v5-display{font-size:clamp(2.65rem,12vw,5.4rem);max-width:9ch}
.v5-scene-note,.v5-impact-sub,.v5-result-note{margin:1rem 0 0;max-width:24rem;color:var(--ivory-dim);font-size:.84rem}
.v5-scene-descent{justify-content:center;align-items:flex-end;text-align:right;padding-top:10rem}
.v5-scene-descent .v5-display{margin-left:auto}
.v5-scene-descent .v5-scene-note{margin-left:auto}
.v5-scene-impact{justify-content:flex-start;padding-top:38svh}
.v5-impact-word{margin:0;font-family:var(--serif);font-size:clamp(3rem,16vw,7rem);line-height:.9;letter-spacing:-.055em}
.v5-impact-sub{text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}
.v5-scene-practice{justify-content:center;padding-top:8rem}
.v5-scene-routes{margin:1rem 0 0;padding:0;list-style:none;border-top:1px solid var(--rule);max-width:28rem}
.v5-scene-routes li{display:grid;grid-template-columns:1.15rem 1fr;gap:.7rem;padding:.8rem 0;border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:1.02rem;line-height:1.18}
.v5-scene-routes li::before{content:"";width:.65rem;height:1px;margin-top:.58em;background:var(--brass-light)}
.v5-scene-resolve{display:grid;grid-template-rows:1fr auto;align-items:end;justify-content:stretch;padding-top:7.5rem}
.v5-resolve-copy{position:relative;z-index:2;align-self:end;padding-bottom:0}
.v5-resolve-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.35rem .8rem;pointer-events:auto}
.v5-resolve-actions a{font-size:.68rem;padding-bottom:.2rem;border-bottom:1px solid var(--brass-dark)}
.v5-resolve-portrait{position:absolute;z-index:1;right:-2.6rem;bottom:0;width:min(58vw,21rem);height:50svh;object-fit:cover;object-position:50% 18%;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 24%,#000 100%),linear-gradient(to bottom,transparent 0%,#000 16%,#000 75%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,#000 24%,#000 100%),linear-gradient(to bottom,transparent 0%,#000 16%,#000 75%,transparent 100%);mask-composite:intersect;opacity:.48;filter:saturate(.72) contrast(1.08)}
.v5-scroll-cue{position:absolute;z-index:14;bottom:1.25rem;right:1rem;margin:0;color:var(--muted);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase}

.v5-contact-deck,.v5-about,.v5-practice,.v5-request{position:relative;background:var(--black);border-top:1px solid var(--rule-soft)}
.v5-contact-deck{padding:4.5rem 0}
.v5-contact-deck .v5-shell{display:grid;gap:1.5rem}
.v5-contact-copy h2,.v5-about h2,.v5-practice h2,.v5-request h2{margin:.55rem 0 0;font-family:var(--serif);font-size:clamp(2.3rem,9vw,5rem);font-weight:600;line-height:.98;letter-spacing:-.045em}
.v5-contact-copy p:last-child,.v5-about-body,.v5-request-intro>p{color:var(--ivory-dim)}
.v5-contact-actions{border-top:1px solid var(--rule)}
.v5-contact-actions a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule)}
.v5-contact-actions span{font-family:var(--serif);font-size:1.25rem}
.v5-contact-actions small{color:var(--muted);font-size:.65rem;text-align:right}

.v5-about{padding:5rem 0;background:linear-gradient(145deg,#0c0b09,#080807)}
.v5-two-column{display:grid;gap:2rem}
.v5-about-body{font-size:1rem;max-width:39rem}
.v5-about-body p{margin:0 0 1rem}
.v5-text-link{display:inline-block;margin-top:.65rem;padding-bottom:.3rem;border-bottom:1px solid var(--brass-dark);color:var(--brass-light);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}

.v5-practice{padding:5rem 0}
.v5-practice-heading{padding:1.8rem 0 2.2rem}
.v5-practice-intro{margin:1.2rem 0 0;max-width:46rem;color:var(--ivory-dim)}
.v5-practice-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.v5-practice-list li{border-bottom:1px solid var(--rule)}
.v5-practice-list a{position:relative;display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:1.35rem 0;align-items:start}
.v5-practice-name{font-family:var(--serif);font-size:1.35rem;line-height:1.1}
.v5-practice-detail{grid-column:1 / -1;color:var(--muted);font-size:.82rem;max-width:38rem}
.v5-practice-arrow{font-size:1.25rem;color:var(--brass-light)}
.v5-open-matter{display:grid;gap:1.4rem;margin-top:2.6rem;padding:2rem 0;border-top:1px solid var(--brass-dark);border-bottom:1px solid var(--brass-dark)}
.v5-open-matter h3{margin:.45rem 0 0;font-family:var(--serif);font-size:clamp(2rem,8vw,4rem);font-weight:600;line-height:1;letter-spacing:-.04em}
.v5-open-matter p:not(.v5-kicker){margin:.8rem 0 0;max-width:42rem;color:var(--ivory-dim)}
.v5-open-matter .v5-button{width:100%;max-width:23rem}

.v5-request{padding:5rem 0;background:#0b0a08}
.v5-request-grid{display:grid;gap:2.5rem}
.v5-direct-lines{margin-top:1.5rem;border-top:1px solid var(--rule)}
.v5-direct-lines a{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--rule);font-size:.85rem}
.v5-direct-lines span{color:var(--muted);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}
.v5-form{padding:1rem 0}
.v5-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.v5-notice,.v5-deadline{padding:1rem;border-left:2px solid var(--brass);background:rgba(200,167,99,.07)}
.v5-notice strong,.v5-deadline strong{font-family:var(--serif);font-size:1.1rem}
.v5-notice p,.v5-deadline p{margin:.45rem 0 0;color:var(--ivory-dim);font-size:.78rem}
.v5-field-grid{display:grid;gap:1rem;margin-top:1.35rem}
.v5-field{display:grid;gap:.42rem}
.v5-field label,.v5-options legend,.v5-acknowledgments legend{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-dim);font-weight:700}
.v5-field input,.v5-field select,.v5-field textarea{width:100%;border:0;border-bottom:1px solid var(--brass-dark);border-radius:0;padding:.78rem .2rem;background:transparent;color:var(--ivory);outline:none}
.v5-field input:focus,.v5-field select:focus,.v5-field textarea:focus{border-color:var(--brass-light);box-shadow:0 1px 0 var(--brass-light)}
.v5-field select{background-color:#0b0a08}
.v5-field textarea{resize:vertical;min-height:5.4rem}
.v5-helper,.v5-counter{margin:.35rem 0 0;color:var(--muted);font-size:.7rem}
.v5-counter{text-align:right}
.v5-options{margin:1.25rem 0 0;padding:0;border:0}
.v5-options legend{margin-bottom:.7rem}
.v5-options label{display:inline-flex;align-items:center;gap:.45rem;margin-right:1.2rem;font-size:.85rem}
.v5-options input,.v5-acknowledgments input{accent-color:var(--brass-light)}
.v5-deadline{margin-top:1.5rem;border-left-color:#b17b43;background:rgba(177,123,67,.07)}
.v5-acknowledgments{margin:1.5rem 0 0;padding:1rem 0 0;border:0;border-top:1px solid var(--rule)}
.v5-acknowledgments legend{padding-right:.7rem}
.v5-acknowledgments label{display:grid;grid-template-columns:auto 1fr;gap:.65rem;margin-top:.8rem;color:var(--ivory-dim);font-size:.76rem;line-height:1.45}
.v5-acknowledgments input{margin-top:.18rem}
.v5-submit{width:100%;margin-top:1.5rem;padding:1rem;border:1px solid var(--brass-light);background:var(--brass-light);color:var(--black);font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;display:flex;justify-content:space-between}
.v5-submit:disabled{cursor:wait;opacity:.62}
.v5-form-status{min-height:1.5em;margin:1rem 0 0;color:var(--brass-light);font-size:.82rem}
.v5-preview-note,.v5-noscript-form{margin:.4rem 0 0;color:var(--muted);font-size:.68rem}

.v5-footer{padding:3rem 0 calc(2rem + env(safe-area-inset-bottom));background:#050504;border-top:1px solid var(--rule)}
.v5-footer-top,.v5-footer-bottom{display:grid;gap:1.5rem}
.v5-footer-top{padding-bottom:2rem;border-bottom:1px solid var(--rule)}
.v5-footer-top>div{display:flex;flex-direction:column;gap:.25rem}
.v5-footer-top strong{font-family:var(--serif);font-size:1.4rem}
.v5-footer-top span,.v5-footer-top a,.v5-footer-bottom{font-size:.72rem;color:var(--ivory-dim)}
.v5-footer-top a{display:flex;align-items:center;min-height:2rem;padding:.2rem 0}
.v5-footer-bottom{padding-top:1.5rem}
.v5-footer-bottom p{margin:0;max-width:42rem}
.v5-footer-bottom nav{display:flex;gap:1rem;flex-wrap:wrap}

.no-js .v5-story{height:auto}
.no-js .v5-stage{position:relative;height:auto;min-height:100svh;overflow:visible;padding-bottom:2rem}
.no-js .v5-poster-opening,.no-js .v5-poster-impact,.no-js .v5-film,.no-js .v5-chrome,.no-js .v5-scroll-cue{display:none}
.no-js .v5-poster-scales{opacity:1;position:absolute;inset:0;height:100svh}
.no-js .v5-scenes{position:relative;min-height:100svh}
.no-js .v5-scene{display:none}
.no-js .v5-scene-identity{display:flex;opacity:1;transform:none;pointer-events:auto;position:relative;min-height:100svh}


@media (hover:hover){
  .v5-button,.v5-header-call,.v5-contact-actions a,.v5-practice-list a,.v5-text-link,.v5-submit{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
  .v5-button-quiet:hover,.v5-header-call:hover{border-color:var(--brass-light);background:rgba(200,167,99,.1)}
  .v5-contact-actions a:hover,.v5-practice-list a:hover{color:var(--brass-light);transform:translateX(.35rem)}
  .v5-submit:hover{background:var(--ivory);border-color:var(--ivory)}
}

@media (min-width:45rem){
  :root{--shell:min(92rem,calc(100% - 4rem))}
  .v5-header{padding-inline:2rem;grid-template-columns:1fr auto auto;gap:2rem}
  .v5-nav{display:flex;gap:1.4rem;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-dim)}
  .v5-chrome{left:2rem;right:2rem}
  .v5-scene{padding-left:2rem;padding-right:2rem}

  .v5-first-actions{max-width:29rem}
  .v5-field-grid{grid-template-columns:1fr 1fr}
  .v5-field-wide{grid-column:1 / -1}
  .v5-footer-top{grid-template-columns:1fr auto}
  .v5-footer-top>div:last-child{align-items:flex-end}
  .v5-footer-bottom{grid-template-columns:minmax(18rem,1fr) auto auto;align-items:start}
}

@media (min-width:64rem){
  .v5-stage{min-height:43rem}
  .v5-media{left:38%;width:62%;overflow:hidden}
  .v5-poster,.v5-film{object-fit:cover;object-position:center 46%}
  .v5-vignette{background:linear-gradient(90deg,var(--black) 0%,rgba(7,7,6,.9) 17%,rgba(7,7,6,.12) 66%,rgba(7,7,6,.38) 100%),linear-gradient(180deg,rgba(7,7,6,.2),transparent 50%,rgba(7,7,6,.7))}
  .v5-grid{left:-62%;width:162%}
  .v5-scene{padding:9rem 4vw 5rem;justify-content:center}
  .v5-scene h1{font-size:clamp(5rem,8vw,9rem);max-width:9ch}
  .v5-display{font-size:clamp(4.5rem,7.2vw,8.5rem)}
  .v5-hero-line{font-size:1.1rem}
  .v5-scene-descent{align-items:flex-start;text-align:left;padding-left:50vw;padding-right:5vw}
  .v5-scene-descent .v5-display,.v5-scene-descent .v5-scene-note{margin-left:0}
  .v5-scene-impact{justify-content:center;padding-top:9rem;padding-left:8vw}
  .v5-impact-word{font-size:clamp(5rem,10vw,10rem)}
  .v5-scene-practice{padding-left:58vw}
  .v5-scene-routes{max-width:34rem}
  .v5-scene-routes li{font-size:1.25rem;padding:1rem 0}
  .v5-scene-resolve{display:flex;align-items:center;justify-content:center;padding-right:55vw}
  .v5-resolve-portrait{right:4vw;width:min(27vw,28rem);height:72svh;opacity:.66}
  .v5-contact-deck{padding:7rem 0}
  .v5-contact-deck .v5-shell{grid-template-columns:10rem minmax(20rem,.9fr) minmax(27rem,1.1fr);gap:3rem;align-items:start}
  .v5-contact-copy h2,.v5-about h2,.v5-practice h2,.v5-request h2{font-size:clamp(3.6rem,5vw,6rem)}
  .v5-two-column{grid-template-columns:minmax(25rem,1.1fr) minmax(22rem,.9fr);gap:8vw;align-items:center}
  .v5-about,.v5-practice,.v5-request{padding:8rem 0}
  .v5-practice-heading{display:grid;grid-template-columns:10rem 1fr;gap:1.2rem 3rem;padding:2.5rem 0 4rem}
  .v5-practice-heading .v5-kicker{grid-column:1}
  .v5-practice-heading h2{grid-column:2;grid-row:1 / span 2;margin:0}
  .v5-practice-intro{grid-column:2;margin:0}
  .v5-practice-list a{grid-template-columns:minmax(17rem,.85fr) minmax(24rem,1.15fr) auto;gap:1.5rem;padding:1.8rem 0;align-items:center}
  .v5-practice-name{font-size:1.65rem}
  .v5-practice-detail{grid-column:auto}
  .v5-open-matter{grid-template-columns:1fr auto;align-items:end;padding:3rem 0}
  .v5-request-grid{grid-template-columns:minmax(22rem,.78fr) minmax(34rem,1.22fr);gap:8vw;align-items:start}
  .v5-request-intro{position:sticky;top:7rem}
  .v5-form{padding:0}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .v5-story{height:auto}
  .v5-stage{position:relative;min-height:100svh;height:auto}
  .v5-film,.v5-poster-opening,.v5-poster-impact,.v5-chrome,.v5-scroll-cue{display:none!important}
  .v5-poster-scales{display:block;opacity:1;transform:none;position:absolute;inset:0;height:100svh}
  .v5-scenes{position:relative;min-height:100svh}
  .v5-scene{display:none}
  .v5-scene-identity{display:flex;opacity:1;transform:none;pointer-events:auto;position:relative;min-height:100svh}
}

@media (max-width:23rem){
  .v5-header{height:4.3rem}
  .v5-mark-name strong{font-size:.84rem}
  .v5-mark-name small{font-size:.5rem}
  .v5-mark-initials{width:1.9rem;height:1.9rem}
  .v5-chrome{top:5.1rem}
  .v5-contact-shortcut{top:4.8rem}
  .v5-scene{padding-bottom:6.4rem}
  .v5-scene h1{font-size:2.8rem}
  .v5-hero-line{font-size:.88rem}
  .v5-first-actions{grid-template-columns:1.3fr .65fr .85fr}
  .v5-button{font-size:.56rem;padding-inline:.3rem}
}
