/* Glass V1 — sitewide visual language for non-home legacy routes.
   Editorial text, markup, form bindings, animations, and route URLs remain intact.
   Original homepage Glass V1 + ambient + spacing files remain untouched. */
:root{--siteglass-ink:#122b52;--siteglass-muted:#536b8c;--siteglass-blue:#1165e8;
 --siteglass-shadow:0 24px 66px rgba(37,90,159,.095),inset 0 1px 0 rgba(255,255,255,.74)}
body.v13-legacy{background:#f5faff;color:var(--siteglass-ink);font-family:Alexandria,Tahoma,Arial,sans-serif}
.v13-legacy main{color:var(--siteglass-ink)}
.v13-legacy .wrap,.v13-legacy .v9-shell{max-width:1240px}
.v13-legacy main .v9-hero,
.v13-legacy main .p8-hero,
.v13-legacy main .hero.compact,
.v13-legacy main .req-hero {
 background:radial-gradient(ellipse 55% 73% at 8% 38%,rgba(157,205,255,.45),transparent 74%),
 radial-gradient(ellipse 44% 68% at 93% 12%,rgba(184,216,255,.52),transparent 75%),
 linear-gradient(138deg,#f9fcff 0%,#f1f8ff 48%,#e8f3ff 100%);
 color:#112b51;
}
.v13-legacy main .v9-hero,.v13-legacy main .hero.compact,
.v13-legacy main .p8-hero{padding-block:clamp(78px,7vw,100px);min-height:0}
.v13-legacy main .req-hero{padding-block:clamp(66px,5vw,88px)}
.v13-legacy main .v9-hero h1,.v13-legacy main .p8-hero h1,
.v13-legacy main .hero.compact h1,.v13-legacy main .req-hero h1 {
 color:#0b2850;letter-spacing:-.042em;font-weight:900;line-height:1.48;
 font-size:clamp(35px,4.1vw,62px);text-wrap:balance
}
.v13-legacy main .v9-hero h1 em,.v13-legacy main .p8-hero h1 em,
.v13-legacy main .hero.compact h1 em,.v13-legacy main .req-hero h1 em {
 background:linear-gradient(108deg,#0757d5,#198bf2 72%,#2ea7f1);
 background-clip:text;-webkit-background-clip:text;color:transparent
}
.v13-legacy main .v9-lead,.v13-legacy main .p8-hero .intro-p,
.v13-legacy main .hero.compact p,.v13-legacy main .req-hero p {
 color:#456283;line-height:2.05;max-width:680px
}
.v13-legacy main :is(.v9-hero,.p8-hero,.hero.compact,.req-hero) .cta{gap:12px;margin-top:26px}
.v13-legacy main .btn.primary,.v13-legacy main a.btn.primary,
.v13-legacy main button.btn.primary{
 background:linear-gradient(125deg,#2384f5,#0755d7 88%);
 color:white;border:1px solid transparent;border-radius:15px;
 box-shadow:0 13px 31px rgba(12,93,218,.22),inset 0 1px 0 rgba(255,255,255,.27)
}
.v13-legacy main .btn:not(.primary):not(.ghost){
 background:rgba(255,255,255,.79);border:1px solid rgba(174,209,247,.88);
 color:#164476;border-radius:15px;box-shadow:0 7px 25px rgba(31,91,170,.075)
}
.v13-legacy main .btn{min-height:49px}
.v13-legacy main .v9-tags span,.v13-legacy main .p8-mini span{
 border:1px solid rgba(164,201,239,.65);color:#34658f;
 background:rgba(255,255,255,.69);border-radius:100px;
}
.v13-legacy main .v9-section,.v13-legacy main .p8-section,
.v13-legacy main .section,.v13-legacy main .fc-section,
.v13-legacy main .cl-section,.v13-legacy main .case-addition,
.v13-legacy main .v12-scene-section,.v13-legacy main .id-photo-section{
 padding-block:clamp(70px,5.45vw,86px);
}
.v13-legacy main :is(.v9-section,.p8-section,.section,.fc-section,.cl-section,.case-addition):not(.night):not(.dark):not(.case-soft){
 background:linear-gradient(160deg,rgba(255,255,255,.68),rgba(247,251,255,.91));
}
.v13-legacy main :is(.v9-section.soft,.p8-section.alt,.section.alt,.case-addition.case-soft){
 background:radial-gradient(ellipse 48% 90% at 9% 48%,rgba(163,210,255,.2),transparent 75%),
 linear-gradient(140deg,#edf6ff,#f8fbff 73%);
}
.v13-legacy main :is(.v9-heading,.intro,.p8-heading,.section-head){
 margin-bottom:28px
}
.v13-legacy main :is(.v9-heading,.intro,.p8-heading) h2{
 color:#102b52;line-height:1.55;letter-spacing:-.03em;margin-block:8px 14px
}
.v13-legacy main :is(.v9-grid2,.v9-grid3,.v9-grid4,.cards4,.problem,.product-choice){
 gap:clamp(16px,1.75vw,24px)
}
/* Glass surface inventory – preserve semantic cards/forms and accessible controls. */
.v13-legacy main :is(
 .v9-card,.v9-story,.panel,.deliverable,.choice,.product-card,.p8-card,.v9-stat,
 .req-card,.req-block,.req-field input,.req-field select,.req-field textarea,
 .case-card,.case-metric,.case-visual,.v9-visual,.hub-signal,.p8-visual,
 .v9-editorial .v9-story,.fc-card,.cl-card,.v9-vline,.signal-card
 ){
 border-radius:clamp(15px,1.6vw,23px);
 border-color:rgba(255,255,255,.85);
 box-shadow:var(--siteglass-shadow),0 0 0 1px rgba(110,169,230,.09);
 -webkit-backdrop-filter:blur(10px) saturate(125%);
 backdrop-filter:blur(10px) saturate(125%);
}
/* Light only: never recolor meaningful dark/white-on-blue cards. */
.v13-legacy main :is(.v9-card:not(.dark),.v9-story,.panel:not(.dark),.deliverable,.choice,
 .v9-stat,.req-card,.req-block,.cl-card,.fc-card,.v9-editorial .v9-story){
 background:linear-gradient(140deg,rgba(255,255,255,.83),rgba(244,250,255,.67));
 border:1px solid rgba(255,255,255,.95)
}
.v13-legacy main :is(.v9-card,.panel,.deliverable,.choice,.product-card,.p8-card,.fc-card,.cl-card){
 transition:transform .35s cubic-bezier(.2,.85,.15,1),box-shadow .35s ease,border-color .35s ease
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .v13-legacy main :is(.v9-card,.panel,.deliverable,.choice,.product-card,.p8-card,.fc-card,.cl-card):hover{
 transform:translateY(-5px);box-shadow:0 26px 61px rgba(31,96,174,.13);
 border-color:rgba(118,178,240,.66)
 }
}
.v13-legacy main :is(.v9-visual,.hub-signal,.p8-visual,.story-flow){
 border:1px solid rgba(91,158,243,.38);
 box-shadow:0 23px 65px rgba(28,85,155,.16),inset 0 1px 0 rgba(255,255,255,.15)
}
.v13-legacy main :is(.v9-section,.p8-section,.case-addition) p{
 line-height:2.05
}
.v13-legacy .v9-sitefooter{
 background:linear-gradient(135deg,#092e65,#071f47);border-top:1px solid rgba(150,203,255,.24);
 padding-block:40px;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)
}
.v13-legacy .v9-footerlinks a{color:#d8e8fd}
.v13-legacy .v9-footerlinks a:hover{color:white;text-decoration:underline;text-underline-offset:5px}
.v13-legacy :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #3c91f0;outline-offset:3px}
@keyframes siteglass-light-loop{
 0%,100%{transform:translate3d(-23px,16px,0) scale(.91);opacity:.61}
 50%{transform:translate3d(31px,-20px,0) scale(1.08);opacity:1}
}
@keyframes siteglass-halo-loop{
 from{transform:rotate(0deg);opacity:.68}
 to{transform:rotate(360deg);opacity:.68}
}
@keyframes siteglass-sheen-loop{
 0%,10%{transform:translate3d(210%,0,0) skewX(-14deg);opacity:0}
 25%,56%{opacity:.7}
 65%,100%{transform:translate3d(-245%,0,0) skewX(-14deg);opacity:0}
}
@media(prefers-reduced-motion:no-preference){
 .v13-legacy main :is(.v9-hero,.p8-hero,.hero.compact,.req-hero,.case-hero)::after{
 content:"";position:absolute;pointer-events:none;z-index:0;
 width:clamp(270px,32vw,480px);aspect-ratio:1;left:-7%;bottom:-16%;border-radius:50%;
 background:radial-gradient(circle,rgba(44,141,251,.33),rgba(90,191,252,.15) 48%,transparent 73%);
 animation:siteglass-light-loop 9s ease-in-out infinite
 }
 .v13-legacy main :is(.v9-hero,.p8-hero,.hero.compact,.req-hero,.case-hero)>:not(.hero-mesh):not(.glow-blur){
 position:relative;z-index:1
 }
 .v13-legacy main :is(.v9-section.soft,.p8-section.alt,.v9-section,.p8-section){
 position:relative;isolation:isolate
 }
 .v13-legacy main .v9-visual::after,
 .v13-legacy main .p8-visual::after,
 .v13-legacy main .hub-signal::after {
 content:"";position:absolute;pointer-events:none;z-index:0;
 width:45%;aspect-ratio:1;top:-20%;left:0;border-radius:50%;
 background:radial-gradient(circle,rgba(170,220,255,.29),transparent 70%);
 animation:siteglass-light-loop 8s ease-in-out infinite
 }
 .v13-legacy main .v9-tags span:first-child::after,
 .v13-legacy main .p8-mini span:first-child::after{
 content:"";position:absolute;pointer-events:none;inset:-20% auto -20% 0;width:36%;
 background:linear-gradient(90deg,transparent,rgba(55,155,247,.34),transparent);
 animation:siteglass-sheen-loop 9s linear infinite
 }
 .v13-legacy main :is(.v9-tags span,.p8-mini span){position:relative;overflow:hidden}
}
@media(max-width:1000px){
 .v13-legacy main :is(.v9-hero,.p8-hero,.hero.compact){padding-block:72px}
 .v13-legacy main :is(.v9-section,.p8-section,.section,.fc-section,.cl-section,.case-addition,.id-photo-section,.v12-scene-section){padding-block:60px}
}
@media(max-width:620px){
 .v13-legacy main :is(.v9-hero,.p8-hero,.hero.compact){padding-block:54px}
 .v13-legacy main .req-hero{padding-block:51px}
 .v13-legacy main :is(.v9-hero,.p8-hero,.hero.compact,.req-hero) h1{font-size:clamp(30px,8vw,40px);line-height:1.54}
 .v13-legacy main :is(.v9-section,.p8-section,.section,.fc-section,.cl-section,.case-addition,.id-photo-section,.v12-scene-section){padding-block:48px}
 .v13-legacy main :is(.v9-heading,.intro,.p8-heading,.section-head){margin-bottom:22px}
 .v13-legacy main :is(.v9-grid2,.v9-grid3,.v9-grid4,.cards4,.problem,.product-choice){gap:14px}
 .v13-legacy main :is(.v9-card,.panel:not(.dark),.deliverable,.choice,.req-card){padding:22px}
 .v13-legacy main :is(.v9-hero,.p8-hero,.hero.compact,.req-hero)::after{width:235px;bottom:-8%;opacity:.68}
 .v13-legacy .v9-footerinner{grid-template-columns:1fr}
 .v13-legacy .v9-footerlinks{gap:10px 17px}
}
@media(prefers-reduced-motion:reduce){
 .v13-legacy main :is(.v9-hero,.p8-hero,.hero.compact,.req-hero,.case-hero)::after,
 .v13-legacy main :is(.v9-visual,.p8-visual,.hub-signal)::after,
 .v13-legacy main :is(.v9-tags span,.p8-mini span)::after{
 content:none!important;animation:none!important
 }
}


/* Autonomous atmosphere on independent pseudo-elements avoids old V13
   animation:none!important, which intentionally freezes its own components. */
@keyframes siteglass-orbit-ring{
  0%{transform:rotate(0deg);opacity:.74}
  50%{opacity:1}
  100%{transform:rotate(360deg);opacity:.74}
}
@keyframes siteglass-prism-drift{
  0%,100%{transform:translate3d(-25px,17px,0) scale(.93);opacity:.62}
  50%{transform:translate3d(40px,-22px,0) scale(1.08);opacity:.96}
}
@media(prefers-reduced-motion:no-preference){
 .v13-legacy main :is(
   .v9-hero .v9-herogrid,
   .p8-hero .p8-hero-grid,
   .hero.compact .hero-grid,
   .req-hero>.wrap,
   .case-hero .case-hero-inner
 ){position:relative;isolation:isolate}
 .v13-legacy main :is(
   .v9-hero .v9-herogrid,
   .p8-hero .p8-hero-grid,
   .hero.compact .hero-grid,
   .req-hero>.wrap,
   .case-hero .case-hero-inner
 )::before{
   content:"";position:absolute;pointer-events:none;z-index:-1;
   width:clamp(260px,34vw,460px);aspect-ratio:1;
   left:-5%;top:-16%;border-radius:50%;
   background:conic-gradient(from 10deg,
     transparent 0deg,rgba(58,162,253,.15) 34deg,
     rgba(30,133,241,.77) 77deg,rgba(69,187,252,.27) 116deg,
     transparent 157deg,transparent 200deg,
     rgba(28,116,239,.6) 237deg,transparent 282deg);
   -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 9px));
   mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 9px));
   animation:siteglass-orbit-ring 15s linear infinite;
 }
 .v13-legacy main :is(
   .v9-hero .v9-herogrid,
   .p8-hero .p8-hero-grid,
   .hero.compact .hero-grid,
   .req-hero>.wrap,
   .case-hero .case-hero-inner
 )::after{
   content:"";position:absolute;pointer-events:none;z-index:-1;
   width:clamp(270px,34vw,490px);aspect-ratio:1;
   left:-9%;top:-8%;border-radius:50%;
   background:radial-gradient(circle,rgba(56,148,247,.37),
     rgba(116,200,253,.20) 46%,transparent 74%);
   animation:siteglass-prism-drift 9s ease-in-out infinite;
 }
}
@media(max-width:620px) and (prefers-reduced-motion:no-preference){
 .v13-legacy main :is(
   .v9-hero .v9-herogrid,
   .p8-hero .p8-hero-grid,
   .hero.compact .hero-grid,
   .req-hero>.wrap,
   .case-hero .case-hero-inner
 )::before{width:240px;top:5%;opacity:.6}
 .v13-legacy main :is(
   .v9-hero .v9-herogrid,
   .p8-hero .p8-hero-grid,
   .hero.compact .hero-grid,
   .req-hero>.wrap,
   .case-hero .case-hero-inner
 )::after{width:250px;top:3%;opacity:.72}
}
@media(prefers-reduced-motion:reduce){
 .v13-legacy main :is(.v9-herogrid,.p8-hero-grid,.hero-grid,
   .req-hero>.wrap,.case-hero-inner)::before,
 .v13-legacy main :is(.v9-herogrid,.p8-hero-grid,.hero-grid,
   .req-hero>.wrap,.case-hero-inner)::after{
   animation:none!important;content:none!important
 }
}
