/* SR-Media presentation: neutral surfaces, product imagery and clear navigation. */
::selection{background:var(--preview-accent,var(--blue));color:var(--preview-on-accent,#101510)}

/* Content is always readable, including when an observer or script is unavailable. */
html.has-reveals [data-reveal]{opacity:1!important;transform:none!important;visibility:visible!important}

.site-header .brand{display:inline-flex;align-items:center;min-height:44px}
.site-header .products-menu>summary{font-weight:600;color:var(--ink);border-radius:8px}
.site-header .products-menu[open]>summary{color:var(--blue)}
.site-header .products-menu-links{padding:10px;border-radius:18px;box-shadow:0 20px 50px #0003}
.site-header .product-menu-item[data-product-section=true]{background:var(--preview-raised,var(--surface-raised));box-shadow:inset 3px 0 0 var(--blue)}
.site-header .product-menu-item img{border-radius:10px}
.site-header :is(a,button,summary,input):focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* Keep the background neutral; the palette accent is used for labels and actions. */
:is(.site-theme,.preview-theme) body.theme-home{background:var(--paper)!important}
body.theme-home .spot-teaser,body.theme-home .spot-collection{background:linear-gradient(135deg,var(--surface),var(--paper))!important}
.spot-paper:after,.spot-feature-paper:after{box-shadow:none}
.spot-intro h1{text-wrap:balance}
.spot-intro>p{max-width:540px;text-wrap:pretty}
.spot-feature,.spot-teaser,.spot-collection{border-radius:20px}
.spot-feature-index>i{height:4px}
.spot-feature-index nav button{opacity:1;min-width:28px;min-height:32px;border-radius:6px}
.spot-feature-index nav button[aria-pressed=true]{color:var(--blue);font-weight:700}
.spot-teaser{transition:border-color .25s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.spot-teaser-identity>img,.app-card-top>img{box-shadow:0 8px 20px #0002}
.spot-app-link{min-height:76px}
.spot-app-link>b{transition:transform .25s ease,border-color .25s ease}
.spot-platforms button{min-height:40px}

/* A single restrained action treatment follows both light and dark palettes. */
:is(.button.primary,.button.light,.spot-primary,.product-primary-action){background:var(--blue);border-color:var(--blue);color:var(--preview-on-accent);box-shadow:none}
:is(.button.primary,.button.light,.spot-primary,.product-primary-action):hover{background:var(--blue);color:var(--preview-on-accent);box-shadow:none}
:is(.spot-primary,.spot-secondary,.spot-browse,.product-primary-action,.product-text-action){transition:transform .25s ease,border-color .25s ease,color .25s ease}

/* The product pages retain their own screenshots and layouts on a quiet stage. */
.product-page .product-intro-art,.paper-coming-art,.art-game-preview{position:relative;isolation:isolate}
.product-page .product-section,.art-section{scroll-margin-top:calc(var(--nav-height,80px) + 24px)}
.product-page .product-scene-stage,.product-page .product-workflow-layout,.product-page .product-comparison-details{border-radius:20px}
.product-page .product-scene-picture img,.product-look-image img{border-radius:12px}
.product-page .product-plan-grid article{border-radius:20px;padding:clamp(26px,3vw,38px)}
.product-subnav{gap:clamp(18px,3vw,40px)}
.product-subnav a{display:inline-flex;align-items:center;min-height:44px}
.paper-coming-soon{scroll-margin-top:var(--nav-height,80px)}
.paper-preview-grid article{border-radius:20px;transition:border-color .25s ease,transform .35s ease}
.art-phone{width:min(100%,310px)}
.art-feature-grid article{transition:border-color .25s ease,transform .35s ease}
.art-journey .art-screen{width:min(100%,330px)}

/* Directory and support keep generous, readable cards as the collection grows. */
.app-directory-controls,.app-directory-card,.support-app-grid>article{border-radius:20px}
.app-catalog{padding-top:clamp(30px,4vw,48px)}
.app-catalog .section-heading{margin-bottom:22px}
.app-catalog h1{font-size:clamp(38px,4.3vw,58px)}
.app-catalog .section-heading>p{margin-top:14px}
.app-directory-controls{padding:16px 20px;margin-bottom:18px}
.app-search-row{margin-bottom:0}
.directory-filters>summary{cursor:pointer;color:var(--blue);font-size:13px;font-weight:600;min-height:44px;display:flex;align-items:center;gap:8px}
.directory-filters>summary::after{content:'+';font-size:17px}
.directory-filters[open]>summary::after{content:'−'}
.directory-filters .app-filter-row{padding-bottom:4px}
.app-directory-card{transition:border-color .25s ease,transform .35s ease}
.app-card-top h2{line-height:1.18}
.app-card-links{row-gap:12px}
.information-page .breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;line-height:1.6}
.information-page article>section:not(.controller){border-top:1px solid var(--line);padding-top:8px;margin-top:32px}
.information-page article>section:not(.controller)>h2:first-child{margin-top:20px}
.information-page .faq details{border-radius:12px}
.information-page .faq summary{min-height:48px}
.site-footer{border-top:1px solid var(--line)}

@media(min-width:761px){.app-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){
  .spot-apps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .spot-app-link,.spot-app-link:not(:nth-child(3n+1)){border-left:0;padding-left:0;padding-right:14px}
  .spot-app-link:not(:nth-child(4n+1)){border-left:1px solid var(--line);padding-left:16px}
  .app-directory-grid{gap:16px}
  .app-directory-card{padding:24px}
  .art-feature-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  .art-feature-grid article{grid-column:span 3}
  .art-feature-grid article:nth-child(-n+2){grid-column:span 6}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .spot-teaser:hover,.app-directory-card:hover,.paper-preview-grid article:hover,.art-feature-grid article:hover{transform:translateY(-5px);border-color:var(--blue)}
  .spot-app-link:hover>b{transform:translateX(4px);border-color:var(--blue)}
  :is(.spot-primary,.spot-secondary,.spot-browse,.product-primary-action,.product-text-action):hover{transform:translateY(-2px)}
}
@media(max-width:760px){
  .preview-palette{position:relative!important;inset:auto!important;width:calc(100% - 32px)!important;max-width:none!important;max-height:none!important;margin:16px auto!important}
  .storage-notice{padding:8px 16px calc(8px + env(safe-area-inset-bottom))}
  .storage-notice-inner{gap:2px 12px}
  .storage-notice p{font-size:12px;line-height:1.35}
  .storage-notice .actions{justify-content:flex-end;gap:16px}
  .storage-notice button,.storage-notice a{min-height:36px;font-size:12px}
  .site-header .theme-toggle{width:44px;height:44px;min-width:44px;min-height:44px}
  .spot-intro-actions{display:flex!important}
  [data-spot-ready] .spot-intro .spot-search{display:flex}
  [data-spot-ready] .spot-intro>p{display:block!important}
  .spot-feature-index nav button{min-width:44px;min-height:44px}
  .spot-platforms button{min-height:44px}
  .spot-feature{overflow:visible}
  .spot-panel{grid-template-rows:auto auto minmax(190px,auto) auto auto;gap:10px}
  .spot-feature-copy p,[data-featured-app=calculator365] .spot-feature-copy p{display:block;overflow:visible;-webkit-line-clamp:unset;max-width:none;line-height:1.55}
  .spot-feature-copy h2,[data-featured-app=calculator365] .spot-feature-copy h2{overflow-wrap:anywhere}
  .spotlight .spot-panel>.spot-device{width:100%;height:clamp(190px,55vw,260px);margin-inline:auto}
  .spotlight .spot-panel>:is(.spot-feature-calculator,.spot-feature-scanner){width:min(100%,320px);height:clamp(190px,55vw,260px)}
  .spot-teaser-copy>p{max-width:none}
  .spot-collection{padding-bottom:10px}
  .art-phone{width:min(70vw,290px)}
  .information-page article>section:not(.controller){margin-top:24px}
}
@media(max-width:380px){
  .site-header .header-inner{gap:6px}
  .site-header .brand svg{width:90px}
  body[class] .site-header nav{gap:4px;font-size:11px}
  .site-header .language-link{padding-inline:6px}
}
@media(prefers-reduced-motion:reduce){
  .spot-teaser,.app-directory-card,.paper-preview-grid article,.art-feature-grid article,.spot-app-link>b,:is(.spot-primary,.spot-secondary,.spot-browse,.product-primary-action,.product-text-action){transition:none!important}
}
