@font-face{font-family:"Season Mix";src:url("../fonts/SeasonMix-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Season Mix";src:url("../fonts/SeasonMix-SemiBold.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"GT Era Text";src:url("../fonts/GT-Era-Text-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"GT Era Text";src:url("../fonts/GT-Era-Text-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"GT Canon";src:url("../fonts/GT-Canon-L-Standard-Medium-Italic.woff2") format("woff2");
  font-weight:500;font-style:italic;font-display:swap}
:root{
  --graphite:#232323;
  --ocean:#006f81;
  --seaglass:#c3e3d6;
  --sand:#c8aa6e;
  --stone:#f2f0e7;
  --ivory:#fffffa;
  --graphite-deep:#1b1b1b;
  --line-dark:rgba(35,35,35,.18);
  --line-gold:rgba(200,170,110,.34);
  --line-light:rgba(255,255,250,.20);

  --maxw:1440px;
  --gutter:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.22,1,.36,1);

  --f-display:"Season Mix","Newsreader",Georgia,serif;
  --f-text:"GT Era Text","Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  --f-detail:"GT Canon","Playfair Display",Georgia,serif;

  --t-h1:clamp(2.2rem,4.1vw,3.6rem);
  --t-h1-hero:clamp(2.1rem,5.6vw,5rem);
  --t-h1-sm:clamp(1.85rem,3.15vw,2.8rem);
  --t-pull:clamp(1.5rem,2.45vw,2.15rem);
  --t-h2:clamp(1.35rem,2.2vw,1.85rem);
  --t-h3:clamp(1.5rem,2.6vw,2.1rem);
  --t-lead:clamp(1.05rem,1.5vw,1.3rem);
  --t-body:clamp(1rem,1.15vw,1.075rem);
  --t-small:.875rem;
  --t-eyebrow:.78rem;
  --t-stat:clamp(2.5rem,5.4vw,4.35rem);

  --dur-int:.3s;
  --dur-rev:.6s;
  --dur-draw:1.6s;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;
  scroll-padding-top:clamp(104px,9vw,136px)}
body{margin:0;background:var(--graphite);color:var(--ivory);
  font-family:var(--f-text);font-size:var(--t-body);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,h5,p,figure,blockquote{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--ocean);outline-offset:3px}
.on-graphite :focus-visible,.on-ocean :focus-visible,
.nav :focus-visible,.modal :focus-visible{outline-color:var(--seaglass)}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--sand);color:var(--graphite);
  padding:12px 20px;font-weight:700}
.skip:focus{left:var(--gutter);top:12px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.pad{padding-block:clamp(76px,8.8vw,138px)}
.pad-sm{padding-block:clamp(64px,7vw,112px)}
.grid12{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,32px)}
.sect{position:relative;isolation:isolate}
.on-graphite{background:var(--graphite);color:var(--ivory);
  --fg:var(--ivory);--accent:var(--sand);--line:var(--line-gold);--soft:rgba(255,255,250,.82);--faint:rgba(255,255,250,.62)}
.on-ivory{background:var(--ivory);color:var(--graphite);
  --fg:var(--graphite);--accent:var(--ocean);--line:var(--line-dark);--soft:rgba(35,35,35,.78);--faint:rgba(35,35,35,.68)}
.on-stone{background:var(--stone);color:var(--graphite);
  --fg:var(--graphite);--accent:var(--ocean);--line:var(--line-dark);--soft:rgba(35,35,35,.78);--faint:rgba(35,35,35,.68)}
.on-ocean{background:var(--ocean);color:var(--ivory);
  --fg:var(--ivory);--accent:var(--seaglass);--line:var(--line-light);--soft:rgba(255,255,250,.84);--faint:rgba(255,255,250,.64)}
.on-seaglass{background:var(--seaglass);color:var(--graphite);
  --fg:var(--graphite);--accent:var(--ocean);--line:var(--line-dark);--soft:rgba(35,35,35,.78);--faint:rgba(35,35,35,.68)}
.tex::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:300px 300px;opacity:.2;mix-blend-mode:multiply}
.on-ivory.tex::after,.on-stone.tex::after,.on-seaglass.tex::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("../img/tex-grain-light.webp");
  background-size:46% auto;opacity:.42;mix-blend-mode:overlay}
.on-stone.tex::after{opacity:.36}
.on-seaglass.tex::after{opacity:.3}
.on-graphite.tex::before,.on-ocean.tex::before{
  background-image:url("../img/tex-grain-dark.webp");
  background-size:52% auto;opacity:.5;mix-blend-mode:overlay}
.on-graphite.tex::after{opacity:.045}
.on-graphite.tex::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-color:var(--sand);opacity:.07;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='340' height='340' filter='url(%23m)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='340' height='340' filter='url(%23m)'/%3E%3C/svg%3E");
  -webkit-mask-size:340px 340px;mask-size:340px 340px}
.eyebrow{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);line-height:1.2;color:var(--accent);margin:0}
.eyebrow--rule{display:flex;align-items:center;gap:16px}
.eyebrow--rule::after{content:"";flex:0 0 auto;width:96px;height:2px;
  background:var(--line);max-width:none}

.h1{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1);
  line-height:1.04;letter-spacing:.01em;max-width:20ch}
.h1.t2{font-size:var(--t-h1-sm);line-height:1.06}
.h1.stack{max-width:none}
.h1-sm{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1-sm);
  line-height:1.05;letter-spacing:.01em;max-width:20ch}
.h2{font-family:var(--f-text);font-weight:700;font-size:var(--t-h2);
  line-height:1.2;letter-spacing:-.025em}
.h3{font-family:var(--f-display);font-weight:400;font-size:var(--t-h3);
  line-height:1.05;letter-spacing:.01em}
.h4{font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  letter-spacing:.1em;line-height:.95}
.h5{font-family:var(--f-detail);font-weight:500;font-style:italic;letter-spacing:.025em;line-height:1.5}
.body{font-size:var(--t-body);line-height:1.65;max-width:68ch;color:var(--soft)}
.lead{font-size:var(--t-lead);line-height:1.55;max-width:56ch;color:var(--soft)}
strong,b{font-weight:700}
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-text);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;line-height:1;
  padding:18px 32px;border-radius:2px;text-decoration:none;min-height:48px;
  transition:background var(--dur-int) var(--ease),color var(--dur-int) var(--ease),
             border-color var(--dur-int) var(--ease),transform var(--dur-int) var(--ease)}
.btn .ar{transition:transform var(--dur-int) var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.btn-primary{background:var(--sand);color:var(--graphite)}
.btn-primary:hover{background:var(--ivory)}
.on-ivory .btn-primary:hover,.on-stone .btn-primary:hover,.on-seaglass .btn-primary:hover{background:var(--graphite);color:var(--ivory)}
.btn-secondary{background:transparent;color:var(--sand);border:1px solid var(--sand)}
.btn-secondary:hover{background:var(--sand);color:var(--graphite)}
.on-ocean .btn-secondary{color:var(--ivory);border-color:var(--ivory)}
.on-ocean .btn-secondary:hover{background:var(--ivory);color:var(--ocean)}

.link-arrow{display:inline-flex;align-items:center;gap:.5em;text-decoration:underline;
  text-underline-offset:4px;text-decoration-thickness:1px;font-size:var(--t-body);
  color:var(--fg);background:none;padding:11px 0;min-height:44px}
.link-arrow .ar{transition:transform var(--dur-int) var(--ease)}
.link-arrow:hover .ar{transform:translateX(4px)}
.link-arrow.down:hover .ar{transform:translateY(4px)}

.rule{height:1px;background:var(--line);border:0;margin:0;transform-origin:left center}
.rule-accent{background:var(--accent);opacity:.4}
.dia-mark{position:absolute;pointer-events:none;z-index:0;
  width:clamp(150px,26%,290px);aspect-ratio:1;
  border:1px solid currentColor;opacity:.26}
.dia-mark.two{width:clamp(96px,17%,188px);opacity:.34}
.dia-mark.tr{top:0;right:0;transform:translate(50%,-50%) rotate(45deg)}
.dia-mark.br{bottom:0;right:0;transform:translate(50%,50%) rotate(45deg)}
.dia-mark.bl{bottom:0;left:0;transform:translate(-50%,50%) rotate(45deg)}
.js .dia-mark{opacity:0}
.js .dia-mark.tr{transform:translate(50%,-50%) rotate(45deg) scale(.9)}
.js .dia-mark.br{transform:translate(50%,50%) rotate(45deg) scale(.9)}
.js .dia-mark.bl{transform:translate(-50%,50%) rotate(45deg) scale(.9)}
.js .dia-mark{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .in .dia-mark.tr,.js .dia-mark.tr.in{opacity:.26;transform:translate(50%,-50%) rotate(45deg) scale(1)}
.js .in .dia-mark.br,.js .dia-mark.br.in{opacity:.26;transform:translate(50%,50%) rotate(45deg) scale(1)}
.js .in .dia-mark.bl,.js .dia-mark.bl.in{opacity:.26;transform:translate(-50%,50%) rotate(45deg) scale(1)}
.js .in .dia-mark.two,.js .dia-mark.two.in{opacity:.34}
.frame{position:relative;border:1px solid var(--line);padding:clamp(28px,4vw,56px)}
.frame::before,.frame::after,.frame>.dm::before,.frame>.dm::after{
  content:"";position:absolute;width:5px;height:5px;background:var(--accent);
  transform:rotate(45deg);opacity:.85}
.frame::before{top:-3px;left:-3px}
.frame::after{top:-3px;right:-3px}
.frame>.dm::before{bottom:-3px;left:-3px}
.frame>.dm::after{bottom:-3px;right:-3px}
.stat-label{font-size:var(--t-small);line-height:1.5;color:var(--faint);max-width:26ch;margin-top:14px}

.dash-list li{position:relative;padding-left:26px;margin-block:10px;color:var(--soft)}
.dash-list li::before{content:"";position:absolute;left:0;top:.72em;width:14px;height:1px;background:var(--fg);opacity:.5}
.js .reveal{opacity:0;transform:translateY(18px);
  transition:opacity var(--dur-rev) var(--ease),transform var(--dur-rev) var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal-stagger>*{opacity:0;transform:translateY(18px);
  transition:opacity var(--dur-rev) var(--ease),transform var(--dur-rev) var(--ease);
  transition-delay:calc(var(--i,0) * 70ms)}
.js .reveal-stagger.in>*{opacity:1;transform:none}

.js .line-draw [data-draw]{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);
  transition:stroke-dashoffset var(--dur-draw) var(--ease);
  transition-delay:calc(var(--d,0) * 1ms)}
.js .line-draw.in [data-draw]{stroke-dashoffset:0}
.js .pop{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;
  transition:opacity .5s var(--ease),transform .5s var(--ease);
  transition-delay:calc(var(--d,0) * 1ms)}
.js .line-draw.in .pop{opacity:1;transform:scale(1)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;transition-delay:0ms!important}
  .reveal,.reveal-stagger>*{opacity:1!important;transform:none!important}
  .js .line-draw [data-draw]{stroke-dashoffset:0!important}
  .pop{opacity:1!important;transform:scale(1)!important}
  .parallax{transform:none!important}
}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;
  border-bottom:1px solid transparent;
  transition:background var(--dur-int) var(--ease),border-color var(--dur-int) var(--ease)}
.nav.stuck{background:var(--graphite);border-bottom-color:var(--line-light)}
.nav .btn{transition:opacity .32s var(--ease),transform .32s var(--ease),
  visibility 0s linear 0s}
.nav .btn.stand-down{opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .32s var(--ease),transform .32s var(--ease),
    visibility 0s linear .32s}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding-block:clamp(20px,2.4vw,30px)}
.nav-logo{--mark-fill:var(--sand);
  display:flex;align-items:center;color:var(--ivory);width:clamp(172px,17.5vw,248px);
  min-height:44px}
.nav-logo svg{width:100%;height:auto}
.nav .btn{padding:14px 26px}
.nav-btn-short{display:none}
.hero{min-height:min(92vh,940px);min-height:min(92svh,940px);display:flex;align-items:center;
  padding-block:clamp(124px,14vh,168px) clamp(72px,8vw,112px);position:relative;overflow:hidden}
.hero-grid{align-items:center;row-gap:clamp(56px,7vw,88px)}
.hero-copy{grid-column:1/8}
.hero-eyebrow{margin-bottom:clamp(26px,3vw,38px)}
.hero h1{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1-hero);
  line-height:1.04;letter-spacing:.01em;max-width:none;color:var(--ivory);margin:0}
.hero h1 span{display:block;white-space:nowrap}
@media (max-width:430px){.hero h1 span{white-space:normal}}
.hero-sub{margin-top:clamp(28px,3.2vw,40px);color:rgba(255,255,250,.82);max-width:54ch}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,2.4vw,32px);
  margin-top:clamp(36px,4vw,52px)}
.hero-art{grid-column:8/13;position:relative;align-self:stretch;min-height:clamp(340px,42vw,560px)}
.arch-panel{position:relative;background:var(--graphite-deep);border:1px solid var(--line-gold);overflow:hidden}
.arch-photo{position:absolute;inset:0;opacity:.5;
  background:url("../img/arch-arcade.jpg") center/cover no-repeat}
.arch-photo video{width:100%;height:100%;object-fit:cover;display:block}
.arch-photo picture,.arch-photo img{display:block;width:100%;height:100%;object-fit:cover}
.arch-svg{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:118%;height:auto;color:var(--sand)}
.arch-svg [data-draw]{stroke:currentColor;stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
.arch-svg .faint{opacity:.34}
.arch-svg .dm{fill:var(--sand);stroke:none}
.hero-art{display:grid;grid-template-columns:38fr 62fr}
.hero-figure{position:relative;overflow:hidden;background:var(--graphite-deep);
  border:1px solid var(--line-gold);border-right:0;margin:0}
.hero-figure img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.legibility{position:absolute;left:0;right:clamp(60px,14%,150px);bottom:0;
  background:var(--ivory);color:var(--graphite);
  padding:clamp(20px,2.2vw,28px) clamp(22px,2.4vw,32px);z-index:4}
.legibility .mark{width:34px;color:var(--ocean);margin-bottom:16px}
.legibility .lab{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--ocean)}
.legibility .det{font-size:.79rem;line-height:1.5;color:rgba(35,35,35,.70);margin-top:9px}
.trust{padding-block:clamp(44px,5vw,72px)}
.firms{margin-top:0}
.firms-lab{font-family:var(--f-text);font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  font-size:var(--t-eyebrow);color:rgba(35,35,35,.64);margin-bottom:clamp(30px,3.4vw,44px)}
.firms{overflow:hidden}
.firm-row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;
  list-style:none;margin:0;padding:0;
  gap:clamp(24px,2.8vw,44px);
  will-change:transform}
.firm-row+.firm-row{margin-top:clamp(28px,3.6vw,52px)}
.js .firm-row{transform:translate3d(var(--drift,0px),0,0)}
@media (min-width:900px) and (max-width:1099px){
  .js .firm-row{transform:none}
}
@media (min-width:1100px){
  .firm-row{padding-inline:48px}
  .firms-lab{padding-left:48px}
}
@media (min-width:900px){
  .firm-row .firm:first-child{justify-content:flex-start}
  .firm-row .firm:last-child{justify-content:flex-end}
}
.firm{flex:0 0 auto;width:clamp(88px,9.5%,122px);
  display:flex;align-items:center;justify-content:center;height:44px}
.firm img[alt="Hicks Law Firm"]{max-height:76%}
.firm img[alt="Roden Law"]{max-height:78%}
.firm img[alt="Ellis"]{max-height:82%}
.firm img[alt="ACTS Law"]{max-height:80%}
.firm img[alt="Traut"]{max-height:74%}
.firm img[alt="Saeedian Law Group"]{max-height:88%}
.firm img[alt="Russell &amp; Lazarus"]{max-height:96%}
.firm img[alt="Gibson Hughes"]{max-height:94%}
.firm img[alt="WCTL"]{max-height:64%}
.firm img[alt="Bush &amp; Bush"]{max-height:36%}
.firm img[alt="Razavi Law Group"]{max-height:78%}
.firm img,.firm svg{max-height:100%;width:auto;object-fit:contain;
  filter:grayscale(1) opacity(.68);
  transition:filter var(--dur-int) var(--ease)}
.firm:hover img,.firm:hover svg{filter:grayscale(1) opacity(1)}
.firm img[alt="ACTS Law"]{filter:grayscale(1) invert(1) opacity(.68)}
.firm:hover img[alt="ACTS Law"]{filter:grayscale(1) invert(1) opacity(1)}
.firm img[alt="Traut"]{filter:grayscale(1) brightness(.62) opacity(.68)}
.firm:hover img[alt="Traut"]{filter:grayscale(1) brightness(.62) opacity(1)}
.firm img[alt="Gibson Hughes"]{filter:grayscale(1) brightness(.68) opacity(.68)}
.firm:hover img[alt="Gibson Hughes"]{filter:grayscale(1) brightness(.68) opacity(1)}
.prob-head{grid-column:1/11}
.prob-head .h1{max-width:none;font-size:min(var(--t-h1-sm),7.4vw);
  text-wrap:balance}
body[data-page="mass-tort"] .prob-head .h1{white-space:nowrap}
.prob-rows{margin-top:clamp(40px,4.6vw,72px)}
.prob-row{padding-block:clamp(34px,4vw,54px);border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,32px);align-items:start}
.prob-row:last-child{border-bottom:1px solid var(--line)}
.prob-n{grid-column:1/4;font-family:var(--f-text);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-eyebrow);
  line-height:1.4;color:var(--ocean);padding-top:.35em}
.prob-t{grid-column:4/8;font-size:clamp(1.18rem,1.7vw,1.48rem);line-height:1.25}
.prob-b{grid-column:8/13;color:var(--soft)}
.prob-row{position:relative;padding-left:clamp(18px,2.2vw,32px);
  margin-left:calc(clamp(18px,2.2vw,32px) * -1)}
.prob-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;
  background:var(--sand);opacity:0;transform:scaleY(.4);transform-origin:center}
.prob-row::after{content:"";position:absolute;left:-3px;top:calc(50% - 3px);
  width:7px;height:7px;background:var(--sand);transform:rotate(45deg) scale(.3);opacity:0}
