﻿/* SEO additions inherit the site's established typography, red accent and surfaces. */
.service-heading{margin:0;font:inherit}.sh2 .service-name{font-family:var(--head);font-weight:700;font-size:clamp(1.6rem,3.6vw,3rem);letter-spacing:-.05em;line-height:.95;color:inherit}
.sr.on .service-name,.sh2:hover .service-name{color:var(--red)}
.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0 1rem;margin:0 0 1.6rem 3.2rem}.service-actions .btn{margin:0;padding:.75rem 1rem}.service-detail-link{font-size:.88rem;font-weight:700;line-height:1.6;color:var(--dk);text-underline-offset:4px}.service-detail-link:hover{color:#a4102c}.inline-service-link{color:inherit;text-underline-offset:4px}
#work .project-details-link{position:absolute;bottom:28px;right:20px;z-index:2;font-size:12px;line-height:1.6;color:var(--tx);text-underline-offset:4px}#work .project-details-link:hover{color:var(--red2)}
.seo-footer-links{padding-top:2rem;margin-top:2rem;border-top:1px solid var(--g3)}.seo-footer-links nav,.seo-footer-links>div{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem}.seo-footer-links a{font-size:.85rem;color:#c4c7cd;text-decoration:none}.seo-footer-links a:hover{color:#fff}.seo-footer-links>div{margin-top:1.5rem}.analytics-settings,.inline-button{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.analytics-settings[hidden]{display:none}
.no-js .rv,.no-js .fi{opacity:1;transform:none}.no-js .sl i{transform:scaleX(1)}.no-js .sr .sb{grid-template-rows:1fr;visibility:visible}.no-js .hero h1 span>b{transform:none}.no-js .hl{background-size:100% 100%}
.seo-page{background:var(--g0)}.seo-page main{padding-top:95px}.seo-page .seo-intro{padding-top:3rem;padding-bottom:3.5rem}.seo-intro h1{font-size:clamp(2.65rem,6vw,5.3rem);line-height:1.04;text-transform:uppercase;max-width:1150px;margin:1.5rem 0}.seo-intro h1>span{display:block;color:var(--red2);font-size:.65em;margin-top:.3em;line-height:1.12}.seo-intro>p:not(.mono){max-width:750px;color:#c0c4cc;font-size:1.1rem;line-height:1.85}.seo-intro .mono{color:var(--red2)}.seo-intro>.btn{margin-top:1.7rem}
.seo-breadcrumbs ol{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-size:.85rem;color:#b5bac4;line-height:1.8}.seo-breadcrumbs li+li::before{content:'/';margin-right:.65rem;color:#858c98}.seo-breadcrumbs a{text-underline-offset:4px}.seo-breadcrumbs [aria-current]{color:#f7f7f5}
.seo-content{padding-block:3rem}.seo-content h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2;text-transform:none;letter-spacing:-.035em;margin:0 0 1.3rem}.seo-content p{color:#c0c4cc;line-height:1.9;margin-bottom:1.5rem}.seo-detail{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}.seo-detail>div>h2:not(:first-child){margin-top:2.7rem}
.seo-card{background:linear-gradient(145deg,var(--g2),var(--g1));border:1px solid var(--g3);border-radius:8px;padding:1.7rem;min-width:0}.seo-card h2,.seo-card h3{font-size:1.6rem;line-height:1.18;text-transform:none;letter-spacing:-.035em;margin-bottom:1rem}.seo-card h2 a,.seo-card h3 a{text-decoration:none}.seo-card .mono{font-size:.72rem;color:#ff7186;line-height:1.7;margin-bottom:1.3rem}.seo-card p{font-size:.98rem;line-height:1.8}.seo-card ul{padding-left:1.2rem;color:#d1d4db;line-height:1.85;margin:0 0 1.6rem}.seo-card li{padding-left:.3rem;margin-bottom:.8rem}.seo-card a:hover{color:#ff7186}
.seo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.seo-text-link{display:inline-block;font-size:.95rem;font-weight:700;line-height:1.7;color:#ff7186;text-underline-offset:5px;margin-right:1.5rem}.seo-section-title{margin-bottom:2rem!important}.seo-content .fq{margin-top:0;color:var(--tx)}.seo-content .fq details{border-color:#505660}.seo-content .fq summary{color:var(--tx);font-size:1rem}.seo-content .fq details p{color:#c0c4cc}
.seo-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.seo-project-preview{display:block;margin-bottom:1.5rem;border-radius:5px;overflow:hidden;aspect-ratio:1.55;background:#e5e7ec}.seo-project-preview picture,.seo-project-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.seo-project-image{margin:0 auto;padding-top:0;padding-bottom:0}.seo-project-image picture{display:block;background:#e5e7ec;border:1px solid var(--g3);border-radius:8px;overflow:hidden}.seo-project-image img{display:block;max-width:100%;width:100%;height:auto}.seo-project-image figcaption{color:#aeb4bf;font-size:.8rem;line-height:1.7;margin-top:.8rem}
.seo-note{border-top:1px solid var(--g3);border-bottom:1px solid var(--g3)}.seo-contact-band{background:var(--g2);border:1px solid #505660;border-radius:8px;padding:2.5rem;margin-top:3rem;margin-bottom:4rem}.seo-contact-band h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;margin:1rem 0 1.5rem}.seo-contact-band .mono{color:#ff7186}.seo-contact-band p:not(.mono){color:#c0c4cc;max-width:650px;margin-bottom:1.5rem;line-height:1.85}.seo-legal{max-width:900px;padding-bottom:5rem}.seo-legal h2{margin-top:2.2rem}.seo-legal a,.seo-legal .inline-button{color:#ff7186}
.analytics-panel{position:fixed;right:20px;bottom:20px;z-index:90;width:min(440px,calc(100vw - 40px));background:#1c1e22;color:#f7f7f5;border:1px solid #69717f;border-radius:8px;padding:22px;box-shadow:0 12px 45px #0007;font-family:var(--body)}.analytics-panel[hidden]{display:none}.analytics-panel h2{font:700 20px/1.3 var(--head);text-transform:none;letter-spacing:-.03em;margin:0 0 10px}.analytics-panel p{font-size:14px;line-height:1.75;color:#d1d4db;margin:0 0 16px}.analytics-panel a{color:#ff899b;text-underline-offset:3px}.analytics-panel>div{display:flex;gap:10px}.analytics-panel button{flex:1;min-height:44px;padding:10px 12px;border-radius:4px;border:1px solid #8d95a3;background:#292c31;color:#fff;font:700 13px/1.4 var(--body);cursor:pointer}.analytics-panel button[data-choice=granted]{background:#c91e3c;border-color:#c91e3c}.analytics-panel button:focus-visible{outline:2px solid #ff899b;outline-offset:3px}
@media(max-width:1000px){.seo-service-grid,.seo-project-grid{grid-template-columns:1fr 1fr}.seo-detail{gap:2rem}.seo-card{padding:1.4rem}}
@media(max-width:860px){.service-actions{margin-left:0}.seo-intro h1{font-size:clamp(2.6rem,7vw,4rem)}.seo-detail{grid-template-columns:1fr}.seo-page .seo-intro{padding-top:2rem}.seo-content{padding-block:2rem}.seo-contact-band{padding:2rem;margin-top:2rem}}
@media(max-width:600px){.seo-service-grid,.seo-project-grid{grid-template-columns:1fr}.seo-intro>p:not(.mono){font-size:1rem}.seo-card h2,.seo-card h3{font-size:1.65rem}.seo-contact-band{width:calc(100% - 40px);padding:1.5rem}.seo-footer-links nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.seo-footer-links a{font-size:.85rem}.seo-breadcrumbs{font-size:.8rem}.analytics-panel{padding:18px}.service-detail-link{font-size:.82rem}.service-actions{gap:1rem}}
/* Content stays readable if enhancement scripts fail; the original reveal motion remains. */
.rv{opacity:1;transform:none}.js .rv.v{animation:seo-reveal-in 1s var(--ease) both}
@keyframes seo-reveal-in{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.js .rv.v{animation:none}}
/* Maintain contrast over both the transparent and white-backed particle states. */
.lt .sub,.lt2 .sub,.lt .sb p,.lt .fq p,.lt2 .st p,.cl .sub{color:#343942}
#services .sh2>span:not(.service-name){color:#343942}
#services .sr.on .service-name,#services .sh2:hover .service-name{color:#b51534}
