/* Subtle depth, layered panels and the original Torelli blue. */
:root{--radius:12px;--shadow-soft:0 8px 28px rgba(18,35,45,.06),0 2px 5px rgba(18,35,45,.025);--shadow-lift:0 24px 52px -20px rgba(18,35,45,.28)}
.button,.menu-toggle,.page-numbers{border-radius:7px}.button{box-shadow:0 7px 20px -9px rgba(0,115,165,.55);transition:transform .25s,box-shadow .25s,background .25s}.button:hover{box-shadow:0 12px 24px -10px rgba(0,115,165,.55);transform:translateY(-3px)}
.site-header{background:rgba(247,246,242,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.7);box-shadow:0 4px 22px rgba(15,30,40,.055)}
.hero{margin:14px 16px 0;border-radius:16px;box-shadow:var(--shadow-lift)}.hero-shade{background:radial-gradient(ellipse at 0 0,rgba(37,175,236,.15),transparent 65%),linear-gradient(90deg,rgba(5,9,12,.93),rgba(5,9,12,.75) 30%,rgba(5,9,12,.2) 76%),linear-gradient(0deg,rgba(5,9,12,.8),transparent 45%)}.hero-content{padding-bottom:150px}.hero-bottom{bottom:65px}.hero .eyebrow{width:fit-content;padding:9px 13px;border:1px solid #ffffff26;background:#ffffff0a;border-radius:6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.credentials{position:relative;z-index:3;width:min(1280px,calc(100% - 112px));margin:-30px auto 0;background:rgba(255,255,255,.96);border:1px solid #fff;border-radius:var(--radius);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.credentials .wrap{width:calc(100% - 64px)}.credentials-grid{padding:30px 0}.credentials strong{letter-spacing:-.04em}.services-section{background:radial-gradient(ellipse at 90% 25%,rgba(37,175,236,.055),transparent 60%)}
.services-grid{border:0;gap:20px;align-items:stretch}.service-card,.service-card+.service-card{border:1px solid #e5e8e7;border-radius:var(--radius);background:linear-gradient(145deg,#fff,#fdfefd);box-shadow:var(--shadow-soft);position:relative;isolation:isolate;transition:transform .28s,box-shadow .28s,border-color .28s}.service-card:before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;background:radial-gradient(330px circle at var(--spot-x,50%) var(--spot-y,0%),rgba(37,175,236,.14),transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}.service-card-top svg{padding:10px;width:60px;height:60px;border-radius:12px;background:#e9f7fd;border:1px solid #d6effa}.service-card-top>span{font-variant-numeric:tabular-nums}.service-card:nth-child(2){top:15px}.service-link{border-top-color:#e8edee}.service-card:focus-visible{border-color:var(--accent)}
.story-section{background:linear-gradient(135deg,#e8eceb,#eef1ef);position:relative}.story-grid{gap:0}.story-photo{margin-right:-45px;padding:10px;border-radius:14px;background:#fff;box-shadow:var(--shadow-lift);transform:rotate(-1deg)}.story-photo>img{border-radius:8px 8px 0 0}.photo-label{border-radius:0 0 8px 8px}.story-copy{position:relative;z-index:2;padding:44px;background:rgba(255,255,255,.97);border:1px solid #fff;border-radius:var(--radius);box-shadow:0 26px 55px -20px rgba(20,42,50,.2);margin:38px 0 0}.story-copy h2{font-size:clamp(34px,3.3vw,48px)}
.work-card{background:#fff;border:1px solid #e6e9e7;border-radius:var(--radius);padding:10px 10px 23px;box-shadow:var(--shadow-soft);transition:transform .3s,box-shadow .3s}.card-image{border-radius:8px}.card-image img{border-radius:8px}.card-meta{padding-left:10px;padding-right:10px}.work-card h3{padding:0 10px}.image-arrow{right:10px;bottom:10px;border-radius:7px;box-shadow:0 5px 18px #0002}.archive-note{border-top-color:#dfe4e3}.performance-banner{margin:0 20px;border-radius:16px;box-shadow:var(--shadow-lift)}.blog-section{background:linear-gradient(180deg,var(--paper),#fff)}
.contact-strip{position:relative;z-index:2;margin:0 24px -34px;border-radius:14px;background:radial-gradient(ellipse at 90% 0%,#8bdcff88,transparent 60%),var(--accent);box-shadow:0 20px 44px -18px rgba(0,102,153,.38);border:1px solid rgba(255,255,255,.35)}.site-footer{padding-top:108px}.page-hero{margin:14px 16px 0;border-radius:14px;background:radial-gradient(ellipse at 100% 0,rgba(37,175,236,.2),transparent 60%),#17191b;box-shadow:var(--shadow-soft)}
.content-split>img,.contact-photo,.article-image img,.prose img{border-radius:10px}.content-split>img,.article-image img{box-shadow:var(--shadow-soft)}.service-detail,.service-detail:first-child{background:#fff;border:1px solid #e4e8e6;border-radius:var(--radius);padding:36px;margin-bottom:24px;box-shadow:var(--shadow-soft);gap:45px}.service-detail img{border-radius:8px}.service-detail .content-split{gap:20px}.contact-aside{position:relative;margin:-25px 15px 0;padding:30px;border:1px solid #fff;border-radius:var(--radius);background:#f1f6f7;box-shadow:var(--shadow-lift)}.timeline>div{background:white;border:1px solid #e5e8e7;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-soft)}.filter-links a{border-radius:6px;padding:8px 12px;background:white;border:1px solid #e2e8e8;box-shadow:0 3px 8px #10203004}.filter-links{gap:12px}.article-end{border-radius:var(--radius);padding:28px;background:#ebf6fa;border:1px solid #d7ebf4}.article-end p:last-child{margin-bottom:0}
@media(hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lift);border-color:#b5def1}.service-card:hover:before{opacity:1}.work-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}.service-card:hover .service-link svg{transform:translateX(4px)}.service-link svg{transition:transform .25s}}
@media(max-width:1200px){.credentials{width:calc(100% - 72px)}.credentials .wrap{width:calc(100% - 42px)}.story-copy{padding:32px}.services-grid{gap:15px}}
@media(max-width:1000px){.credentials{width:calc(100% - 48px)}.credentials-grid>div{padding-left:14px}.credentials strong{font-size:19px}.credentials span{font-size:9px}.story-photo{margin-right:-30px}.story-copy{padding:26px}.story-copy h2{font-size:33px}.service-card{padding:26px 18px}.service-detail,.service-detail:first-child{gap:26px;padding:28px}.timeline{gap:18px}.timeline>div{padding:20px}.contact-strip .wrap{width:calc(100% - 48px)}}
@media(max-width:700px){.hero,.page-hero{margin:8px 8px 0;border-radius:11px}.hero .wrap{width:calc(100% - 32px)}.hero .eyebrow{padding:8px;font-size:7px;gap:6px}.hero-content{padding-top:52px;padding-bottom:125px}.hero-bottom{bottom:54px}.hero h1{font-size:clamp(50px,12vw,76px)}.hero-shade{background:linear-gradient(90deg,rgba(5,9,12,.91),rgba(5,9,12,.4)),linear-gradient(0deg,rgba(5,9,12,.85),transparent 60%)}.credentials{width:calc(100% - 40px);margin-top:-24px;border-radius:10px}.credentials .wrap{width:calc(100% - 30px)}.credentials-grid{padding:0}.credentials-grid>div,.credentials-grid>div:first-child{padding:20px 0}.credentials-grid>div:nth-child(even){padding-left:14px}.credentials strong{font-size:20px}.credentials span{font-size:9px}.services-grid{gap:15px}.service-card:nth-child(2){top:0}.service-card,.service-card+.service-card{padding:26px;border:1px solid #e5e8e7}.story-grid{gap:0}.story-photo{margin-right:0;transform:none;padding:7px}.story-copy{margin:-18px 9px 0;padding:28px 23px}.story-copy h2{font-size:33px}.story-signature{font-size:7px}.work-card{padding:8px 8px 21px}.card-meta{padding-left:7px;padding-right:7px}.work-card h3{padding:0 7px;font-size:24px}.performance-banner{margin:0 10px;border-radius:11px}.contact-strip{margin:0 10px -25px;border-radius:11px;padding:36px 0}.contact-strip .wrap{width:calc(100% - 40px)}.contact-strip h2{font-size:32px}.site-footer{padding-top:75px}.page-hero .wrap{width:calc(100% - 32px)}.service-detail,.service-detail:first-child{padding:24px 20px;gap:8px;border-radius:10px}.service-detail h2{font-size:30px}.service-detail .text-link{font-size:12px}.contact-aside{margin:-18px 8px 0;padding:23px}.timeline>div{padding:24px}.filter-links{gap:8px;flex-wrap:wrap}.filter-links a{font-size:10px;padding:7px 9px}.article-end{padding:22px}.primary-nav{border-radius:0 0 11px 11px;box-shadow:0 14px 28px #10203018}}
@media(prefers-reduced-motion:reduce){.service-card:hover,.work-card:hover,.button:hover{transform:none}.service-card,.work-card,.button,.service-card:before,.service-link svg{transition:none!important}}