.js .prob-row::before{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js .prob-row::after{transition:opacity .45s var(--ease),transform .45s var(--ease)}
.js .prob-row.active::before{opacity:.6;transform:scaleY(1)}
.js .prob-row.active::after{opacity:1;transform:rotate(45deg) scale(1)}
.js .prob-row{transition:transform .55s var(--ease),padding .55s var(--ease),
  background-color .55s var(--ease)}
.js .prob-row.active{transform:translateX(clamp(6px,0.9vw,14px));
  background-color:rgba(255,255,250,.42)}
@media (hover:hover) and (pointer:fine){
  .js .prob-row{transition:transform .45s var(--ease),
    background-color .45s var(--ease),padding-inline .45s var(--ease),
    margin-inline .45s var(--ease)}
  .js .prob-rows:hover .prob-row:not(:hover){background-color:transparent}
  .js .prob-row:hover{
    background-color:rgba(255,255,250,.66);
    padding-inline:clamp(14px,1.6vw,26px);
    margin-inline:clamp(-26px,-1.6vw,-14px);
    transform:translateX(clamp(6px,0.9vw,14px))}
  .js .prob-row:hover .prob-n{color:var(--ocean)}
  .js .prob-row:hover::before{opacity:.6;transform:scaleY(1)}
  .js .prob-row:hover::after{opacity:1;transform:rotate(45deg) scale(1)}
}
.js .prob-row .prob-n{transition:color .5s var(--ease)}
.js .prob-row:not(.active) .prob-n{color:rgba(35,35,35,.68)}
.prob-row::before{opacity:.6;transform:scaleY(1)}
.prob-row::after{opacity:1;transform:rotate(45deg) scale(1)}
.js .prob-row::before{opacity:0;transform:scaleY(.4)}
.js .prob-row::after{opacity:0;transform:rotate(45deg) scale(.3)}
.prob-close-row{position:relative;isolation:isolate;
  margin-top:clamp(72px,7vw,108px);
  display:flex;align-items:center;justify-content:center;
  min-height:clamp(260px,24vw,340px)}
.prob-close{margin:0;max-width:min(100%,1120px);position:relative;z-index:1;
  text-align:center;text-wrap:balance;font-style:italic;
  font-size:clamp(1.35rem,2.85vw,2.5rem);line-height:1.24;letter-spacing:-.015em}
@media (max-width:640px){
  .prob-close{font-size:clamp(1.15rem,5vw,1.45rem);line-height:1.3}
}
.prob-close::before{content:"\201C"}
.prob-close::after{content:"\201D"}
.prob-close strong{font-weight:400}
.prob-close-row .wm{position:absolute;z-index:0;pointer-events:none;
  inset:0;display:flex;align-items:center;justify-content:center}
.prob-close-row .wm svg{width:clamp(240px,34vw,470px);height:auto;
  color:rgba(0,111,129,.075)}
@media (max-width:900px){
  .prob-close-row{min-height:clamp(220px,44vw,320px)}
  .prob-close-row .wm svg{width:clamp(190px,50vw,300px)}
}
.engine{overflow:clip}
.engine-head{grid-column:1/8}
.engine-lead{grid-column:8/13;color:rgba(255,255,250,.82);align-self:end}
.engine{position:relative;overflow:hidden}
.engine>.wrap{position:relative;z-index:1}
.eng-tunnel{position:absolute;inset:0;z-index:0;pointer-events:none;
  perspective:900px;display:grid;place-items:center;
  opacity:.42;transform-style:preserve-3d}
.eng-tunnel .ring{position:absolute;display:grid;place-items:center;
  will-change:transform,opacity}
.eng-tunnel .ring svg{width:min(74vw,820px);height:auto;overflow:visible}
.eng-tunnel .ring path{fill:none;stroke:var(--line-gold);stroke-width:1;
  vector-effect:non-scaling-stroke}
@media (max-width:900px){ .eng-tunnel{opacity:.3} }
@media (prefers-reduced-motion:reduce){ .eng-tunnel{opacity:.22} }
.chain{position:relative;list-style:none;margin:0;padding:0 0 0 clamp(26px,2.8vw,40px)}
.engine .chain{margin-top:clamp(44px,5vw,80px)}
.chain-svg{position:absolute;left:5px;top:.55em;height:calc(100% - 1.1em);width:1px;
  color:var(--sand);overflow:visible}
.chain-svg .ln{stroke:currentColor;stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
.chain>li{position:relative;z-index:1}
.node{position:relative;padding-bottom:clamp(38px,4.4vw,66px)}
.node:last-child{padding-bottom:0}
.js .node{opacity:.84;transition:opacity .7s var(--ease)}
.js .node.lit{opacity:1}
.node::before{content:"";position:absolute;top:.35em;width:11px;height:11px;
  left:calc(clamp(26px,2.8vw,40px) * -1 - 0.5px);
  background:var(--sand);transform:rotate(45deg)}
.js .node::before{transform:rotate(45deg) scale(.3);opacity:0;
  transition:opacity .45s var(--ease),transform .45s var(--ease)}
.js .node.lit::before{opacity:1;transform:rotate(45deg) scale(1)}
.node-n{font-size:clamp(.8rem,1vw,.95rem);color:var(--sand);margin-bottom:14px}
.node-q{color:var(--ivory);margin-bottom:14px}
.node-b{color:rgba(255,255,250,.78);font-size:var(--t-body);line-height:1.6;max-width:46ch}
.outcome{margin-top:clamp(52px,6vw,86px);padding-top:clamp(30px,3.4vw,46px);
  border-top:1px solid var(--line-gold);display:flex;flex-wrap:wrap;align-items:center;
  justify-content:center;text-align:center;
  gap:.9em 1.1em;font-size:clamp(.72rem,1.02vw,.9rem);color:var(--sand)}
.outcome .sep{opacity:.5}
.outcome .brk{display:none}
@media (min-width:1100px){
  .outcome{max-width:min(100%,940px);margin-inline:auto;
    font-size:clamp(.78rem,.95vw,.92rem);gap:.7em 1em}
  .outcome .brk{display:block;flex-basis:100%;height:0;margin:0}
}
.ben-head{grid-column:1/7;margin-bottom:clamp(32px,3.4vw,50px);align-self:center}
.ben-film{grid-column:7/13;margin:0 0 clamp(32px,3.4vw,50px);
  aspect-ratio:16/9;overflow:visible;position:relative;
  background:var(--stone) url("../img/corridor-poster.jpg") center/cover no-repeat}
.ben-film::after{content:"";position:absolute;inset:0;border:1px solid var(--line);
  pointer-events:none;z-index:2}
.ben-film::before{content:"";position:absolute;z-index:0;pointer-events:none;
  inset:clamp(10px,1.1vw,16px) calc(-1 * clamp(10px,1.1vw,16px))
        calc(-1 * clamp(10px,1.1vw,16px)) clamp(10px,1.1vw,16px);
  border:1px solid var(--sand)}
.ben-film video{position:relative;z-index:1}
.ben-film video{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:900px){
  .ben-film{grid-column:1/-1;margin-bottom:clamp(26px,4vw,38px)}
}
.ben-rows{margin-top:clamp(16px,1.8vw,28px)}
.ben-row{padding-block:clamp(28px,3.2vw,46px);border-top:1px solid var(--line);
  display:grid;gap:clamp(22px,2.8vw,38px);align-items:center}
.ben-row:last-child{border-bottom:1px solid var(--line)}
@media (min-width:900px){
  .ben-row{grid-template-columns:minmax(0,5fr) minmax(0,6fr);
    gap:clamp(38px,4.4vw,80px)}
  .ben-row:nth-child(even){grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
  .ben-row:nth-child(even) .ben-lead{grid-column:2;grid-row:1}
  .ben-row:nth-child(even) .ben-vis{grid-column:1;grid-row:1}
}
.ben-lead{max-width:min(100%,640px)}
.ben-n{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--ocean);
  margin-bottom:clamp(12px,1.4vw,18px)}
.ben-t{font-family:var(--f-text);font-weight:700;letter-spacing:-.025em;
  font-size:clamp(1.32rem,2.15vw,1.95rem);line-height:1.2;color:var(--graphite);
  text-wrap:balance}
.ben-vis{margin:0;font-family:var(--f-text);font-size:13px;line-height:1.45;
  color:var(--graphite);-webkit-font-smoothing:antialiased;
  background:var(--ivory);border:1px solid rgba(35,35,35,.12);
  padding:clamp(13px,1.4vw,19px);min-width:0}
.ben-vis .ui-table,.ben-vis .ui-settle,.ben-vis .ui-panel:first-of-type{margin-top:0}
.ben-vis-cap,.ben-vis-foot{font-family:var(--f-text);font-size:10.5px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:rgba(35,35,35,.44)}
.ben-vis-cap{margin-bottom:9px}
.ben-vis-foot{margin-top:11px;padding-top:10px;
  border-top:1px solid rgba(35,35,35,.09);text-transform:none;
  letter-spacing:0;font-weight:400;font-size:11.5px}
.ben-vis .ben-vis-cap,.ben-vis .ben-vis-foot,
.ben-vis .ui-table th,.ben-vis .ui-table .meta,
.ben-vis .ui-panel .row{color:rgba(35,35,35,.74)}
.ben-vis .ui-stat.draft{color:rgba(35,35,35,.78)}
@media (min-width:900px){ .ben-vis .ui-settle .b{white-space:nowrap} }
@media (max-width:899px){
  .ben-vis{overflow-x:auto}
  .ben-vis>*{min-width:440px}
}
.compliance{position:relative;overflow:hidden;isolation:isolate}
.comp-video{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:var(--ocean) url("../img/ocean-poster.jpg") center/cover no-repeat}
.comp-video video{width:100%;height:100%;object-fit:cover;display:block}
.comp-video::after{content:"";position:absolute;inset:0;
  background:rgba(9,38,44,.66)}
.comp-head{max-width:100%}
.comp-head .h1{max-width:min(100%,640px)}
.prob-sub{max-width:min(100%,72ch)}
.comp-head .h1{text-wrap:balance}
.certs{list-style:none;margin:clamp(32px,3.8vw,54px) 0 0;padding:clamp(30px,3.4vw,46px) 0 0;
  border-top:1px solid rgba(255,255,250,.24);
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(14px,1.6vw,26px);align-items:stretch}
.certs li{position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:center;
  gap:clamp(10px,1.1vw,15px);text-align:center;
  padding:clamp(28px,2.8vw,38px) clamp(20px,2.2vw,30px) clamp(22px,2.2vw,30px);
  border:1px solid rgba(255,255,250,.2);border-bottom:0;
  border-top-left-radius:50% clamp(52px,6vw,84px);
  border-top-right-radius:50% clamp(52px,6vw,84px)}
.certs li::before{content:"";position:absolute;top:0;left:50%;
  width:9px;height:9px;background:var(--sand);
  transform:translate(-50%,-50%) rotate(45deg)}
.certs li::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:1px;background:rgba(255,255,250,.24)}
.certs .cert-l{font-family:var(--f-display);font-weight:400;
  font-size:clamp(1.02rem,1.45vw,1.34rem);line-height:1.2;letter-spacing:-.005em;
  color:var(--ivory);text-wrap:balance}
.cert-mark{width:clamp(72px,7vw,104px);height:auto;display:block;
  color:var(--seaglass);overflow:visible;margin-bottom:clamp(6px,0.8vw,12px)}
.cert-mark .s{fill:none;stroke:currentColor;stroke-width:1;
  vector-effect:non-scaling-stroke;stroke-linecap:square}
.cert-mark .f{fill:var(--sand);stroke:none}
.comp-sub{margin-top:clamp(16px,1.8vw,24px);max-width:none;
  color:rgba(255,255,250,.9)}
@media (max-width:900px){
  .certs{grid-template-columns:repeat(2,1fr);gap:clamp(12px,2vw,20px)}
}
@media (max-width:520px){
  .certs{gap:clamp(10px,2.6vw,16px)}
  .certs li{padding-inline:clamp(8px,2.6vw,14px);
    padding-block:clamp(22px,5vw,30px) clamp(16px,3.4vw,22px)}
  .cert-mark{width:clamp(52px,15vw,68px)}
  .certs .cert-l{font-size:clamp(.92rem,3.8vw,1.06rem)}
}
.how-head{margin-bottom:clamp(48px,5.5vw,76px)}
.how-head .h1{max-width:18ch}
.tour{display:grid;grid-template-columns:clamp(248px,23vw,340px) 1fr;
  gap:clamp(26px,2.8vw,44px);align-items:start}
.tour-side{display:flex;flex-direction:column}
.tour-stage{display:flex;flex-direction:column;min-width:0}
@media (min-width:1000px){
  .tour-stage .ui-frame{flex:0 0 auto;height:auto;max-height:none;
    aspect-ratio:1100/720;max-width:1060px}
  .tour-stage{padding-top:0;position:sticky;top:clamp(84px,11vh,116px)}
  .tour-side{justify-content:space-between}
}
.how-head{margin-bottom:clamp(38px,4.4vw,62px)}
.how-head .h1{max-width:22ch}
@media (max-width:999px){
  .tour{grid-template-columns:1fr;margin-right:0;
    gap:clamp(26px,4vw,40px)}
  .tour-side{position:static}
}
.tour-steps{display:grid;grid-template-columns:1fr;gap:clamp(8px,0.85vw,11px);
  margin-top:clamp(12px,1.4vw,18px);position:relative;
  padding-left:clamp(26px,2.4vw,34px)}
.tour-steps::before,.tour-steps::after{content:"";position:absolute;left:5px;width:1px;
  pointer-events:none}
.tour-steps::before{top:0;bottom:0;background:var(--line-light)}
.tour-steps::after{top:0;height:var(--fill,0%);background:var(--seaglass);
  transition:height var(--fill-t,.45s) linear}
.tour-steps > li{display:flex;position:relative}
@media (max-width:999px){
  .tour-steps > li{flex-direction:column}
  .tour-steps > li > button{height:auto;flex:0 0 auto}
  .tour-steps > li > .ui-frame{margin-top:clamp(12px,2.4vw,20px);width:100%;
    aspect-ratio:16/9.6;max-height:none}
  .tour-stage{display:none}
}
.tour-steps > li::before{content:"";position:absolute;z-index:1;top:1.15em;
  left:calc(clamp(26px,2.4vw,34px) * -1 - 0.5px);
  width:11px;height:11px;background:var(--ocean);border:1px solid var(--seaglass);
  transform:rotate(45deg);transition:background .4s var(--ease)}
.tour-steps > li.on::before{background:var(--seaglass)}
.tour-steps button{display:block;width:100%;height:100%;text-align:left;color:inherit;
  position:relative;cursor:pointer;
  padding:clamp(13px,1.25vw,16px) clamp(13px,1.25vw,17px) clamp(14px,1.35vw,17px);
  border:1px solid var(--line-light);background:rgba(255,255,250,.035);
  transition:background .35s var(--ease),border-color .35s var(--ease),
             opacity .4s var(--ease)}
.tour-steps button:hover{background:rgba(255,255,250,.08);
  border-color:rgba(255,255,250,.32)}
.tour-steps > li.on > button{background:rgba(255,255,250,.095);
  border-color:rgba(255,255,250,.36)}
.tour-cue{display:flex;align-items:center;gap:10px;margin-top:0;
  font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:.7rem;color:rgba(255,255,250,.92)}

.tour-cue .dm{width:7px;height:7px;background:var(--seaglass);transform:rotate(45deg);
  flex:none}
.tour-steps .n{display:block;font-family:var(--f-display);font-weight:400;
  font-size:clamp(1.5rem,1.75vw,1.62rem);line-height:1;letter-spacing:.01em;
  color:var(--seaglass);opacity:.86;margin-bottom:6px;
  transition:opacity .4s var(--ease)}
.tour-steps > li.on > button .n{opacity:1}
.tour-steps .h{display:block;font-family:var(--f-text);font-weight:700;color:var(--ivory);
  font-size:clamp(.86rem,1.0vw,.96rem);line-height:1.3;letter-spacing:-.02em;
  color:var(--ivory);margin-bottom:7px;
  min-height:2.56em}
.tour-steps .sd{display:grid;grid-template-rows:1fr}
.tour-steps .dw{overflow:hidden;min-height:0}
.tour-steps .d{display:block;font-size:.84rem;line-height:1.5;
  color:rgba(255,255,250,.99);padding-top:8px}
.tour-steps .d+.d{padding-top:6px}
.js .tour-steps button{opacity:1}
.js .tour-steps > li.on > button{opacity:1}
.tour-steps button:hover{opacity:.82}
.tour-steps > li.on > button:hover{opacity:1}
.ui-frame{position:relative;width:100%;aspect-ratio:16/9.6;overflow:hidden;
  max-height:clamp(340px,calc(100svh - 400px),720px);
  background:var(--ivory);border:1px solid var(--line-light)}
.ui{position:absolute;top:0;left:0;width:1100px;transform-origin:top left;
  transform:scale(var(--ui-s,1));font-family:var(--f-text);color:var(--graphite);
  font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}
.ui-screen{display:none}
.ui-screen.on{display:block}
@keyframes screen-in{from{opacity:0}to{opacity:1}}
.js .engine-visual .ui-screen.on{animation:screen-in .4s var(--ease)}

.ui-nav{display:flex;align-items:center;gap:26px;background:var(--ivory);
  border-bottom:1px solid rgba(35,35,35,.1);padding:11px 22px}
.ui-brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:14px;
  letter-spacing:-.01em}
.ui-brand svg{width:20px;color:var(--ocean)}
.ui-nav ul{display:flex;gap:22px;margin-left:14px;font-size:12.5px;color:rgba(35,35,35,.62)}
.ui-nav li.on{color:var(--ocean);font-weight:700;position:relative}
.ui-nav li.on::after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:2px;background:var(--ocean)}
.ui-nav .sp{margin-left:auto;display:flex;gap:10px;align-items:center}
.ui-pill{border:1px solid var(--ocean);color:var(--ocean);border-radius:2px;
  padding:5px 12px;font-size:11.5px;font-weight:700}
.ui-pill.solid{background:var(--ocean);color:var(--ivory);border-color:var(--ocean)}
.ui-pill.ghost{border-color:rgba(35,35,35,.2);color:rgba(35,35,35,.6)}

.ui-body{padding:20px 26px;background:var(--ivory);min-height:720px}
.ui-card{background:var(--stone);border:1px solid rgba(35,35,35,.09);padding:20px 22px}
.ui-hello{font-size:15px;margin-bottom:14px;color:rgba(35,35,35,.8)}
.ui-serif{font-family:var(--f-display);font-weight:400;letter-spacing:.01em}

.ui-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.ui-step{background:var(--stone);border:1px solid rgba(35,35,35,.09);padding:16px 18px}
.ui-step .n{width:24px;height:24px;display:grid;place-items:center;background:var(--ocean);
  color:var(--ivory);font-size:12px;font-weight:700;margin-bottom:12px}
.ui-step .t{font-weight:700;font-size:14.5px;line-height:1.25;margin-bottom:10px}
.ui-step .l{color:var(--ocean);font-size:12px;font-weight:700}

.ui-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.ui-toolbar h4{font-family:var(--f-display);font-weight:400;font-size:22px;letter-spacing:.01em}
.ui-search{margin-left:auto;border:1px solid rgba(35,35,35,.18);background:var(--ivory);
  padding:6px 12px;font-size:12px;color:rgba(35,35,35,.45);width:190px}
.ui-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(35,35,35,.62)}
.ui-toggle i{width:28px;height:15px;border-radius:9px;background:rgba(35,35,35,.16);position:relative}
.ui-toggle i::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;
  border-radius:50%;background:var(--ivory)}

.ui-table{width:100%;border-collapse:collapse;background:var(--stone);
  border:1px solid rgba(35,35,35,.09);font-size:12.5px}
.ui-table th{text-align:left;font-weight:700;font-size:11px;letter-spacing:.04em;
  text-transform:uppercase;color:rgba(35,35,35,.5);padding:10px 14px;
  background:var(--ivory);border-bottom:1px solid rgba(35,35,35,.09)}
.ui-table td{padding:12px 14px;border-bottom:1px solid rgba(35,35,35,.07);vertical-align:middle}
.ui-table tr:last-child td{border-bottom:0}
.ui-table .case{font-weight:700}
.ui-table .meta{color:rgba(35,35,35,.5);font-size:11.5px}
.ui-stat{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:2px;
  font-size:11px;font-weight:700;letter-spacing:.02em}
.ui-stat.done{background:var(--ocean);color:var(--ivory)}
.ui-stat.review{background:var(--sand);color:var(--graphite)}
.ui-stat.appr{background:var(--seaglass);color:var(--graphite)}
.ui-stat.draft{background:var(--ivory);color:rgba(35,35,35,.6);
  box-shadow:inset 0 0 0 1px rgba(35,35,35,.12)}
.ui-stat.rej{background:var(--graphite);color:var(--ivory)}
.ui-wf{position:relative;display:inline-block}
.ui-wf-pop{position:absolute;top:calc(100% + 7px);left:0;z-index:20;width:190px;
  background:var(--ivory);border:1px solid rgba(35,35,35,.14);
  box-shadow:0 12px 30px rgba(35,35,35,.14);padding:11px 13px;
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
.ui-wf:hover .ui-wf-pop,.ui-wf:focus-within .ui-wf-pop{opacity:1;visibility:visible;transform:none}
.ui-wf-pop .hd{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;
  color:rgba(35,35,35,.45);font-weight:700;margin-bottom:8px}
.ui-wf-pop ol{display:grid;gap:6px}
.ui-wf-pop li{display:flex;align-items:center;gap:8px;font-size:11.5px;
  color:rgba(35,35,35,.42)}
.ui-wf-pop li::before{content:"";width:6px;height:6px;flex:0 0 auto;
  background:rgba(35,35,35,.22);transform:rotate(45deg)}
.ui-wf-pop li.at{color:var(--graphite);font-weight:700}
.ui-wf-pop li.at::before{background:var(--ocean)}
.ui-foot-note{display:flex;align-items:center;gap:14px;margin-top:12px;
  font-size:11.5px;color:rgba(35,35,35,.5)}
.ui-foot-note .pg{margin-left:auto;display:flex;gap:5px}
.ui-foot-note .pg span{min-width:19px;height:19px;display:grid;place-items:center;
  border:1px solid rgba(35,35,35,.16);font-size:10.5px}
.ui-foot-note .pg span.on{background:var(--ocean);color:var(--ivory);border-color:var(--ocean)}
.ui-acts{display:flex;gap:6px;justify-content:flex-end}
.ui-btn{border:1px solid rgba(35,35,35,.18);padding:5px 10px;font-size:11px;font-weight:700;
  color:rgba(35,35,35,.72);white-space:nowrap}
.ui-btn.pri{border-color:var(--ocean);color:var(--ocean)}
.ui-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.ui-head h4{font-family:var(--f-display);font-weight:400;font-size:26px;letter-spacing:.01em}
.ui-stepper{display:flex;align-items:center;gap:0;margin-bottom:18px;font-size:12px}
.ui-stepper span{display:flex;align-items:center;gap:7px;color:rgba(35,35,35,.45);white-space:nowrap}
.ui-stepper span i{width:13px;height:13px;border-radius:50%;
  box-shadow:inset 0 0 0 1.5px rgba(35,35,35,.28)}
.ui-stepper span.done i{background:var(--ocean);box-shadow:none}
.ui-stepper span.now{color:var(--graphite);font-weight:700}
.ui-stepper span.now i{background:var(--ivory);box-shadow:inset 0 0 0 4px var(--ocean)}
.ui-stepper hr{flex:1;height:1px;border:0;background:rgba(35,35,35,.16);margin:0 12px}
.ui-sec{font-weight:700;font-size:16px;margin-bottom:14px}
.ui-hist{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px}
.ui-hist td{padding:7px 10px;border-bottom:1px solid rgba(35,35,35,.07);vertical-align:top}
.ui-hist tr:last-child td{border-bottom:0}
.ui-hist .yr{white-space:nowrap;font-weight:700;width:1%;padding-right:18px}
.ui-hist .src{color:rgba(35,35,35,.62);text-align:right;white-space:nowrap}
.ui-field .ro{font-weight:700;padding-top:3px}
.ui-calc{margin-top:16px;background:var(--graphite);color:var(--ivory);padding:14px 16px}
.ui-calc .cl{font-size:12.5px;font-weight:700}
.ui-calc .bar{height:4px;background:rgba(255,255,250,.18);margin:9px 0 7px}
.ui-calc .bar span{display:block;height:100%;background:var(--sand)}
.ui-calc .cs{font-size:11px;color:rgba(255,255,250,.66)}

.ui-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}
.ui-field label{display:block;font-size:11.5px;color:rgba(35,35,35,.6);margin-bottom:5px}
.ui-field label b{color:var(--sand);font-weight:700}
.ui-field .in{border:1px solid rgba(35,35,35,.2);background:var(--ivory);padding:8px 11px;
  font-size:12.5px;min-height:33px;display:flex;align-items:center;justify-content:space-between}
