/* Searchable service information, kept separate from the 3D chapter layout. */
.seo-section{padding:90px 0;background:#080c13}.seo-section h2{max-width:830px;margin:0 0 24px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.045em;font-weight:600;text-wrap:balance}.seo-intro{max-width:760px;color:var(--muted);font-size:1.125rem;line-height:1.7}.seo-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px}.seo-link-grid>a{display:flex;flex-direction:column;padding:30px;border:1px solid #ffffff18;border-radius:18px;background:#101721;transition:border-color .2s,transform .2s}.seo-link-grid>a:hover{border-color:#d8b35b88;transform:translateY(-3px)}.seo-link-grid>a>span{font-size:0.6875rem;letter-spacing:.08em;color:var(--accent)}.seo-link-grid h3{font-size:1.625rem;line-height:1.2;letter-spacing:-.025em;font-weight:550}.seo-link-grid p{color:var(--muted);font-size:0.9375rem;margin:0 0 25px}.seo-link-grid b{font-size:0.75rem;color:#ecd397;font-weight:500;margin-top:auto}.seo-faq{background:#0b1019}.seo-faq .container{max-width:1000px}.seo-faq details{border-bottom:1px solid #ffffff18;padding:22px 0}.seo-faq summary{font-size:1.125rem;font-weight:500;cursor:pointer;padding-right:15px}.seo-faq details p{color:var(--muted);font-size:1rem;max-width:80ch;margin-bottom:4px}.seo-faq a,.seo-contact a{color:#e8cc8d;text-decoration:underline;text-underline-offset:4px}.seo-contact{font-size:0.9375rem}.seo-footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 28px;padding-block:28px;font-size:0.8125rem;color:var(--muted)}.seo-footer-nav a:hover{color:var(--accent-bright)}
.service-page{background:#080c13}.service-hero{padding-top:145px;padding-bottom:65px}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:0.75rem;color:var(--muted);margin-bottom:44px}.breadcrumbs a{color:#e4c984}.service-hero h1{font-size:clamp(2.5rem,6vw,4.875rem);letter-spacing:-.055em;line-height:1.06;font-weight:600;margin:15px 0 20px;max-width:1000px;text-wrap:balance}.service-headline{color:#d4b971;font-size:clamp(1.3125rem,2.4vw,1.875rem);line-height:1.3;max-width:800px}.service-hero .button{margin-top:14px}.service-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:70px;padding-bottom:100px;align-items:start}.service-article section{margin-bottom:42px}.service-article h2{font-size:clamp(1.5625rem,3vw,2.1875rem);letter-spacing:-.03em;font-weight:550;line-height:1.2;margin-top:0}.service-article p{font-size:1.0625rem;color:#b7c0cd;line-height:1.8}.service-aside figure{margin:0 0 30px}.service-aside img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.service-aside figcaption{color:var(--muted);font-size:0.6875rem;margin-top:10px}.service-contact{border:1px solid #ffffff1c;border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px;background:#101722}.service-contact h2{font-size:1.5625rem;line-height:1.15;margin:0}.service-contact p{color:var(--muted);font-size:0.875rem;margin:0}.service-contact>a:not(.button){font-size:0.875rem;color:#ead29b;overflow-wrap:anywhere}.service-contact .button{font-size:0.75rem;padding:12px}.related-services{display:flex;flex-direction:column;gap:12px;color:#ead29b}.related-services a{text-decoration:underline;text-underline-offset:4px}.gallery-service-intro{max-width:780px;margin:0 0 35px;color:var(--muted)}
@media(max-width:900px){.seo-link-grid{grid-template-columns:1fr}.seo-section{padding:65px 0}.service-layout{grid-template-columns:1fr;gap:25px}.service-hero{padding-top:125px;padding-bottom:45px}.service-aside{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service-aside figure{margin:0}}
@media(max-width:560px){.service-aside{grid-template-columns:1fr}.seo-link-grid>a{padding:24px}.seo-faq summary{font-size:1rem}.seo-intro{font-size:1rem}.breadcrumbs{margin-bottom:30px}.service-article p{font-size:1rem}.service-hero h1{font-size:2.625rem}}
@media(prefers-reduced-motion:reduce){.seo-link-grid>a{transition:none}.seo-link-grid>a:hover{transform:none}}
.home-3d .product-hero h1{font-size:clamp(2.875rem,5vw,4.75rem)}
@media(max-width:759px){.home-3d .product-hero h1{font-size:clamp(2.125rem,9.5vw,3.25rem)}}
.service-page .space-menu-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.service-page .space-menu-orbit,.service-page .space-menu-close{transform-origin:12px 12px}
.service-page .nav-toggle{border-radius:13px}
.service-hero h1{hyphens:auto;overflow-wrap:break-word}
@media(max-width:560px){.service-hero h1{font-size:clamp(2.125rem,10vw,2.625rem)}}

/* Answers keep their natural height; JS animates only during an interaction. */
#faq-title,.seo-faq>.container>.eyebrow,.seo-faq summary{-webkit-user-select:none;user-select:none}
.seo-faq .faq-answer{display:flow-root;overflow:hidden}
.seo-faq summary{position:relative;list-style:none;padding-right:36px;line-height:1.5}
.seo-faq summary::-webkit-details-marker{display:none}
.seo-faq summary::marker{content:""}
.seo-faq summary::after{content:"";position:absolute;right:5px;top:50%;width:8px;height:8px;border-right:1.5px solid #d8bd7b;border-bottom:1.5px solid #d8bd7b;transform:translateY(-70%) rotate(45deg);transition:transform .28s ease}
.seo-faq details[data-expanded="true"] summary::after,.seo-faq details[open]:not([data-faq-enhanced]) summary::after{transform:translateY(-20%) rotate(225deg)}
@media(prefers-reduced-motion:reduce){.seo-faq summary::after{transition:none}}

.seo-section { padding-block: clamp(48px, 6vw, 80px); }
.seo-link-grid > a > span, .seo-link-grid b, .service-aside figcaption,
.breadcrumbs { font-size: .875rem; }
.seo-link-grid p, .service-contact p, .service-contact > a:not(.button),
.service-contact .button { font-size: 1rem; }
.seo-footer-nav { font-size: .875rem; padding-block: 16px; }
.seo-faq summary { min-height: 44px; display: flex; align-items: center; }
.seo-faq details { padding-block: 14px; }
.seo-link-grid > a:active { transform: scale(.99); }
.service-layout > * { min-width: 0; }
@media (prefers-reduced-motion: reduce) { .seo-link-grid > a:active { transform: none; } }
