
:root{--seo-accent:var(--red)}
.seo-page{min-height:100vh;background:var(--paper)}
.seo-page .header{position:fixed}
.seo-page .hero{min-height:850px}
.seo-page .hero-grid{min-height:720px}
.seo-page .hero-copy h1{max-width:900px}
.seo-page .hero-poster{width:min(480px,100%)}
.seo-page .seo-card-link{width:100%;min-height:inherit;color:inherit;background:transparent;display:flex;flex-direction:column;padding:20px}
.seo-page .seo-card-link:focus-visible{outline:2px solid var(--red);outline-offset:-3px}
.seo-page .service-card-copy{margin-top:auto}
.seo-page .service-card-copy h3{letter-spacing:-.045em;margin:0 0 11px;font-family:Manrope,sans-serif;font-size:25px;line-height:1.04}
.seo-page .service-card-copy p{color:#68665f;margin:0;font-size:11px;line-height:1.65}
.seo-page .service-card-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:25px;padding-top:15px;display:flex;font-size:9px;font-weight:700}
.seo-page .service-card:hover .service-card-bottom b{transform:translateX(4px)}
.seo-page .service-card-bottom b{transition:transform .25s}
.seo-copy-section{background:#dad7ce}
.seo-copy-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:90px;align-items:start}
.seo-copy-layout h2{letter-spacing:-.065em;margin:0;font-family:Manrope,sans-serif;font-size:clamp(48px,5.2vw,73px);line-height:.97}
.seo-copy-layout div{color:#66635d;font-size:14px;line-height:1.8}
.seo-copy-layout p:first-child{margin-top:0}
.seo-copy-layout strong{color:var(--ink)}
.seo-faq{background:var(--paper)}
.seo-faq-list{border-top:1px solid var(--ink)}
.seo-faq-list details{border-bottom:1px solid var(--ink)}
.seo-faq-list summary{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-family:Manrope,sans-serif;font-size:21px;font-weight:700}
.seo-faq-list summary::-webkit-details-marker{display:none}
.seo-faq-list summary:after{content:"+";font-family:DM Mono,monospace;font-size:22px;font-weight:400}
.seo-faq-list details[open] summary:after{content:"−"}
.seo-faq-list p{max-width:820px;color:var(--muted);margin:0 0 28px;font-size:12px;line-height:1.75}
.seo-related{display:flex;flex-wrap:wrap;gap:7px}
.seo-related a{border:1px solid var(--ink);padding:9px 11px;font-family:DM Mono,monospace;font-size:8px}
.seo-related a:hover{color:#fff;background:var(--ink)}
.seo-cta-dark{color:#fff;background:#151515}
.seo-cta-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:end}
.seo-cta-layout h2{letter-spacing:-.065em;max-width:920px;margin:23px 0 0;font-family:Manrope,sans-serif;font-size:clamp(50px,5.5vw,76px);line-height:.96}
.seo-cta-layout p{color:#97938c;max-width:650px;margin:25px 0 0;font-size:13px;line-height:1.78}
.seo-cta-layout .button{border-color:#fff;color:#fff;background:transparent;min-width:220px}
.seo-page .poster-red{background:var(--seo-accent)}
.seo-page .poster-orbit:after{background:var(--seo-accent)}
.seo-page .service-card{--accent:var(--seo-accent)}
.seo-page.accent-blue{--seo-accent:var(--blue)}
.seo-page.accent-green{--seo-accent:var(--green)}
.seo-page.accent-orange{--seo-accent:var(--orange)}
.seo-page.accent-violet{--seo-accent:var(--violet)}
.seo-page.accent-cyan{--seo-accent:var(--cyan)}
.seo-page.accent-lime{--seo-accent:var(--lime)}
.seo-page.accent-navy{--seo-accent:var(--navy)}
.seo-home-directory{border-top:1px solid var(--ink)}
.seo-home-directory .service-card{min-height:260px}
.seo-home-directory .seo-card-link{width:100%;min-height:inherit;color:inherit;background:transparent;display:flex;flex-direction:column;padding:20px}
.seo-home-directory .service-card-copy{margin-top:auto}
.seo-home-directory .service-card-copy h3{letter-spacing:-.045em;margin:0 0 11px;font-family:Manrope,sans-serif;font-size:25px;line-height:1.04}
.seo-home-directory .service-card-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:25px;padding-top:15px;display:flex;font-size:9px;font-weight:700}
.seo-home-directory .service-card-bottom b{transition:transform .25s}
.seo-home-directory .service-card:hover .service-card-bottom b{transform:translateX(4px)}
.seo-404{min-height:calc(100vh - 150px);padding-top:76px;display:grid;place-items:center;position:relative;overflow:hidden}
.seo-404:before{content:"";opacity:.5;background-image:linear-gradient(#1515150e 1px,#0000 1px),linear-gradient(90deg,#1515150e 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:76px 0 0}
.seo-404-inner{position:relative;width:var(--container);text-align:center}
.seo-404-code{color:var(--red);letter-spacing:-.12em;font-family:Manrope,sans-serif;font-size:clamp(140px,25vw,340px);font-weight:800;line-height:.72}
.seo-404 h1{letter-spacing:-.06em;margin:40px 0 0;font-family:Manrope,sans-serif;font-size:clamp(40px,5vw,67px);line-height:1}
.seo-404 p{max-width:620px;color:var(--muted);margin:22px auto 0;font-size:13px;line-height:1.7}
.seo-404 .hero-actions{justify-content:center}
@media(max-width:900px){
 .seo-copy-layout,.seo-cta-layout{grid-template-columns:1fr;gap:45px}
 .seo-page .hero{min-height:auto}
}
@media(max-width:640px){
 .seo-copy-layout h2,.seo-cta-layout h2{font-size:clamp(40px,11vw,52px)}
 .seo-page .hero-poster{width:340px}
}
/* Orbit path alignment fix — 2026-08-05 */
.poster-orbit{--orbit-radius:74.5px}
.project-object{--orbit-radius:84.5px}
.poster-orbit i,.project-object i{margin-left:-3.5px;margin-top:-3.5px;transform-origin:50% 50%;will-change:transform}
@keyframes posterOrbit{from{transform:rotate(0deg) translateX(var(--orbit-radius)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--orbit-radius)) rotate(-360deg)}}
@keyframes projectOrbit{from{transform:rotate(0deg) translateX(var(--orbit-radius)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--orbit-radius)) rotate(-360deg)}}
@media(max-width:640px){.poster-orbit{--orbit-radius:54.5px}.project-object{--orbit-radius:67px}.project-object i{animation-name:projectOrbit}}