.ui-field .in.sel{border-color:var(--ocean)}
.ui-field .in .ph{color:rgba(35,35,35,.35)}
.ui-field .in .cv{color:rgba(35,35,35,.35);font-size:10px}
.ui-addr{border:1px solid rgba(35,35,35,.14);padding:14px 16px;margin-top:12px;position:relative}
.ui-addr>.hd{font-size:11.5px;color:rgba(35,35,35,.6);margin-bottom:11px}
.ui-addr>.x{position:absolute;top:11px;right:13px;color:rgba(35,35,35,.35);font-size:12px}
.ui-foot{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:14px;
  border-top:1px solid rgba(35,35,35,.1)}
.ui-foot .r{margin-left:auto;display:flex;gap:10px}
.ui-ov-t{font-family:var(--f-display);font-weight:400;font-size:24px;letter-spacing:.01em}
.ui-ov-m{color:rgba(35,35,35,.6);font-size:12.5px;margin-top:4px}
.ui-ov-teams{display:flex;align-items:center;gap:10px;font-size:12px;
  color:rgba(35,35,35,.6);margin-top:10px}
.ui-ov-teams b{width:22px;height:22px;border-radius:50%;background:var(--seaglass);
  display:grid;place-items:center;font-size:10px;color:var(--graphite)}
.ui-settle{background:var(--graphite);color:var(--ivory);padding:16px 20px;margin-top:16px;
  display:flex;align-items:center;gap:16px}
.ui-settle .t{font-family:var(--f-display);font-weight:400;font-size:19px;letter-spacing:.01em}
.ui-settle .s{font-size:11.5px;color:rgba(255,255,250,.6);margin-top:2px}
.ui-settle .b{margin-left:auto;background:var(--sand);color:var(--graphite);
  padding:7px 14px;font-size:11.5px;font-weight:700}
.ui-panel{background:var(--stone);border:1px solid rgba(35,35,35,.09);
  padding:14px 16px;margin-top:14px;font-size:12.5px}
.ui-panel .ph{font-weight:700;margin-bottom:10px}
.ui-panel .row{display:flex;gap:10px;color:rgba(35,35,35,.62);padding:5px 0}

.ui-dim{position:absolute;inset:0;background:rgba(35,35,35,.42)}
.ui-modal{position:absolute;left:50%;top:58px;transform:translateX(-50%);
  width:430px;background:var(--ivory);border:1px solid rgba(35,35,35,.14);
  box-shadow:0 18px 50px rgba(35,35,35,.22)}
.ui-modal .mh{display:flex;align-items:flex-start;gap:14px;padding:18px 22px 0}
.ui-modal .mh h5{font-family:var(--f-display);font-weight:400;font-size:20px;letter-spacing:.01em}
.ui-modal .mh .x{margin-left:auto;color:rgba(35,35,35,.4)}
.ui-modal .mb{padding:12px 22px 18px;font-size:12.5px;color:rgba(35,35,35,.66);line-height:1.55}
.ui-modal .mf{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 18px}
.ui-modal .mf .go{background:var(--ocean);color:var(--ivory);border-color:var(--ocean)}
.ui-rec{position:absolute;left:50%;top:2%;transform:translateX(-50%);width:640px;
  background:var(--ivory);border:1px solid rgba(35,35,35,.14);
  box-shadow:0 22px 60px rgba(35,35,35,.24);z-index:30;max-height:90%;overflow:hidden}
.ui-rec .rh{background:var(--ocean);color:var(--ivory);padding:15px 20px;
  display:flex;align-items:flex-start;gap:12px}
.ui-rec .rh .n{width:22px;height:22px;flex:0 0 auto;display:grid;place-items:center;
  background:rgba(255,255,250,.18);font-size:11px;font-weight:700}
.ui-rec .rh h5{font-family:var(--f-display);font-weight:400;font-size:18px;letter-spacing:.01em}
.ui-rec .rh .s{font-size:11.5px;color:rgba(255,255,250,.72);margin-top:2px}
.ui-rec .rh .x{margin-left:auto;color:rgba(255,255,250,.7);font-size:14px}
.ui-rec .rb{padding:16px 20px;font-size:12px;line-height:1.55;color:rgba(35,35,35,.66)}
.ui-note{background:var(--stone);border-left:2px solid var(--sand);
  padding:11px 14px;margin:13px 0;font-size:11.5px;line-height:1.5;color:rgba(35,35,35,.74)}
.ui-note b{color:var(--graphite)}
.ui-rec .scan{display:flex;align-items:center;gap:9px;margin-top:13px}
.ui-rec .scaninfo{font-size:10.5px;color:rgba(35,35,35,.48);margin-top:9px;line-height:1.5}
.ui-rec .drop{border:1px solid rgba(35,35,35,.14);padding:12px 14px;margin-top:13px;
  font-size:11.5px;color:rgba(35,35,35,.6);line-height:1.5}
.ui-rec .err{font-family:var(--f-detail);font-style:italic;font-size:11px;
  color:rgba(35,35,35,.55);margin-top:8px}
.ui-rec .dh{font-family:var(--f-display);font-weight:400;font-size:17px;letter-spacing:.01em;
  color:var(--graphite);margin:18px 0 10px}
.ui-rec .rf{display:flex;justify-content:flex-end;padding:0 20px 16px}
.ui-dash{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:stretch}
.ui-dashhead{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.ui-dashhead h4{font-family:var(--f-display);font-weight:400;font-size:24px;letter-spacing:.01em}
.ui-seg{display:inline-flex;border:1px solid rgba(35,35,35,.18);background:var(--ivory)}
.ui-seg span{padding:5px 14px;font-size:12px;color:rgba(35,35,35,.55)}
.ui-seg span.on{background:var(--ocean);color:var(--ivory);font-weight:700}
.ui-chart{position:relative;height:250px;display:flex;align-items:flex-end;gap:2.2%;
  padding:0 6px 26px;border-left:1px solid rgba(35,35,35,.14);
  border-bottom:1px solid rgba(35,35,35,.14)}
.ui-chart .bar{flex:1;background:var(--ocean);position:relative;height:var(--h);
  transform-origin:bottom center}
.ui-chart .bar.hi{background:var(--sand)}
.ui-chart .bar b{position:absolute;top:-17px;left:50%;transform:translateX(-50%);
  font-size:10.5px;color:rgba(35,35,35,.6);font-weight:700}
.ui-chart .bar i{position:absolute;bottom:-19px;left:50%;transform:translateX(-50%);
  font-size:9.5px;color:rgba(35,35,35,.42);font-style:normal;letter-spacing:.04em}
.ui-avg{background:var(--graphite);color:var(--ivory);padding:22px 20px;
  display:flex;flex-direction:column;justify-content:center}
.ui-avg .l{font-size:12px;color:rgba(255,255,250,.62)}
.ui-avg .n{font-family:var(--f-display);font-weight:400;font-size:44px;line-height:1.05;
  letter-spacing:.01em;color:var(--sand);margin:8px 0 6px}
.ui-avg .s{font-size:12px;color:rgba(255,255,250,.62)}
.ui-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.ui-tile{background:var(--stone);border:1px solid rgba(35,35,35,.09);padding:14px 16px}
.ui-tile .l{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;
  color:rgba(35,35,35,.5);font-weight:700}
.ui-tile .v{font-family:var(--f-display);font-weight:400;font-size:26px;letter-spacing:.01em;
  margin-top:7px}
.ui-tile .v small{font-size:13px;color:rgba(35,35,35,.45)}
.js .ui-screen.on .ui-chart .bar{animation:uiBar .8s var(--ease) both;
  animation-delay:calc(var(--i,0) * 70ms + 200ms)}
@keyframes uiBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.js .ui-screen.on .ui-chart .bar b{animation:uiFade .5s var(--ease) both;
  animation-delay:calc(var(--i,0) * 70ms + 700ms)}
.js .ui-screen.on .ui-tile{animation:uiIn .5s var(--ease) both;
  animation-delay:calc(var(--i,0) * 90ms + 500ms)}
@media (prefers-reduced-motion:reduce){
  .js .ui-screen.on .ui-chart .bar,.js .ui-screen.on .ui-chart .bar b,
  .js .ui-screen.on .ui-tile{animation:none}
}
.js .ui-screen.on .ui-step,
.js .ui-screen.on .ui-table tbody tr,
.js .ui-screen.on .ui-addr,
.js .ui-screen.on .ui-panel .row,
.js .ui-screen.on .ui-settle{
  animation:uiIn .5s var(--ease) both;
  animation-delay:calc(var(--i,0) * 90ms + 120ms)}
@keyframes uiIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.js .ui-screen.on .ui-stat{animation:uiPop .45s var(--ease) both;
  animation-delay:calc(var(--i,0) * 90ms + 420ms)}
@keyframes uiPop{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}
.js .ui-screen.on .ui-table{position:relative;overflow:hidden}
.js .ui-screen.on .ui-table::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:var(--seaglass);opacity:0;
  animation:uiSweep 2.6s var(--ease) 1s both}
@keyframes uiSweep{0%{opacity:0;transform:translateX(-100%)}
  22%{opacity:.16}55%{opacity:.16}100%{opacity:0;transform:translateX(100%)}}
.js .ui-screen.on .ui-stepper hr{transform-origin:left center;
  animation:uiRule .6s var(--ease) both;animation-delay:calc(var(--i,0) * 140ms + 200ms)}
@keyframes uiRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.js .ui-screen.on .ui-dim{animation:uiFade .4s var(--ease) both;animation-delay:.35s}
.js .ui-screen.on .ui-modal{animation:uiModal .5s var(--ease) both;animation-delay:.5s}
@keyframes uiFade{from{opacity:0}to{opacity:1}}
@keyframes uiModal{from{opacity:0;transform:translateX(-50%) translateY(8px)}
  to{opacity:1;transform:translateX(-50%) translateY(0)}}
.ui-table tbody tr{transition:background .25s var(--ease)}
.ui-frame:hover .ui-table tbody tr:hover{background:var(--stone)}
.ui-frame:hover .ui-step{transition:border-color .25s var(--ease)}
.ui-frame:hover .ui-step:hover{border-color:var(--ocean)}

@media (prefers-reduced-motion:reduce){
  .js .ui-screen.on *{animation:none!important}
  .js .ui-screen.on .ui-table::after{display:none}
}
.faq-head{margin-bottom:clamp(34px,3.6vw,52px);max-width:44rem}
.faq{max-width:44rem}
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding-block:clamp(15px,1.5vw,19px);
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  font-family:var(--f-text);font-weight:700;
  font-size:clamp(1.12rem,1.35vw,1.2rem);line-height:1.35;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq .ind{flex:0 0 14px;height:14px;position:relative;margin-top:.5em}
.faq .ind::before,.faq .ind::after{content:"";position:absolute;background:var(--ocean);
  transition:transform var(--dur-int) var(--ease),opacity var(--dur-int) var(--ease)}
.faq .ind::before{left:0;right:0;top:50%;height:1px}
.faq .ind::after{top:0;bottom:0;left:50%;width:1px}
.faq details[open] .ind::after{transform:rotate(90deg);opacity:0}
.faq .ans{overflow:hidden;display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .4s var(--ease)}
.faq details[open] .ans{grid-template-rows:1fr}
.faq .ans>div{min-height:0}
.faq .ans p{color:var(--soft);padding-bottom:clamp(20px,2.2vw,28px);max-width:60ch}
.faq .ans p .no{display:block;font-weight:700;color:var(--graphite);margin-bottom:6px}
.faq-foot{margin-top:clamp(44px,5vw,72px);display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.final{position:relative;overflow:hidden;text-align:center;
  padding-block:clamp(76px,8.8vw,138px)}
.final-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;
  overflow:hidden;
  border:1px solid var(--line-gold);
  padding:clamp(46px,6vw,92px) clamp(24px,5vw,80px)}
.final-arches{position:absolute;z-index:-1;left:50%;bottom:0;
  translate:-50% 0;height:84%;width:auto;max-width:none;
  color:var(--sand);opacity:.52;pointer-events:none}
.final-arches [data-draw]{stroke:currentColor;stroke-width:1;fill:none;
  vector-effect:non-scaling-stroke}
.final-arches .faint{opacity:.42}
.final-arches .dm{fill:var(--sand);stroke:none}
@media (max-width:700px){
  .final-arches{height:76%;opacity:.4}
}
.final-in .cnr{position:absolute;width:clamp(26px,3.4vw,52px);height:clamp(26px,3.4vw,52px);
  border:1px solid var(--sand);opacity:.6}
.final-in .cnr.tl{top:-7px;left:-7px;border-right:0;border-bottom:0}
.final-in .cnr.tr{top:-7px;right:-7px;border-left:0;border-bottom:0}
.final-in .cnr.bl{bottom:-7px;left:-7px;border-right:0;border-top:0}
.final-in .cnr.br{bottom:-7px;right:-7px;border-left:0;border-top:0}
.final-in .edm{position:absolute;left:50%;width:8px;height:8px;background:var(--sand);
  transform:translateX(-50%) rotate(45deg)}
.final-in .edm.t{top:-4px}
.final-in .edm.b{bottom:-4px}
.final-in>*{max-width:min(100%,760px)}
.final .h1{max-width:18ch;margin-inline:auto;color:var(--ivory)}
.final-body{margin-top:clamp(26px,3vw,38px);color:rgba(255,255,250,.82);max-width:52ch;margin-inline:auto}
.final-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:clamp(38px,4.4vw,56px)}
.js .final-cta .btn{opacity:0;transform:scale(.97);
  transition:opacity .5s var(--ease) .12s,transform .5s var(--ease) .12s,
             background var(--dur-int) var(--ease),color var(--dur-int) var(--ease)}
.js .final.in .final-cta .btn{opacity:1;transform:none}
.final-micro{margin-top:clamp(26px,3vw,36px);color:rgba(255,255,250,.65);font-size:1.02rem}
.foot{background:var(--graphite-deep);border-top:1px solid var(--line-gold);color:var(--ivory)}
.foot-in{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(28px,3vw,40px);
  padding-block:clamp(56px,6vw,88px) clamp(32px,3.4vw,44px)}
.foot-a{grid-column:1/5}
.foot-links{grid-column:5/10;align-self:end}
.foot-b{grid-column:10/13;text-align:right;align-self:end}
.foot-logo{width:clamp(160px,16vw,220px);color:var(--ivory);margin-bottom:24px}
.foot-a p{color:rgba(255,255,250,.66);font-size:var(--t-small);max-width:40ch}
.foot-b .sig{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  font-size:clamp(1rem,1.8vw,1.4rem);color:var(--sand);line-height:1}
.foot-bar{border-top:1px solid var(--line-light);padding-block:24px 30px;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;
  font-size:.8rem;color:rgba(255,255,250,.5)}
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;
  padding:clamp(16px,4vh,56px) var(--gutter);overflow-y:auto;
  background:rgba(27,27,27,.88)}
.modal[open],.modal.open{display:flex}
.modal-panel{position:relative;background:var(--graphite);color:var(--ivory);width:min(100%,620px);
  padding:clamp(28px,4vw,52px);border:1px solid var(--line-gold);margin-block:auto;
  --fg:var(--ivory);--accent:var(--sand);--line:var(--line-gold);--soft:rgba(255,255,250,.8)}
.modal-panel::before,.modal-panel::after,
.modal-panel>.dm::before,.modal-panel>.dm::after{content:"";position:absolute;width:6px;height:6px;
  background:var(--sand);transform:rotate(45deg);opacity:.9}
.modal-panel::before{top:-3.5px;left:-3.5px}
.modal-panel::after{top:-3.5px;right:-3.5px}
.modal-panel>.dm::before{bottom:-3.5px;left:-3.5px}
.modal-panel>.dm::after{bottom:-3.5px;right:-3.5px}
.modal-close{position:absolute;top:14px;right:14px;width:44px;height:44px;display:grid;place-items:center;
  color:rgba(255,255,250,.6);transition:color var(--dur-int) var(--ease)}
.modal-close:hover{color:var(--sand)}
.modal-close span{position:relative;width:16px;height:16px;display:block}
.modal-close span::before,.modal-close span::after{content:"";position:absolute;left:0;right:0;top:50%;
  height:1px;background:currentColor}
.modal-close span::before{transform:rotate(45deg)}
.modal-close span::after{transform:rotate(-45deg)}
.modal h2{margin-bottom:10px;color:var(--ivory)}
.modal .sub{color:rgba(255,255,250,.68);font-size:var(--t-small);margin-bottom:clamp(24px,3vw,34px)}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px)}
.f-full{grid-column:1/-1}
.field{position:relative;display:flex;flex-direction:column;gap:7px}
.field label{font-family:var(--f-text);font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  font-size:.68rem;color:rgba(255,255,250,.6)}
.field input,.field select,.field textarea{font-family:var(--f-text);font-size:.98rem;color:var(--ivory);
  background:transparent;border:0;border-bottom:1px solid var(--line-light);
  padding:9px 0;border-radius:0;-webkit-appearance:none;appearance:none;
  transition:border-color var(--dur-int) var(--ease)}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23c8aa6e'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;background-size:12px}
.field select option{background:var(--graphite);color:var(--ivory)}
.field textarea{resize:vertical;min-height:76px}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--sand)}
.field .err{font-family:var(--f-detail);font-style:italic;font-size:.76rem;color:var(--sand);
  min-height:1.1em}
.field.bad input,.field.bad select{border-bottom-color:var(--sand)}
.radio-set{display:flex;gap:14px;padding-top:4px}
.check-set{flex-wrap:wrap;gap:10px 22px}
.check-set label{display:flex;align-items:center;gap:8px}
.field .opt{font-weight:400;opacity:.84;font-size:.85em}
.radio-set label{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0;
  min-height:44px;padding-inline:10px;margin-inline:-10px;
  font-weight:400;font-size:.95rem;color:rgba(255,255,250,.84);cursor:pointer}
.radio-set input[type="radio"],.radio-set input[type="checkbox"]{-webkit-appearance:auto;appearance:auto;
  width:16px;height:16px;accent-color:var(--sand);border:0;padding:0;margin:0;flex:0 0 auto}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.modal .btn{width:100%;justify-content:center;margin-top:clamp(24px,3vw,34px)}
.modal .fine{font-family:var(--f-detail);font-style:italic;font-size:.76rem;
  color:rgba(255,255,250,.5);margin-top:16px;text-align:center}
.form-msg{padding:14px 0;font-size:.9rem;color:var(--sand);display:none}
.form-msg.on{display:block}
.form-done{text-align:center;padding-block:clamp(20px,4vw,44px)}
#done-h:focus{outline:none}
.form-done .mk{width:44px;color:var(--sand);margin:0 auto 24px}
.form-done h2{margin-bottom:14px}
.form-done p{color:rgba(255,255,250,.72);max-width:38ch;margin-inline:auto}
body.locked{overflow:hidden}
@media (max-width:1200px){
  .hero-copy{grid-column:1/8}
  .hero-art{grid-column:8/13}
}
@media (max-width:1024px){
  .grid12{grid-template-columns:repeat(8,1fr)}
  .hero-copy,.hero-art{grid-column:1/-1}
  .hero-art{min-height:clamp(300px,52vw,440px)}
  .hero h1{max-width:16ch}
  .prob-head,.engine-head{grid-column:1/-1}
  .engine-lead{grid-column:1/-1;margin-top:28px}
  .ben-head{grid-column:1/-1;margin-bottom:clamp(28px,4vw,40px)}
  .prob-row{grid-template-columns:repeat(8,1fr)}
  .prob-n{grid-column:1/3}.prob-t{grid-column:3/9}.prob-b{grid-column:3/9;margin-top:14px}
  .stat:nth-child(3){padding-left:0}
  .stat:nth-child(3)::before{display:none}
  .firm-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:768px){
  .grid12{grid-template-columns:repeat(4,1fr)}
  .nav-logo{width:168px}
  .nav-btn-full{display:none}
  .nav-btn-short{display:inline}
  .hero{min-height:0;padding-block:clamp(120px,20vh,150px) clamp(64px,10vw,88px)}
  .prob-row{grid-template-columns:repeat(4,1fr)}
  .prob-n,.prob-t,.prob-b{grid-column:1/-1}
  .prob-t{margin-top:12px}
  .prob-row.feature{margin-inline:0;padding-inline:0}
  .f-grid{grid-template-columns:1fr}
  .foot-a,.foot-b,.foot-links{grid-column:1/-1;text-align:left}
  .foot-b{margin-top:8px}
  .firm-grid{grid-template-columns:repeat(3,1fr)}
  .firm{width:auto;min-width:0}
  .legibility{position:relative;max-width:none;margin-top:-1px}
  .hero-art{grid-template-columns:1fr}
  .hero-figure{border-right:1px solid var(--line-gold);border-bottom:0;aspect-ratio:16/9}
  .legibility{right:0}
  .hero-art{min-height:0}
  .arch-panel{position:relative;inset:auto;aspect-ratio:4/3}
}
@media (max-width:560px){
  .stat{padding-inline:0}
  .stat+.stat{padding-top:clamp(24px,5vw,32px)}
  .stat+.stat::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px;
    transform:scaleX(0);transform-origin:left center}
  .firm-grid{grid-template-columns:repeat(2,1fr)}
  .outcome{font-size:.72rem;gap:.6em .7em}
  .final-cta{flex-direction:column;align-items:stretch}
  .final-cta .btn{justify-content:center}
  .btn{padding:16px 24px}
}
.hero.tex::before{inset:-18% 0;transform:translateY(var(--par,0));will-change:transform}

