/* Shared Signal Architecture navigation. Finite entrances; no idle renderer. */
html body #site-menu.shell-dialog{inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:100dvh;padding:0;border:0;border-radius:0;background:#080d16;color:var(--cf-ink);overflow-x:hidden;overflow-y:auto;animation:none;transform:none;isolation:isolate;box-shadow:none;--menu-x:0;--menu-y:0}
#site-menu.shell-dialog::backdrop{background:#04070dec;backdrop-filter:none}
#site-menu .menu-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 88% 27%,#07598532,transparent 58%),linear-gradient(125deg,#121c29 0%,#080d16 52%);overflow:hidden}
#site-menu .menu-atmosphere:after{content:'';position:absolute;left:59%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#52677b44 15%,#019edb55 68%,transparent);transform:skewX(-12deg);transform-origin:top}
#site-menu .menu-shell{position:relative;display:flex;flex-direction:column;min-height:100%;max-width:1920px;margin:auto;padding:0 clamp(28px,4vw,80px) max(22px,env(safe-area-inset-bottom));gap:clamp(18px,3svh,34px)}
#site-menu .menu-top{display:flex;align-items:center;gap:24px;min-height:96px;padding-top:env(safe-area-inset-top);border-bottom:1px solid #6b8b9d36;flex:none}
#site-menu .menu-identity{display:flex;align-items:center;gap:12px}
#site-menu .menu-identity img:first-child{display:block;width:42px;height:30px;object-fit:contain}
#site-menu .menu-identity img:last-child{width:136px;height:auto;filter:brightness(0) invert(1)}
#site-menu .menu-top-note{margin-left:auto;font:10px/1.5 var(--cf-mono);letter-spacing:.1em;color:#8b9cab}
#site-menu.shell-dialog .menu-top .dialog-close{display:flex;align-items:center;gap:18px;margin:0 0 0 clamp(24px,5vw,90px);padding:0;min-height:48px;font:12px var(--cf-body);color:var(--cf-ink)}
#site-menu.shell-dialog .menu-top .menu-close-label{font:12px var(--cf-body)}
#site-menu.shell-dialog .menu-top .menu-close-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid #526477;border-radius:50%;background:#ffffff03;transition:border-color .2s,background-color .2s,color .2s}
#site-menu .menu-close-icon .shell-control-icon{width:20px;height:20px}
#site-menu .dialog-close:is(:hover,:focus-visible) .menu-close-icon{border-color:#619db9;background:#142b3b;color:var(--cf-light)}
#site-menu .menu-services-trigger .menu-link-arrow{display:grid;place-items:center}
#site-menu .menu-services-trigger .shell-control-icon{width:1em;height:1em}
#site-menu .menu-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:center;flex:1;min-height:0;padding:clamp(0px,1svh,18px) 0}
#site-menu .menu-navigation{min-width:0}
#site-menu .menu-eyebrow{display:flex;justify-content:space-between;font:10px/1.6 var(--cf-mono);letter-spacing:.07em;color:#8198ab}
#site-menu .menu-primary>.menu-eyebrow{margin-bottom:16px}
#site-menu.shell-dialog nav.menu-nav{display:flex;flex-direction:column;align-items:stretch;width:100%;margin:0;gap:0;font-family:var(--cf-display);text-transform:uppercase;letter-spacing:0;perspective:900px}
#site-menu.shell-dialog .menu-nav .menu-link{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 44px;align-items:center;gap:14px;padding:12px 0 18px;min-height:44px;margin:0;border:0;border-bottom:1px solid #7e98ab35;color:#edf3fa;text-align:left;font:500 clamp(54px,min(7.6vw,9svh),126px)/1.08 var(--cf-display);letter-spacing:0;overflow:hidden;transition:color .3s,background .3s}
#site-menu .menu-nav .menu-link:before{content:'';position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,#019edb,#8ee6ff,transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--cf-ease)}
#site-menu.shell-dialog .menu-nav .menu-number{align-self:center;transform:none;color:#7990a3;font:10px/1.5 var(--cf-mono);letter-spacing:0;transition:color .3s}
#site-menu .menu-label{display:block;transform-origin:left bottom;transition:transform .5s var(--cf-ease);white-space:nowrap}
#site-menu.shell-dialog .menu-nav .menu-link-arrow{font:300 clamp(30px,3vw,45px)/1 var(--cf-body);color:#67ddff;opacity:0;transform:translate(-12px,12px);transition:transform .45s var(--cf-ease),opacity .3s}
#site-menu.shell-dialog .menu-nav .menu-link:is(:hover,:focus-visible,[aria-current]){color:#67ddff;background:none;padding-left:0}
#site-menu .menu-nav .menu-link:is(:hover,:focus-visible):before{transform:scaleX(1)}
#site-menu .menu-link:is(:hover,:focus-visible) .menu-label{transform:translateX(8px)}
#site-menu.shell-dialog .menu-nav .menu-link:is(:hover,:focus-visible) .menu-link-arrow{opacity:1;transform:none}
#site-menu .menu-link:is(:hover,:focus-visible) .menu-number{color:#67ddff}
#site-menu.shell-dialog .menu-nav .menu-link:focus-visible{outline-offset:-3px}
#site-menu .menu-secondary{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:15px}
#site-menu .menu-secondary a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font:12px/1.4 var(--cf-body);color:#b5c4d0}
#site-menu .menu-secondary a span{color:#67ddff}#site-menu .menu-secondary a:hover{color:#fff}
#site-menu .menu-preview{position:relative;min-width:0;align-self:center}
#site-menu .menu-stage{position:relative;aspect-ratio:600/540;max-height:48svh;margin:auto;perspective:1000px;transform:translate3d(calc(var(--menu-x)*8px),calc(var(--menu-y)*5px),0);transition:transform .8s var(--cf-ease)}
#site-menu .menu-architecture{position:absolute;inset:-4% -3%;width:106%;height:108%;overflow:visible;transform:rotateX(calc(var(--menu-y)*-3deg)) rotateY(calc(var(--menu-x)*5deg)) rotateZ(var(--menu-orbit,0deg));transition:transform .8s var(--cf-ease);pointer-events:none}
#site-menu .menu-contour{stroke:#376177;stroke-width:1;vector-effect:non-scaling-stroke}
#site-menu .menu-contour-back{stroke:#1b3b50}#site-menu .menu-contour-inner{stroke:#214656}
#site-menu .menu-light-cut{stroke:#019edb;stroke-width:2;filter:drop-shadow(0 0 5px #019edb88);vector-effect:non-scaling-stroke}
#site-menu .menu-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(24px) scale(.94) rotateY(-8deg);transition:opacity .4s,transform .65s var(--cf-ease),visibility .65s;pointer-events:none;transform-style:flat}
#site-menu[data-menu-view=home] [data-menu-scene=home],#site-menu[data-menu-view=services] [data-menu-scene=services],#site-menu[data-menu-view=projects] [data-menu-scene=projects],#site-menu[data-menu-view=about] [data-menu-scene=about]{opacity:1;visibility:visible;transform:translateY(0) scale(1) rotateY(0)}
#site-menu .menu-glass{position:absolute;inset:16% 12%;border:1px solid #6eacc559;border-radius:2px;background:linear-gradient(128deg,#33556650,#0c1b2aaf 42%,#0a1425f5);box-shadow:inset 0 0 0 7px #20354a44,0 20px 60px #0003;transform:rotateX(8deg) rotateY(-22deg) rotateZ(-6deg);backface-visibility:hidden}
#site-menu .menu-glass-back{transform:translate(-38px,-29px) rotateX(8deg) rotateY(-22deg) rotateZ(-6deg);opacity:.5;border-color:#517286}
#site-menu .menu-glass-middle{transform:translate(-19px,-14px) rotateX(8deg) rotateY(-22deg) rotateZ(-6deg);opacity:.8}
#site-menu .menu-glass-front{display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:24px;transform:rotateX(calc(8deg + var(--menu-y)*-3deg)) rotateY(calc(-22deg + var(--menu-x)*6deg)) rotateZ(-6deg);transition:transform .8s var(--cf-ease);border-color:#71bbd6;background:linear-gradient(128deg,#5a809044,#0d1d2eda 42%,#0b1424f5);box-shadow:inset 0 0 0 7px #5488a018,2px 3px 0 #315871,4px 5px 0 #112637,0 25px 60px #0006}
#site-menu .menu-glass-front:after{content:'';position:absolute;inset:-60% -40%;background:linear-gradient(110deg,transparent 38%,#dff5ff18 49%,#dff5ff03 58%,transparent 64%);transform:translateX(calc(var(--menu-x)*25%));pointer-events:none;transition:transform .8s var(--cf-ease)}
#site-menu .menu-glass-index{font:8px/1.6 var(--cf-mono);letter-spacing:.035em;color:#a5c0d1}
#site-menu .menu-sculpture{display:block;width:90%;height:auto;margin:auto;filter:drop-shadow(0 6px 0 #142d43) drop-shadow(0 0 16px #019edb28)}
#site-menu .menu-glass-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #40768d;padding-top:15px;font:9px/1.5 var(--cf-mono);color:#9fc8de}
#site-menu .menu-glass-foot>span{font-size:24px;color:#67ddff}
#site-menu .menu-service-art{position:absolute;inset:5% -7%;transform:rotateY(-12deg) rotateZ(-4deg);filter:drop-shadow(0 20px 20px #0004)}
#site-menu .menu-service-art .cf-story-art{width:100%;height:100%;position:static!important;transform:none!important;opacity:1!important}
#site-menu .menu-service-art svg{display:block;width:100%;height:100%}
#site-menu .menu-work-plane{position:absolute;display:block;margin:0;width:65%;border:1px solid #6a9ab16e;border-radius:5px;background:#0a1422;box-shadow:0 24px 46px #0008;overflow:hidden}
#site-menu .menu-work-plane img{display:block;width:100%;height:auto;aspect-ratio:1745/1432;object-fit:cover}
#site-menu .menu-work-plane figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;font:11px/1.4 var(--cf-body);color:#edf3fa}
#site-menu .menu-work-plane figcaption span{font:7px var(--cf-mono);color:#8aa8bd}
#site-menu .menu-work-plane-1{top:4%;left:0;transform:rotateY(18deg) rotateZ(-8deg);opacity:.8}
#site-menu .menu-work-plane-2{right:0;bottom:4%;transform:rotateY(-12deg) rotateZ(5deg)}
#site-menu .menu-about-plane{position:absolute;inset:5% 6%;padding:25px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#1b3648,#0b1524 66%);border:1px solid #416b82;box-shadow:7px 8px 0 #203547,0 24px 50px #0006;transform:rotateY(-15deg) rotateZ(-5deg)}
#site-menu .menu-about-type{font:500 clamp(38px,4.5vw,78px)/1.05 var(--cf-display);letter-spacing:0;color:#edf3fa;text-transform:uppercase}
#site-menu .menu-about-type em{font:inherit;color:#67ddff}
#site-menu .menu-preview-copy{position:relative;border-top:1px solid #54718b55;margin:8px 5% 0;padding-top:20px}
#site-menu .menu-preview-index{display:block;font:9px/1.5 var(--cf-mono);letter-spacing:.035em;color:#67ddff}
#site-menu.shell-dialog .menu-preview-title{font:500 clamp(18px,1.7vw,27px)/1.35 var(--cf-body);margin:12px 0 8px;color:#edf3fa}
#site-menu.shell-dialog .menu-preview-description{font:400 13px/1.65 var(--cf-body);color:#8fa5b9;max-width:35ch}
#site-menu .menu-bottom{display:grid;grid-template-columns:minmax(210px,1fr) minmax(250px,1.45fr) minmax(130px,.6fr);align-items:center;gap:clamp(24px,4vw,65px);padding-top:24px;border-top:1px solid #6b8b9d36;flex:none}
#site-menu.shell-dialog .menu-bottom-info p{font:12px/1.7 var(--cf-body);color:#aabcc9;margin:9px 0 2px}
#site-menu .menu-client-links{display:flex;flex-wrap:wrap;gap:20px}#site-menu .menu-client-links a{display:flex;align-items:center;min-height:44px;font:11px var(--cf-body);color:#d5e1e9}
#site-menu .menu-engage{position:relative;width:100%;display:flex;flex-direction:column;justify-content:center;gap:12px;text-align:left;padding:22px 26px;border:1px solid #3d7d97;background:linear-gradient(115deg,#183348,#102337);border-radius:3px;color:#edf3fa;min-height:112px;transition:background .3s,border-color .3s}
#site-menu .menu-engage:hover{background:#163c52;border-color:#a1e8ff}
#site-menu .menu-engage-label{font:8px/1.5 var(--cf-mono);letter-spacing:.07em;color:#83bdd6}
#site-menu .menu-engage-title{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;font:500 clamp(20px,2vw,32px)/1.15 var(--cf-body)}
#site-menu .menu-engage-title>span{font:300 38px/1 var(--cf-body);color:#67ddff}
#site-menu .menu-preferences{display:flex;flex-direction:column;align-items:flex-end}
#site-menu .menu-preferences button{display:flex;align-items:center;gap:14px;padding:10px 0;min-height:44px;font:11px/1.5 var(--cf-body);color:#9bb0c2}
#site-menu .menu-preferences button:hover,#site-menu .menu-client-links a:hover{color:#67ddff}
#site-menu .menu-preferences button:disabled{opacity:.7}
/* Scene-specific assembly shares the same motion owner; quiet states stay complete. */
#site-menu[data-menu-view=services]{--menu-orbit:5deg}
#site-menu[data-menu-view=projects]{--menu-orbit:-5deg}
#site-menu[data-menu-view=about]{--menu-orbit:3deg}
#site-menu .menu-about-line{display:block;overflow:hidden;padding-bottom:.055em;margin-bottom:-.055em}
#site-menu .menu-about-line>span{display:block}
#site-menu .menu-service-art [data-signal-bar]{transform-box:fill-box;transform-origin:50% 100%}
#site-menu .menu-reveal-clip{position:absolute;inset:3% -3%;overflow:hidden;pointer-events:none;z-index:2;clip-path:polygon(12% 0,88% 0,100% 18%,100% 89%,88% 100%,5% 100%,0 90%,0 12%)}
#site-menu .menu-reveal-light{position:absolute;inset:0 auto 0 0;width:30%;opacity:0;background:linear-gradient(90deg,transparent,#019edb09 20%,#67ddff20 78%,#e3faff80 99%,transparent);transform:translateX(-105%) skewX(-15deg);pointer-events:none}
@keyframes menu-shell-reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes menu-type-reveal{from{opacity:0;transform:translate3d(0,110%,0) rotateX(-30deg)}to{opacity:1;transform:none}}
@keyframes menu-stage-reveal{from{opacity:0;transform:translate3d(35px,30px,0) scale(.9)}to{opacity:1;transform:none}}
@keyframes menu-line-reveal{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}
#site-menu[open] .menu-top,#site-menu[open] .menu-bottom,#site-menu[open] .menu-secondary,#site-menu[open] .menu-preview-copy{animation:menu-shell-reveal .65s var(--cf-ease) both}
#site-menu[open] .menu-bottom{animation-delay:.22s}#site-menu[open] .menu-secondary{animation-delay:.24s}#site-menu[open] .menu-preview-copy{animation-delay:.3s}
#site-menu[open] .menu-label{animation:menu-type-reveal .75s cubic-bezier(.16,1,.3,1) backwards;animation-delay:.06s}
#site-menu[open] .menu-link:nth-child(2) .menu-label{animation-delay:.11s}#site-menu[open] .menu-link:nth-child(3) .menu-label{animation-delay:.16s}#site-menu[open] .menu-link:nth-child(4) .menu-label{animation-delay:.21s}
#site-menu[open] .menu-preview{animation:menu-stage-reveal .9s cubic-bezier(.16,1,.3,1) .12s both}
#site-menu[open] .menu-architecture path{stroke-dasharray:1;animation:menu-line-reveal 1.1s var(--cf-ease) .15s both}
#site-menu[open] .menu-architecture .menu-light-cut{animation-delay:.3s}
@media(min-width:901px) and (max-height:850px){#site-menu .menu-top{min-height:76px}#site-menu .menu-shell{gap:14px;padding-bottom:16px}#site-menu .menu-main{padding:0}#site-menu .menu-navigation>.menu-eyebrow{margin-bottom:6px}#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(46px,9.5svh,74px);padding:8px 0 10px}#site-menu .menu-stage{max-height:43svh}#site-menu .menu-bottom{padding-top:15px}#site-menu .menu-bottom-info p{display:none}#site-menu .menu-engage{min-height:90px;padding:15px 22px}#site-menu .menu-secondary{margin-top:5px}}
@media(max-width:1000px){#site-menu .menu-main{gap:24px}#site-menu.shell-dialog .menu-nav .menu-link{grid-template-columns:25px minmax(0,1fr) 32px;gap:9px}#site-menu .menu-bottom{grid-template-columns:1fr 1.4fr;gap:12px 26px}#site-menu .menu-preferences{grid-column:1/-1;flex-direction:row;gap:24px;justify-content:flex-end}#site-menu .menu-preview-description{font-size:12px}#site-menu .menu-glass-front{padding:15px}#site-menu .menu-glass-index{font-size:7px}}
@media(max-width:800px){html body #site-menu.shell-dialog{height:100dvh;max-height:100dvh}#site-menu .menu-shell{padding:0 max(22px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom));gap:20px}#site-menu .menu-top{min-height:80px}#site-menu .menu-top-note{display:none}#site-menu .menu-top .dialog-close{margin-left:auto!important}#site-menu .menu-main{display:block;flex:1;padding:0}#site-menu .menu-preview{display:none}#site-menu .menu-atmosphere:after{left:95%}#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(48px,10vw,80px);padding:9px 0 14px;grid-template-columns:25px minmax(0,1fr) 32px;gap:10px}#site-menu.shell-dialog .menu-nav .menu-link-arrow{opacity:.5;transform:none;font-size:28px}#site-menu .menu-secondary{gap:26px;margin-top:9px}#site-menu .menu-bottom{padding-top:18px;grid-template-columns:1fr;gap:16px}#site-menu .menu-engage{grid-row:1;min-height:90px;padding:18px 20px;gap:9px}#site-menu .menu-engage-title{font-size:23px}#site-menu .menu-bottom-info{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}#site-menu .menu-bottom-info>.menu-eyebrow{display:none}#site-menu.shell-dialog .menu-bottom-info p{margin:0;font-size:10px}#site-menu .menu-client-links{gap:16px}#site-menu .menu-client-links a{font-size:10px}#site-menu .menu-preferences{grid-column:1;justify-content:flex-start;gap:24px;border-top:1px solid #6b8b9d25;padding-top:2px}#site-menu .menu-preferences button{font-size:10px}}
@media(max-width:420px){#site-menu .menu-identity{gap:8px}#site-menu .menu-identity img:first-child{width:32px;height:24px}#site-menu .menu-identity img:last-child{width:112px}#site-menu .menu-top{gap:12px}#site-menu.shell-dialog .menu-top .menu-close-label{display:none}#site-menu .menu-top .dialog-close{gap:0}#site-menu.shell-dialog .menu-top .menu-close-icon{width:44px;height:44px}#site-menu .menu-shell{gap:16px}#site-menu .menu-engage-title{font-size:20px}#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(40px,12vw,50px)}#site-menu .menu-bottom-info{display:block}#site-menu .menu-client-links{margin-top:2px}}
@media(max-width:360px){#site-menu.shell-dialog .menu-nav .menu-link{font-size:36px;grid-template-columns:20px minmax(0,1fr) 24px;gap:8px}}
@media(max-height:500px) and (min-width:601px){#site-menu .menu-preview{display:none}#site-menu .menu-main{display:block}#site-menu .menu-shell{gap:14px}#site-menu .menu-top{min-height:68px}#site-menu.shell-dialog nav.menu-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}#site-menu.shell-dialog .menu-nav .menu-link{font-size:42px;padding:10px 0}#site-menu .menu-bottom{grid-template-columns:1fr 1fr;gap:12px}#site-menu .menu-preferences{grid-column:1/-1;justify-content:flex-start}#site-menu .menu-engage{grid-row:auto}#site-menu .menu-top-note{display:none}}
@media(horizontal-viewport-segments:2){html body #site-menu.shell-dialog{width:env(viewport-segment-width 0 0);max-width:env(viewport-segment-width 0 0);left:0;right:auto}#site-menu .menu-main{display:block}#site-menu .menu-preview{display:none}#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(38px,5vw,66px)}#site-menu .menu-bottom{grid-template-columns:1fr}#site-menu .menu-preferences{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html body #site-menu.shell-dialog *,html body #site-menu.shell-dialog *:before,html body #site-menu.shell-dialog *:after{animation:none!important;transition:none!important}#site-menu .menu-stage,#site-menu .menu-architecture{transform:none}}
html[data-motion=off] body #site-menu.shell-dialog *,html[data-motion=off] body #site-menu.shell-dialog *:before,html[data-motion=off] body #site-menu.shell-dialog *:after{animation:none!important;transition:none!important}
html[data-motion=off] #site-menu .menu-stage,html[data-motion=off] #site-menu .menu-architecture{transform:none}

/* 218: client routes live beside the main navigation, not below the footer. */
#site-menu .menu-client-area{margin-top:clamp(18px,3svh,32px);padding:16px 20px;border:1px solid #365268;background:#10213177}
#site-menu .menu-client-area>.menu-eyebrow{font-size:9px;color:#92b3c7}
#site-menu .menu-client-area .menu-client-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:6px}
#site-menu .menu-client-area .menu-client-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font:500 13px/1.4 var(--cf-body);color:#edf3fa}
#site-menu .menu-client-area .menu-client-links a>span:last-child{color:var(--cf-light);font-size:20px}
#site-menu .menu-client-area .menu-client-links a:hover{color:var(--cf-light)}
@media(max-height:850px) and (min-width:901px){#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(42px,7.5svh,64px)}#site-menu .menu-client-area{margin-top:12px;padding:10px 16px}#site-menu .menu-client-area .menu-client-links{margin-top:0}}
@media(max-width:800px){#site-menu .menu-client-area{margin-top:18px;padding:12px 16px}#site-menu .menu-client-area .menu-client-links{gap:16px}}

/* 278: a complete service directory inside the existing full-screen menu. */
#site-menu [hidden]{display:none!important}
#site-menu .menu-top{position:sticky;top:0;z-index:5;background:#0b1520}
#site-menu.shell-dialog .menu-nav button.menu-link{width:100%;background:none;border-radius:0;text-transform:uppercase;cursor:pointer}
#site-menu.shell-dialog .menu-nav .menu-services-trigger .menu-link-arrow{opacity:1;transform:none;font-size:30px;font-weight:300}
#site-menu.shell-dialog .menu-nav .menu-services-trigger[data-current-service]{color:#67ddff}
#site-menu .menu-services-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
#site-menu .menu-back,#site-menu .menu-overview{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;font:500 12px/1.4 var(--cf-body);color:#b5c4d0;background:none;border:0;border-radius:0;text-decoration:none;cursor:pointer}
#site-menu .menu-back>span,#site-menu .menu-overview>span{font-size:20px;color:#67ddff}
#site-menu :is(.menu-back,.menu-overview):is(:hover,:focus-visible){color:#edf3fa}
#site-menu .menu-services-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0 20px;border-bottom:1px solid #6b8b9d60}
#site-menu.shell-dialog .menu-services-heading h2{font:500 clamp(40px,4.2vw,64px)/1.12 var(--cf-display);letter-spacing:0;margin:0}
#site-menu .menu-services-heading .menu-eyebrow{white-space:nowrap;color:#a8b6c9;font-size:9px}
#site-menu.shell-dialog nav.menu-service-nav{display:flex;align-items:stretch;gap:0;margin:0;padding:0;perspective:none;text-transform:none;letter-spacing:0}
#site-menu.shell-dialog .menu-service-nav .menu-service-link{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:16px;width:100%;min-height:72px;margin:0;padding:13px 0;border-bottom:1px solid #6b8b9d36;border-radius:0;background:none;font:400 16px/1.35 var(--cf-body);color:#edf3fa;text-decoration:none;transition:background .25s,color .25s}
#site-menu .menu-service-number{font:10px/1.5 var(--cf-mono);color:var(--service-accent)}
#site-menu .menu-service-copy{display:grid;gap:5px;min-width:0;transition:translate .35s var(--cf-ease)}
#site-menu .menu-service-name{font:500 clamp(17px,1.55vw,25px)/1.3 var(--cf-body);text-wrap:balance}
#site-menu .menu-service-summary{font:400 12px/1.5 var(--cf-body);color:#a8b6c9}
#site-menu .menu-service-arrow{font:300 23px/1 var(--cf-body);color:var(--service-accent);transition:translate .35s var(--cf-ease)}
#site-menu .menu-service-link:before{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--service-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--cf-ease)}
#site-menu.shell-dialog .menu-service-nav .menu-service-link:is(:hover,:focus-visible,[aria-current]){color:var(--service-accent);background:linear-gradient(90deg,var(--service-wash),transparent)}
#site-menu .menu-service-link:is(:hover,:focus-visible):before{transform:scaleX(1)}
#site-menu .menu-service-link:is(:hover,:focus-visible) .menu-service-copy{translate:4px 0}
#site-menu .menu-service-link:is(:hover,:focus-visible) .menu-service-arrow{translate:2px -2px}
#site-menu .menu-service-link:focus-visible{outline:2px solid var(--service-accent);outline-offset:3px;z-index:1}
#site-menu :is(.menu-back,.menu-overview):focus-visible{outline:2px solid #67ddff;outline-offset:4px}
#site-menu .menu-preview .menu-preview-index{color:var(--service-accent)}
#site-menu .menu-preview .menu-contour{stroke:color-mix(in srgb,var(--service-accent) 38%,#1b3045)}
#site-menu .menu-preview .menu-contour-back,#site-menu .menu-preview .menu-contour-inner{stroke:color-mix(in srgb,var(--service-accent) 20%,#142537)}
#site-menu .menu-preview .menu-light-cut{stroke:var(--service-accent);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--service-accent) 40%,transparent))}
#site-menu .menu-preview .menu-reveal-light{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--service-accent) 5%,transparent) 20%,color-mix(in srgb,var(--service-accent) 13%,transparent) 78%,#e3faff80 99%,transparent)}
/* Fragment destinations remain clear of the fixed shared header. */
.cf-service[id^="service-"],#business-services{scroll-margin-top:calc(var(--shell-height,96px) + 24px)}
@media(min-width:801px){
 #site-menu[data-menu-level=services] .menu-main{align-items:start}
 #site-menu[data-menu-level=services] .menu-preview{position:sticky;top:118px;align-self:start;margin-top:52px}
 #site-menu[data-menu-level=services] .menu-client-area{margin-top:12px;padding:10px 16px}
}
@media(min-width:901px) and (max-height:850px){
 #site-menu .menu-primary>.menu-eyebrow{margin-bottom:6px}
 #site-menu .menu-services-heading{padding:4px 0 12px}
 #site-menu.shell-dialog .menu-services-heading h2{font-size:40px}
 #site-menu.shell-dialog .menu-service-nav .menu-service-link{min-height:62px;padding:9px 0}
 #site-menu .menu-service-copy{gap:3px}
 #site-menu .menu-service-name{font-size:18px}
 #site-menu[data-menu-level=services] .menu-preview{top:96px;margin-top:40px}
}
@media(max-width:1000px){#site-menu .menu-service-name{font-size:17px}#site-menu.shell-dialog .menu-service-nav .menu-service-link{gap:12px}}
@media(max-width:800px){
 #site-menu .menu-services-top{gap:12px}
 #site-menu .menu-services-heading{padding:8px 0 18px}
 #site-menu .menu-primary>.menu-eyebrow{margin-bottom:10px}
 #site-menu .menu-service-name{font-size:19px}
 #site-menu.shell-dialog .menu-service-nav .menu-service-link{min-height:78px;padding:14px 0;grid-template-columns:22px minmax(0,1fr) 22px;gap:12px}
 #site-menu .menu-service-summary{font-size:12px}
}
@media(max-width:420px){
 #site-menu .menu-back,#site-menu .menu-overview{font-size:11px;gap:8px}
 #site-menu .menu-service-name{font-size:17px}
 #site-menu .menu-service-summary{font-size:11px}
 #site-menu.shell-dialog .menu-service-nav .menu-service-link{grid-template-columns:18px minmax(0,1fr) 18px;gap:10px}
 #site-menu .menu-service-arrow{font-size:20px}
}
@media(max-width:360px){
 #site-menu .menu-services-heading{gap:12px}
 #site-menu.shell-dialog .menu-services-heading h2{font-size:32px;white-space:nowrap}
 #site-menu .menu-services-heading .menu-eyebrow{font-size:8px}
}
@media(prefers-reduced-motion:reduce){#site-menu .menu-service-copy,#site-menu .menu-service-arrow{translate:none!important}}
html[data-motion=off] #site-menu .menu-service-copy,html[data-motion=off] #site-menu .menu-service-arrow{translate:none!important}
