/* Semantic content follows the site's existing typography and restrained palette. */
.seo-section{border-top:1px solid #ffffff14;scroll-margin-top:130px}
.seo-section h2{font-size:clamp(27px,3.2vw,46px);letter-spacing:-.035em;line-height:1.14;max-width:950px}
.seo-section p,.seo-section li{font-size:17px;line-height:1.75;color:#b7b6bc}
.seo-section li{margin-bottom:10px}
.seo-section .eyebrow{font-size:14px;line-height:1.5;color:#d58970;letter-spacing:.1em}
.seo-intro{max-width:780px;margin-bottom:32px}
.seo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.seo-service-card{display:flex;flex-direction:column;gap:18px;border:1px solid #ffffff21;background:#ffffff03;padding:28px;border-radius:12px;transition:border-color .2s}
.seo-service-card:hover{border-color:#d58970}
.seo-service-card h3{font-size:22px;line-height:1.25;font-weight:500;margin:0;letter-spacing:-.02em}
.seo-service-card p{font-size:15px;line-height:1.65;margin:0}
.seo-service-card>span{margin-top:auto;font-size:14px;color:#e9a18b}
.seo-service-card:focus-visible,.seo-proof:focus-visible{outline:2px solid #e9a18b;outline-offset:4px}
.seo-service-hero h1{max-width:1050px;font-size:clamp(35px,5vw,74px)}
.seo-service-hero .lead{max-width:840px}
.seo-service-hero .lead p{margin-block:0 28px}
.seo-jump-links{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:34px}
.seo-jump-links a{font-size:14px;color:#b9b5b5;text-decoration:underline;text-underline-offset:5px}
.seo-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 64px}
.seo-editorial article{scroll-margin-top:130px}
.seo-editorial h2{font-size:clamp(26px,2.7vw,37px);margin-top:0}
.seo-editorial p{margin-bottom:0}
.seo-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.seo-proof{display:block;min-width:0;border:1px solid #ffffff21;border-radius:12px;overflow:hidden;background:#ffffff03}
.seo-proof img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.seo-proof>div{padding:24px}
.seo-proof h3{font-weight:500;font-size:23px;line-height:1.25;letter-spacing:-.02em;margin:14px 0 25px}
.seo-proof .eyebrow{display:block}
.seo-proof .text-link{font-size:14px}
.seo-faq{max-width:1200px;margin:auto}
.seo-faq details{border-bottom:1px solid #ffffff25;padding:22px 0}
.seo-faq summary{font-size:20px;line-height:1.4;display:flex;gap:24px;justify-content:space-between;cursor:pointer;list-style:none}
.seo-faq summary::-webkit-details-marker{display:none}
.seo-faq summary>span{color:#e9a18b;flex:none}
.seo-faq details[open] summary>span{transform:rotate(45deg)}
.seo-faq details p{max-width:900px;margin-bottom:0}
.seo-studio-note{margin-top:38px}
.seo-studio-note a{text-decoration:underline;text-underline-offset:4px;color:#e9a18b}
.seo-home-services .seo-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.seo-home-services .seo-service-card{padding:23px}
.seo-home-services .seo-service-card h3{font-size:20px}
@media(max-width:1000px){.seo-home-services .seo-service-grid,.seo-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .seo-editorial{grid-template-columns:1fr;gap:30px}
 .seo-service-grid,.seo-home-services .seo-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .seo-service-card,.seo-home-services .seo-service-card{padding:17px 13px;gap:14px}
 .seo-service-card h3,.seo-home-services .seo-service-card h3{font-size:17px;overflow-wrap:anywhere}
 .seo-service-card p{font-size:14px;line-height:1.55}
 .seo-proof-grid{grid-template-columns:1fr}
 .seo-proof{display:grid;grid-template-columns:34% 1fr}
 .seo-proof img{height:100%;aspect-ratio:auto;object-fit:cover}
 .seo-proof>div{padding:18px}
 .seo-proof h3{font-size:20px;margin:10px 0 18px}
 .seo-section p,.seo-section li{font-size:16px}
 .seo-service-card p{font-size:14px}
 .seo-faq summary{font-size:18px}
 .seo-service-hero .project-breadcrumbs{margin-top:0}
}

/* Descriptions stay visible after playback starts; no duplicate privacy notices. */
.project-content .media-result-copy{padding:18px 18px 0;min-width:0}
.project-content .media-result-copy :is(h2,h3){font-size:18px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}
.project-content .media-result-copy p{font-size:14px;line-height:1.6;color:#b7b6bc;margin:0;overflow-wrap:anywhere}
@media(max-width:760px){
 .project-content .media-result-copy{padding:12px 8px 0}
 .project-content .media-result-copy :is(h2,h3){font-size:14px}
}

.page-hero h1{overflow-wrap:anywhere}
@media(max-width:760px){.privacy-page-hero h1{font-size:clamp(24px,7.7vw,38px)}}

.project-content .media-grid-title{font-size:clamp(20px,2.4vw,28px);line-height:1.3;margin:0;padding:22px 24px 0}