#hs-form-mount [data-hsfc-id="Renderer"]{
  --hsf-default-field-input__font-family:var(--f-text);
  --hsf-default-field-input__background-color:transparent;
  --hsf-default-field-input__border-color:var(--line-light);
  --hsf-default-field-input__border-style:solid;
  --hsf-default-field-input__border-width:0 0 1px 0;
  --hsf-default-field-input__border-radius:0;
  --hsf-default-field-input__padding:9px 0 9px 0;
  --hsf-default-field-input__placeholder-color:rgba(255,255,250,.34);

  --hsf-default-field-textarea__font-family:var(--f-text);
  --hsf-default-field-textarea__background-color:transparent;
  --hsf-default-field-textarea__border-color:var(--line-light);
  --hsf-default-field-textarea__border-style:solid;
  --hsf-default-field-textarea__border-width:0 0 1px 0;
  --hsf-default-field-textarea__border-radius:0;
  --hsf-default-field-textarea__padding:9px 0 9px 0;
  --hsf-default-field-textarea__placeholder-color:rgba(255,255,250,.34);

  --hsf-default-field-label__font-family:var(--f-text);
  --hsf-default-field-label__font-size:.68rem;
  --hsf-default-field-label__color:rgba(255,255,250,.6);

  --hsf-default-field-checkbox__background-color:transparent;
  --hsf-default-field-checkbox__border-color:var(--line-light);
  --hsf-default-field-radio__background-color:transparent;
  --hsf-default-field-radio__border-color:var(--line-light);

  --hsf-default-button__font-family:var(--f-text);
  --hsf-default-button__font-size:.8rem;
  --hsf-default-button__color:var(--graphite);
  --hsf-default-button__background-color:var(--sand);
  --hsf-default-button--hover__background-color:var(--ivory);
  --hsf-default-button__border-radius:2px;
  --hsf-default-button__padding:18px 32px 18px 32px;
  --hsf-default-button__box-shadow:none;

  --hsf-default-erroralert__font-family:var(--f-detail);
  --hsf-default-erroralert__color:var(--sand);
  --hsf-default-field-description__font-family:var(--f-text);
  --hsf-default-field-description__color:rgba(255,255,250,.6);
  --hsf-default-row__horizontal-spacing:clamp(16px,2vw,24px);
  --hsf-default-row__vertical-spacing:clamp(16px,2vw,24px);
}
#hs-form-mount [data-hsfc-id="RichText"]{
  color:var(--ivory);font-family:var(--f-text);text-align:center}
#hs-form-mount [data-hsfc-id="RichText"] *{color:var(--ivory)!important}
#hs-form-mount [data-hsfc-id="RichText"] p:first-child{
  font-family:var(--f-display);font-size:var(--t-h3);line-height:1.1;margin-bottom:10px}
#hs-form-mount .hsfc-Row--intro-hidden{display:none!important;margin:0}
#hs-form-mount form .hsfc-Row:has([data-hsfc-id="RichText"]){display:none;margin:0}
#hs-form-mount .hsfc-Step__Content>.hsfc-Row:first-child:not(:has(input)):not(:has(select)):not(:has(textarea)){
  display:none;margin:0}
#hs-form-mount [data-hsfc-id="FormWrapper"],
#hs-form-mount [data-hsfc-id="Form"]{background:transparent;border:0;padding:0;margin:0}
#hs-form-mount .hsfc-Step__Content{width:100%;padding:0;max-width:none}
#hs-form-mount [data-hsfc-id="Step"]{padding:0;margin:0}
#hs-form-mount [data-hsfc-id="Renderer"]{--hsf-default-background__padding:0;--hsf-background__padding:0}
#hs-form-mount .hsfc-FieldLabel,
#hs-form-mount .hsfc-FieldLabel span{
  font-family:var(--f-text);font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  font-size:.68rem;color:rgba(255,255,250,.72)}
#hs-form-mount .hsfc-FieldLabel{margin-bottom:7px;display:block}
#hs-form-mount .hsfc-FieldLabel span:not(.hsfc-FieldLabel__RequiredIndicator){
  color:rgba(255,255,250,.72)!important;font-size:inherit}
#hs-form-mount .hsfc-FieldLabel__RequiredIndicator,
#hs-form-mount .hsfc-FieldLabel span.hsfc-FieldLabel__RequiredIndicator{
  color:var(--sand);margin-left:.25em}
#hs-form-mount .hsfc-TextInput,
#hs-form-mount .hsfc-TextareaInput{
  font-family:var(--f-text);font-size:.98rem;color:var(--ivory);
  background:transparent;border:0;border-bottom:1px solid var(--line-light);
  border-radius:0;padding:9px 0;width:100%;
  -webkit-appearance:none;appearance:none;box-shadow:none;
  transition:border-color var(--dur-int) var(--ease)}
#hs-form-mount .hsfc-TextInput:focus,
#hs-form-mount .hsfc-TextareaInput:focus{outline:0;border-bottom-color:var(--sand);box-shadow:none}
#hs-form-mount .hsfc-TextareaInput{resize:vertical;min-height:76px}
#hs-form-mount .hsfc-TextInput::placeholder,
#hs-form-mount .hsfc-TextareaInput::placeholder{color:rgba(255,255,250,.34)}
#hs-form-mount .hsfc-TextInput:-webkit-autofill{
  -webkit-text-fill-color:var(--ivory);
  -webkit-box-shadow:0 0 0 1000px var(--graphite) inset;
  caret-color:var(--ivory)}
#hs-form-mount .hsfc-DropdownInput{
  background:transparent;border:0;border-bottom:1px solid var(--line-light);border-radius:0;
  padding:9px 0;color:var(--ivory);font-family:var(--f-text);font-size:.98rem}
#hs-form-mount .hsfc-DropdownInput:focus-within{border-bottom-color:var(--sand)}
#hs-form-mount .hsfc-DropdownInput__Caret{color:var(--sand)}
#hs-form-mount .hsfc-DropdownInput__Caret svg{fill:var(--sand);stroke:var(--sand)}
#hs-form-mount .hsfc-DropdownInput__Caret *{color:var(--sand)}
#hs-form-mount .hsfc-TextInput--button{
  background:transparent;border:0;color:var(--ivory);padding:0;text-align:left}
#hs-form-mount .hsfc-DropdownOptions{
  background:var(--graphite);border:1px solid var(--line-gold);border-radius:0;
  color:var(--ivory);font-family:var(--f-text)}
#hs-form-mount .hsfc-DropdownOptions__List__ListItem{
  color:var(--ivory);font-size:.95rem;background:transparent}
#hs-form-mount .hsfc-DropdownOptions__List__ListItem:hover,
#hs-form-mount .hsfc-DropdownOptions__List__ListItem[aria-selected="true"]{
  background:rgba(200,170,110,.16);color:var(--ivory)}
#hs-form-mount .hsfc-DropdownOptions__Search input{
  background:transparent;color:var(--ivory);border:0;border-bottom:1px solid var(--line-light)}
#hs-form-mount .hsfc-CheckboxFieldGroup__Options,
#hs-form-mount .hsfc-RadioFieldGroup__Options{
  display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:4px}
#hs-form-mount .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel,
#hs-form-mount .hsfc-RadioFieldGroup__Options .hsfc-FieldLabel{
  display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0;
  min-height:44px;padding-inline:10px;margin-inline:-10px;margin-bottom:0;
  font-weight:400;font-size:.95rem;color:rgba(255,255,250,.84);cursor:pointer}
#hs-form-mount .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel span,
#hs-form-mount .hsfc-RadioFieldGroup__Options .hsfc-FieldLabel span,
#hs-form-mount .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel span:not(.hsfc-FieldLabel__RequiredIndicator),
#hs-form-mount .hsfc-RadioFieldGroup__Options .hsfc-FieldLabel span:not(.hsfc-FieldLabel__RequiredIndicator){
  text-transform:none;letter-spacing:0;font-weight:400;font-size:.95rem;
  color:rgba(255,255,250,.84)!important}
#hs-form-mount .hsfc-CheckboxInput,
#hs-form-mount .hsfc-RadioInput{
  -webkit-appearance:auto;appearance:auto;width:16px;height:16px;
  accent-color:var(--sand);border:0;padding:0;margin:0;flex:0 0 auto;background:transparent}
#hs-form-mount .hsfc-NavigationRow{margin-top:clamp(24px,3vw,34px)}
#hs-form-mount .hsfc-NavigationRow__Buttons{display:block}
#hs-form-mount .hsfc-Button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--f-text);font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  font-size:.8rem;line-height:1;padding:18px 32px;border-radius:2px;border:0;
  min-height:48px;width:100%;cursor:pointer;
  background:var(--sand);color:var(--graphite);box-shadow:none;
  transition:background var(--dur-int) var(--ease),color var(--dur-int) var(--ease)}
#hs-form-mount .hsfc-Button:hover{background:var(--ivory);color:var(--graphite)}
#hs-form-mount .hsfc-Button{white-space:nowrap;padding-inline:clamp(16px,4vw,32px)}
#hs-form-mount .hsfc-ErrorAlert,
#hs-form-mount [data-hsfc-id="ErrorAlert"]{
  font-family:var(--f-detail);font-style:italic;font-size:.76rem;color:var(--sand)}
#hs-form-mount .hsfc-ReCaptchaV2{margin-top:clamp(16px,2vw,22px);display:flex;justify-content:center}
#hs-form-mount .hsfc-ReCaptchaV2 iframe{border:1px solid var(--line-gold)}
#hs-form-mount .hsfc-ReCaptchaV2>div{max-width:100%;overflow:hidden}
#hs-form-mount .hsfc-Row{display:flex;gap:clamp(16px,2vw,24px);margin-bottom:clamp(16px,2vw,24px)}
#hs-form-mount .hsfc-Row>*{flex:1 1 0;min-width:0}
@media (max-width:560px){
  #hs-form-mount .hsfc-Row{flex-direction:column}
}
@keyframes firm-marquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media (min-width:1px){
  .firms{overflow:hidden}
  .firm-row{width:max-content;max-width:none;flex-wrap:nowrap;
    justify-content:flex-start;gap:0;padding-inline:0;
    animation:firm-marquee var(--mq,60s) linear infinite;
    will-change:transform}
  .firm-row[data-drift="-1"]{animation-direction:reverse}
  .firm-row .firm{width:clamp(96px,8vw,128px);margin-right:clamp(24px,2.8vw,44px)}
  .firm-row .firm:first-child,.firm-row .firm:last-child{justify-content:center}
  .firms:hover .firm-row,.firm-row:focus-within{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){
  .firm-row{animation:none}
}
.nav-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(20px,3vw,44px)}

.nav-links{display:flex;justify-content:center;gap:clamp(18px,2.4vw,38px)}
.nav-links a{position:relative;font-family:var(--f-text);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-eyebrow);
  color:rgba(255,255,250,.72);text-decoration:none;white-space:nowrap;
  padding-block:6px;min-height:44px;display:inline-flex;align-items:center;
  transition:color var(--dur-int) var(--ease)}
.nav-links a:hover{color:var(--ivory)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:calc(50% - .78em);
  height:1px;background:var(--sand);opacity:0;
  transition:opacity var(--dur-int) var(--ease)}
body[data-page="mass-tort"] .nav-links a[data-nav="mass-tort"],
body[data-page="demands"]   .nav-links a[data-nav="demands"],
body[data-page="resources"] .nav-links a[data-nav="resources"],
body[data-page="about"]     .nav-links a[data-nav="about"]{color:var(--ivory)}
body[data-page="mass-tort"] .nav-links a[data-nav="mass-tort"]::after,
body[data-page="demands"]   .nav-links a[data-nav="demands"]::after,
body[data-page="resources"] .nav-links a[data-nav="resources"]::after,
body[data-page="about"]     .nav-links a[data-nav="about"]::after{opacity:1}

.nav-right{display:flex;align-items:center;gap:14px;justify-self:end}
.nav-right .btn{text-decoration:none}
.nav-burger{display:none;width:44px;height:44px;padding:0;background:none;border:0;
  cursor:pointer;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.nav-burger span{display:block;width:24px;height:2px;background:var(--ivory);
  transition:transform var(--dur-int) var(--ease),opacity var(--dur-int) var(--ease)}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-panel{position:fixed;inset:0;top:0;z-index:99;background:var(--graphite);
  padding:calc(var(--nav-h,84px) + clamp(28px,7vh,64px)) var(--gutter) var(--gutter);
  overflow-y:auto}
.nav-panel nav{display:flex;flex-direction:column;gap:clamp(18px,3.4vh,30px)}
.nav-panel a{font-family:var(--f-display);font-weight:400;font-size:var(--t-h3);
  line-height:1.1;color:var(--ivory);text-decoration:none;
  padding-block:6px;border-bottom:1px solid var(--line-light)}
.nav-panel a:last-child{border-bottom:0}
.nav-panel .nav-panel-cta{color:var(--sand);font-family:var(--f-text);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-eyebrow);
  margin-top:clamp(10px,2vh,20px)}
body.nav-open{overflow:hidden}

@media (max-width:900px){
  .nav-links{display:none}
  .nav-burger{display:flex}
  .nav-in{grid-template-columns:auto 1fr}
  .nav-logo{width:clamp(150px,42vw,200px)}
}
@media (min-width:901px){
  .nav-panel{display:none!important}
}
.foot-links{display:flex;flex-wrap:wrap;gap:clamp(12px,1.8vw,28px);align-items:center}
.foot-links a{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:rgba(255,255,250,.72);
  text-decoration:none;min-height:44px;display:inline-flex;align-items:center;
  transition:color var(--dur-int) var(--ease)}
.foot-links a:hover{color:var(--ivory)}
.hero h1.hero-h--interior{font-size:var(--t-h1)}
.fork-list{margin-top:clamp(40px,5vw,72px);display:grid;gap:0}
.fork-item{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(10px,1.2vw,16px);
  padding-block:clamp(34px,4.4vw,60px)}
.fork-item + .fork-item{border-top:1px solid var(--line)}
.fork-label{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--accent)}
.fork-head{font-family:var(--f-display);font-weight:400;line-height:1.08;
  font-size:var(--t-h2);max-width:20ch;color:var(--fg)}
.fork-lead{font-family:var(--f-text);font-size:var(--t-body);color:var(--soft);max-width:58ch}
.fork-caps{list-style:none;margin:clamp(6px,0.8vw,12px) 0 0;padding:0;
  display:grid;gap:9px;max-width:56ch}
.fork-caps li{position:relative;padding-left:22px;font-family:var(--f-text);
  font-size:var(--t-small);color:var(--soft)}
.fork-caps li::before{content:"";position:absolute;left:0;top:.52em;width:6px;height:6px;
  background:var(--accent);transform:rotate(45deg)}
.fork-link{margin-top:clamp(8px,1vw,14px);justify-self:start}
.fork-item--lead .fork-head{font-size:var(--t-h3);max-width:24ch}
.fork-item--lead .fork-lead{font-size:var(--t-lead)}

@media (min-width:900px){
  .fork-item{grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    column-gap:clamp(32px,4vw,72px);align-items:start}
  .fork-label{grid-column:1/-1}
  .fork-head{grid-column:1}
  .fork-lead{grid-column:2;grid-row:2/4}
  .fork-caps{grid-column:1}
  .fork-link{grid-column:1}
}
.thru-head .eyebrow,.thru-head h2{grid-column:1/9}
.thru-chain{margin-top:clamp(40px,5vw,72px);display:grid;gap:clamp(30px,3.6vw,52px)}
.thru-chain .node-b{max-width:64ch}
body[data-page="home"] .hero h1 span{white-space:normal;text-wrap:balance}
@media (max-width:600px){
  .nav-in{gap:8px}
  .nav-logo{width:clamp(118px,34vw,140px)}
  .nav-right{gap:8px}
  .nav-right .btn{padding-inline:14px;font-size:.72rem}
  .nav-burger{width:40px}
}
.bleed{margin-inline:calc(var(--gutter) * -1)}
@media (min-width:1441px){
  .bleed{margin-inline:calc(50% - 50vw)}
}
.duo{display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(14px,1.8vw,28px);min-height:clamp(520px,58vw,680px)}
.duo-panel{position:relative;display:flex;flex-direction:column;min-width:0;
  padding:clamp(48px,6.6vw,96px) var(--duo-pad,clamp(36px,5.2vw,76px)) 0;
  transition:background var(--dur-int) var(--ease)}

.duo-label{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--accent)}
.on-ocean .duo-label{color:var(--seaglass)}
.duo-head{font-family:var(--f-display);font-weight:400;font-size:var(--t-h3);
  line-height:1.1;letter-spacing:-.012em;margin-top:clamp(18px,2vw,26px);max-width:17ch}
.duo-lead{margin-top:clamp(16px,1.8vw,22px);color:var(--soft);max-width:42ch}
.duo-caps{margin-top:auto;padding-top:clamp(28px,3.4vw,44px)}
.duo-caps li{position:relative;padding:14px 0 14px 26px;font-size:var(--t-small);
  color:var(--soft);border-top:1px solid var(--line)}
.duo-caps li::before{content:"";position:absolute;left:0;top:1.35em;width:6px;height:6px;
  background:var(--accent);transform:rotate(45deg)}
.duo-foot{margin-top:clamp(26px,3vw,38px)}
@media (max-width:900px){
  .duo{grid-template-columns:1fr;min-height:0;gap:clamp(12px,3vw,20px)}
}
.marginal{margin-top:clamp(44px,5vw,72px);
  max-width:calc(clamp(96px,11vw,168px) + clamp(20px,3vw,48px) + 66ch);
  margin-inline:auto}
.marg-block{display:grid;min-width:0;grid-template-columns:clamp(96px,11vw,168px) minmax(0,1fr);
  gap:clamp(20px,3vw,48px);align-items:start}
.marg-block + .marg-block{margin-top:clamp(38px,4.4vw,64px)}
.marg-key{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--accent);
  padding-top:.42em;line-height:1.4}
.marg-text{min-width:0;max-width:66ch;font-size:var(--t-lead);line-height:1.6}
.marg-text p + p{margin-top:1.1em}
.marg-text strong{font-weight:400;font-family:var(--f-display);font-size:1.16em;letter-spacing:-.008em}
.marg-say{margin-block:clamp(48px,5.6vw,84px);padding-block:clamp(32px,3.6vw,50px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marg-say p{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1-sm);
  line-height:1.14;letter-spacing:-.016em;max-width:24ch}
.marg-say .marg-cite{display:block;margin-top:18px;font-family:var(--f-text);
  font-size:var(--t-small);letter-spacing:.04em;text-transform:uppercase;
  color:var(--faint);font-weight:700}
@media (max-width:760px){
  .marg-block{grid-template-columns:1fr;row-gap:10px}
  .marg-key{padding-top:0}
}
.idx-lead{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(28px,4vw,64px);align-items:end;
  padding-bottom:clamp(36px,4.2vw,58px);border-bottom:2px solid var(--fg)}
.idx-lead-kind{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--accent)}
.idx-lead-t{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1-sm);
  line-height:1.08;letter-spacing:-.016em;margin-top:clamp(16px,1.8vw,24px)}
.idx-lead-d{margin-top:clamp(16px,1.8vw,22px);color:var(--soft);max-width:46ch}
.idx-lead-meta{font-size:var(--t-small);color:var(--faint);letter-spacing:.03em}
.idx-rows{margin-top:clamp(8px,1vw,16px)}
.idx-row{display:grid;min-width:0;
  grid-template-columns:clamp(74px,8vw,110px) minmax(0,1fr) max-content;
  gap:clamp(16px,2.4vw,40px);align-items:baseline;
  padding-block:clamp(20px,2.3vw,30px);border-bottom:1px solid var(--line);
  text-decoration:none;color:inherit;transition:padding-left var(--dur-int) var(--ease)}
.idx-row:hover{padding-left:12px}
.idx-kind{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--accent)}
.idx-t{min-width:0;font-family:var(--f-display);font-weight:400;font-size:var(--t-h2);
  line-height:1.18;letter-spacing:-.008em}
.idx-row:hover .idx-t{text-decoration:underline;text-underline-offset:5px;
  text-decoration-thickness:1px;text-decoration-color:var(--accent)}
.idx-meta{font-size:var(--t-small);color:var(--faint);text-align:right;
  font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:820px){
  .idx-lead{grid-template-columns:1fr;align-items:start;row-gap:18px}
  .idx-row{grid-template-columns:1fr;row-gap:8px}
  .idx-meta{text-align:left}
}
.console{display:grid;min-width:0;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  gap:clamp(36px,5vw,96px);align-items:start}
.console-rail{position:sticky;top:clamp(96px,12vh,132px)}
.console-steps{margin-top:clamp(30px,3.4vw,46px)}
.console-steps li{display:grid;grid-template-columns:clamp(78px,8vw,112px) minmax(0,1fr);
  gap:clamp(16px,2vw,28px);padding-block:clamp(18px,2vw,26px);
  border-top:1px solid var(--line);font-size:var(--t-body);color:var(--soft)}
.console-steps li:last-child{border-bottom:1px solid var(--line)}
.console-steps li b{min-width:0;font-weight:400;font-family:var(--f-display);
  font-size:var(--t-h2);line-height:1.18;letter-spacing:-.008em;color:var(--fg);
  display:block;margin-bottom:8px}
.console-steps .cs-n{font-family:var(--f-text);text-transform:uppercase;
  letter-spacing:.05em;color:var(--accent);font-weight:700;
  font-size:var(--t-eyebrow);padding-top:.5em;line-height:1.4}
@media (max-width:900px){
  .console{grid-template-columns:1fr;gap:clamp(40px,6vw,64px)}
  .console-rail{position:static}
}
.statement{padding-block:clamp(56px,6.4vw,96px)}
.statement p{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1-sm);
  line-height:1.14;letter-spacing:-.016em;max-width:22ch}
.statement .st-side{margin-top:clamp(22px,2.6vw,32px);color:var(--soft);
  font-size:var(--t-body);max-width:44ch;font-family:var(--f-text)}
.statement--wide p{max-width:30ch}
.masthead{min-height:0;padding-block:clamp(96px,10vw,152px) clamp(40px,4.4vw,64px);
  display:block}
.masthead-in{display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(24px,4vw,64px);align-items:end;
  padding-bottom:clamp(26px,3vw,40px);border-bottom:1px solid var(--line)}
