/* SEO route. Shared homepage tokens and components remain in site.css. */
.seo-page{
  --seo-amber:#F4C45C;
  --seo-navy:linear-gradient(145deg,#173C51 0%,#102B3C 58%,#0E4B5C 100%);
  --seo-on-navy:#CDDBE0;
  --seo-copy:#505D62;
}
.seo-page ::selection{background:var(--seo-amber);color:var(--dark-bg);}
.seo-page h1,.seo-page h2,.seo-page h3{text-wrap:balance;}
.seo-page p{max-width:68ch;}
.seo-page nav{background:var(--dark-bg);border-color:#284858;backdrop-filter:none;}
.seo-page .nav-links a,.seo-page .nav-mobile a,.seo-page .nav-mobile-group summary{color:var(--seo-on-navy);}
.seo-page .nav-burger{min-width:44px;min-height:44px;align-items:center;}
.seo-page .seo-amber{color:var(--seo-amber);text-decoration:none;}
.seo-page .seo-skip{position:fixed;top:10px;left:24px;z-index:10001;transform:translateY(-180%);padding:12px 18px;border-radius:8px;background:var(--light-bg);color:var(--dark-bg);font-weight:700;}
.seo-page .seo-skip:focus{transform:translateY(0);}
.seo-page .hero{padding:152px 0 80px;}
.seo-page .hero-top:has(>.hero-media){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:44px;}
.seo-page .hero-copy p.lead{color:var(--seo-on-navy);max-width:49ch;}
.seo-page .hero-cta{margin-left:0;padding:12px;gap:10px;}
.seo-page .seo-search-figure{aspect-ratio:auto;background:var(--light-bg);color:var(--text-on-light);box-shadow:var(--shadow-dark-raised);}
.seo-page .seo-search-figure img{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;object-position:center 65%;}
.seo-page .seo-search-figure figcaption{padding:22px 25px 25px;}
.seo-page .seo-example-label{display:block;font-size:13px;color:var(--seo-copy);margin-bottom:11px;}
.seo-page .seo-search-phrase{display:flex;align-items:center;gap:12px;font-family:'Satoshi',sans-serif;font-size:21px;font-weight:700;line-height:1.3;letter-spacing:-.02em;}
.seo-page .seo-search-phrase svg,.seo-page .seo-search-examples svg{width:23px;height:23px;flex:none;fill:none;stroke:var(--accent-deep);stroke-width:1.7;stroke-linecap:round;}
.seo-page .seo-search-figure figcaption p{font-size:14px;line-height:1.65;margin-top:12px;color:var(--seo-copy);}
.seo-page .seo-section{padding:88px 0;background:var(--light-bg);}
.seo-page .seo-section--soft{background:linear-gradient(150deg,#EDEAE3,#F3F1EB);}
.seo-page .seo-intro{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;}
.seo-page .seo-intro p{color:var(--seo-copy);font-size:18px;line-height:1.7;}
.seo-page .seo-intro p+p{margin-top:16px;font-size:16px;}
.seo-page .seo-foundations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:40px;padding-top:30px;border-top:1px solid var(--border-light);}
.seo-page .seo-icon{display:block;flex:none;fill:currentColor;}
.seo-page .seo-foundations h3{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:21px;line-height:1.3;margin-bottom:10px;}
.seo-page .seo-foundations .seo-icon{width:32px;height:32px;color:var(--accent-deep);}
.seo-page .seo-foundations p{color:var(--seo-copy);font-size:16px;line-height:1.65;}
.seo-page .seo-demand,.seo-page .seo-fit{display:grid;grid-template-columns:1.06fr 1fr;gap:72px;align-items:center;}
.seo-page .seo-lead{font-size:17px;line-height:1.7;color:var(--seo-copy);margin-top:22px;}
.seo-page .seo-copy{color:var(--seo-copy);margin-top:16px;font-size:15px;line-height:1.7;}
.seo-page .seo-search-examples h3{font-size:19px;line-height:1.4;margin-bottom:17px;}
.seo-page .seo-search-examples ul{list-style:none;}
.seo-page .seo-search-examples li{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #CEC9BE;font-size:17px;line-height:1.5;}
.seo-page .seo-search-examples li:first-child{border-top:1px solid #CEC9BE;}
.seo-page .seo-search-examples p{font-size:13px;line-height:1.6;color:var(--seo-copy);margin-top:17px;}
.seo-page .seo-scope{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;padding:48px;border-radius:16px;background:var(--seo-navy);color:var(--text-on-dark);box-shadow:0 20px 40px -30px rgba(16,42,58,.55);}
.seo-page .seo-scope p{margin-top:22px;color:var(--seo-on-navy);font-size:16px;line-height:1.7;}
.seo-page .seo-scope p+p{font-size:15px;}
.seo-page .seo-scope-list{display:grid;gap:21px;}
.seo-page .seo-scope-list>div+div{padding-top:21px;border-top:1px solid #416071;}
.seo-page .seo-scope-list dt{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;font-family:'Satoshi',sans-serif;font-size:19px;line-height:1.4;font-weight:700;color:var(--seo-amber);margin-bottom:7px;}
.seo-page .seo-scope-list .seo-icon{width:24px;height:24px;margin-top:1px;}
.seo-page .seo-scope-list dd{margin-left:38px;color:var(--seo-on-navy);font-size:15px;line-height:1.65;}
.seo-page .seo-mid-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:38px;padding-top:30px;border-top:1px solid var(--border-light);}
.seo-page .seo-mid-cta p{font-family:'Satoshi',sans-serif;font-weight:700;font-size:20px;line-height:1.4;max-width:36ch;}
.seo-page .seo-mid-cta .btn{flex:none;}
.seo-page .seo-fit-list>div+div{margin-top:23px;padding-top:23px;border-top:1px solid #CEC9BE;}
.seo-page .seo-fit-list dt,.seo-page .seo-measures dt{font-family:'Satoshi',sans-serif;font-size:20px;font-weight:700;line-height:1.35;margin-bottom:8px;}
.seo-page .seo-fit-list dd,.seo-page .seo-measures dd{color:var(--seo-copy);font-size:15px;line-height:1.7;}
.seo-page .seo-process{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:start;}
.seo-page .seo-inputs{padding:25px 28px;margin-top:30px;border-radius:14px;background:var(--light-surface);}
.seo-page .seo-inputs h3{font-size:19px;line-height:1.35;margin-bottom:10px;}
.seo-page .seo-inputs p{font-size:15px;line-height:1.7;color:var(--seo-copy);}
.seo-page .seo-steps{list-style:none;}
.seo-page .seo-steps li{display:flex;align-items:flex-start;gap:20px;padding-bottom:28px;position:relative;}
.seo-page .seo-steps li:not(:last-child)::after{content:"";position:absolute;left:19px;top:46px;bottom:6px;width:1px;background:#C4CFCF;}
.seo-page .seo-steps li:last-child{padding-bottom:0;}
.seo-page .seo-steps li>span{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--dark-surface);color:var(--seo-amber);font-family:'Satoshi',sans-serif;font-size:16px;font-weight:700;}
.seo-page .seo-steps h3{font-size:21px;line-height:1.35;padding-top:5px;}
.seo-page .seo-steps p{margin-top:8px;color:var(--seo-copy);font-size:15px;line-height:1.65;}
.seo-page .seo-note{font-size:14px;line-height:1.7;color:var(--seo-copy);margin-top:22px;}
.seo-page .seo-progress-intro{max-width:68ch;}
.seo-page .seo-progress-intro .seo-lead{margin-top:20px;}
.seo-page .seo-measures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px;margin-top:40px;}
.seo-page .seo-measures>div{position:relative;display:grid;grid-template-rows:subgrid;grid-row:span 2;}
.seo-page .seo-measures>div:not(:last-child)::after{content:"";position:absolute;left:48px;right:-16px;top:16px;height:1px;background:#A9BFC4;}
.seo-page .seo-measures dt{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:12px;}
.seo-page .seo-measures .seo-icon{width:32px;height:32px;color:var(--accent-deep);}
.seo-page .seo-progress-note{max-width:76ch;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-light);}
.seo-page .seo-ai{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;}
.seo-page .seo-ai p{color:var(--seo-copy);font-size:16px;line-height:1.7;}
.seo-page .seo-ai p+p{margin-top:16px;}
.seo-page .seo-text-link{display:inline-flex;align-items:center;gap:10px;color:var(--accent-deep);font-size:14px;font-weight:700;line-height:1.6;min-height:44px;text-underline-offset:4px;margin-top:17px;}
.seo-page .seo-text-link svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.seo-page .seo-faq-section{padding-top:0;}
.seo-page .seo-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-top:60px;}
.seo-page .seo-faq::before{content:"";position:absolute;top:0;left:56px;right:56px;height:1px;background:var(--border-light);}
.seo-page .faq-list{margin-top:0;max-width:none;}
.seo-page .faq-list summary{font-size:17px;line-height:1.5;padding:20px 0;}
.seo-page .faq-list details p{font-size:15px;line-height:1.7;color:var(--seo-copy);}
.seo-page .faq-list details[open] summary{color:var(--accent-deep);}
.seo-page .seo-close{padding-top:0;}
.seo-page .seo-close-panel{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:center;border-radius:16px;background:var(--seo-navy);padding:48px;color:var(--text-on-dark);}
.seo-page .seo-close-panel p{margin-top:20px;font-size:16px;color:var(--seo-on-navy);}
.seo-page .seo-close-action{padding:24px;border-radius:12px;background:var(--gradient-stone-surface);display:flex;flex-direction:column;align-items:center;gap:12px;}
.seo-page .seo-close-action .btn{justify-content:center;width:100%;padding:15px 20px;}
.seo-page .seo-close-action>span{color:var(--seo-copy);font-size:13px;text-align:center;}
.seo-page footer .foot-col h3,.seo-page footer .foot-col a,.seo-page footer .foot-meta{color:var(--seo-on-navy);}
.seo-page a:focus-visible,.seo-page button:focus-visible,.seo-page summary:focus-visible{outline:3px solid var(--accent-soft);outline-offset:5px;}
.seo-page .hero a:focus-visible{outline-color:var(--seo-amber);}
@media(max-width:1000px){
  .seo-page .seo-intro,.seo-page .seo-demand,.seo-page .seo-fit,.seo-page .seo-process,.seo-page .seo-ai,.seo-page .seo-faq{gap:40px;}
  .seo-page .seo-scope{gap:36px;padding:36px;}
  .seo-page .seo-close-panel{padding:36px;gap:32px;}
  .seo-page .seo-faq::before{left:40px;right:40px;}
}
@media(max-width:900px){
  .seo-page .hero-top:has(>.hero-media){grid-template-columns:1fr;gap:36px;}
  .seo-page .seo-search-figure{max-width:560px;width:100%;justify-self:start;}
  .seo-page .hero-copy{max-width:680px;}
  .seo-page .seo-close-panel{grid-template-columns:1fr;}
  .seo-page .seo-close-action{max-width:330px;}
  .seo-page .seo-measures{grid-template-columns:1fr;gap:0;margin-top:32px;}
  .seo-page .seo-measures>div{display:block;grid-row:auto;padding-bottom:28px;}
  .seo-page .seo-measures>div:last-child{padding-bottom:0;}
  .seo-page .seo-measures>div:not(:last-child)::after{left:16px;right:auto;top:44px;bottom:12px;width:1px;height:auto;}
  .seo-page .seo-measures dt{flex-direction:row;align-items:center;gap:20px;margin-bottom:8px;}
  .seo-page .seo-measures dd{margin-left:52px;max-width:60ch;}
}
@media(max-width:720px){
  .seo-page .hero{padding:120px 0 56px;}
  .seo-page .seo-section{padding:60px 0;}
  .seo-page .seo-intro,.seo-page .seo-demand,.seo-page .seo-scope,.seo-page .seo-fit,.seo-page .seo-process,.seo-page .seo-ai,.seo-page .seo-faq{grid-template-columns:1fr;gap:30px;}
  .seo-page .seo-intro{gap:20px;}
  .seo-page .seo-intro p{font-size:17px;}
  .seo-page .seo-search-figure figcaption{padding:20px 22px;}
  .seo-page .seo-search-phrase{font-size:20px;}
  .seo-page .seo-foundations{grid-template-columns:1fr;gap:25px;margin-top:28px;padding-top:28px;}
  .seo-page .seo-foundations h3{flex-direction:row;align-items:center;gap:12px;margin-bottom:7px;}
  .seo-page .seo-foundations .seo-icon{width:28px;height:28px;}
  .seo-page .seo-foundations p{padding-left:40px;}
  .seo-page .seo-scope{padding:28px;}
  .seo-page .seo-mid-cta{flex-direction:column;align-items:flex-start;gap:18px;margin-top:30px;padding-top:24px;}
  .seo-page .seo-faq-section,.seo-page .seo-close{padding-top:0;}
  .seo-page .seo-faq{padding-top:44px;}
  .seo-page .seo-faq::before{left:24px;right:24px;}
  .seo-page .seo-close-panel{padding:30px 26px;}
  .seo-page .seo-close-action{max-width:none;width:100%;padding:18px;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .seo-page .btn,.seo-page .nav-burger span,.seo-page .faq-list summary::after{transition:none;}
}
