/* Phase 2.2: scoped refinements; intro, video and rail geometry stay intact. */
.creovers-site {
  --color-bg:#f7f8fa;
  --color-bg-dark:#0c121a;
  --color-ink:#18212a;
  --color-text:#36434f;
  --color-muted:#64717d;
  --color-line:#d5dce2;
  --color-line-dark:#34414f;
  --color-accent:#406589;
  --color-accent-soft:#a9bfd1;
  --space-xs:.5rem;
  --space-sm:1rem;
  --space-md:1.5rem;
  --space-lg:2.5rem;
  --space-xl:4rem;
  --space-2xl:var(--agency-space,88px);
  --heading-step:3.75rem;
  --secondary-step:3rem;
  --footer-step:3.5rem;
}
.agency-about,.agency-work,.agency-why,.agency-process,.agency-faq { padding-block:var(--space-2xl); }
.agency-about,.agency-work,.agency-faq { background:var(--color-bg); color:var(--color-ink); }
.reel-contact { background:#eef1f4; border-color:var(--color-line); }
.reel-contact__lead strong { color:var(--color-ink); font-size:1rem; }
.reel-contact .button { background:var(--color-ink); }
.reel-contact .button:hover { background:var(--color-accent); }
.reel-contact__lead p,.reel-contact__actions .contact-method + .contact-method { border-color:var(--color-line); }
.reel-contact .contact-method { color:var(--color-text); }
.creovers-site .about-manifesto h2,.creovers-site .services-heading h2,.agency-work .agency-section-heading h2 {
  font-size:clamp(3rem,var(--heading-step),5rem);
  line-height:1.13;
  font-weight:500;
}
.agency-why .agency-section-heading h2,.creovers-site .agency-process h2,.creovers-site .agency-faq h2 {
  font-size:clamp(2.5rem,var(--secondary-step),4rem);
  line-height:1.16;
  font-weight:500;
  max-width:16ch;
}
.agency-work .agency-section-heading h2 { max-width:18ch; }
.about-manifesto em { color:var(--color-accent); }
.about-manifesto .about-introduction { max-width:30ch; line-height:1.8; }
.about-description { max-width:47ch; color:var(--color-text); }
.about-heading { border-color:var(--color-line); }
.about-composition { grid-template-columns:repeat(12,minmax(0,1fr)); gap:0; }
.about-visual--web { grid-column:1 / 12; grid-row:1; }
.about-visual--web .about-visual__media { aspect-ratio:3 / 2; }
.about-visual--web img { object-position:center; }
.about-visual--web figcaption { max-width:48%; flex-direction:column; gap:3px; }
.about-visual--print { grid-column:7 / 13; grid-row:1; margin:0 -8px -24px 0; align-self:end; z-index:2; }
.about-visual--print .about-visual__media { border:8px solid var(--color-bg); aspect-ratio:4 / 3; }
.about-visual--print figcaption { padding-left:8px; padding-bottom:8px; background:var(--color-bg); gap:3px; }
.about-disciplines { border-color:var(--color-line); }
.about-disciplines>div { border-left:0; padding-right:var(--space-md); transition:color 220ms; }
.about-disciplines dt { color:var(--color-text); font-weight:500; }
.about-disciplines dd { color:var(--color-muted); }
.about-disciplines>div:hover dt { color:var(--color-accent); }
.about-disciplines>div:nth-child(n+3) { border-color:var(--color-line); }
.agency-services { --service-surface:#0e151e; --service-tint:var(--color-accent-soft); }
.agency-services[data-active-service="commerce"] { --service-surface:#101821; --service-tint:var(--color-accent-soft); }
.agency-services[data-active-service="graphic"] { --service-surface:#131820; --service-tint:var(--color-accent-soft); }
.agency-services[data-active-service="packaging"] { --service-surface:#111721; --service-tint:var(--color-accent-soft); }
.agency-services[data-active-service="seo"] { --service-surface:#0f1921; --service-tint:var(--color-accent-soft); }
.agency-services[data-active-service="brand"],.agency-services.is-closing { --service-surface:#121821; --service-tint:var(--color-accent-soft); }
.agency-services .service-scene { stroke-width:.8; }
.agency-services[data-active-service] .service-scene { opacity:0; }
.agency-services[data-active-service="web"] [data-scene="web"],
.agency-services[data-active-service="commerce"] [data-scene="commerce"],
.agency-services[data-active-service="graphic"] [data-scene="graphic"],
.agency-services[data-active-service="packaging"] [data-scene="packaging"],
.agency-services[data-active-service="seo"] [data-scene="seo"],
.agency-services[data-active-service="brand"] [data-scene="brand"] { opacity:.055; }
.agency-service-card { --accent:var(--color-accent-soft); border-color:#4a5764; border-radius:4px; opacity:.94; }
.agency-service-card.is-active { border-color:#a3b5c5; }
.service-art { bottom:50%; background:#e6e9ec; }
.service-art img { object-position:center; transform:none; }
.service-packaging .service-art img { object-fit:cover; background:#e6e9ec; }
.service-seo .service-art img { filter:saturate(.12); }
.agency-service-card.service-seo:is(.is-active,:hover) .service-art img { filter:saturate(.12); }
.card-footer,.agency-service-card.is-active .card-footer { background:var(--color-bg-dark); }
.card-footer { border-top:1px solid var(--color-line-dark); }
.card-footer>span { color:var(--color-accent-soft); font-size:.6875rem; }
.service-tags { gap:var(--space-sm); }
.service-tags small { color:#b5c2cc; font-size:.6875rem; border-color:var(--color-line-dark); }
.service-symbol,.service-detail { background:var(--color-bg-dark); color:#e8eef3; border-color:#768797; }
.services-finale { border-color:#627080; }
.services-finale h3 { font-weight:500; }
.portfolio-grid { column-gap:var(--space-xl); }
.portfolio-meta { border-color:var(--color-line); }
.portfolio-packaging .portfolio-image { aspect-ratio:4 / 3; }
.portfolio-packaging .portfolio-image img { object-fit:cover; }
.portfolio-image img { transition:transform 600ms var(--creovers-ease); }
.portfolio-note { color:var(--color-muted); max-width:70ch; line-height:1.7; }
.agency-why { background:#fff; color:var(--color-ink); }
.agency-why-grid { border-top:1px solid var(--color-line); border-bottom:1px solid var(--color-line); }
.agency-why-grid article { display:grid; grid-template-columns:5rem 1fr; gap:var(--space-md); padding:var(--space-lg); border-top:0; transition:background-color 350ms; }
.agency-why-grid article:nth-child(even) { padding-left:var(--space-lg); border-left:1px solid var(--color-line); }
.agency-why-grid article:nth-child(n+3) { border-top:1px solid var(--color-line); }
.agency-why-grid article>span { grid-column:1; grid-row:1 / span 2; font-size:2.75rem; font-weight:400; color:#8293a3; line-height:1; font-variant-numeric:tabular-nums; }
.agency-why-grid article h3 { grid-column:2; margin:0; font-size:1.375rem; line-height:1.4; font-weight:500; }
.agency-why-grid article p { grid-column:2; color:var(--color-text); line-height:1.8; max-width:42ch; font-size:1rem; }
.agency-process { background:#171e27; color:#f1f4f7; }
.agency-process__grid { grid-template-columns:1fr 1.25fr; gap:var(--space-xl); }
.agency-process__grid>div>p:not(.kicker) { max-width:37ch; line-height:1.8; color:#b9c5cf; }
.agency-process ol { border-top:1px solid #485561; }
.agency-process li,.agency-process li:first-child { position:relative; grid-template-columns:3rem 1fr; gap:var(--space-lg); padding:var(--space-lg) var(--space-md); border-top:0; border-bottom:1px solid #485561; transition:background-color 350ms; }
.agency-process li>span { font-size:1.625rem; font-variant-numeric:tabular-nums; color:#a7b9c9; }
.agency-process li h3 { margin:0 0 var(--space-sm); font-size:1.375rem; font-weight:500; }
.agency-process li p { color:#b9c5cf; max-width:47ch; font-size:1rem; line-height:1.8; }
.agency-faq__grid { grid-template-columns:1fr 1.5fr; gap:var(--space-xl); }
.faq-list details { padding:0; border-color:var(--color-line); }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:var(--space-md); list-style:none; padding:var(--space-md) var(--space-sm); font-size:1rem; line-height:1.7; font-weight:500; transition:background-color 220ms; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary svg { width:20px; height:20px; flex-shrink:0; color:var(--color-accent); transition:transform 350ms var(--creovers-ease); }
.faq-list details[open] summary svg { transform:rotate(45deg); }
.faq-list p { margin:0; padding:0 var(--space-sm) var(--space-md); color:var(--color-text); font-size:1rem; max-width:66ch; line-height:1.8; }
.creovers-site :focus-visible { outline:2px solid var(--color-accent); outline-offset:4px; }
.agency-services :focus-visible,.agency-process :focus-visible,.site-footer :focus-visible { outline-color:var(--color-accent-soft); }
.creovers-site .site-footer { background:var(--color-bg-dark); color:#f3f5f7; padding-block:var(--space-2xl) var(--space-lg); }
.site-footer__lead { align-items:center; gap:var(--space-xl); padding-bottom:var(--space-xl); border-color:var(--color-line-dark); }
.creovers-site .site-footer__lead h2 { font-size:clamp(2.5rem,var(--footer-step),4.5rem); font-weight:500; line-height:1.16; max-width:25ch; }
.site-footer__invitation { margin:var(--space-md) 0 0; color:#bbc7d1; font-size:1rem; }
.site-footer__lead .button { flex-shrink:0; gap:var(--space-sm); min-height:48px; background:#f3f5f7; color:var(--color-ink); font-size:.875rem; }
.site-footer__lead svg { width:20px; height:20px; }
.site-footer__grid { grid-template-columns:1.5fr .8fr 1fr 1.1fr; gap:var(--space-lg); padding-block:var(--space-xl); }
.site-footer__brand img { width:230px; height:auto; max-width:100%; margin-bottom:var(--space-md); }
.site-footer__brand p { font-size:.9375rem; line-height:1.8; max-width:35ch; color:#b5c3ce; }
.site-footer__column { gap:12px; font-size:.9375rem; line-height:1.65; color:#b5c3ce; }
.site-footer__column strong { font-weight:500; font-size:.6875rem; color:#f3f5f7; margin-bottom:var(--space-sm); }
.site-footer__column a { text-decoration:underline; text-decoration-color:transparent; text-underline-offset:5px; transition:color 220ms,text-decoration-color 220ms; }
.site-footer__column a:hover { color:#fff; text-decoration-color:#8dacc6; }
.site-footer__bottom { padding-top:var(--space-md); border-color:var(--color-line-dark); color:#a4b4c2; font-size:.75rem; }
.application-after__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(hover:hover) and (pointer:fine) {
  .portfolio-item:hover .portfolio-image img { transform:scale(1.015); }
  .agency-why-grid article:hover { background:#f5f7f9; }
  .agency-process li:hover { background:#1d2631; }
  .faq-list summary:hover { background:#edf1f5; }
}
@media(min-width:1600px) { .creovers-site { --heading-step:4rem; --secondary-step:3.25rem; --footer-step:3.75rem; } }
@media(min-width:1850px) { .creovers-site { --heading-step:4.5rem; --secondary-step:3.5rem; --footer-step:4rem; } }
@media(min-width:2400px) {
  .creovers-site { --heading-step:5rem; --secondary-step:4rem; --footer-step:4.5rem; --space-xl:5rem; --space-lg:3rem; }
  .about-description,.about-manifesto .about-introduction { font-size:1.1875rem; }
  .agency-why-grid article { grid-template-columns:6rem 1fr; }
  .agency-why-grid article>span { font-size:3.25rem; }
  .agency-why-grid article p,.agency-process li p,.faq-list p,.faq-list summary { font-size:1.125rem; }
  .site-footer__brand img { width:280px; }
  .site-footer__brand p,.site-footer__column { font-size:1.0625rem; }
}
@media(min-width:901px) {
  .site-nav__list { gap:20px; }
  .site-nav__list a { font-size:.875rem; }
  .site-nav>.button { font-size:.8125rem; min-height:42px; padding:12px 18px; }
}
@media(max-width:1200px) {
  .creovers-site { --heading-step:3.5rem; --secondary-step:2.5rem; --footer-step:3rem; }
  .agency-why-grid article { grid-template-columns:3.5rem 1fr; }
  .site-footer__grid { grid-template-columns:1.3fr 1fr; gap:var(--space-xl); }
  .site-footer__brand { grid-column:auto; }
}
@media(max-width:900px) {
  .agency-scroll.is-over-services { bottom:20px; }
  .creovers-site { --heading-step:3.25rem; --space-xl:3rem; --footer-step:2.5rem; }
  .creovers-site .about-manifesto h2 { font-size:2.75rem; }
  .about-visual--web { grid-column:1 / 11; }
  .about-visual--print { grid-column:7 / 13; margin-bottom:-12px; }
  .agency-process__grid,.agency-faq__grid { grid-template-columns:1fr; gap:var(--space-lg); }
  .agency-why-grid article { padding:var(--space-md); gap:var(--space-sm); }
  .agency-why-grid article:nth-child(even) { padding-left:var(--space-md); }
  .site-footer__lead { align-items:start; flex-direction:column; gap:var(--space-lg); }
  .creovers-site .site-footer__lead h2 { max-width:23ch; }
}
@media(max-width:700px) {
  .application-after__grid { grid-template-columns:1fr; }
  .creovers-site { --space-lg:2rem; --space-xl:2.5rem; --secondary-step:2rem; --footer-step:2.125rem; }
  .creovers-site .about-manifesto h2 { font-size:2.625rem; }
  .creovers-site .services-heading h2 { font-size:2.125rem; }
  .agency-work .agency-section-heading h2 { font-size:2.25rem; }
  .creovers-site .agency-why h2,.creovers-site .agency-process h2,.creovers-site .agency-faq h2 { font-size:2rem; max-width:17ch; }
  .about-composition { grid-template-columns:1.3fr 1fr; margin-bottom:var(--space-xl); gap:var(--space-md); }
  .about-visual--web { grid-column:1 / -1; grid-row:1; }
  .about-visual--web figcaption { max-width:none; }
  .about-visual--print { grid-column:1 / -1; grid-row:2; width:76%; justify-self:end; margin:0; }
  .about-visual--print .about-visual__media { aspect-ratio:4 / 3; border:0; }
  .about-visual--print figcaption { padding:12px 0 0; }
  .agency-why-grid article,.agency-why-grid article:nth-child(even) { grid-template-columns:3rem 1fr; padding:var(--space-md) 0; gap:var(--space-sm); border-left:0; }
  .agency-why-grid article:nth-child(n+2) { border-top:1px solid var(--color-line); }
  .agency-why-grid article>span { font-size:2rem; }
  .agency-why-grid article h3 { font-size:1.25rem; }
  .agency-why-grid article p,.agency-process li p,.faq-list p { font-size:.9375rem; }
  .agency-process li,.agency-process li:first-child { grid-template-columns:2rem 1fr; padding:var(--space-md) 0; gap:var(--space-sm); }
  .agency-process li>span { font-size:1.375rem; }
  .agency-process li h3 { font-size:1.25rem; }
  .faq-list summary { font-size:.9375rem; padding-inline:0; }
  .faq-list p { padding-inline:0; }
  .creovers-site .site-footer__lead h2 { font-size:2.125rem; max-width:19ch; }
  .site-footer__invitation { font-size:.9375rem; line-height:1.7; }
  .site-footer__lead .button { width:auto; }
  .site-footer__grid { grid-template-columns:1fr; gap:var(--space-lg); }
  .site-footer__brand p { max-width:32ch; }
  .site-footer__column { font-size:.9375rem; }
  .site-footer__bottom { align-items:start; flex-direction:column; gap:var(--space-sm); }
}
@media(max-width:420px) { .creovers-site .services-heading h2 { font-size:1.875rem; } }
@media(max-height:850px) and (min-width:901px) { .creovers-site .services-heading h2 { font-size:clamp(2.5rem,3rem,3.25rem); } }
@media(prefers-reduced-motion:reduce) {
  .portfolio-image img,.faq-list summary svg,.agency-why-grid article,.agency-process li { transition:none; }
  .portfolio-item:hover .portfolio-image img { transform:none; }
}