.masthead h1{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1);
  line-height:1.04;letter-spacing:-.02em;margin-top:clamp(18px,2.2vw,30px);max-width:18ch}
.masthead-count{font-size:var(--t-body);color:var(--soft);max-width:34ch;
  padding-bottom:.35em}
@media (max-width:700px){.masthead-in{grid-template-columns:1fr;align-items:start;row-gap:16px}}
.hero--type{min-height:0;padding-block:clamp(104px,11vw,168px) clamp(60px,6.4vw,96px);
  display:block}
.hero--type h1{max-width:15ch}
.hero--type .hero-note{display:grid;
  grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);
  margin-top:clamp(38px,4.4vw,60px);padding-top:clamp(28px,3.2vw,42px);
  border-top:1px solid var(--line);align-items:start}
.hero--type .hero-note p{color:var(--soft);max-width:58ch;font-size:var(--t-lead)}
.hero--type .hero-note .hn-tag{white-space:nowrap;padding-top:.5em}
.hero--type .hero-note .hn-tag{font-family:var(--f-text);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-eyebrow);
  color:var(--accent)}
@media (max-width:760px){.hero--type .hero-note{grid-template-columns:1fr;row-gap:18px}}
.triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:clamp(44px,5.2vw,76px);border-top:1px solid var(--line)}
.tri-col{min-width:0;padding:clamp(30px,3.4vw,48px) clamp(22px,2.6vw,40px) 0 0}
.tri-col + .tri-col{border-left:1px solid var(--line);
  padding-left:clamp(22px,2.6vw,40px)}
.tri-n{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--accent)}
.tri-h{font-family:var(--f-display);font-weight:400;font-size:var(--t-h2);
  line-height:1.14;letter-spacing:-.01em;margin-top:clamp(14px,1.6vw,20px)}
.tri-b{margin-top:clamp(14px,1.6vw,20px);color:var(--soft);font-size:var(--t-body)}
@media (max-width:900px){
  .triptych{grid-template-columns:1fr;border-top:0}
  .tri-col{padding:clamp(26px,4vw,36px) 0 0;border-top:1px solid var(--line)}
  .tri-col + .tri-col{border-left:0;padding-left:0}
}
.duo{min-height:0}
.duo-panel{overflow:hidden;padding-bottom:0;min-height:clamp(620px,58vw,800px);
  --duo-pad:clamp(36px,5.2vw,76px)}
.duo-head{max-width:20ch;margin-top:clamp(22px,2.6vw,34px);text-wrap:balance}
.duo-lead{max-width:34ch;font-size:var(--t-body);line-height:1.6;
  margin-top:clamp(20px,2.2vw,30px);text-wrap:pretty}
.duo-foot{padding-top:clamp(30px,3.4vw,46px);
  padding-bottom:clamp(34px,4vw,56px)}
.duo-foot .btn{background:transparent;border:1px solid currentColor;color:var(--fg)}
.duo-foot .btn:hover{background:var(--fg);color:var(--graphite)}
.on-ocean .duo-foot .btn:hover{color:var(--ocean)}
.duo-photo{position:relative;margin:auto calc(var(--duo-pad) * -1) 0;
  width:calc(100% + var(--duo-pad) * 2);aspect-ratio:16 / 9;overflow:hidden;min-width:0}
.duo-photo img{width:100%;height:100%;object-fit:cover;display:block}
.js .duo-photo.reveal{transform:translateY(26px)}
.js .duo-photo.reveal.in{transform:none}
@media (max-width:900px){
  .duo-panel{min-height:0}
  .duo-foot .btn{padding-inline:18px;font-size:.74rem;letter-spacing:.04em}
}
.showcase{margin-top:clamp(56px,6.4vw,96px);padding-top:clamp(44px,5vw,72px);
  border-top:1px solid var(--line);min-width:0}
.showcase-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,4vw,72px);align-items:end}
.showcase-copy .eyebrow{grid-column:1/-1}
.showcase-copy h3{min-width:0;font-family:var(--f-display);font-weight:400;
  font-size:var(--t-h1-sm);line-height:1.1;letter-spacing:-.016em;
  margin-top:clamp(16px,1.8vw,24px);max-width:16ch}
.showcase-copy p{margin:0;color:var(--soft);max-width:48ch}
@media (max-width:900px){
  .showcase-copy{grid-template-columns:1fr;gap:clamp(16px,3vw,22px);align-items:start}
}
.showcase-ui{position:relative;margin:clamp(38px,4.4vw,64px) 0 0;min-width:0;
  overflow:hidden}
.showcase-ui .ui-frame{aspect-ratio:auto;height:clamp(400px,40vw,580px);
  max-height:none;background:var(--ivory);
  border:1px solid rgba(35,35,35,.12);border-bottom:0;
  box-shadow:0 -26px 60px rgba(35,35,35,.10)}
.showcase-ui .ui{--ui-s:1;left:50%;margin-left:-550px;transform-origin:top center}
@media (max-width:1180px){.showcase-ui .ui{--ui-s:.92}}
@media (max-width:1000px){.showcase-ui .ui{--ui-s:.82}}
@media (max-width:900px){
  .showcase-ui{margin-inline:calc(var(--gutter) * -1)}
  .showcase-ui .ui-frame{height:330px;border-radius:0;border-inline:0}
  .showcase-ui .ui{--ui-s:.6;left:0;margin-left:0;transform-origin:top left}
}
.interstitial{padding:0;position:relative}
.interstitial figure{margin:0;position:relative;overflow:hidden;
  aspect-ratio:21/8;background:var(--graphite-deep)}
.interstitial img{width:100%;height:100%;object-fit:cover;opacity:.94}
.interstitial figcaption{position:absolute;left:0;right:0;bottom:0;
  padding:clamp(20px,2.6vw,34px) var(--gutter);
  font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--ivory);
  background:rgba(27,27,27,.58)}
@media (max-width:760px){.interstitial figure{aspect-ratio:3/2}}
.ui-letter{background:var(--ivory);border:1px solid rgba(35,35,35,.10);
  padding:15px 17px;font-size:12px;line-height:1.55;color:rgba(35,35,35,.78)}
.ui-letter .lh{display:flex;align-items:baseline;gap:8px;
  padding-bottom:9px;margin-bottom:11px;border-bottom:1px solid rgba(35,35,35,.12)}
.ui-letter .lh b{font-family:var(--f-display);font-weight:400;font-size:14px;
  color:var(--graphite);letter-spacing:.01em}
.ui-letter .lh span{margin-left:auto;font-size:10.5px;letter-spacing:.04em;
  text-transform:uppercase;color:rgba(35,35,35,.46);font-weight:700}
.ui-letter p + p{margin-top:9px}
.ui-letter .cite{color:var(--ocean);font-weight:700;
  text-decoration:underline;text-underline-offset:2px;
  text-decoration-color:rgba(0,111,129,.42)}
.ui-page{background:var(--ivory);border:1px solid rgba(35,35,35,.12);
  padding:clamp(18px,2vw,26px) clamp(18px,2vw,26px) 0;
  aspect-ratio:17/22;overflow:hidden;font-size:11.5px;line-height:1.6;
  color:rgba(35,35,35,.72)}
.ui-page .pg-h{font-family:var(--f-display);font-weight:400;font-size:15px;
  color:var(--graphite);letter-spacing:.01em;
  padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid rgba(35,35,35,.14)}
.ui-page .pg-s{font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:9.5px;color:rgba(35,35,35,.46);
  margin-top:14px;margin-bottom:6px}
.ui-page p{margin-bottom:8px}
.ui-page .cite{color:var(--ocean);font-weight:700}
.ui-page .pg-fade{height:56px}

.idx-lead-fig{margin:0;max-width:300px;justify-self:end;width:100%}
@media (max-width:820px){.idx-lead-fig{justify-self:start;max-width:240px}}
.arch-field{position:absolute;left:50%;top:clamp(74px,8vw,124px);
  transform:translateX(-50%);width:min(1180px,92%);height:auto;
  z-index:0;pointer-events:none;color:var(--graphite);opacity:.13}
.arch-field [data-draw]{stroke:currentColor;stroke-width:1;fill:none;
  vector-effect:non-scaling-stroke}
.arch-field .dm{fill:var(--ocean);stroke:none;opacity:.55}
.has-arch-field > .wrap{position:relative;z-index:1}
@media (max-width:900px){.arch-field{display:none}}
.arch-raise{margin-inline:auto;
  max-width:min(100%,720px,calc((100svh - 300px) * 1.39))}
.arch-raise-svg{width:100%;height:auto;display:block;overflow:visible}
.arch-raise-svg .vs{fill:none;stroke:var(--accent);stroke-width:1;
  vector-effect:non-scaling-stroke;opacity:.16;
  transition:opacity .55s var(--ease)}
.arch-raise-svg .vs.set{opacity:.95}
.arch-raise-svg .vs.key.set{stroke-width:1.8}
.arch-raise-svg .vs-back,.arch-raise-svg .vs-side{fill:none;stroke:var(--accent);
  stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;
  transition:opacity .55s var(--ease)}
.arch-raise-svg .vs-back.set{opacity:.26}
.arch-raise-svg .vs-side.set{opacity:.46}
.arch-raise-svg .vs-joint{stroke:var(--accent);stroke-width:1;
  vector-effect:non-scaling-stroke;opacity:0;transition:opacity .55s var(--ease)}
.arch-raise-svg .vs-joint.set{opacity:.42}
.arch-raise-svg .vs-dot{fill:var(--accent);opacity:0;
  transition:opacity .45s var(--ease)}
.arch-raise-svg .vs-dot.set{opacity:.95}
.arch-raise-svg .vs-pier,.arch-raise-svg .vs-plinth{stroke:var(--accent);fill:none;
  stroke-width:1;vector-effect:non-scaling-stroke;opacity:.3}
.arch-raise-svg .vs-pier.back{opacity:.14}
@media (prefers-reduced-motion:reduce){
  .arch-raise-svg .vs{opacity:.95}
  .arch-raise-svg .vs-back{opacity:.26}
  .arch-raise-svg .vs-side{opacity:.46}
  .arch-raise-svg .vs-joint{opacity:.42}
  .arch-raise-svg .vs-dot{opacity:.95}
}
.arch-raise-band{margin-top:clamp(40px,4.6vw,72px)}
.arch-sect .arch-raise-band{margin-top:clamp(30px,3.4vw,52px)}
body[data-page="demands"] .arch-raise-band{margin-bottom:clamp(44px,5vw,76px)}
body[data-page="demands"] .arch-raise{max-width:min(100%,560px)}
.arch-raise-svg .vs-hit{fill:transparent;stroke:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.arch-raise-svg .vs-hit:focus{outline:none}
.arch-raise-svg .vs-hit:focus-visible{outline:2px solid var(--seaglass);outline-offset:2px}
.vsr-read{max-width:min(100%,620px);margin:clamp(26px,3vw,44px) auto 0;text-align:center;
  transition:opacity .3s var(--ease)}
.arch-raise.pre .vsr-read{opacity:0}
.vsr-step-n{font-family:var(--f-text);font-weight:700;font-size:10.5px;
  letter-spacing:.16em;color:var(--accent)}
.vsr-title{font-family:var(--f-display);font-weight:400;
  font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.15;letter-spacing:-.01em;
  color:var(--fg);margin-top:clamp(10px,1.2vw,16px)}
.vsr-body{font-family:var(--f-text);font-size:var(--t-body);line-height:1.6;
  color:var(--soft);margin-top:clamp(10px,1.2vw,16px);min-height:4.8em}
.vsr-steps{display:flex;justify-content:center;gap:10px;margin-top:clamp(18px,2vw,28px)}
.vs-step{position:relative;width:9px;height:9px;padding:0;
  border:1px solid rgba(200,170,110,.55);background:transparent;
  transform:rotate(45deg);cursor:pointer;
  transition:background-color .3s var(--ease),border-color .3s var(--ease)}
.vs-step::after{content:"";position:absolute;inset:-13px}
@media (pointer:coarse){
  .vsr-steps{gap:20px}
  .vs-step{width:12px;height:12px}
  .vs-step::after{inset:-16px}
}
.vs-step.on{background:var(--accent);border-color:var(--accent)}
.vs-step:focus-visible{outline:2px solid var(--seaglass);outline-offset:3px}
.tri-mark,.prin-mark{width:clamp(56px,5.2vw,76px);height:auto;display:block;
  color:var(--accent);overflow:visible}
.tri-mark .s,.prin-mark .s{fill:none;stroke:currentColor;stroke-width:1;
  vector-effect:non-scaling-stroke;stroke-linecap:square}
.tri-mark{margin-bottom:clamp(16px,1.8vw,24px)}
.prin-mark{margin-bottom:clamp(14px,1.6vw,20px)}
@media (max-width:900px){.tri-mark,.prin-mark{width:56px}}
body[data-page="home"] .arch-photo{background-image:url("../img/hero-record.jpg")}
body[data-page="home"] .arch-photo picture,
body[data-page="home"] .arch-photo img{display:block;width:100%;height:100%;object-fit:cover}
body[data-page="home"] .hero-figure img{width:100%;height:100%;object-fit:cover}
.dm-arch-photo{background-image:url("../img/dm-arch.jpg")}
.dm-arch-photo picture,.dm-arch-photo img{display:block;width:100%;height:100%;object-fit:cover}
.on-ocean .ben-n{color:var(--accent)}
.on-ocean .ben-t{color:var(--fg)}
.on-ocean .ben-lead .body{color:var(--soft)}
.origin{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(32px,4.5vw,88px);align-items:start;
  margin-top:clamp(44px,5vw,76px);min-width:0}
.origin-vis{align-self:center;min-width:0}
.origin-vis{isolation:isolate}
.origin-plate{aspect-ratio:755/554;background:var(--graphite-deep) center/cover no-repeat;
  background-image:url("../img/about-origin.jpg");
  background-image:image-set(url("../img/about-origin.webp") type("image/webp"),
                             url("../img/about-origin.jpg") type("image/jpeg"));
  position:relative;border-radius:3px;
  box-shadow:0 26px 56px rgba(20,19,17,.30)}
.origin-plate::before{content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:clamp(12px,1.3vw,20px) calc(-1 * clamp(12px,1.3vw,20px))
        calc(-1 * clamp(12px,1.3vw,20px)) clamp(12px,1.3vw,20px);
  border:1px solid var(--ocean);border-radius:3px}
.origin-list{counter-reset:og;min-width:0}
.origin-list li{padding-block:clamp(26px,3vw,42px);border-top:1px solid var(--line);
  min-width:0}
.origin-list li:last-child{border-bottom:1px solid var(--line)}
.origin-list .on{font-family:var(--f-text);font-weight:700;font-size:var(--t-eyebrow);
  letter-spacing:.05em;color:var(--accent)}
.origin-list h3{font-family:var(--f-display);font-weight:400;font-size:var(--t-h2);
  line-height:1.16;letter-spacing:-.01em;margin-top:clamp(10px,1.2vw,15px);max-width:24ch}
.origin-list p{margin-top:clamp(10px,1.2vw,15px);color:var(--soft);max-width:52ch}
@media (max-width:900px){
  .origin{grid-template-columns:1fr;row-gap:clamp(28px,4vw,40px)}
}
.disc{--disc-gap:clamp(40px,4.8vw,76px);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--disc-gap);
  margin-top:clamp(44px,5vw,76px);border-top:1px solid var(--line)}
.disc-item{position:relative;min-width:0;padding:clamp(28px,3.2vw,44px) 0 0}
.disc-item + .disc-item::before{content:"";position:absolute;top:0;bottom:0;
  left:calc(-.5 * var(--disc-gap));border-left:1px solid var(--line)}
@media (min-width:901px){
  .disc-n{min-height:2.36em;display:flex;align-items:flex-end}
}
.disc-fig{margin:0 0 clamp(18px,2.2vw,28px);aspect-ratio:4 / 3;overflow:hidden;
  background:var(--graphite-deep)}
.disc-fig img{display:block;width:100%;height:100%;object-fit:cover}
.js .disc-item.reveal .disc-fig img{transform:scale(1.04);transition:transform 900ms var(--ease)}
.js .disc-item.reveal.in .disc-fig img{transform:none}
.disc-n{font-family:var(--f-display);font-weight:400;font-size:var(--t-h2);
  line-height:1.18;letter-spacing:-.008em;color:var(--fg);max-width:16ch}
.disc-b{margin-top:clamp(14px,1.6vw,20px);color:var(--soft);font-size:var(--t-body)}
@media (max-width:900px){
  .disc{grid-template-columns:1fr;border-top:0;column-gap:0}
  .disc-item{padding:clamp(24px,4vw,34px) 0 0;border-top:1px solid var(--line)}
  .disc-item + .disc-item::before{content:none}
}
body[data-page="about"] .prob-head .h1{max-width:26ch}
.hero--bleed{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-start;
  padding-block:clamp(196px,23vh,290px) clamp(56px,8vh,112px);overflow:hidden;isolation:isolate}
.hero-bleed-media{position:absolute;inset:0;z-index:-2;background:var(--graphite-deep)}
.hero-bleed-media img,.hero-bleed-media video{
  width:100%;height:100%;object-fit:cover;display:block}
.hero-bleed-media video{position:absolute;inset:0}
@media (prefers-reduced-motion:reduce){.hero-bleed-media video{display:none}}
.hero-bleed-media::after{content:"";position:absolute;inset:0;
  background:rgba(20,19,17,.30)}
.hero--bleed::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(130% 100% at 78% 18%,
    rgba(18,17,15,0) 22%, rgba(18,17,15,.44) 62%, rgba(18,17,15,.78) 100%)}
.hero--bleed .wrap{position:relative;z-index:1;width:100%}
.hero--bleed h1{font-family:var(--f-display);font-weight:400;
  font-size:var(--t-h1-hero);line-height:1.02;letter-spacing:-.022em;
  max-width:17ch;color:var(--ivory)}
.hero--bleed .hero-sub{max-width:52ch;color:rgba(255,255,250,.88)}
.hero--bleed .hero-eyebrow{margin-bottom:clamp(20px,2.4vw,32px);
  font-size:clamp(.82rem,1.04vw,.92rem);letter-spacing:.09em}
.hero--bleed .hero-eyebrow::after{width:120px}
@media (max-width:760px){
  .hero--bleed{min-height:88vh;min-height:88svh;padding-bottom:clamp(40px,6vh,64px)}
  .hero-bleed-media::after{background:rgba(20,19,17,.38)}
  .hero--bleed::before{background:radial-gradient(150% 100% at 82% 12%,
    rgba(18,17,15,0) 12%, rgba(18,17,15,.56) 52%, rgba(18,17,15,.84) 100%)}
}
.idx-lead-fig--photo{max-width:none;width:100%;aspect-ratio:4/5;overflow:hidden;
  background:var(--graphite-deep)}
.idx-lead-fig--photo img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:820px){.idx-lead-fig--photo{aspect-ratio:16/10;max-width:none}}
.sched-head{max-width:60ch}
.steps-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:clamp(40px,4.6vw,64px);border-top:1px solid var(--line);
  padding-bottom:clamp(44px,5vw,72px);border-bottom:1px solid var(--line)}
.steps-row li{min-width:0;padding:clamp(24px,2.8vw,38px) clamp(20px,2.4vw,36px) 0 0}
.steps-row li + li{border-left:1px solid var(--line);padding-left:clamp(20px,2.4vw,36px)}
.steps-row .cs-n{display:block;font-family:var(--f-text);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-eyebrow);
  color:var(--accent)}
.steps-row b{display:block;margin-top:clamp(10px,1.2vw,16px);font-family:var(--f-display);
  font-weight:400;font-size:var(--t-h2);line-height:1.18;letter-spacing:-.008em;
  color:var(--fg)}
.steps-row p{margin-top:clamp(10px,1.2vw,14px);color:var(--soft)}
.sched-form{margin-top:clamp(44px,5vw,72px);max-width:880px}
@media (max-width:820px){
  .steps-row{grid-template-columns:1fr;border-top:0}
  .steps-row li{padding:clamp(22px,4vw,30px) 0 0;border-top:1px solid var(--line)}
  .steps-row li + li{border-left:0;padding-left:0}
}
.idx-lead:has(.idx-lead-fig--photo){align-items:center}
.final--bleed{position:relative;isolation:isolate;overflow:hidden}
.final--bleed .hero-bleed-media{z-index:-2}
.final--bleed .hero-bleed-media::after{background:rgba(20,19,17,.34)}
.final--bleed::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(120% 100% at 50% 50%,
    rgba(18,17,15,.18) 0%, rgba(18,17,15,.52) 60%, rgba(18,17,15,.80) 100%)}
.final--bleed > .wrap{position:relative;z-index:1}
.final--bleed .final-in{border:1px solid rgba(255,255,250,.22);
  background:rgba(18,17,15,.28)}
@media (prefers-reduced-motion:reduce){.final--bleed video{display:none}}
.compliance--home{position:relative}
.compliance--home .certs{border-top-color:var(--line)}
.compliance--home .cert-mark{color:var(--accent)}
.compliance--home .comp-sub{color:var(--soft)}
.hero--bleed-short{min-height:78vh;min-height:78svh}
@media (max-width:760px){.hero--bleed-short{min-height:72vh;min-height:72svh}}
.stack{padding:0;position:relative}
.stack-head{padding-block:clamp(76px,8.8vw,138px) clamp(52px,6vw,88px)}
.stack-head h2{margin-top:clamp(26px,3vw,38px);max-width:20ch}

.stack-set{--label-h:clamp(50px,4.6vw,64px)}
.stack-band{position:sticky;top:calc(var(--i) * var(--label-h));
  min-height:clamp(470px,64vh,650px);display:flex;flex-direction:column;
  overflow:hidden}
