/* One focal point: the continuous vertical service reel. */
.home-page .hero{grid-template-columns:.92fr 1.08fr;gap:0 64px;padding-top:34px;align-items:center}
.home-hero-copy{grid-row:1;padding-top:0}
.home-page .hero h1{font-size:clamp(52px,5.2vw,80px)}
.home-description{max-width:490px;line-height:1.8}
.home-page .home-services-display{grid-row:2;margin-top:44px}
.service-showcase.home-visual{grid-column:2;grid-row:1;position:relative;isolation:isolate;align-self:stretch;min-width:0;margin:0;padding:28px 20px 18px;overflow:hidden;border:1px solid #8c56b8;border-radius:18px;background:radial-gradient(ellipse at 94% 0%,#9562c2 0,transparent 55%),linear-gradient(145deg,#6b36a6,#422063);color:#fff;box-shadow:inset 0 1px 0 #ffffff80,0 18px 45px #55207e20;animation:none}
.service-showcase::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff0d 45%,transparent 60%);pointer-events:none}
.service-showcase-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 13px 25px}
.service-showcase-heading h2{font-size:clamp(29px,3vw,43px);line-height:1.12;letter-spacing:-.045em;font-weight:750;margin:0;color:#fff}
.service-spark{display:grid;place-items:center;width:70px;height:70px;color:#dcc2f3;flex:none}
.service-spark svg{width:52px;height:52px;animation:none}
.service-orbit{transform-origin:32px 32px;animation:service-turn 24s linear infinite}
.service-monogram{font:800 12px Manrope,Arial,sans-serif;letter-spacing:-.4px}
.business-word{padding:0 .08em;margin:0 -.08em;border-radius:.12em;box-decoration-break:clone;transition:background-color .2s,color .2s}
.service-showcase-heading h2:hover .business-word,.service-showcase-heading h2:active .business-word{background:#eddef9;color:#4c1d70}
.service-reel-window{height:414px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,rgb(0 0 0 / .12) 2%,rgb(0 0 0 / .5) 5%,rgb(0 0 0 / .88) 8%,#000 11%,#000 89%,rgb(0 0 0 / .88) 92%,rgb(0 0 0 / .5) 95%,rgb(0 0 0 / .12) 98%,transparent 100%);padding:0 5px}
.service-reel-track{display:flex;flex-direction:column;width:100%;animation:service-rise 24s linear infinite;animation-play-state:running;will-change:transform}
.service-reel-set{display:flex;flex-direction:column;gap:14px;padding-bottom:14px;flex:none}
.service-reel-card{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:10px;position:relative;min-width:0;min-height:174px;padding:22px;border:1px solid #ffffffc9;border-radius:12px;background:linear-gradient(120deg,#fff,#f2eafa);color:#341b4b;box-shadow:0 6px 18px #3012441a;transition:transform .24s,box-shadow .24s}
.service-reel-card h3{font-size:21px;line-height:1.2;letter-spacing:-.035em;margin:0;color:#44215f}
.service-reel-card p{font-size:13px;line-height:1.65;color:#6a517a;margin:12px 0 0}
.service-reel-card{text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:#d8b2f044}
.service-reel-card:active{box-shadow:inset 0 0 0 2px #b690d5}
.reel-art{display:block;width:100%;max-height:142px;overflow:visible}
.flow-signal{animation:service-signal 4s linear infinite}
.service-showcase-link{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:45px;margin:13px 13px 0;font-size:13px;font-weight:650;color:#f7edff;text-decoration:none}
.service-showcase-link svg{width:21px;height:21px;transition:transform .2s}
.service-showcase-link:hover svg{transform:translateX(4px)}
.service-showcase-link:focus-visible{outline-color:#eddaff;outline-offset:3px}
.service-showcase[data-running=false] .service-reel-track,.service-showcase[data-running=false] .service-orbit,.service-showcase[data-running=false] .flow-signal{animation-play-state:paused}
.local-price{position:relative;overflow:hidden;padding:20px 23px;transition:transform .25s,box-shadow .25s,background .25s}
.local-price>strong{display:block;font-size:24px}
.local-price .price-letters{display:inline;white-space:nowrap;font-size:inherit;line-height:inherit;margin:0}
.price-letters>i{display:inline-block;font-style:normal;animation:price-letter .5s both cubic-bezier(.22,1,.36,1)}
.price-letters>i:nth-child(2){animation-delay:.045s}.price-letters>i:nth-child(3){animation-delay:.09s}.price-letters>i:nth-child(4){animation-delay:.135s}.price-letters>i:nth-child(5){animation-delay:.18s}.price-letters>i:nth-child(6){animation-delay:.225s}.price-letters>i:nth-child(7){animation-delay:.27s}.price-letters>i:nth-child(8){animation-delay:.315s}
.price-letters>i:nth-child(9){animation-delay:.36s}.price-letters>i:nth-child(10){animation-delay:.405s}.price-letters>i:nth-child(11){animation-delay:.45s}
.local-price>span{display:block;animation:price-letter .6s .3s both}
.local-price .price-static{display:inline;font-size:inherit;font-weight:inherit;margin:0;animation:none}
.portfolio-page .page-hero{padding-bottom:32px}
.portfolio-page .page-hero+.section{padding-top:0}
.portfolio-page .projects{margin-top:0}
.portfolio-page .project-image{max-height:560px}
.about-work-photo{aspect-ratio:3/2;overflow:hidden;max-width:none}
.about-work-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 39%}
.event-copy .event-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:22px}
.event-links .text-link{margin:0}
@keyframes service-rise{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes service-turn{to{transform:rotate(360deg)}}
@keyframes service-signal{to{stroke-dashoffset:-202}}
@keyframes price-letter{from{opacity:.2;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.service-reel-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #28113833}.service-reel-card h3:hover{color:#6834aa}.service-reel-card p:hover{background:transparent}.service-showcase-heading h2:hover{color:#fff;text-shadow:none}.local-price:hover{background:#ebddf8;box-shadow:0 12px 25px #5c27891a}.local-price:hover .price-letters>i{animation:price-letter-hover .45s both}.local-price:hover .price-letters>i:nth-child(2n){animation-delay:.07s}}
@keyframes price-letter-hover{50%{transform:translateY(-3px);color:#8a49c0}}
@media(max-width:1100px){.home-page .hero{gap:0 32px}.home-page .hero h1{font-size:clamp(45px,5.3vw,60px)}.service-showcase.home-visual{padding:25px 15px 15px}.service-showcase-heading{padding-inline:8px}.service-showcase-heading h2{font-size:33px}.service-spark{width:50px;height:50px}.service-spark svg{width:42px}.service-reel-card{padding:20px 17px;min-height:168px}.service-reel-card h3{font-size:19px}.service-reel-card p{font-size:12px}.service-reel-window{height:382px}.local-price>strong{font-size:22px}}
@media(min-width:701px) and (max-width:850px){.home-page .hero{grid-template-columns:.93fr 1.07fr;gap:0 23px}.home-page .hero h1{font-size:43px}.service-showcase.home-visual{padding:22px 12px 12px}.service-showcase-heading{padding:0 7px 21px}.service-showcase-heading h2{font-size:29px}.service-spark{width:40px}.service-spark svg{width:35px}.service-reel-window{height:357px}.service-reel-card{grid-template-columns:1.15fr .85fr;min-height:165px;padding:18px 14px;gap:5px}.service-reel-card h3{font-size:17px}.service-reel-card p{font-size:11px}.local-price{padding:17px}.local-price>strong{font-size:20px}}
@media(max-width:700px){.home-page .hero{display:flex;gap:0;padding-top:27px;align-items:stretch}.home-hero-copy{display:contents}.home-page .hero h1{font-size:clamp(44px,11.9vw,70px)}.local-price{order:4;margin-top:22px;padding:18px 20px}.local-price>strong{font-size:23px}.service-showcase.home-visual{order:5;align-self:stretch;margin-top:26px;padding:24px 15px 12px;border-radius:15px}.service-showcase-heading{padding:0 9px 23px}.service-showcase-heading h2{font-size:34px}.service-spark{width:56px;height:56px}.service-spark svg{width:45px}.service-reel-window{height:354px}.service-reel-card{min-height:158px;padding:19px 17px;grid-template-columns:1.1fr .9fr}.service-reel-card h3{font-size:19px}.service-reel-card p{font-size:12px}.service-showcase-link{margin-inline:9px;margin-top:10px;font-size:12px}.home-page .home-services-display{order:6;margin-top:30px}.portfolio-page .page-hero{padding-bottom:25px}.portfolio-page .project-image{max-height:none}.about-work-photo{aspect-ratio:3/2}.about-work-photo img{aspect-ratio:auto}}
@media(max-width:700px){.service-showcase-heading{gap:12px}.service-showcase-heading h2{font-size:30px}.service-spark{width:40px;height:48px}.service-spark svg{width:36px}}
@media(max-width:350px){.home-page .hero h1{font-size:42px}.local-price{padding:17px}.local-price>strong{font-size:20px}.service-showcase-heading h2{font-size:28px}.service-spark{width:28px}.service-spark svg{width:28px}.service-reel-card{padding:18px 13px;gap:5px;min-height:151px}.service-reel-card h3{font-size:17px}.service-reel-card p{font-size:11px}.service-reel-window{height:336px}}
@media(prefers-reduced-motion:reduce){.service-reel-track{animation:none;transform:none;will-change:auto}.service-reel-set[aria-hidden]{display:none}.service-reel-window{height:auto;overflow:visible;mask-image:none}.service-reel-set{padding-bottom:0}.service-orbit,.flow-signal,.price-letters>i,.local-price>span,.local-price:hover .price-letters>i{animation:none}.local-price:hover,.service-reel-card:hover{transform:none}.local-price,.service-reel-card,.service-showcase-link svg,.business-word{transition:none}}
