/* Bright-Side signature edition: photographic depth, glass edges, editorial rhythm. */
.signature-on{--container:1220px;--section:clamp(76px,9vw,132px);--radius:12px;--radius-lg:18px}
.signature-on h2{letter-spacing:-.045em;font-size:clamp(2rem,4.2vw,3.55rem);line-height:1.08}
.signature-on .eyebrow{font-size:.875rem;letter-spacing:.1em}
.signature-on .eyebrow::before{width:34px;height:1px}
.signature-on .section-head{margin-bottom:48px}
.signature-on .btn{border-radius:12px;letter-spacing:.015em;min-height:52px}
.signature-on .site-header{border-bottom:1px solid #b6c8e34f}
.signature-on .site-header::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#4169e1;transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.signature-on .brand img{filter:drop-shadow(0 3px 8px #10254b10)}
/* The main photo remains a usable background when enhancement cannot run. */
.signature-on #home{background:#08172e;min-height:850px;min-height:max(820px,96svh);perspective:none}
.signature-on #home .hero-media{inset:0;border:0;border-radius:0;transform:none;box-shadow:none;opacity:.42;overflow:hidden}
.signature-on #home .hero-media .hero-photo{object-position:center 46%;transform:scale(1.04)}
.signature-on #home .hero-scrim{background:linear-gradient(90deg,#08172ef7 0%,#08172eee 33%,#08172e75 74%,#08172e99),linear-gradient(0deg,#08172e,transparent 45%)}
.signature-on #home .hero-inner.center{display:block;text-align:left;padding-block:80px 110px;pointer-events:none}
.signature-on #home .hero-inner>*{pointer-events:auto}
.signature-on #home .hero-inner h1{max-width:58%;font-size:clamp(4.5rem,7.1vw,7.2rem);line-height:.98;letter-spacing:-.065em;font-weight:800;margin-bottom:28px}
.signature-on #home h1 .outline{color:#aec8ff;-webkit-text-stroke:0;text-shadow:0 1px 0 #dce9ff50,0 8px 35px #020c2230}
.signature-on #home .hero-kicker{background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0;max-width:49%;font-size:.875rem;letter-spacing:.025em;margin-bottom:30px}
.signature-on #home .hero-kicker .dot{width:6px;height:6px;box-shadow:none}
.signature-on #home .hero-inner>.lede{max-width:42%;font-size:1.05rem;color:#dbe5f7;line-height:1.85;text-shadow:none}
.signature-on #home .hero-actions{max-width:48%;justify-content:flex-start;margin-top:32px}
.signature-on #home .hero-actions .btn{padding:16px 24px;font-size:.875rem}
.signature-on #home .scroll-cue{left:var(--gutter);transform:none;bottom:22px;flex-direction:row;gap:12px;font-size:.75rem;color:#c6d6ee}
.signature-on #home .hero-sweep{display:none}
.signature-prism{position:absolute;right:2%;top:calc(var(--topbar-h) + var(--nav-h) + 45px);bottom:65px;width:47%;z-index:0;perspective:1500px;pointer-events:none}
.signature-pane{position:absolute;overflow:hidden;border:1px solid #ffffff80;background:#203655;box-shadow:0 24px 75px #0006,5px 0 0 #d4e7ff26;border-radius:5px;transform-style:preserve-3d;transition:transform 700ms cubic-bezier(.2,.8,.2,1)}
.signature-pane img{width:100%;height:100%;object-fit:cover;display:block}
.signature-pane::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff24,transparent 30%,transparent 65%,#b2d7ff1c);box-shadow:inset 0 0 0 5px #ffffff07;pointer-events:none}
.signature-pane-main{width:76%;height:82%;left:8%;top:8%;transform:translate3d(calc(var(--prism-x,0px)*.55),calc(var(--prism-y,0px)*.55),0) rotateY(-15deg) rotateZ(-3deg);z-index:2}
.signature-pane-main img{object-position:50% 50%}
.signature-pane-back{width:35%;height:64%;right:0;top:0;transform:translate3d(calc(var(--prism-x,0px)*-.6),calc(var(--prism-y,0px)*-.4),0) rotateY(-20deg) rotateZ(6deg);z-index:1}
.signature-pane-front{width:34%;height:40%;right:0;bottom:0;transform:translate3d(var(--prism-x,0px),var(--prism-y,0px),30px) rotateY(-12deg) rotateZ(5deg);z-index:3;border-width:5px;box-shadow:0 24px 60px #0007}
/* Five real jobs form one photographic composition, not repeated equal cards. */
.signature-on #work{background:#f9fbff;position:relative;border-top:1px solid #e0e7f1;border-bottom:1px solid #e0e7f1}
.signature-on #work .work-band{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:auto;gap:18px;align-items:center;padding-block:24px 32px;perspective:1800px}
.signature-on #work .work-tile{grid-column:span 1;grid-row:auto;height:320px;border-radius:4px;overflow:hidden;border:5px solid #fff;box-shadow:0 18px 35px #0c234320;transform:perspective(1300px) rotateY(var(--gallery-angle,0deg)) translateY(var(--gallery-lift,0px));transition:transform 650ms var(--ease-out),box-shadow 300ms}
.signature-on #work .work-tile.tall{grid-column:span 2;grid-row:auto;height:430px}
.signature-on #work .work-tile:nth-child(2){height:280px;--gallery-lift:22px}
.signature-on #work .work-tile:nth-child(3){height:365px;--gallery-lift:-12px}
.signature-on #work .work-tile:nth-child(4){height:290px;--gallery-lift:28px}
.signature-on #work .work-tile:nth-child(5){height:380px;--gallery-lift:-6px}
.signature-on #work .work-tile:hover,.signature-on #work .work-tile:focus-visible{transform:perspective(1300px) rotateY(0) translateY(-9px);box-shadow:0 25px 48px #0c234338;z-index:3}
.signature-on #work .wt-label{left:0;bottom:0;right:0;border:0;border-radius:0;font-size:.875rem;line-height:1.5;padding:18px 12px 12px;background:linear-gradient(0deg,#08172eee,#08172e99,transparent);backdrop-filter:none;box-shadow:none}
.signature-on #work .work-more{text-align:right;font-size:.95rem}
.signature-on #work .work-more a{display:inline-block;border-bottom:1px solid #4169e1;padding-bottom:6px}
@media(min-width:1100px){
 .signature-on #work .section-head{display:grid;grid-template-columns:1.1fr 1fr;column-gap:80px;max-width:none;text-align:left;align-items:end}
 .signature-on #work .section-head .eyebrow{grid-column:1/-1;justify-self:start}
 .signature-on #work .section-head h2{margin:0;max-width:12ch}
 .signature-on #work .section-head .lede{margin:0;font-size:1rem;max-width:48ch}
 /* Keep the actual house controls together while its introduction stays beside it. */
 .signature-on #house>.container{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.65fr);column-gap:64px;align-items:start}
 .signature-on #house .section-head{grid-column:1;grid-row:1/span 7;text-align:left;position:sticky;top:145px;margin:0;max-width:none}
 .signature-on #house .section-head .lede{font-size:1rem;line-height:1.8}
 .signature-on #house>.container>:not(.section-head){grid-column:2;min-width:0}
 .signature-on #house .house-stage{height:auto;aspect-ratio:8/5;min-height:0}
 .signature-on #house .house-wrap{width:100%;border-radius:12px}
 .signature-on #house .house-navigation{justify-content:flex-start;flex-wrap:wrap}
 .signature-on #house .house-picks{justify-content:flex-start}
 .signature-on #house .house-bar{justify-content:flex-start}
}
/* Services read as a continuous directory, with photographic hover states. */
.signature-on .services-dark{background:radial-gradient(ellipse at 90% 0,#1b3c74,transparent 55%),#08172e}
.signature-on .services-dark .section-head{max-width:760px}
.signature-on .services-dark .grid-3{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #ffffff30}
.signature-on .services-dark .svc-card{display:grid;grid-template-columns:72px minmax(180px,.8fr) minmax(220px,1.25fr) 110px;align-items:center;gap:28px;min-height:188px;padding:32px 20px;border:0;border-bottom:1px solid #ffffff30;border-radius:0;background:transparent;box-shadow:none;isolation:isolate;transform:none!important}
.signature-on .services-dark .svc-card>h3{font-size:clamp(1.4rem,2.1vw,1.9rem);line-height:1.18;letter-spacing:-.04em}
.signature-on .services-dark .svc-card>p{font-size:1rem;line-height:1.8;max-width:42ch;color:#c2d0e7}
.signature-on .services-dark .svc-more{margin:0;padding:0;align-self:center;white-space:nowrap}
.signature-on .services-dark .svc-icon{width:60px;height:68px;border-radius:6px;background:linear-gradient(130deg,#668ded80,#27447880);border:1px solid #a9c7ff70;box-shadow:5px 5px 0 #26416f;transform:perspective(500px) rotateY(-20deg)}
.signature-on .services-dark .svc-card:hover{background:#ffffff08;box-shadow:none}
.signature-on .services-dark .svc-card:hover .svc-icon{transform:perspective(500px) rotateY(0) translateY(-3px)}
.signature-service-photo{position:absolute;inset:0 0 0 50%;z-index:-1;opacity:0;transition:opacity 350ms;pointer-events:none;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000)}
.signature-service-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.35) saturate(.65);transform:scale(1.05);transition:transform 700ms var(--ease-out)}
.signature-on .services-dark .svc-card:hover .signature-service-photo,.signature-on .services-dark .svc-card:focus-visible .signature-service-photo{opacity:.75}
.signature-on .services-dark .svc-card:hover .signature-service-photo img{transform:scale(1)}
.signature-on .services-dark .chip-row{justify-content:flex-start;gap:10px;margin-top:32px}
.signature-on .services-dark .chip{border-radius:6px;border-color:#7897c84d;background:transparent}
.signature-on .stats-inner{border-radius:0;border:0;border-block:1px solid #ced9e9;background:transparent;box-shadow:none;padding-block:42px}
.signature-on .stat-number{font-size:clamp(2.8rem,5.8vw,5rem);font-weight:700;color:#15346f;text-shadow:none}
.signature-on .logos-band{background:#fff;border-bottom:1px solid #e6edf6}
.signature-on .review-card{border-radius:5px;background:#fff;border:0;border-top:2px solid #163774;box-shadow:0 12px 30px #1433600a;padding:30px}
.signature-on .review-text{font-size:1rem;line-height:1.9}
.signature-on .reviews-divider{background:#bacbe2}
.signature-on .split-photo{border-radius:5px;box-shadow:14px 14px 0 #dce7f7,0 24px 42px #17356616}
.signature-on .page-hero{border-bottom:8px solid #aec8ff}
.signature-on .page-hero h1{max-width:17ch;font-size:clamp(2.6rem,5.8vw,5.4rem);letter-spacing:-.05em}
.signature-on .page-hero .hero-kicker{border-radius:5px}
.signature-on .form-card,.signature-on .info-card{border-radius:12px}
.signature-on .faq details{border-radius:7px}
.signature-on .cta-band{position:relative;background:linear-gradient(120deg,#0a1c40,#214a91);overflow:hidden;border-block:1px solid #315898}
.signature-on .cta-band::before{background:linear-gradient(115deg,transparent 40%,#ffffff07 40%,#ffffff07 55%,transparent 55%);inset:0;transform:none;border-radius:0;pointer-events:none}
.signature-on .cta-band h2{font-size:clamp(2.3rem,4.8vw,4rem);max-width:15ch}
.signature-on .cta-contact a{border-radius:7px;background:#ffffff08}
.signature-on .site-footer{background:#07152e;border-top:1px solid #28426b}
.signature-on .footer-logo-img{filter:drop-shadow(0 10px 20px #0002)}
@media(max-width:1099px){
 .signature-on #home{min-height:850px}
 .signature-on #home .hero-inner.center{padding-block:70px 85px}
 .signature-on #home .hero-inner h1{font-size:clamp(3.5rem,7.8vw,6rem);max-width:62%}
 .signature-on #home .hero-inner>.lede{max-width:49%;font-size:1rem}
 .signature-prism{width:43%;right:1%;top:190px;bottom:150px}
 .signature-on #work .work-band{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
 .signature-on #work .work-tile.tall{grid-column:span 2;height:340px}
 .signature-on #work .work-tile{grid-column:span 1;height:300px!important;--gallery-lift:0px}
 .signature-on #work .work-tile:nth-child(4),.signature-on #work .work-tile:nth-child(5){grid-column:span 2;height:280px!important}
 .signature-on .services-dark .svc-card{grid-template-columns:64px 1fr 1.3fr;gap:20px}
 .signature-on .services-dark .svc-card .svc-more{grid-column:2/-1}
}
@media(max-width:700px){
 .signature-on{--gutter:20px;--section:72px}
 .signature-on #home{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding-top:calc(var(--topbar-h) + var(--nav-h))}
 .signature-on #home .hero-inner.center{padding-block:44px 26px;text-align:left}
 .signature-on #home .hero-inner h1{font-size:clamp(3.1rem,11.8vw,5.1rem);max-width:100%;margin-bottom:24px;letter-spacing:-.055em}
 .signature-on #home .hero-kicker{max-width:100%;font-size:.8rem;margin-bottom:24px}
 .signature-on #home .hero-inner>.lede{max-width:100%;font-size:1rem;line-height:1.75}
 .signature-on #home .hero-actions{max-width:none;width:100%;flex-direction:row;gap:10px;margin-top:24px}
 .signature-on #home .hero-actions .btn{width:auto;flex:1;padding:15px 10px;min-height:50px;font-size:.8rem}
 .signature-on #home .scroll-cue{display:none}
 .signature-prism{position:relative;inset:auto;width:calc(100% - 26px);height:330px;margin:0 13px 38px;flex:none}
 .signature-pane-main{width:76%;height:84%;left:5%;top:4%;transform:rotateY(-9deg) rotateZ(-3deg)}
 .signature-pane-back{height:67%;width:34%;right:1%;transform:rotateY(-10deg) rotateZ(5deg)}
 .signature-pane-front{height:44%;width:32%;right:1%;bottom:0;transform:rotateZ(5deg)}
 .signature-on #work .section-head{text-align:left;margin-bottom:24px}
 .signature-on #work .work-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-block:0 12px}
 .signature-on #work .work-tile,.signature-on #work .work-tile:nth-child(n){grid-column:span 1;height:250px!important;transform:none;border-width:3px}
 .signature-on #work .work-tile.tall{grid-column:1/-1;height:300px!important}
 .signature-on #work .wt-label{font-size:.8rem;padding:20px 9px 10px}
 .signature-on .services-dark .svc-card{grid-template-columns:52px 1fr;gap:20px 18px;padding:28px 4px}
 .signature-on .services-dark .svc-icon{width:46px;height:56px}
 .signature-on .services-dark .svc-icon svg{width:25px;height:25px}
 .signature-on .services-dark .svc-card>h3{font-size:1.6rem}
 .signature-on .services-dark .svc-card>p{grid-column:1/-1;max-width:none}
 .signature-on .services-dark .svc-card .svc-more{grid-column:1/-1}
 .signature-service-photo{display:none}
 .signature-on .section-head{margin-bottom:32px}
 .signature-on .review-card{padding:24px}
 .signature-on .stats-inner{padding-inline:0}
 .signature-on .page-hero h1{font-size:clamp(2.5rem,10vw,4rem)}
}
@media(prefers-reduced-motion:reduce){
 .signature-pane,.signature-on #work .work-tile{transition:none!important;transform:none!important}
 .signature-pane-main{left:3%;top:5%}.signature-pane-front{right:1%}
 .signature-on .services-dark .svc-icon{transform:none!important}
 .signature-on .site-header::after{display:none}
}
@media print{.signature-prism,.signature-service-photo{display:none}}