.band-label{width:100%;max-width:var(--maxw);margin-inline:auto;
  padding-inline:var(--gutter);height:var(--label-h);display:flex;
  align-items:center;flex:0 0 auto;
  font-family:var(--f-text);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:var(--t-eyebrow);color:var(--fg)}
.band-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(28px,4vw,64px);align-items:end;flex:1 1 auto;min-width:0}
.band-copy{min-width:0;padding-bottom:clamp(34px,4.4vw,64px)}
.band-h{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1-sm);
  line-height:1.05;letter-spacing:-.016em;max-width:15ch;text-wrap:balance}
.band-b{margin-top:clamp(18px,2vw,26px);color:var(--soft);max-width:40ch;
  line-height:1.6;text-wrap:pretty}
.band-ui .ui-body{min-height:0}
.band-ui{position:relative;margin:0;min-width:0;align-self:stretch}
.band-ui .ui-frame{position:absolute;left:0;bottom:0;
  height:min(var(--band-ui-h,400px), calc(100% - clamp(26px,3vw,44px)));
  aspect-ratio:auto;max-height:none;
  width:calc(100% + var(--gutter) + 90px);
  background:var(--ivory);border:1px solid rgba(35,35,35,.12);border-bottom:0;
  box-shadow:0 -18px 44px rgba(35,35,35,.10), -18px 0 44px rgba(35,35,35,.06)}
.band-ui .ui{--ui-s:1}
@media (min-width:1441px){
  .band-ui .ui-frame{width:calc(100% + (50vw - 50%) + 90px)}
}
@media (max-width:1180px){.band-ui .ui{--ui-s:.88}}
@media (max-width:1000px){.band-ui .ui{--ui-s:.78}}
@media (max-width:900px){
  .stack-band{position:static;min-height:0;
    padding-bottom:clamp(34px,6vw,52px)}
  .band-in{grid-template-columns:1fr;row-gap:clamp(26px,5vw,40px);align-items:start}
  .band-copy{padding-bottom:0}
  .band-ui{min-height:300px}
  .band-ui .ui-frame{position:relative;height:calc(var(--band-ui-h,400px) * .66);
    width:calc(100% + var(--gutter) + 40px)}
  .band-ui .ui{--ui-s:.62}
}
@media (prefers-reduced-motion:reduce){
  .stack-band{position:static}
}
.hero-drift{
  --hero-drift-dur:32s;
  transform:scale(1.16) translate3d(-5.5%,0,0);
  animation:heroDrift var(--hero-drift-dur) linear infinite alternate;
  will-change:transform}
@keyframes heroDrift{
  from{transform:scale(1.16) translate3d(-5.5%,0,0)}
  to  {transform:scale(1.16) translate3d(5.5%,0,0)}}
@media (prefers-reduced-motion:reduce){
  .hero-drift{animation:none;transform:scale(1.16)}}
.hero-drift--stair{
  --hero-drift-dur:36s;
  transform:scale(1.12) translate3d(-2.4%,1.6%,0);
  animation-name:heroDriftStair}
@keyframes heroDriftStair{
  from{transform:scale(1.12) translate3d(-2.4%,1.6%,0)}
  to  {transform:scale(1.12) translate3d(2.4%,-1.6%,0)}}
@media (prefers-reduced-motion:reduce){
  .hero-drift--stair{animation:none;transform:scale(1.12)}}
.hero-drift--slow{--hero-drift-dur:30s;transform:scale(1.12) translate3d(-5%,0,0)}
@keyframes heroDriftSlow{
  from{transform:scale(1.12) translate3d(-5%,0,0)}
  to  {transform:scale(1.12) translate3d(5%,0,0)}}
.hero-drift--slow{animation-name:heroDriftSlow}
@media (prefers-reduced-motion:reduce){
  .hero-drift--slow{animation:none;transform:scale(1.1)}}
.hero--bleed h1 span{white-space:normal}
body[data-page="demands"] .hero--bleed .hero-bleed-media::after{
  background:rgba(20,19,17,.5)}
.js .showcase-ui .ui-screen.on .seq{
  animation:seqIn .55s var(--ease) both;
  animation-delay:calc(.45s + var(--s,0) * .34s);
  animation-play-state:paused}
.js .showcase-ui .ui-screen.on .seq-ev .row{
  animation:seqIn .5s var(--ease) both;
  animation-delay:calc(.45s + (3 + var(--r,0)) * .34s);
  animation-play-state:paused}
.js .showcase-ui .ui-screen.on .ck{
  animation:ckIn .45s var(--ease) both;
  animation-delay:calc(.45s + (3 + var(--r,0)) * .34s + .26s);
  animation-play-state:paused}
.js .showcase-ui .ui-screen.on .ui-stat{
  animation:statIn .5s var(--ease) both;
  animation-delay:calc(.45s + 1 * .34s + .3s);
  animation-play-state:paused}

.js .showcase-ui.in .ui-screen.on .seq,
.js .showcase-ui.in .ui-screen.on .seq-ev .row,
.js .showcase-ui.in .ui-screen.on .ck,
.js .showcase-ui.in .ui-screen.on .ui-stat{animation-play-state:running}

@keyframes seqIn {from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none}}
@keyframes ckIn  {from{opacity:0;transform:translateX(7px)}  to{opacity:1;transform:none}}
@keyframes statIn{from{opacity:0;transform:scale(.94)}       to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  .js .showcase-ui .ui-screen.on .seq,
  .js .showcase-ui .ui-screen.on .seq-ev .row,
  .js .showcase-ui .ui-screen.on .ck,
  .js .showcase-ui .ui-screen.on .ui-stat{opacity:1;animation:none}
}
.hero-sub2{margin-top:clamp(14px,1.6vw,20px);color:var(--soft);max-width:52ch}
.dm-evo .evo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.52fr);
  gap:clamp(32px,5vw,80px);align-items:center}
.dm-evo .evo-in{max-width:min(100%,820px);min-width:0}
.dm-evo h2{letter-spacing:-.014em;text-wrap:balance}
.evo-mark{margin:0;display:flex;flex-direction:column;align-items:center;
  gap:clamp(14px,1.8vw,22px);min-width:0}
.evo-svg{width:clamp(150px,15vw,210px);height:auto;overflow:visible}
.js .dm-evo .adp{opacity:1}
.js .dm-evo .evo-mark.in .adp{animation:adpFade 7s var(--ease) infinite}
@keyframes adpFade{
  0%,30% {opacity:1}
  44%,86%{opacity:0}
  100%   {opacity:1}}

.arch-mark{color:var(--ocean);overflow:visible}
.arch-g{transform-box:view-box;transform-origin:90px 103px}
.js .dm-evo .arch-g{opacity:0}
.js .dm-evo .evo-mark.in .arch-g{animation:archFade 7s var(--ease) infinite}
@keyframes archFade{
  0%,34%  {opacity:0;transform:scale(.78)}
  54%,84% {opacity:1;transform:scale(1)}
  96%,100%{opacity:0;transform:scale(1)}}

@media (prefers-reduced-motion:reduce){
  .js .dm-evo .adp{opacity:0;animation:none}
  .js .dm-evo .arch-g{opacity:1;animation:none;transform:none}
}
@media (max-width:900px){
  .dm-evo .evo-grid{grid-template-columns:1fr;row-gap:clamp(34px,6vw,52px)}
  .evo-svg{width:clamp(130px,34vw,170px)}
}
.how-cta{margin:clamp(48px,5.4vw,80px) 0 0;padding-left:clamp(26px,2.8vw,40px)}
.how-pin.pinned + .how-cta{margin-top:clamp(12px,1.6vw,24px)}
@media (max-width:1000px){.how-cta{padding-left:0}}
.prob-close--plain::before,
.prob-close--plain::after{content:none}
.dm-stmt{padding-block:clamp(64px,7vw,104px)}
.dm-stmt .prob-close-row{align-items:center;min-height:0}
.dm-stmt .stmt-in{position:relative;z-index:1;max-width:min(100%,900px);
  margin-inline:auto;text-align:center}
.dm-stmt .prob-close{margin-inline:auto;text-wrap:balance}
.dm-stmt .prob-close-row{margin-top:0}
.dm-proof .proof-head{max-width:min(100%,820px)}
.dm-proof .proof-head h2{text-wrap:balance}
.proof-layer{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:start;margin-top:clamp(40px,4.6vw,72px)}
.proof-photo{grid-column:1 / 8;grid-row:1;margin:0;min-width:0;aspect-ratio:16 / 10;
  overflow:hidden;background:var(--stone);
  border-radius:3px;box-shadow:0 18px 44px rgba(35,35,35,.18)}
.proof-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}
.proof-card{grid-column:6 / 13;grid-row:2;margin-top:calc(-1 * clamp(130px,15vw,230px));
  position:relative;z-index:1;min-width:0;
  background:var(--ivory);border:1px solid var(--line);border-radius:3px;
  padding:clamp(28px,3.6vw,56px) clamp(26px,3.4vw,54px);
  box-shadow:0 30px 70px rgba(35,35,35,.20)}
.proof-quote{margin:0;font-family:var(--f-display);font-weight:400;
  font-size:var(--t-pull);line-height:1.22;letter-spacing:-.01em;color:var(--fg);
  text-wrap:pretty}
.proof-quote::before{content:"\201C"}
.proof-quote::after{content:"\201D"}
.proof-by{margin-top:clamp(20px,2.4vw,30px);font-family:var(--f-text);font-weight:700;
  font-size:var(--t-small);line-height:1.4;color:var(--fg)}
.proof-by span{display:block;font-weight:400;color:var(--faint);margin-top:4px}

@media (max-width:900px){
  .proof-layer{grid-template-columns:1fr}
  .proof-photo{grid-column:1;aspect-ratio:16 / 10}
  .proof-card{grid-column:1;grid-row:2;margin:-9% clamp(12px,4vw,24px) 0}
}

@media (max-width:900px){
  .dm-stmt .prob-close{max-width:none}
}
.gen{margin:clamp(44px,5vw,72px) auto 0;max-width:min(100%,660px);
  background:var(--ivory);border:1px solid rgba(35,35,35,.14);
  box-shadow:0 18px 44px rgba(35,35,35,.10);position:relative;z-index:1}
.gen-bar{display:flex;align-items:center;gap:14px;
  padding:clamp(12px,1.4vw,16px) clamp(16px,1.8vw,22px);
  border-bottom:1px solid rgba(35,35,35,.12)}
.gen-title{font-family:var(--f-text);font-weight:700;font-size:var(--t-small);
  color:var(--graphite)}
.gen-pill{margin-left:auto;display:inline-flex;align-items:center;gap:7px;
  border:1px solid var(--ocean);color:var(--ocean);border-radius:2px;
  padding:4px 10px;font-family:var(--f-text);font-weight:700;font-size:11.5px;
  letter-spacing:.03em;white-space:nowrap}
.gen-pill i{width:6px;height:6px;border-radius:50%;background:var(--ocean);
  flex:0 0 auto}
.js .gen-pill i{animation:genDot 1.4s var(--ease) infinite}
@keyframes genDot{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}

.gen-doc{padding:clamp(18px,2.2vw,28px) clamp(16px,1.8vw,24px) clamp(22px,2.6vw,32px)}
.gen-h{font-family:var(--f-text);font-weight:700;font-size:var(--t-small);
  letter-spacing:.02em;color:var(--graphite);text-transform:uppercase;
  margin-bottom:clamp(12px,1.4vw,16px)}
.gen-p{font-family:var(--f-text);font-size:14.5px;line-height:1.62;
  color:rgba(35,35,35,.86);margin:0;min-height:1.62em}
.sc-bd{position:relative}
.gen-hl{position:absolute;z-index:0;left:0;height:0;
  background:rgba(0,111,129,.13);border-left:2px solid var(--ocean);
  opacity:0;transition:top .16s var(--ease),width .16s var(--ease),opacity .3s var(--ease);
  pointer-events:none}
.sc-bd.typing .gen-hl{opacity:1}
.sc-bd.done .gen-hl{opacity:0}
.gen-p{position:relative;z-index:1}

.gen-rest{visibility:hidden}
.gen-cursor{display:inline-block;width:2px;height:1.05em;background:var(--ocean);
  vertical-align:-.16em;margin-left:1px}
.js .gen .gen-cursor{animation:genBlink 1.05s steps(1,end) infinite}
@keyframes genBlink{0%,55%{opacity:1}56%,100%{opacity:0}}
.gen.done .gen-cursor,.sc-bd.done .gen-cursor{animation:none;opacity:0}

@media (prefers-reduced-motion:reduce){
  .gen-rest{visibility:visible}
  .js .gen .gen-cursor,.js .gen-pill i{animation:none}
  .gen-cursor{display:none}
}
@media (max-width:900px){
  .gen-p{font-size:13.5px}
  .gen{max-width:100%}
}
.dm-how .how-body{display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(34px,5vw,84px);align-items:start}
.dm-how .how-body .chain{min-width:0}
.dm-how .stage{position:sticky;top:clamp(88px,12vh,132px);
  margin:clamp(44px,5vw,80px) 0 0;max-width:none}
.on-graphite .gen{border-color:rgba(255,255,250,.16);
  box-shadow:0 24px 60px rgba(0,0,0,.34)}

@media (max-width:1000px){
  .dm-how .how-body{grid-template-columns:1fr;row-gap:clamp(34px,6vw,52px)}
  .dm-how .stage{position:static;margin-top:clamp(30px,5vw,44px)}
}
.on-stone.tex,.on-seaglass.tex,.on-ocean.tex,.on-graphite.tex{
  background-size:cover;background-repeat:no-repeat;background-position:50% 50%}
.on-stone.tex   {background-image:url("../img/tex-stone.webp")}
.on-seaglass.tex{background-image:url("../img/tex-seaglass.webp")}
.on-ocean.tex   {background-image:url("../img/tex-ocean.webp")}
.on-graphite.tex{background-image:url("../img/tex-graphite.webp");
  background-size:512px 512px;background-repeat:repeat;background-position:0 0}
.on-graphite.tex::after{content:none}
.on-stone.tex::before,.on-stone.tex::after,
.on-seaglass.tex::before,.on-seaglass.tex::after,
.on-ocean.tex::before,.on-ocean.tex::after,
.on-graphite.tex::before{content:none}
.on-stone.tex:nth-of-type(even){background-position:100% 85%}
.tex-sand{background:var(--sand) url("../img/tex-sand.webp") 50% 50% / cover no-repeat}
.hero-alt-video[hidden]{display:none!important}
.hero-video .hero-drift{display:none}
body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-bleed-media::after{
  background:rgba(20,19,17,.42)}
@media (max-width:760px){
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-bleed-media::after{
    background:rgba(20,19,17,.46)}
}
.hero-bleed-media video + .hero-drift,
.hero-bleed-media:has(video) .hero-drift{animation:none}
.hero-video .hero-bleed-media::after{background:rgba(20,19,17,.48)}
.diff-head{max-width:min(100%,900px)}
.diff-head .h1-sm{text-wrap:balance}
.diff-rows{margin-top:clamp(44px,5vw,76px);list-style:none;counter-reset:none}
.diff-row{padding-block:clamp(30px,3.4vw,52px);border-top:1px solid var(--line);
  display:grid;gap:clamp(18px,2.4vw,34px);align-items:start;min-width:0}
.diff-row:last-child{border-bottom:1px solid var(--line)}
@media (min-width:900px){
  .diff-row{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,4.6vw,88px)}
}
.diff-lead{min-width:0}
.diff-n{font-family:var(--f-display);font-weight:400;line-height:1;
  font-size:clamp(1.6rem,2.6vw,2.3rem);color:var(--ocean);
  margin-bottom:clamp(12px,1.4vw,18px)}
.diff-t{font-family:var(--f-text);font-weight:700;letter-spacing:-.025em;
  font-size:clamp(1.28rem,2vw,1.8rem);line-height:1.2;color:var(--fg);
  max-width:min(100%,460px);text-wrap:balance}
.diff-b{color:var(--soft);max-width:54ch;min-width:0}
.stage{position:relative;margin:clamp(44px,5vw,72px) auto 0;max-width:min(100%,660px);
  isolation:isolate}
.stage-plate{position:absolute;z-index:0;inset:46px -20px -20px 46%;
  background:var(--ocean);opacity:.38}
.stage-frame{display:none}
.stage .deco{--deco-w:clamp(200px,20vw,280px);
  position:absolute;z-index:3;width:var(--deco-w);height:auto;
  color:var(--sand);opacity:1;overflow:visible;pointer-events:none}
.stage .deco.tl{top:calc(-1 * (0.0325 * var(--deco-w) + 26px));
  left:calc(-1 * (0.0325 * var(--deco-w) + 26px))}
.stage .deco.br{bottom:calc(-1 * (0.0325 * var(--deco-w) + 26px));
  right:calc(-1 * (0.0325 * var(--deco-w) + 26px));transform:rotate(180deg)}
.js .stage.reveal .deco{opacity:0;transition:opacity .9s var(--ease) .25s}
.js .stage.reveal.in .deco{opacity:1}
.stage .gen{position:relative;z-index:2;margin:0;max-width:none;
  box-shadow:0 24px 60px rgba(9,10,10,.45)}
