/* Final readability and interaction refinements, preserving the visual system. */
html{scroll-padding-top:24px}
p{text-wrap:pretty}
.text-link,.check-list li,.migration-copy .small-copy,.footer-operator,.footer-operator strong+p,.footer-bottom a{font-size:13px}
.footer-bottom{color:#59634f;gap:20px 30px}
.footer-operator>p:first-child{font-size:13px}
.support-scope>p{font-size:14px;line-height:1.95;margin-bottom:16px}
.support-scope>p.scope-terms{margin-top:0;padding-top:16px;border-top:1px dashed var(--line);color:#46543b;margin-bottom:24px}
.technical-details>summary,.faq-list summary{transition:background .2s,color .2s}
.technical-details>summary:hover,.faq-list summary:hover{background:rgb(210 237 109 / 15%)}
.technical-details>summary:active,.faq-list summary:active{background:rgb(210 237 109 / 28%)}
.technical-details>summary>span[aria-hidden="true"],.faq-list summary>span[aria-hidden="true"]{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;font-size:0;line-height:1;transform:none;transition:none}
.technical-details>summary>span[aria-hidden="true"]:before,.faq-list summary>span[aria-hidden="true"]:before{content:"";display:block;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 14px no-repeat;transition:transform .25s}
.technical-details[open]>summary>span[aria-hidden="true"],.faq-list details[open] summary>span[aria-hidden="true"]{transform:none}
.technical-details[open]>summary>span[aria-hidden="true"]:before,.faq-list details[open] summary>span[aria-hidden="true"]:before{transform:rotate(45deg)}
.text-link{min-height:44px}
.footer-bottom a,.footer-operator a{display:inline-flex;align-items:center;min-height:44px}
.button:active,.header-cta:active{transform:translateY(1px)}
.architecture-note{color:#536348}
.desktop-nav{gap:20px}
.desktop-nav a,.header-cta{font-size:13px}
.desktop-nav a{display:inline-flex;align-items:center;min-height:44px}
.desktop-nav a:after{bottom:7px}
.hero-bottom a{min-height:44px}
.reveal.is-observed{opacity:1;transform:translateY(10px);transition:transform .45s var(--ease)}
.reveal.is-observed.is-visible{transform:none}
@media(min-width:1600px){
  .hero-inner{max-width:1328px}
  .hero h1{font-size:60px}
}
@media(min-width:1200px) and (max-width:1279px){
  .site-header{padding-inline:30px;gap:20px}
  .desktop-nav{gap:15px}
  .brand-type{font-size:27px}
  .header-cta{padding-inline:19px}
}
@media(max-width:1199px){
  .desktop-nav{display:none}
  .header-cta{margin-left:auto;font-size:13px}
  .menu-toggle{display:block}
}
@media(min-width:1024px) and (max-width:1199px){.mobile-menu{inset-block-start:104px}}
@media(max-width:1023px){
  .diagram-step p,.diagram-badge{font-size:13px}
  .support-grid{align-items:start}
}
@media(min-width:768px) and (max-width:1023px){
  .section-heading{display:block}
  .section-heading>p{margin-top:18px;font-size:14px}
  .contact-section h2{font-size:36px}
  .contact-art:after{background:linear-gradient(90deg,rgb(25 31 27 / 92%) 0%,rgb(25 31 27 / 82%) 56%,rgb(25 31 27 / 20%) 85%,transparent 100%)}
}
@media(max-width:767px){
  .hero-pre{font-size:13px;letter-spacing:0}
  .header-cta{min-height:44px;padding:9px 12px;font-size:13px;gap:0}
  .header-cta .arrow{display:none}
  .menu-toggle{position:relative}
  .menu-toggle:after{content:'';position:absolute;inset:-6px}
  .text-link,.hero-actions .text-link,.concept-copy .text-link,.migration-copy .text-link,.support-scope .text-link{font-size:13px}
  .service-column{column-gap:20px}
  .service-icon{grid-row:1 / 3}
  .service-column h3 br{display:inline}
  .service-column>p,.service-tags{grid-column:1 / -1}
  .service-column>p{font-size:14px;line-height:1.95}
  .service-tags{margin-top:14px}
  .check-list li,.migration-copy .small-copy{font-size:13px}
  .support-scope>p,.support-scope dl>div{font-size:13px}
  .footer-operator,.footer-operator strong+p,.footer-operator>p:first-child,.footer-bottom a,.creation-credit{font-size:13px}
  .footer-bottom{gap:16px 12px}
  .footer-bottom p{font-size:11px}
  .creation-credit{width:100%;text-align:left}
  .back-top{width:44px;height:44px}
}
@media(max-width:374px){
  .site-header{padding-inline:12px;gap:6px}
  .hero-actions .button{font-size:13px}
  .header-cta{font-size:13px;padding-inline:10px}
  .menu-toggle:after{inset:-8px -12px -8px -3px}
  .hero-pre{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .reveal.is-observed{opacity:1;transform:none}
  .technical-details>summary,.faq-list summary{transition:none}
  .technical-details>summary>span[aria-hidden="true"]:before,.faq-list summary>span[aria-hidden="true"]:before{transition:none}
  .button:active,.header-cta:active{transform:none}
}

/* Keep navigation available while preserving the approved FV layout. */
:root{--site-header-height:104px}
html{scroll-padding-top:calc(var(--site-header-height) + 24px)}
.site-header{position:fixed;height:var(--site-header-height);background:rgb(246 245 239 / 96%);box-shadow:0 2px 14px rgb(25 31 27 / 5%)}
.mobile-menu{inset-block-start:var(--site-header-height)}
@media(max-width:1023px){:root{--site-header-height:88px}}
@media(max-width:767px){:root{--site-header-height:78px}}
