/* Local SEO page system. Extends the approved studio styles without altering home visuals. */
.seo-page .site-header{position:relative}.seo-hero{padding:30px 0 90px}.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#a8aaa0;margin-bottom:65px}.breadcrumb a:hover{text-decoration:underline}.seo-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:center;margin-top:30px}.seo-page h1{font-size:clamp(64px,6.5vw,104px);letter-spacing:-.065em;line-height:.96;max-width:850px}.seo-h1-detail{display:block;font-size:17px;letter-spacing:-.01em;line-height:1.45;font-weight:500;margin-top:30px;color:#efeee8}.seo-lead{font-size:17px;line-height:1.65;color:#b5b8ae;max-width:620px;margin-top:18px}.seo-button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;background:var(--red);border:1px solid var(--red);color:var(--paper);padding:18px 24px;font-size:13px;border-radius:2px;margin-top:30px;transition:background .2s,transform .2s}.seo-button:hover{background:#810606;transform:translateY(-2px)}.seo-button span{font-size:22px}.seo-art{margin:0;position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#a006061c,transparent 65%)}.seo-art svg{width:100%;stroke:var(--red);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.seo-art .art-fill{fill:var(--red)}.seo-art figcaption{font-size:9px;letter-spacing:.18em;color:#a4a59b}.seo-content{padding:90px 0}.seo-page h2{font-size:clamp(38px,4vw,62px);font-weight:450;line-height:1.05;letter-spacing:-.05em}.seo-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start;margin:32px 0 60px}.seo-intro>p{font-size:16px;line-height:1.75;color:#565a4f}.seo-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.seo-cards article{border-top:1px solid #bcbeb3;padding-top:18px}.card-index{font-size:10px;color:var(--red);letter-spacing:.1em}.seo-cards h3{font-size:23px;letter-spacing:-.035em;font-weight:500;line-height:1.12;margin:25px 0 14px}.seo-cards p{font-size:14px;line-height:1.65;color:#5c6054}.seo-method{padding:90px 0}.seo-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:32px}.seo-method ol{list-style:none;margin:0;padding:0}.seo-method li{display:grid;grid-template-columns:32px 1fr;gap:20px;border-top:1px solid #404338;padding:20px 0 32px}.seo-method li>span{font-size:11px;color:#a8ad9e;margin-top:6px}.seo-method h3{font-size:23px;letter-spacing:-.035em;font-weight:450;margin-bottom:12px}.seo-method p{font-size:15px;line-height:1.65;color:#a8ad9e}.seo-scope{background:var(--red);padding:65px 0}.seo-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.seo-scope p{font-size:16px;line-height:1.75;color:#f4e6e0}.seo-faq{padding:90px 0 65px;display:grid;grid-template-columns:1fr 1.2fr;gap:30px 90px}.seo-faq>.eyebrow{grid-column:1/-1}.seo-faq details{border-top:1px solid #45483d}.seo-faq details:last-child{border-bottom:1px solid #45483d}.seo-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-size:17px;line-height:1.4;padding:22px 0}.seo-faq summary::-webkit-details-marker{display:none}.seo-faq summary>span{font-size:24px;font-weight:300;color:#a8ad9e}.seo-faq details[open] summary>span{transform:rotate(45deg)}.seo-faq details>p{font-size:15px;line-height:1.7;color:#b5b8ae;padding:0 30px 24px 0}.seo-related{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:90px}.seo-related>a{border:1px solid #45483d;display:grid;grid-template-columns:1fr auto;gap:15px;padding:25px}.seo-related>a:hover{border-color:var(--red)}.seo-related a>span{font-size:9px;letter-spacing:.1em;color:#9ca28f;grid-column:1/-1}.seo-related strong{font-size:24px;font-weight:400;letter-spacing:-.03em}.seo-related i{font-style:normal;font-size:26px}.seo-contact{padding:70px 0}.seo-contact h2{max-width:900px;margin:30px 0}.seo-contact .wrap>div{display:flex;justify-content:space-between;gap:60px;align-items:center}.seo-contact p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:570px;color:#5e6255}.seo-contact .seo-button{margin-top:0;flex-shrink:0}.seo-footer-links,.seo-home-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 45px;padding:0 0 35px;border-bottom:1px solid #45483d;font-size:14px}.seo-footer-links a,.seo-home-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;line-height:1.4}.seo-footer-links a:hover{color:#f03a2d}.seo-home-links{margin:36px 0 0;padding:26px 0;border-top:1px solid #c8c8bf;border-bottom:0}.seo-home-links a:hover{color:var(--red)}
@media(max-width:1100px){.seo-hero-grid{gap:25px}.seo-cards{grid-template-columns:1fr 1fr;gap:35px}.seo-intro,.seo-method-grid,.seo-scope-grid,.seo-faq{gap:30px 45px}.seo-page h1{font-size:clamp(60px,7vw,85px)}}
@media(max-width:760px){.seo-hero{padding-top:24px;padding-bottom:55px}.breadcrumb{margin-bottom:40px;font-size:10px}.seo-hero-grid{grid-template-columns:1fr;gap:18px}.seo-page h1{font-size:clamp(55px,12vw,82px)}.seo-h1-detail{font-size:16px;margin-top:24px}.seo-lead{font-size:16px}.seo-art{max-width:340px;justify-self:center;width:100%;margin-top:8px}.seo-art figcaption{font-size:8px}.seo-content,.seo-method{padding:60px 0}.seo-intro,.seo-method-grid,.seo-scope-grid,.seo-faq{grid-template-columns:1fr;gap:28px}.seo-intro{margin-bottom:40px}.seo-cards{gap:30px 22px}.seo-cards h3{font-size:21px}.seo-cards p{font-size:13px}.seo-scope{padding:50px 0}.seo-faq{padding:60px 0 40px}.seo-faq>.eyebrow{grid-column:auto}.seo-faq summary{font-size:16px}.seo-related{padding-bottom:60px;gap:15px}.seo-related>a{padding:18px}.seo-related strong{font-size:19px}.seo-contact{padding:55px 0}.seo-contact .wrap>div{display:block}.seo-contact .seo-button{margin-top:25px}.seo-footer-links,.seo-home-links{grid-template-columns:1fr;gap:0}.seo-footer-links a,.seo-home-links a{padding:14px 0;border-bottom:1px solid #ffffff20}.seo-home-links a{border-color:#11121020}.seo-footer-links{padding-bottom:20px;margin-bottom:30px}.seo-page .seo-contact .eyebrow{font-size:9px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.seo-button{transition:none}.seo-button:hover{transform:none}}
.seo-related>a{min-width:0}.seo-related strong{min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){.seo-related{grid-template-columns:1fr}.seo-cards{grid-template-columns:1fr}}
.seo-page .section-index{opacity:1;color:#b5b8ae}.seo-page .light-section .section-index{color:#62665a}
.contact-intro .inquiry-context{font-size:13px!important;line-height:1.6;border-top:1px solid #bcbeb3;padding-top:18px;margin-top:22px;max-width:380px}
/* Improve existing homepage section labels without changing approved visuals. */
.section-index{opacity:1;color:#b5b8ae}.light-section .section-index{color:#62665a}.social .section-index{color:#efeee8}
@media(max-width:760px){.seo-art{max-width:250px;aspect-ratio:auto}.seo-art svg{height:230px;object-fit:contain}.seo-cards p{font-size:14px}}
/* Preserve reflow when visitors override text spacing for readability. */
.seo-hero-grid>div{min-width:0}.seo-page .hero-phrase{overflow-wrap:anywhere}

/* Clear homepage discovery for service and industry pages. */
.seo-explore{scroll-margin-top:110px;margin:28px 0 55px}.seo-explore-heading{display:flex;justify-content:space-between;gap:24px;align-items:baseline}.seo-explore-heading h3{font-size:25px;font-weight:500;letter-spacing:-.035em}.seo-explore-heading p{font-size:13px;color:#565a4f;line-height:1.5}.seo-explore .seo-home-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;margin:20px 0 0;padding:0}.seo-explore .seo-home-links a{border:1px solid #b9bcb1;padding:22px 20px;min-height:85px;font-size:17px;transition:border-color .2s,background .2s}.seo-explore .seo-home-links a:hover{border-color:var(--red);background:#a0060608}.seo-explore .seo-home-links a:focus-visible{outline:2px solid var(--red);outline-offset:3px}.seo-explore .seo-home-links a span{color:var(--red);font-size:24px}
@media(max-width:760px){.seo-explore-heading{display:block}.seo-explore-heading h3{font-size:23px}.seo-explore-heading p{margin-top:10px}.seo-explore .seo-home-links{grid-template-columns:1fr;gap:8px}.seo-explore .seo-home-links a{min-height:62px;padding:16px;font-size:16px}.seo-explore{scroll-margin-top:95px;margin-bottom:38px}}
/* Explore: native, keyboard-operable disclosure on every page. */
.explore-menu{position:relative}.explore-menu summary{list-style:none;cursor:pointer;display:flex;gap:8px;align-items:center;font-size:13px}.explore-menu summary::-webkit-details-marker{display:none}.explore-menu summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}.explore-menu[open]>summary>span{transform:rotate(180deg)}.explore-submenu{position:absolute;z-index:100;top:calc(100% + 20px);left:-20px;width:285px;max-height:70vh;overflow:auto;background:#171914;border:1px solid #44483b;box-shadow:0 20px 50px #0005;padding:10px}.desktop-nav .explore-submenu a{display:flex;justify-content:space-between;gap:15px;padding:14px 12px;font-size:14px;line-height:1.4;color:#efeee8}.explore-submenu a:hover,.explore-submenu a:focus-visible{background:#a0060633;outline:1px solid #a00606}.mobile-nav .explore-menu{width:100%}.mobile-nav .explore-menu summary{font-size:22px;padding:14px 0}.mobile-nav .explore-submenu{position:static;width:100%;max-height:none;box-shadow:none;padding:6px 12px}.mobile-nav .explore-submenu a{font-size:15px;padding:14px 0}.site-header{z-index:40}.mobile-nav{max-height:calc(100dvh - 80px);overflow-y:auto}
/* Distinct low-cost motion for each service illustration. */
.seo-art svg{overflow:visible;transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .3s ease}.art-pause{border:1px solid #555b4a;color:#bdc1b2;background:transparent;padding:7px 10px;margin-top:14px;font-size:10px;cursor:pointer}.art-pause:hover{color:#fff;border-color:#a00606}.art-pause:focus-visible{outline:2px solid #e6533c;outline-offset:4px}.art-pause[hidden]{display:none}.lens-pulse{transform-origin:406px 275px;animation:lens-pulse 4s ease-in-out infinite}.record-light{animation:record-light 2.8s ease-in-out infinite}.stage-lights{transform-origin:260px 200px;animation:stage-sweep 6s ease-in-out infinite alternate}.sound-bars{transform-origin:260px 368px;animation:sound-bars 1.7s ease-in-out infinite alternate}.dental-orbit{transform-origin:260px 240px;animation:orbit 28s linear infinite}.shine{transform-origin:338px 135px;animation:spark 4s ease-in-out infinite}.wheel-left{transform-origin:150px 310px}.wheel-right{transform-origin:370px 310px}.wheel{animation:orbit 5s linear infinite}.road-flow{animation:road 3s linear infinite}.coffee-steam{animation:steam 4s ease-in-out infinite}.coffee-pulse{transform-origin:237px 270px;animation:lens-pulse 5s ease-in-out infinite}.motion-off *{animation-play-state:paused!important}
@keyframes lens-pulse{0%,100%{transform:scale(.96);opacity:.3}50%{transform:scale(1.05);opacity:.9}}@keyframes record-light{0%,100%{opacity:.35}50%{opacity:1}}@keyframes stage-sweep{from{transform:skewX(-8deg)}to{transform:skewX(8deg)}}@keyframes sound-bars{from{transform:scaleY(.45)}to{transform:scaleY(1)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes spark{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}@keyframes road{to{stroke-dashoffset:-70}}@keyframes steam{0%{transform:translateY(5px);opacity:.15}50%{opacity:.9}100%{transform:translateY(-12px);opacity:.15}}
@media(prefers-reduced-motion:reduce){.seo-art *{animation:none!important;transition:none!important}.seo-art svg{transform:none!important}}
@media(max-width:760px){.seo-art{padding-bottom:40px}.art-pause{position:absolute;bottom:0}.mobile-nav .explore-menu summary span{margin-left:auto}.seo-cards{grid-template-columns:1fr}}

.seo-art:not(.motion-ready) *{animation:none!important}

/* Matched navigation, forgiving hover bridge and deliberate scene response. */
.desktop-nav .explore-menu>summary{font:inherit;font-size:13px;font-weight:400;line-height:normal;letter-spacing:normal;padding:10px 0;position:relative;gap:6px}
.desktop-nav .explore-menu>summary>span{font-size:11px;line-height:1}
.desktop-nav .explore-menu>summary:after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.desktop-nav .explore-menu:hover>summary:after,.desktop-nav .explore-menu[open]>summary:after{transform:scaleX(1)}
.desktop-nav .explore-submenu{top:100%}
.mobile-nav .explore-menu>summary{font-size:26px;letter-spacing:-.04em;font-weight:400;padding:18px 0;border-bottom:1px solid #45483d}
.mobile-nav .explore-menu>summary>span{font-size:11px}
.seo-art svg{transform:translate(var(--look-x,0px),var(--look-y,0px)) rotate(var(--tilt,0deg));transition:transform .35s ease;cursor:pointer}
.art-accent{border:1px solid #555b4a;color:#bdc1b2;background:transparent;padding:7px 10px;margin-top:14px;font-size:10px;cursor:pointer}
.art-accent:hover{border-color:var(--red);color:#fff}.art-accent:focus-visible{outline:2px solid #e6533c;outline-offset:4px}.art-accent[hidden]{display:none}.art-accent:disabled{opacity:.4;cursor:default}
.art-engaged .art-base{transform-origin:260px 240px;animation:scene-accent .8s ease-out 1}
.art-engaged svg{stroke:#f03a2d}
@keyframes scene-accent{0%{transform:scale(1)}35%{transform:scale(1.045)}100%{transform:scale(1)}}
@media(max-width:760px){.art-accent{position:absolute;bottom:0;left:12px}.art-pause{right:12px}.seo-art{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.seo-art svg{cursor:default}}

/* Finite editorial sequences, tailored to each scene. They reset at 3.2 seconds. */
.take-layer{opacity:0;pointer-events:none;stroke:#f03a2d;stroke-width:2.5}
.art-engaged svg{stroke:var(--red)}
.art-engaged .art-base{animation:none}
.art-engaged .take-layer{animation:take-duration 3.2s linear both}
@keyframes take-duration{0%,100%{opacity:0}12%,85%{opacity:1}}
[data-art="film"].art-engaged .art-base{transform-origin:260px 275px;animation:camera-dolly 3.2s ease-in-out both}
.art-engaged .take-focus{transform-origin:406px 275px;animation:focus-lock 3.2s ease both}.art-engaged .take-rays{animation:exposure 3.2s ease both}
@keyframes camera-dolly{0%,100%{transform:translateX(0)}35%,65%{transform:translateX(-12px)}}
@keyframes focus-lock{0%{transform:scale(1.7);opacity:0}30%,75%{transform:scale(1);opacity:1}100%{transform:scale(.95);opacity:0}}
@keyframes exposure{0%,40%,100%{opacity:0}55%,72%{opacity:1}}
.art-engaged .take-beams{transform-origin:260px 200px;animation:show-lights 3.2s ease both}.art-engaged .take-audience{animation:audience-rise 3.2s ease both}
@keyframes show-lights{0%,100%{transform:scaleX(.15);opacity:0}35%{transform:scaleX(1.2);opacity:1}65%{transform:scaleX(.8);opacity:1}}
@keyframes audience-rise{0%,100%{transform:translateY(16px);opacity:0}35%,80%{transform:translateY(0);opacity:1}55%{transform:translateY(-7px);opacity:1}}
.art-engaged .take-network>path:first-child{stroke-dasharray:100;animation:network-connect 3.2s ease both}.art-engaged .take-network>g,.art-engaged .take-network>path:last-child{animation:network-cards 3.2s ease both}
@keyframes network-connect{0%{stroke-dashoffset:100}60%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:-100}}
@keyframes network-cards{0%,20%,100%{opacity:0;transform:translateY(12px)}45%,85%{opacity:1;transform:translateY(0)}}
[data-art="automotive"].art-engaged .art-base{transform-origin:260px 310px;animation:car-launch 3.2s ease both}.art-engaged .take-speed{animation:passing-streaks .55s linear 5}.art-engaged .take-headlights{animation:exposure 3.2s ease both}
@keyframes car-launch{0%,100%{transform:scale(1)}35%,75%{transform:scale(1.09) translateY(4px)}}
@keyframes passing-streaks{from{transform:translateY(-30px);opacity:0}25%{opacity:1}to{transform:translateY(60px);opacity:0}}
.art-engaged .take-aroma>path{stroke-dasharray:100;animation:network-connect 3.2s ease both}.art-engaged .take-aroma>ellipse{transform-origin:237px 372px;animation:plate-reveal 3.2s ease both}.art-engaged .take-beans{transform-origin:250px 250px;animation:ingredient-orbit 3.2s ease both}
@keyframes plate-reveal{0%,100%{transform:scaleX(.4);opacity:0}35%,80%{transform:scaleX(1);opacity:1}}
@keyframes ingredient-orbit{0%{transform:rotate(-20deg) scale(.8);opacity:0}35%,75%{opacity:1}100%{transform:rotate(20deg) scale(1.05);opacity:0}}
.art-engaged .take-frame-a{animation:frame-left 3.2s ease both}.art-engaged .take-frame-b{animation:frame-up 3.2s ease both}.art-engaged .take-frame-c{animation:frame-right 3.2s ease both}.art-engaged .take-edit{stroke-dasharray:100;animation:network-connect 3.2s ease both}
@keyframes frame-left{0%,100%{transform:translateX(-65px);opacity:0}35%,80%{transform:translateX(0);opacity:1}}
@keyframes frame-up{0%,10%,100%{transform:translateY(60px);opacity:0}45%,80%{transform:translateY(0);opacity:1}}
@keyframes frame-right{0%,20%,100%{transform:translateX(65px);opacity:0}55%,80%{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.take-layer{display:none!important}}

/* Automotive correction: front-facing car is anchored; only its world travels backward. */
[data-art="automotive"] svg{transform:none!important}
[data-art="automotive"].art-engaged .art-base{animation:none;transform:none}
[data-art="automotive"] .road-flow{animation:car-road-back 1.2s linear infinite}
[data-art="automotive"].art-engaged .road-flow{animation-duration:.35s}
[data-art="automotive"].art-engaged .wheel{animation-duration:.65s}
[data-art="automotive"].art-engaged .take-speed{animation:car-streak-back .55s linear 5}
@keyframes car-road-back{to{stroke-dashoffset:-40}}
@keyframes car-streak-back{0%{transform:translateY(35px);opacity:0}20%{opacity:1}100%{transform:translateY(-45px);opacity:0}}

/* Front-facing tires show rolling tread, not side-on spinning spokes. */
[data-art="automotive"] .wheel{animation:car-tire-roll 1.2s linear infinite;transform:none}
[data-art="automotive"].art-engaged .wheel{animation-duration:.35s}
@keyframes car-tire-roll{to{stroke-dashoffset:10}}

/* Front-on drive toward the viewer: symmetric approach, then return to rest. */
[data-art="automotive"] .car-front{transform-origin:260px 310px}
[data-art="automotive"].art-engaged .car-front{animation:car-camera-approach 3.2s cubic-bezier(.22,.61,.36,1) both}
[data-art="automotive"].art-engaged .take-headlights{transform-origin:260px 310px;animation:car-camera-approach 3.2s cubic-bezier(.22,.61,.36,1) both,car-lights-on 3.2s ease both}
@keyframes car-camera-approach{0%,12%{transform:scale(1)}72%,84%{transform:scale(1.14) translateY(7px)}100%{transform:scale(1)}}
@keyframes car-lights-on{0%{opacity:0}12%,84%{opacity:1}100%{opacity:0}}