.stage .scene{grid-area:1 / 1;padding:clamp(18px,2.2vw,26px) clamp(16px,1.8vw,24px) clamp(20px,2.4vw,28px);
  opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
.stage-scenes{display:grid;position:relative;min-height:clamp(250px,27vw,320px)}
.stage[data-step="0"] .sc-up,.stage[data-step="1"] .sc-an,
.stage[data-step="2"] .sc-bd,.stage[data-step="3"] .sc-rv{opacity:1;visibility:visible}
.stage[data-step="1"] .gen-title::after{content:none}
.stage .gen-pill{transition:color .3s var(--ease),border-color .3s var(--ease)}
.stage[data-step="3"] .gen-pill{color:var(--graphite);border-color:var(--sand)}
.stage[data-step="3"] .gen-pill i{background:var(--sand);animation:none}
.up-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.up-title{font-family:var(--f-display);font-size:1.15rem;color:var(--graphite)}
.up-add{margin-left:auto;background:var(--ocean);color:var(--ivory);
  font-family:var(--f-text);font-weight:700;font-size:11px;letter-spacing:.03em;
  padding:6px 12px;border-radius:2px}
.up-table .up-stat{white-space:nowrap}
.up-prog{display:inline-flex;align-items:center;gap:8px}
.up-prog em{font-style:normal;font-weight:700;font-size:11px;color:var(--ocean);
  min-width:30px;display:inline-block}
.up-bar{display:inline-block;width:64px;height:4px;background:rgba(35,35,35,.12)}
.up-bar b{display:block;height:100%;width:0;background:var(--ocean)}
.up-table .up-stat{position:relative}
.up-ready{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:0}
.js .stage[data-step="0"] .up-new{animation:upRow .7s var(--ease) both}
.js .stage[data-step="0"] .up-bar b{animation:upFill 2.4s var(--ease) .5s forwards}
.js .stage[data-step="0"] .up-prog{animation:upSwap 0s linear 3.1s forwards}
.js .stage[data-step="0"] .up-ready{animation:upShow 0s linear 3.1s forwards}
@keyframes upRow{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes upFill{to{width:100%}}
@keyframes upSwap{to{display:none}}
@keyframes upShow{to{opacity:1}}
.an-doc{position:relative;overflow:hidden;background:var(--stone);
  border:1px solid rgba(35,35,35,.09);padding:16px 18px;display:grid;gap:9px}
.an-l{display:block;height:7px;background:rgba(35,35,35,.12)}
.an-l:nth-child(2n){width:88%}
.an-l:nth-child(3n){width:72%}
.an-scan{position:absolute;left:0;right:0;top:-30%;height:30%;
  background:rgba(0,111,129,.16);border-top:1px solid rgba(0,111,129,.5);
  border-bottom:1px solid rgba(0,111,129,.5)}
.js .stage[data-step="1"] .an-scan{animation:anScan 2.6s var(--ease) infinite}
@keyframes anScan{0%{top:-30%}100%{top:100%}}
.an-chips{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.an-chips li{font-family:var(--f-text);font-weight:700;font-size:11px;letter-spacing:.02em;
  color:var(--graphite);background:var(--ivory);border:1px solid rgba(35,35,35,.14);
  padding:5px 10px;border-radius:2px;opacity:0}
.an-chips b{color:var(--ocean);margin-left:6px}
.js .stage[data-step="1"] .an-chips li{
  animation:anChip .5s var(--ease) both;animation-delay:calc(.5s + var(--i) * .45s)}
@keyframes anChip{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rv-row{display:flex;align-items:center;gap:12px;padding:11px 2px;
  border-bottom:1px solid rgba(35,35,35,.09);
  font-family:var(--f-text);font-size:13px;color:rgba(35,35,35,.86);opacity:0}
.rv-tick{width:16px;height:16px;flex:0 0 auto;border:1px solid var(--ocean);
  position:relative}
.rv-tick::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;
  border-right:2px solid var(--ocean);border-bottom:2px solid var(--ocean);
  transform:rotate(45deg) scale(0);transform-origin:center}
.js .stage[data-step="3"] .rv-row{animation:anChip .45s var(--ease) both;
  animation-delay:calc(.3s + var(--i) * .5s)}
.js .stage[data-step="3"] .rv-tick::after{animation:rvTick .3s var(--ease) both;
  animation-delay:calc(.55s + var(--i) * .5s)}
@keyframes rvTick{to{transform:rotate(45deg) scale(1)}}
.rv-foot{margin-top:18px;opacity:0}
.rv-foot span{display:inline-block;background:var(--sand);color:var(--graphite);
  font-family:var(--f-text);font-weight:700;font-size:11.5px;letter-spacing:.03em;
  padding:7px 14px;border-radius:2px}
.js .stage[data-step="3"] .rv-foot{animation:anChip .5s var(--ease) both;animation-delay:2.5s}

@media (prefers-reduced-motion:reduce){
  .js .stage *{animation:none!important}
  .up-bar b{width:100%}
  .an-chips li,.rv-row,.rv-foot{opacity:1}
  .rv-tick::after{transform:rotate(45deg) scale(1)}
}
@media (max-width:900px){
  .stage-plate{display:none}
  .stage-frame{inset:-12px 52px 24px -12px}
  .stage .deco{display:none}
}
.dm-how .how-body > *,.stage,.stage-scenes,.stage .scene,.stage .gen{min-width:0}
.sc-up{overflow-x:auto}
.up-table{min-width:380px}
@media (max-width:560px){
  .up-table thead th:nth-child(3),.up-table tbody td:nth-child(3){display:none}
  .up-table{min-width:0}
  .sc-up{overflow-x:visible}
}
.about-intro{max-width:min(100%,640px)}
.about-intro-line{margin-top:clamp(18px,2vw,26px);font-family:var(--f-display);
  font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.2;color:var(--ivory)}
.about-intro-b{margin-top:clamp(12px,1.4vw,18px);max-width:52ch;
  color:rgba(255,255,250,.84);font-size:var(--t-body);line-height:1.6}
.origin-prose{min-width:0;max-width:62ch}
.origin-prose p + p{margin-top:clamp(14px,1.6vw,20px)}
.origin-prose .origin-sub{margin-bottom:clamp(8px,1vw,14px);color:var(--fg)}
.origin-prose p{color:var(--soft)}
.origin-prose .origin-close{margin-top:clamp(24px,2.8vw,36px);padding-top:clamp(18px,2vw,26px);
  border-top:1px solid var(--line);font-family:var(--f-display);
  font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.3;color:var(--fg)}
.origin-prose .origin-close--quote{margin-inline:0}
.origin-prose .origin-close--quote p{color:var(--fg);font:inherit;margin:0;font-style:italic}
.origin-prose .origin-close--quote p::before{content:"\201C"}
.origin-prose .origin-close--quote p::after{content:"\201D"}
.origin-prose .origin-close--quote cite{display:block;font-style:normal;
  font-family:var(--f-body);font-size:var(--t-small);color:var(--soft);
  margin-top:clamp(12px,1.4vw,18px);line-height:1.45}
.origin-prose .origin-close--quote cite span{display:block;color:var(--soft);opacity:.8}
.prin-lede{font-weight:700;color:var(--fg);margin-bottom:clamp(8px,1vw,12px)}
.final-in .deco{--deco-w:clamp(150px,15vw,230px);position:absolute;z-index:0;
  width:var(--deco-w);height:auto;color:var(--sand);opacity:.9;
  overflow:visible;pointer-events:none}
.final-in .deco.tl{top:clamp(14px,1.6vw,22px);left:clamp(14px,1.6vw,22px)}
.final-in .deco.br{bottom:clamp(14px,1.6vw,22px);right:clamp(14px,1.6vw,22px);
  transform:rotate(180deg)}
.final-in > :not(.deco):not(.final-arches){position:relative;z-index:1}
.js .final .final-in .deco{opacity:0;transition:opacity 1s var(--ease) .3s}
.js .final.in .final-in .deco{opacity:.9}
@media (max-width:700px){
  .final-in .deco{--deco-w:84px}
  .final-in .deco.tl{top:10px;left:10px}
  .final-in .deco.br{bottom:10px;right:10px}
}
body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-bleed-media video{
  object-fit:contain;object-position:50% 50%}
@media (min-width:761px){
  body[data-page="home"] .hero--bleed:has(.hero-cut-video){
    min-height:0;aspect-ratio:16 / 9}
}
@media (max-width:760px){
  body[data-page="home"] .hero--bleed:has(.hero-cut-video){
    display:block;min-height:0;padding:0 0 clamp(40px,8vw,56px)}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-bleed-media{
    position:relative;inset:auto;aspect-ratio:16 / 9;z-index:0}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-bleed-media::after{background:none}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video)::before{content:none}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .wrap{padding-top:clamp(28px,7vw,40px)}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-drift{display:none}
}
.diff-row{border-top:0;position:relative}
.diff-row:last-child{border-bottom:0}
.diff-row::before,.diff-row:last-child::after{content:"";position:absolute;left:0;right:0;
  height:1px;background:var(--line);transform-origin:0 50%}
.diff-row::before{top:0}
.diff-row:last-child::after{bottom:0}
.diff-lead{position:relative}
.diff-lead::before{content:"";position:absolute;left:0;
  top:calc(-1 * clamp(30px,3.4vw,52px) - 3px);width:clamp(56px,6vw,88px);height:7px;
  background:var(--ocean);clip-path:polygon(0 0,calc(100% - 3.5px) 0,100% 50%,calc(100% - 3.5px) 100%,0 100%);
  transform-origin:0 50%}

.js .diff-row.reveal{opacity:1;transform:none}
.js .diff-row::before,.js .diff-row:last-child::after{transform:scaleX(0);
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}
.js .diff-lead::before{transform:scaleX(0);
  transition:transform .7s cubic-bezier(.22,.61,.36,1) .35s}
.js .diff-row .diff-n,.js .diff-row .diff-t,.js .diff-row .diff-b{opacity:0;transform:translateY(12px);
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .diff-row .diff-n{transition-delay:.45s}
.js .diff-row .diff-t{transition-delay:.6s}
.js .diff-row .diff-b{transition-delay:.75s}

.js .diff-row.in::before,.js .diff-row.in:last-child::after,
.js .diff-row.in .diff-lead::before{transform:none}
.js .diff-row.in .diff-n,.js .diff-row.in .diff-t,.js .diff-row.in .diff-b{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .js .diff-row::before,.js .diff-row:last-child::after,.js .diff-lead::before,
  .js .diff-row .diff-n,.js .diff-row .diff-t,.js .diff-row .diff-b{
    transform:none!important;opacity:1!important;transition:none!important}
}
body[data-page="demands"] .prob-head{grid-column:1 / 8}
.collage{grid-column:8 / 13;position:relative;margin:clamp(8px,1vw,16px) 0 0;
  align-self:start;min-width:0;aspect-ratio:5 / 6}
.collage-frame{position:absolute;top:0;right:0;width:74%;aspect-ratio:4 / 5;
  border:1px solid var(--sand);transform:translate(16px,-16px);opacity:.75}
.collage-a{position:absolute;top:0;right:0;width:74%;aspect-ratio:4 / 5;overflow:hidden}
.collage-b{position:absolute;left:0;bottom:0;width:52%;aspect-ratio:1 / 1;
  padding:clamp(7px,.7vw,10px);background:var(--ivory);
  box-shadow:0 18px 44px rgba(35,35,35,.18),0 2px 6px rgba(35,35,35,.08)}
.collage img{display:block;width:100%;height:100%;object-fit:cover}
.js .collage.reveal .collage-b{opacity:0;transform:translate(-14px,14px);
  transition:opacity .8s var(--ease) .35s,transform .8s var(--ease) .35s}
.js .collage.reveal.in .collage-b{opacity:1;transform:none}
@media (max-width:1000px){
  body[data-page="demands"] .prob-head{grid-column:1 / -1}
  .collage{grid-column:1 / -1;max-width:560px;margin-top:clamp(28px,6vw,44px)}
}
@media (prefers-reduced-motion:reduce){
  .js .collage.reveal .collage-b{opacity:1;transform:none;transition:none}
}
@media (min-width:1101px){
  .foot-links{grid-column:5 / 13;justify-content:space-between;flex-wrap:nowrap}
}
@media (min-width:901px) and (max-width:1100px){
  .foot-links{grid-column:5 / 13}
}
.diff-b .prin-lede{font-weight:700;color:var(--fg);margin-bottom:clamp(8px,1vw,12px)}
.diff-b p + p{margin-top:0}
@media (min-width:1001px){
  .how-pin.pinned{height:calc(100vh + 4 * 42vh);height:calc(100svh + 4 * 42svh)}
  .how-pin.pinned .how-pin-in{position:sticky;top:0;height:100vh;height:100svh;
    display:flex;align-items:center;padding-top:clamp(64px,8vh,88px);
    background:var(--graphite) url("../img/tex-graphite.webp") 0 0 / 512px 512px repeat}
  .how-pin.pinned .how-body{width:100%;align-items:center}
  .how-pin.pinned .stage{position:relative;top:auto;margin-top:0}
  .how-pin.pinned .chain{margin-top:0}
  .how-pin.pinned .node{padding-bottom:clamp(16px,2.6vh,30px)}
  .how-pin.pinned .node .node-b{max-height:0;opacity:0;overflow:hidden;margin:0;
    transition:max-height .6s var(--ease),opacity .45s var(--ease),margin .6s var(--ease)}
  .how-pin.pinned .node.current .node-b{max-height:9em;opacity:1;margin-top:10px}
  .how-pin.pinned .node .node-q{margin-bottom:0;transition:opacity .4s var(--ease)}
  .how-pin.pinned .node:not(.current) .node-q{opacity:.55}
}
.collage-frame{display:none}
.collage-deco{position:absolute;top:0;right:0;width:74%;aspect-ratio:4 / 5;
  pointer-events:none;z-index:0}
.collage-a{z-index:1}.collage-b{z-index:2}
.collage-deco .deco{--deco-w:clamp(130px,12vw,190px);position:absolute;width:var(--deco-w);
  height:auto;color:var(--ocean);overflow:visible}
.collage-deco .deco.tl{top:calc(-1 * (0.0325 * var(--deco-w) + 16px));
  left:calc(-1 * (0.0325 * var(--deco-w) + 16px))}
.collage-deco .deco.br{bottom:calc(-1 * (0.0325 * var(--deco-w) + 16px));
  right:calc(-1 * (0.0325 * var(--deco-w) + 16px));transform:rotate(180deg)}
.js .collage.reveal .collage-deco{opacity:0;transition:opacity 1s var(--ease) .5s}
.js .collage.reveal.in .collage-deco{opacity:1}
@media (max-width:700px){ .collage-deco{display:none} }
.stage .gen{color:var(--graphite)}
.stage .ui-table td{color:rgba(35,35,35,.86)}
.stage .ui-table .case{color:var(--graphite)}
.stage .ui-table .meta{color:rgba(35,35,35,.56)}
.stage .ui-stat{font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:3px 9px;
  border-radius:2px;box-shadow:none}
.stage .ui-stat.review{background:rgba(200,170,110,.2);color:#6b5427}
.stage .ui-stat.appr{background:rgba(0,111,129,.1);color:var(--ocean)}
.stage .ui-stat.draft{background:transparent;color:rgba(35,35,35,.62);
  box-shadow:inset 0 0 0 1px rgba(35,35,35,.18)}
.stage .ui-stat.done{background:var(--ocean);color:var(--ivory)}
.idx-lead{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  padding-bottom:clamp(26px,3vw,40px)}
.idx-lead-t{font-size:var(--t-h2)}
.idx-lead-fig--photo{aspect-ratio:4 / 3;max-width:360px;justify-self:end}
@media (max-width:820px){
  .idx-lead-fig--photo{aspect-ratio:16 / 10;max-width:none;justify-self:stretch}
}
.proof-layer{position:relative}
.proof-deco{position:absolute;inset:0;pointer-events:none;z-index:0}
.proof-photo{position:relative;z-index:1}
.proof-deco .deco{--deco-w:clamp(130px,12vw,190px);position:absolute;width:var(--deco-w);
  height:auto;color:var(--ocean);overflow:visible}
.proof-deco .deco.tl{top:calc(-1 * (0.0325 * var(--deco-w) + 18px));
  left:calc(-1 * (0.0325 * var(--deco-w) + 18px))}
.proof-deco .deco.br{bottom:calc(-1 * (0.0325 * var(--deco-w) + 18px));
  right:calc(-1 * (0.0325 * var(--deco-w) + 18px));transform:rotate(180deg)}
@media (max-width:900px){ .proof-deco{display:none} }
body[data-page="home"] section.fork{padding-bottom:clamp(64px,7vw,112px)}
.on-seaglass .eyebrow{color:#005a69}
.on-ocean .eyebrow,.on-ocean .duo-label{color:var(--ivory)}
@media (min-width:901px){
  .dm-how.on-ocean .how-pin.pinned .how-pin-in{
    background:var(--ocean) url("../img/tex-ocean.webp") 50% 50% / cover no-repeat}
}
.dm-how.on-ocean .stage-plate{background:var(--graphite);opacity:.42}
.sect + .sect{position:relative}
.sect + .sect::before{content:"";position:absolute;left:0;right:0;top:0;height:22px;
  background:linear-gradient(to bottom,rgba(0,0,0,.14),rgba(0,0,0,0));
  pointer-events:none;z-index:2}
.final--bleed + .sect::before,.sect.hero--bleed + .sect::before,
.sect.compliance::before{content:none}
.firms-lab{color:var(--ocean)}
.duo-label{font-family:var(--f-display);font-weight:400;text-transform:none;
  letter-spacing:-.012em;font-size:var(--t-h3);line-height:1.1;color:var(--fg)}
.on-ocean .duo-label{color:var(--ivory)}
.duo-head{margin-top:.12em;color:var(--soft)}
@media (min-width:901px){
  .duo{grid-template-rows:auto auto auto auto 1fr}
  .duo-panel{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;
    align-content:start}
  .duo-panel > .duo-foot{align-self:end}
  .duo-photo{margin-top:0;align-self:end}
}
.foot-in--cols{align-items:start}
.foot-in--cols .foot-a{grid-column:1 / 5}
.foot-col{grid-column:span 2;min-width:0}
.foot-in--cols .foot-col:nth-of-type(2){grid-column:7 / 9}
.foot-in--cols .foot-col:nth-of-type(3){grid-column:9 / 11}
.foot-in--cols .foot-col:nth-of-type(4){grid-column:11 / 13}
.foot-h{font-family:var(--f-text);font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  font-size:var(--t-eyebrow);color:var(--sand);margin-bottom:16px}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-col a,.foot-col span{font-size:var(--t-small);color:rgba(255,255,250,.74);text-decoration:none}
.foot-col a:hover{color:var(--ivory);text-decoration:underline;text-underline-offset:4px}
.foot-addr{font-size:var(--t-small);color:rgba(255,255,250,.74);line-height:1.5}
.foot-legal{display:inline-flex;gap:clamp(16px,2vw,26px);flex-wrap:wrap}
.foot-legal a{color:rgba(255,255,250,.6);font-size:var(--t-small);text-decoration:none}
.foot-legal a:hover{color:var(--ivory);text-decoration:underline;text-underline-offset:4px}
.foot-bar{align-items:flex-start}
.legal-note{margin:0 0 clamp(26px,3vw,40px);padding:clamp(14px,1.6vw,20px) clamp(16px,1.8vw,22px);
  border-left:2px solid var(--sand);background:rgba(200,170,110,.08);
  font-size:var(--t-small);color:var(--fg)}
.foot-tbd{border-bottom:1px dashed rgba(200,170,110,.6);font-style:italic}
@media (max-width:900px){
  .foot-in--cols .foot-a{grid-column:1 / -1}
  .foot-in--cols .foot-col:nth-of-type(n){grid-column:span 4}
}
@media (max-width:560px){
  .foot-in--cols .foot-col:nth-of-type(n){grid-column:1 / -1}
}
@media (min-width:901px){
  .how-pin.pinned .how-pin-in{flex-direction:column;justify-content:center;align-items:stretch}
  .how-pin.pinned .how-head{margin-bottom:clamp(28px,4vh,48px)}
  .how-pin.pinned .how-head .h1{font-size:var(--t-h1-sm)}
  .dm-how.on-ocean{background-attachment:fixed}
  .dm-how.on-ocean .how-pin.pinned .how-pin-in{background:none}
}
.dm-how.on-ocean .node-n{color:rgba(255,255,250,.86)}
@media (min-width:901px){
  .dm-how.on-ocean .how-pin.pinned .node:not(.current) .node-q{opacity:.68}
}
.sc-an{display:flex;flex-direction:column;height:100%}
.sc-an .an-doc{flex:1;padding:18px 20px 16px;min-height:0}
.an-top{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px;padding-bottom:10px;
  border-bottom:1px solid rgba(35,35,35,.14);font-family:var(--f-text);font-weight:700;
  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(35,35,35,.62)}
.an-rec{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 16px;margin:0;
  font-family:var(--f-text);font-size:12px;line-height:1.5;color:rgba(35,35,35,.84)}
.an-rec dt{font-weight:700;color:rgba(35,35,35,.6);font-size:10.5px;letter-spacing:.04em;
  text-transform:uppercase;padding-top:2px}
.an-rec dd{margin:0}
.an-rec mark{background:transparent;color:inherit;border-radius:2px;padding:0 2px;
  transition:background-color .5s var(--ease)}
.js .stage[data-step="1"] .an-rec mark{animation:anHit .6s var(--ease) forwards;
  animation-delay:calc(.5s + var(--i) * .7s)}
@keyframes anHit{to{background:rgba(0,111,129,.16)}}
@media (prefers-reduced-motion:reduce){ .an-rec mark{background:rgba(0,111,129,.16)} }
.sc-an .an-doc{display:block}
.collage-deco{z-index:3}
.collage-deco .deco,.proof-deco .deco{--deco-stroke:1.75px}
.dm-stmt{padding-block:clamp(104px,11vw,168px)}
body[data-page="about"] .diff-lead::before{width:clamp(160px,28vw,430px)}
body[data-page="about"] .js .diff-lead::before,
.js body[data-page="about"] .diff-lead::before{transition-duration:1.5s}
.js body[data-page="about"] .diff-row .diff-n,
.js body[data-page="about"] .diff-row .diff-t,
.js body[data-page="about"] .diff-row .diff-b{transform:translateY(26px);transition-duration:.9s}
.js body[data-page="about"] .diff-row.in .diff-n,
.js body[data-page="about"] .diff-row.in .diff-t,
.js body[data-page="about"] .diff-row.in .diff-b{transform:none}
:root{--measure:min(100%,clamp(360px,42vw,600px));
  --tier-gap:clamp(22px,2.4vw,32px)}
.hero--bleed .hero-sub,.hero--bleed .hero-sub2{max-width:var(--measure)}
.hero--bleed .hero-sub2{margin-top:var(--tier-gap)}
.about-intro{max-width:var(--measure)}
.about-intro .hero-sub,.about-intro-b{max-width:none}
.about-intro-line{margin-top:var(--tier-gap)}
.about-intro-b{margin-top:clamp(14px,1.6vw,20px)}
.origin-prose{max-width:var(--measure)}
.origin-prose .origin-sub{margin-bottom:var(--tier-gap)}
.eyebrow--rule::after{height:3px;background:currentColor;opacity:.55}
.nav-links a::after{height:2px}
.final-in .eyebrow--rule::after,.stage-wrap .eyebrow--rule::after{opacity:.42}
.firms-lab{font-family:var(--f-display);font-weight:400;text-transform:none;
  letter-spacing:-.008em;font-size:var(--t-h3);line-height:1.15;
  color:rgba(35,35,35,.82);text-align:center;
  margin-bottom:clamp(34px,4vw,52px)}
@media (max-width:860px){ .firms-lab{padding-left:0} }
.compliance--slate .comp-video,.compliance--slate .comp-still{display:none}
.engine.on-stone .engine-lead{color:var(--soft)}
.engine.on-stone .node-q{color:var(--fg)}
.engine.on-stone .node-b{color:var(--soft)}
.engine.on-stone .eng-tunnel .ring path{stroke:rgba(200,170,110,.5)}
.engine.on-stone .eng-tunnel{opacity:.5}
.certs li{--cw:clamp(56px,5.4vw,78px);--pt:clamp(34px,3.6vw,52px);
  border:0;border-radius:0;
  padding:var(--pt) clamp(14px,1.6vw,22px) clamp(24px,2.4vw,32px)}
.certs li::before{content:"";position:absolute;
  top:calc(var(--pt) + var(--cw) / 2);left:50%;
  width:calc(var(--cw) * 1.66);height:calc(var(--cw) * 1.66);
  background:none;border:2px solid var(--sand);
  transform:translate(-50%,-50%) rotate(45deg)}
.certs li::after{content:none}
.cert-mark{width:var(--cw);color:var(--ivory);
  margin-bottom:calc(var(--cw) * 0.92);position:relative;z-index:1}
.cert-mark .s{stroke-linecap:butt}
.certs .cert-l{position:relative;z-index:1}
.compliance--home .certs li::before{border-color:var(--ocean)}
.compliance--home .cert-mark{color:var(--ocean)}
.hero--bleed .hero-sub2,.about-intro-b{font-size:var(--t-lead);line-height:1.55}
.dm-how .node{cursor:pointer}
.dm-how .node:focus-visible{outline:2px solid var(--sand);outline-offset:6px}
.dm-how .node:hover .node-q{color:var(--ivory)}
.stage .scene{display:flex;flex-direction:column}
.sc-bd .gen-p{flex:1}
.sc-rv{justify-content:space-between}
.sc-rv .rv-row{padding-block:clamp(10px,1.4vw,16px)}
.comp-still{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  background:var(--ocean) url("../img/comp-ocean-poster.jpg") center/cover no-repeat}
.comp-still img,.comp-still video{width:100%;height:100%;object-fit:cover;display:block}
.comp-still::after{content:"";position:absolute;inset:0;background:rgba(9,38,44,.5)}
.certs li{--cw:clamp(72px,7vw,96px)}
.certs li::before{width:calc(var(--cw) * 1.42);height:calc(var(--cw) * 1.42)}
.cert-mark{margin-bottom:calc(var(--cw) * 0.72)}
.cert-mark .s{stroke-width:2}
.engine.on-stone .node-n{color:var(--ocean)}
@media (max-width:900px){
  .foot-col ul{gap:0}
  .foot-col li{display:flex;align-items:center;min-height:44px}
  .foot-col li + li{border-top:1px solid rgba(255,255,250,.08)}
}
.engine.on-stone .outcome{color:var(--ocean)}
.engine.on-stone .outcome .sep{opacity:.55}
.about-stmt-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,4vw,64px);align-items:start}
.about-stmt-b{color:var(--soft);max-width:var(--measure)}
body[data-page="about"] #stmt-h{color:var(--ocean)}
@media (max-width:860px){ .about-stmt-in{grid-template-columns:1fr;gap:clamp(16px,3vw,24px)} }
@media (min-width:761px){
  body[data-page="home"] .hero--bleed:has(.hero-cut-video){
    aspect-ratio:auto;
    min-height:min(calc(100vw * 9 / 16), 76vh);
    min-height:min(calc(100vw * 9 / 16), 76svh)}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-bleed-media video{
    object-fit:cover}
}
@media (min-width:761px){
  body[data-page="home"] .hero--bleed:has(.hero-cut-video){
    padding-top:clamp(104px,16vh,196px);padding-bottom:clamp(30px,5vh,64px)}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) h1{
    font-size:min(var(--t-h1),8.4vh)}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-eyebrow{
    margin-bottom:clamp(14px,2.4vh,32px)}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-sub{
    margin-top:clamp(16px,2.6vh,38px);max-width:min(100%,clamp(520px,54vw,760px))}
  body[data-page="home"] .hero--bleed:has(.hero-cut-video) .hero-cta{
    margin-top:clamp(22px,3.4vh,52px)}
}
@media (min-width:761px){
  body:not([data-page="home"]) .hero--bleed{
    min-height:82vh;min-height:82svh;
    padding-block:clamp(134px,17vh,250px) clamp(40px,5vh,96px)}
  body:not([data-page="home"]) .hero--bleed h1{font-size:min(var(--t-h1),8.4vh)}
  body:not([data-page="home"]) .hero--bleed .hero-eyebrow{
    margin-bottom:clamp(14px,2.4vh,32px)}
  body:not([data-page="home"]) .hero--bleed .hero-sub{margin-top:clamp(16px,2.6vh,40px)}
  body:not([data-page="home"]) .hero--bleed .hero-sub2{margin-top:clamp(14px,2.2vh,32px)}
  body:not([data-page="home"]) .hero--bleed .hero-cta{margin-top:clamp(22px,3.4vh,52px)}
}
@media (min-width:761px){
  body[data-page="about"] .hero--bleed,body[data-page="resources"] .res-mast--bleed{
    min-height:clamp(520px,69vh,660px);
    padding-block:clamp(130px,17vh,210px) clamp(58px,7vw,92px)}
}
.certs{border-top:0;padding-top:clamp(18px,2.4vw,32px)}
.final-micro{text-align:center}
.eng-tunnel .ring path{stroke:rgba(195,227,214,.5)}
.engine.on-stone .eng-tunnel .ring path{stroke:rgba(0,111,129,.32)}
body[data-page="about"] .diff-lead::before{width:clamp(56px,6vw,88px)}
.chain .node-n{font-size:clamp(1.15rem,1.6vw,1.5rem);letter-spacing:-.01em}
.chain .node::before{width:13px;height:13px}
.chain-svg .ln{stroke-width:1.6}
.collage-a img,.collage-b img,.collage-a picture,.collage-b picture{border-radius:3px}
.collage-a,.collage-b{border-radius:3px;overflow:hidden;
  box-shadow:0 18px 40px rgba(20,19,17,.22)}
@media (min-width:900px){
  body[data-page="schedule"] .sect.pad{padding-block:clamp(104px,11vh,140px) clamp(48px,5vw,72px)}
  body[data-page="schedule"] .sched-head .h1{margin-top:clamp(14px,1.6vw,20px)}
  body[data-page="schedule"] .sched-form-head{margin-bottom:clamp(16px,1.8vw,22px)}
}
@media (min-width:1000px){
  .tour{grid-template-columns:1fr;gap:clamp(28px,3vw,44px)}
  .tour-side{display:block}
  .tour-stage{position:static;padding-top:0;align-items:center}
  .tour-steps{grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(14px,1.5vw,24px);
    padding-left:0;padding-top:clamp(30px,3vw,42px);
    margin-top:clamp(16px,1.8vw,24px)}
  .tour-steps::before,.tour-steps::after{left:0;right:auto;top:5px;bottom:auto;
    width:100%;height:1px}
  .tour-steps::after{width:var(--fill,0%);height:1px;
    transition:width var(--fill-t,.45s) linear}
  .tour-steps > li{flex-direction:column}
  .tour-steps > li > button{height:100%}
  .tour-steps > li::before{top:calc(clamp(30px,3vw,42px) * -1 + 0.5px);
    left:0;transform:rotate(45deg)}
  .tour-steps .h{min-height:2.6em}
}
@media (min-width:1000px) and (max-width:1200px){
  .tour-steps .d{font-size:.82rem;line-height:1.5}
}
@media (min-width:1001px){
  .dm-how .how-body{grid-template-columns:1fr;gap:clamp(30px,3.4vw,48px)}
  .dm-how .chain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(14px,1.6vw,26px);
    padding:clamp(30px,3vw,42px) 0 0;margin-top:clamp(22px,2.4vw,34px);
    position:relative}
  .dm-how .chain .chain-svg{display:none}
  .dm-how .chain::before,.dm-how .chain::after{content:"";position:absolute;
    left:0;top:5px;height:1px;pointer-events:none}
  .dm-how .chain::before{width:100%;background:var(--line-light)}
  .dm-how .chain::after{width:var(--fill,25%);background:var(--sand);
    transition:width .45s var(--ease)}
  .dm-how .chain > li{z-index:1}
  .dm-how .node{padding-bottom:0;cursor:pointer}
  .dm-how .node::before{top:calc(clamp(30px,3vw,42px) * -1 + 0.5px);left:0}
  .dm-how .node-q{min-height:2.5em}
  .dm-how .node-b{max-width:none}
  .dm-how .stage{position:static;margin-top:0}
  .dm-how .node:focus-visible{outline:2px solid var(--sand);outline-offset:8px}
}
@media (min-width:1001px) and (max-width:1240px){
  .dm-how .node-b{font-size:.86rem;line-height:1.55}
}
@media (min-width:1001px){
  .dm-how .stage{max-width:min(100%,980px);margin-inline:auto}
  .dm-how .stage-plate{display:none}
  .dm-how .stage .deco{display:none}
}
.dm-why .prob-n,
body[data-page="demands"] .prob-n{
  font-size:clamp(1.1rem,1.5vw,1.45rem);
  letter-spacing:.02em;
  color:var(--ocean)}
.js body[data-page="demands"] .prob-row:not(.active) .prob-n{
  color:rgba(0,111,129,.62)}
.js body[data-page="demands"] .prob-row:hover .prob-n,
.js body[data-page="demands"] .prob-row.active .prob-n{color:var(--ocean)}
.how-cta--head{margin:clamp(24px,2.8vw,36px) 0 0;padding-left:0}
.form-panel{padding:clamp(24px,2.8vw,38px);border-radius:3px;
  box-shadow:0 26px 56px rgba(20,19,17,.26)}
.form-panel #hs-form-mount [data-hsfc-id="Renderer"]{
  --hsf-default-field-input__border-color:var(--line-dark);
  --hsf-default-field-input__placeholder-color:rgba(35,35,35,.38);
  --hsf-default-field-textarea__border-color:var(--line-dark)}
.form-panel #hs-form-mount .hsfc-FieldLabel,
.form-panel #hs-form-mount .hsfc-FieldLabel span{color:rgba(35,35,35,.72)}
.form-panel #hs-form-mount .hsfc-FieldLabel span:not(.hsfc-FieldLabel__RequiredIndicator){
  color:rgba(35,35,35,.72)!important}
.form-panel #hs-form-mount .hsfc-FieldLabel__RequiredIndicator,
.form-panel #hs-form-mount .hsfc-FieldLabel span.hsfc-FieldLabel__RequiredIndicator{
  color:var(--ocean)}
.form-panel #hs-form-mount .hsfc-TextInput,
.form-panel #hs-form-mount .hsfc-TextareaInput{
  color:var(--graphite);border-bottom-color:var(--line-dark)}
.form-panel #hs-form-mount .hsfc-TextInput:focus,
.form-panel #hs-form-mount .hsfc-TextareaInput:focus{border-bottom-color:var(--ocean)}
.form-panel #hs-form-mount .hsfc-TextInput::placeholder,
.form-panel #hs-form-mount .hsfc-TextareaInput::placeholder{color:rgba(35,35,35,.38)}
.form-panel #hs-form-mount .hsfc-TextInput:-webkit-autofill{
  -webkit-text-fill-color:var(--graphite);
  -webkit-box-shadow:0 0 0 1000px var(--ivory) inset;
  caret-color:var(--graphite)}
.form-panel #hs-form-mount .hsfc-DropdownInput{
  color:var(--graphite);border-bottom-color:var(--line-dark)}
.form-panel #hs-form-mount .hsfc-DropdownInput:focus-within{border-bottom-color:var(--ocean)}
.form-panel #hs-form-mount .hsfc-DropdownInput__Caret,
.form-panel #hs-form-mount .hsfc-DropdownInput__Caret *{color:var(--ocean)}
.form-panel #hs-form-mount .hsfc-DropdownInput__Caret svg{fill:var(--ocean);stroke:var(--ocean)}
.form-panel #hs-form-mount .hsfc-TextInput--button{color:var(--graphite)}
.form-panel #hs-form-mount .hsfc-DropdownOptions{
  background:var(--ivory);border-color:var(--line-dark);color:var(--graphite)}
.form-panel #hs-form-mount .hsfc-DropdownOptions__List__ListItem{color:var(--graphite)}
.form-panel #hs-form-mount .hsfc-DropdownOptions__List__ListItem:hover,
.form-panel #hs-form-mount .hsfc-DropdownOptions__List__ListItem[aria-selected="true"]{
  background:rgba(0,111,129,.12);color:var(--graphite)}
.form-panel #hs-form-mount .hsfc-DropdownOptions__Search input{
  color:var(--graphite);border-bottom-color:var(--line-dark)}
.form-panel #hs-form-mount .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel,
.form-panel #hs-form-mount .hsfc-RadioFieldGroup__Options .hsfc-FieldLabel{color:rgba(35,35,35,.84)}
.form-panel #hs-form-mount .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel span,
.form-panel #hs-form-mount .hsfc-RadioFieldGroup__Options .hsfc-FieldLabel span,
.form-panel #hs-form-mount .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel span:not(.hsfc-FieldLabel__RequiredIndicator),
.form-panel #hs-form-mount .hsfc-RadioFieldGroup__Options .hsfc-FieldLabel span:not(.hsfc-FieldLabel__RequiredIndicator){
  color:rgba(35,35,35,.84)!important}
.form-panel #hs-form-mount .hsfc-CheckboxInput,
.form-panel #hs-form-mount .hsfc-RadioInput{accent-color:var(--ocean)}
.form-panel #hs-form-mount .hsfc-Button:hover{background:var(--graphite);color:var(--ivory)}
.form-panel #hs-form-mount .hsfc-ErrorAlert,
.form-panel #hs-form-mount [data-hsfc-id="ErrorAlert"]{color:var(--ocean)}
.form-panel #hs-form-mount [data-hsfc-id="RichText"] *{color:var(--graphite)!important}
.form-panel #hs-form-mount .hsfc-ReCaptchaV2 iframe{border-color:var(--line-dark)}
.form-panel .sched-note,
.form-panel .gate-note{color:rgba(35,35,35,.66);border-top-color:var(--line-dark)}
.form-panel .sched-note a,
.form-panel .gate-note a{color:var(--ocean)}
.res-rail-t a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:4px;text-decoration-color:rgba(0,111,129,.38);
  transition:color var(--dur-int) var(--ease),text-decoration-color var(--dur-int) var(--ease)}
.res-rail-t a:hover{color:var(--ocean);text-decoration-color:var(--ocean)}
.on-stone .btn-secondary,
.on-ivory .btn-secondary,
.on-seaglass .btn-secondary{
  background:var(--ocean);color:var(--ivory);border-color:var(--ocean)}
.on-stone .btn-secondary:hover,
.on-ivory .btn-secondary:hover,
.on-seaglass .btn-secondary:hover{
  background:var(--graphite);color:var(--ivory);border-color:var(--graphite)}
.form-panel .form-done p{color:rgba(35,35,35,.72)}
.form-panel .form-done .mk{color:var(--ocean)}
h1,h2,h3,.h1,.h1-sm,.h2,.h3,.lead,
.res-feat-t,.res-band-t,.idx-t,.steps-row b,.prod-name h3{
  text-wrap:balance}
p,li,blockquote,figcaption{text-wrap:pretty}
.foot-a p{text-wrap:balance;max-width:34ch}
@media (max-width:768px){
  .nav-btn-full{display:inline}
  .nav-btn-short{display:none}
}
@media (max-width:359px){
  .nav-btn-full{display:none}
  .nav-btn-short{display:inline}
}
@media (max-width:899px){
  .ben-vis{scrollbar-width:thin;scrollbar-color:var(--sand) transparent;
    padding-bottom:calc(clamp(13px,1.4vw,19px) + 6px)}
  .ben-vis::-webkit-scrollbar{height:6px}
  .ben-vis::-webkit-scrollbar-track{background:rgba(35,35,35,.07)}
  .ben-vis::-webkit-scrollbar-thumb{background:var(--sand)}
  .ben-vis .ui-settle{flex-wrap:wrap}
  .ben-vis .ui-settle .b{margin-left:0}
}
@media (max-width:768px){
  .foot-col li a{display:flex;align-items:center;min-height:44px;width:100%}
  .foot-addr{min-height:0}
  .foot-legal a{display:inline-flex;align-items:center;min-height:44px}
  .nav-panel .nav-panel-cta{display:inline-flex;align-items:center;gap:.6em;
    min-height:48px;padding:14px 26px;border-radius:2px;
    background:var(--sand);color:var(--graphite);
    margin-top:clamp(18px,3vh,28px)}
}
.nav-in{position:relative;z-index:101}

@media (max-width:768px){
  .form-panel{padding:clamp(26px,7vw,34px) clamp(22px,6vw,28px)}
  .res-events-note{display:flex;flex-direction:column;align-items:flex-start;
    gap:10px;line-height:1.5}
}
@media (max-width:899px){
  .ben-vis{overflow-x:hidden;container-type:inline-size}
  .ben-vis>*{zoom:calc(100cqw / 440px)}
  .ben-vis{scrollbar-width:auto;padding-bottom:clamp(13px,1.4vw,19px)}
  .ben-vis::-webkit-scrollbar{height:0}
}
@media (max-width:999px){
  .dm-how .stage{display:none}
  .node-scene{margin-top:clamp(16px,3.4vw,24px);
    background:var(--ivory);border:1px solid rgba(35,35,35,.12);
    border-radius:3px;overflow:hidden;
    box-shadow:0 14px 34px rgba(20,19,17,.16)}
  .node-scene .scene{opacity:1;visibility:visible;position:static;
    display:flex;flex-direction:column;grid-area:auto;
    padding:clamp(14px,3.4vw,20px)}
  .node-scene{container-type:inline-size}
  .node-scene .scene>*{max-width:100%}
  .node-scene .sc-up{overflow-x:hidden;zoom:min(1,calc(100cqw / 365px))}
}
@media (max-width:999px){
  .node-scene{color:var(--graphite);--fg:var(--graphite);--accent:var(--ocean);--line:var(--line-dark);
    --soft:rgba(35,35,35,.78);--faint:rgba(35,35,35,.68)}
  .node-scene .ui-table td{color:rgba(35,35,35,.86)}
  .node-scene .ui-table .case{color:var(--graphite)}
  .node-scene .ui-table .meta{color:rgba(35,35,35,.56)}
  .node-scene .ui-stat{font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:3px 9px;
    border-radius:2px;box-shadow:none}
  .node-scene .ui-stat.review{background:rgba(200,170,110,.2);color:#6b5427}
  .node-scene .ui-stat.appr{background:rgba(0,111,129,.1);color:var(--ocean)}
  .node-scene .ui-stat.draft{background:transparent;color:rgba(35,35,35,.62);
    box-shadow:inset 0 0 0 1px rgba(35,35,35,.18)}
  .node-scene .ui-stat.done{background:var(--ocean);color:var(--ivory)}

  .node-scene .an-chips li,.node-scene .rv-row,.node-scene .rv-foot{opacity:1}
  .node-scene .rv-tick::after{transform:rotate(45deg) scale(1)}
  .node-scene .up-bar b{width:100%}
  .node-scene .an-rec mark{background:rgba(0,111,129,.16)}
  .node-scene:not(.arm) .up-prog{display:none}
  .node-scene:not(.arm) .up-ready{opacity:1}

  .js .node-scene.arm .an-chips li,.js .node-scene.arm .rv-row,.js .node-scene.arm .rv-foot{opacity:0}
  .js .node-scene.arm .rv-tick::after{transform:rotate(45deg) scale(0)}
  .js .node-scene.arm .up-bar b{width:0}
  .js .node-scene.arm .an-rec mark{background:transparent}

  .js .node-scene.play .up-new{animation:upRow .7s var(--ease) both}
  .js .node-scene.play .up-bar b{animation:upFill 2.4s var(--ease) .5s forwards}
  .js .node-scene.play .up-prog{animation:upSwap 0s linear 3.1s forwards}
  .js .node-scene.play .up-ready{animation:upShow 0s linear 3.1s forwards}
  .js .node-scene.play .an-scan{animation:anScan 2.6s var(--ease) infinite}
  .js .node-scene.play .an-chips li{animation:anChip .5s var(--ease) both;animation-delay:calc(.5s + var(--i) * .45s)}
  .js .node-scene.play .an-rec mark{animation:anHit .6s var(--ease) forwards;animation-delay:calc(.5s + var(--i) * .7s)}
  .js .node-scene.play .rv-row{animation:anChip .45s var(--ease) both;animation-delay:calc(.3s + var(--i) * .5s)}
  .js .node-scene.play .rv-tick::after{animation:rvTick .3s var(--ease) both;animation-delay:calc(.55s + var(--i) * .5s)}
  .js .node-scene.play .rv-foot{animation:anChip .5s var(--ease) both;animation-delay:2.5s}
}
@media (min-width:561px) and (max-width:999px){
  .node-scene .sc-up{zoom:min(1,calc(100cqw / 480px))}
  .up-table{min-width:0}
}
@media (max-width:768px){
  .foot-in--cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:clamp(16px,5vw,28px);row-gap:clamp(26px,6vw,34px)}
  .foot-a{grid-column:1 / -1}
  .foot-h{margin-bottom:6px}
  .foot-addr{line-height:1.5;padding-block:6px}
  .foot-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 clamp(14px,4vw,22px)}
  .foot-bar{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
}
@media (max-width:899px){
  .firm-row .firm{width:clamp(132px,38vw,168px);height:54px}
  .firm-row{gap:clamp(26px,7vw,40px)}
  .firm-row+.firm-row{margin-top:clamp(20px,5vw,30px)}
  .firms{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%);
          mask-image:linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%)}
}
:root{
  --lead-display-xl:1.03;
  --lead-display:1.06;
  --lead-display-sm:1.16;
  --space-eyebrow-to-head:clamp(26px,3vw,38px);
  --space-head-to-body:clamp(16px,1.8vw,24px);
  --space-body-to-action:clamp(26px,3vw,36px);
}
.h1,h1{line-height:var(--lead-display-xl)}
.h1-sm,.h1.t2,h2.h1{line-height:var(--lead-display)}
.h3,h3{line-height:var(--lead-display-sm)}
.eyebrow + .h1,.eyebrow + .h1-sm,.eyebrow + h1,.eyebrow + h2,
.eyebrow + .h2,.eyebrow + .h3{margin-top:var(--space-eyebrow-to-head)}
@media (max-width:899px){
  .firm-row[hidden]{display:none}
  .firm-row+.firm-row{margin-top:0}
}
#hs-form-mount .hsfc-PhoneInput__FlagAndCaret{display:none}
#hs-form-mount .hsfc-PhoneInput{gap:0}
#hs-form-mount .hsfc-PhoneInput > .hsfc-TextInput{width:100%;padding-left:0}
#hs-form-mount .hsfc-DropdownInput{padding:11px 0 12px}
#hs-form-mount .hsfc-TextInput--button{padding-right:26px}
#hs-form-mount .hsfc-DropdownOptions__List__ListItem{padding-block:10px}
.foot-addr a{color:inherit;text-decoration:none;display:inline-block;
  padding-block:4px;min-height:44px}
.foot-addr a:hover{color:var(--ivory);text-decoration:underline;text-underline-offset:3px}
.foot-col > summary{list-style:none;cursor:default}
.foot-col > summary::-webkit-details-marker{display:none}
@media (min-width:769px){
  .foot-col > summary{pointer-events:none}
}
@media (max-width:768px){
  .foot-col{border-top:1px solid rgba(255,255,250,.10)}
  .foot-col > summary{cursor:pointer;display:flex;align-items:center;
    justify-content:space-between;min-height:48px;margin-bottom:0;
    padding-right:2px;-webkit-tap-highlight-color:transparent}
  .foot-col > summary::after{content:"";width:8px;height:8px;flex:0 0 auto;
    border-right:1.5px solid var(--sand);border-bottom:1.5px solid var(--sand);
    transform:rotate(45deg) translate(-2px,-2px);
    transition:transform var(--dur-int) var(--ease)}
  .foot-col[open] > summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
  .foot-col > ul{padding-bottom:10px}
  .foot-in--cols{grid-template-columns:1fr;row-gap:0}
  .foot-a{margin-bottom:clamp(22px,6vw,30px)}
}
