/* Original iSites identity and responsive view refinements. */
:root { --accent-gradient:linear-gradient(120deg,#245de8,#72c5ff); }
.tech-strip .container>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; text-align:center; }
.tech-strip .container>div>span,.tech-strip .container>div>span:last-child { font-size:19px; font-weight:600; letter-spacing:-.4px; }
@media(max-width:680px) {
  .tech-strip .container>div { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; text-align:left; }
  .tech-strip .container>div>span,.tech-strip .container>div>span:last-child { font-size:16px; }
}
html { scroll-behavior:auto; }
.brand { flex-shrink:0; line-height:0; }
.brand img { display:block; width:132px; height:auto; }
.site-header .brand { padding:8px 0; }
.nav-offer { display:flex; align-items:center; gap:4px; }
#main-nav>a,.nav-offer>a { font-size:13px; }
.nav-offer>a.current-section { color:var(--blue); }
.offer-toggle { display:grid; place-items:center; border:0; border-radius:50%; background:none; width:28px; height:32px; padding:4px; }
.offer-toggle svg { width:14px; height:14px; transition:transform .2s; }
.offer-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
.nav-offer .dropdown { display:none; top:calc(100% + 5px); }
.nav-offer.open .dropdown { display:block; }
.dropdown:before { top:-15px; height:15px; }
.dropdown a { min-height:58px; }
.dropdown small { font-size:11px; }
.eyebrow { color:#626b7d; }
.hero-copy .eyebrow { font-size:11px; }
.hero-note { font-size:12px; color:#697386; }
.hero-actions .button,.button,.button-small { font-size:14px; }
.hero-actions .text-link { font-size:13px; }
.hero-actions { gap:22px; }
.home-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:25px; }
.home-hero>*,.service-hero>*,.split-feature>*,.section-heading>*,.offer-row>*,.scenario>*,.contact-layout>* { min-width:0; }
.service-hero { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); }
.section-heading { align-items:flex-start; }
.section-heading>p { padding-top:4px; font-size:15px; }
.section-heading h2 { text-wrap:balance; }
.section-heading>.eyebrow { padding-top:0; }
.service-hero h1 { font-size:clamp(40px,4.05vw,58px); line-height:1.12; }
.service-hero .intro-lead { font-size:16px; }
.breadcrumb { font-size:12px; margin-bottom:32px; }
.service-card { display:flex; flex-direction:column; }
.service-card p { font-size:14px; }
.service-card .card-link { margin-top:auto; padding-top:24px; font-size:12px; }
.service-card-top { margin-bottom:24px; }
.benefit-grid h3 { text-wrap:balance; }
.benefit-grid p,.principles p,.values p { font-size:14px; line-height:1.8; }
.steps h3 { text-wrap:balance; }
.faq-list summary { font-size:15px; }
.faq-list details>p { font-size:14px; }
.check-list li { font-size:14px; }
.related small { font-size:12px; }
.result { font-size:13px; }
.cta-section>div:last-child p { font-size:14px; }

/* Scale the entire demo composition with its own container, not the viewport. */
.mock-website { container-type:inline-size; min-height:0!important; }
.mock-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:3%; align-items:center; padding:3% 6% 4%; }
.mock-website .mock-nav { padding:4% 6% 2%; font-size:1.85cqw; }
.mock-website .mock-nav b { font-size:4.2cqw; }
.mock-website .mock-nav b span { font-size:2.2cqw; }
.mock-website .mock-content { padding:0; min-width:0; }
.mock-website .mock-content>p { font-size:1.65cqw; letter-spacing:.18em; margin-bottom:2.5cqw; }
.mock-website .mock-content h3 { font-size:7.1cqw; letter-spacing:-.055em; line-height:1.04; }
.mock-website .mock-button { margin-top:4cqw; padding:1.7cqw 2.5cqw; font-size:1.9cqw; }
.mock-website .mock-foot { padding:1% 6% 4%; font-size:1.65cqw; }
.mock-website .sculpture { position:relative; width:100%; height:auto; aspect-ratio:1.1; top:auto!important; right:auto!important; transform:none!important; perspective:600px; }
.mock-website .sculpture-ring { width:57%; height:81%; top:8%; left:3%; border-width:6cqw; border-radius:48%; }
.mock-website .ring-two { left:36%; top:9%; }
.mock-website .sculpture-shadow { width:85%; height:10%; bottom:0; left:10%; }
.hero-stage { height:auto; min-height:440px; padding:55px 0 65px; display:flex; flex-direction:column; justify-content:center; }
.hero-stage>.browser-frame { position:relative; top:auto; left:auto; width:100%; flex-shrink:0; }
.floating-label { top:6px; right:0; font-size:11px; }
.floating-integration { left:25px; bottom:15px; max-width:calc(100% - 30px); }
.floating-integration b { font-size:13px; }
.floating-integration div>span { font-size:10px; }
.stage-caption { bottom:-14px; right:0; font-size:8px; letter-spacing:1px; }
.feature-art,.offer-art,.scenario-visual,.service-hero-art { min-width:0; }
.art-caption { font-size:11px; color:#687486; margin-top:18px; }
.feature-art .browser-frame { width:100%; }
.service-hero-art { min-height:440px; }
.service-hero-art>.service-browser { width:100%; }
.shop-art { container-type:inline-size; }
.shop-art .product-scene { height:auto; aspect-ratio:1.6; }
.shop-art .product-label { top:10%; left:7%; font-size:1.7cqw; max-width:42%; }
.shop-art .product-label b { font-size:7.5cqw; line-height:1.07; letter-spacing:-.04em; margin-top:3cqw; }
.shop-art .vase { width:25cqw; height:36cqw; top:26%; right:10%; transform:rotate(-9deg); }
.shop-art .vase:before { width:16cqw; height:12cqw; left:4.5cqw; top:-5cqw; }
.shop-art .vase:after { width:16cqw; height:3.4cqw; left:4.5cqw; top:-6.6cqw; }
.shop-nav>span { display:none; }
.product-caption { font-size:11px; }
.integration-head { font-size:13px; }
.system-node strong { font-size:14px; }
.system-node small { font-size:10px; text-align:center; }
.central-node { gap:14px; min-width:0; padding:17px 24px; }
.integration-brand img { display:block; width:88px; height:auto; }
.integration-brand small { display:block; font-size:11px; margin-top:8px; color:#566d63; }
.sync-pill { font-size:11px; max-width:290px; }
.care-art h3 { font-size:31px; }
.care-items { width:min(100%,300px); gap:0; }
.care-items span { padding:12px 0; border-bottom:1px solid #dce4f1; font-size:14px; }
.care-items svg { width:19px; height:19px; }
.care-items span:last-child { border:0; }
.care-art>.art-caption { margin-top:22px; }
.code-top,.code-tag { font-size:12px; }
.app-panel>span,.app-task { font-size:11px; }
.app-sidebar>img { width:27px; height:27px; }
.about-visual { background:radial-gradient(ellipse at 75% 20%,#203b67,#171d2b 65%); justify-content:center; gap:60px; min-height:340px; padding:55px; }
.about-visual:after { border-color:#ffffff04; box-shadow:0 0 0 70px #ffffff03; }
.about-large { line-height:0; }
.about-large img { display:block; width:min(440px,65%); height:auto; }
.about-visual-footer { color:#c1ccde; font-size:13px; }
footer { background:#171b26; color:#f4f7ff; }
.footer-brand p { color:#b5bfd0; font-size:14px; }
.footer-top>div>h3 { font-size:14px; }
.footer-top>div:not(:first-child)>a { color:#b5bfd0; font-size:13px; margin-bottom:12px; }
.footer-brand>a:last-child { font-size:13px; color:#dbe4f3; overflow-wrap:anywhere; }
.footer-top a:hover { color:#87b9ff; }
.footer-bottom { border-color:#ffffff1a; color:#b5bfd0; font-size:11px; }
.footer-bottom a { padding-block:8px; }
.contact-methods>a { font-size:15px; }
.contact-methods>a>span { min-width:0; overflow-wrap:anywhere; }
.contact-methods small { font-size:12px; }
.brief-card>.eyebrow { font-size:11px; }
legend,#brief-form>label,.form-row>label { font-size:13px; }
legend>span,.form-note { font-size:12px; }
.service-choices label>span { font-size:12px; min-height:49px; }
.service-choices input { width:100%; height:100%; inset:0; margin:0; cursor:pointer; }
.form-row { gap:13px; }
input:not([type=checkbox]),textarea,select { font-size:15px; }
.form-result:focus { outline:none; }
.field-error { font-size:12px; }

@media(max-width:1100px) and (min-width:901px) {
  .service-hero { gap:38px; }
  .service-hero h1 { font-size:43px; }
  .hero-copy h1 { font-size:55px; }
  .hero-stage { height:auto; min-height:415px; }
  .floating-label { top:18px; }
  .floating-integration { bottom:18px; }
  .hero-actions .button { font-size:12px; }
}
@media(max-width:900px) {
  .brand img { width:116px; }
  .nav-inner { gap:18px; }
  #main-nav { gap:17px; }
  #main-nav>a,.nav-offer>a { font-size:12px; }
  .nav-cta { font-size:12px; }
  .home-hero { grid-template-columns:1fr; padding-top:65px; gap:24px; }
  .hero-copy h1 { font-size:clamp(48px,7.8vw,68px); }
  .hero-stage { max-width:550px; width:100%; justify-self:center; height:auto; min-height:420px; margin:0; }
  .hero-actions { flex-direction:row; align-items:center; }
  .hero-copy .eyebrow { font-size:11px; }
  .hero-lead { font-size:16px; max-width:530px; }
  .hero-note { font-size:12px; }
  .service-hero { grid-template-columns:1fr; }
  .service-hero h1 { font-size:clamp(40px,6.5vw,60px); }
  .service-hero-art { min-height:360px; }
  .section-heading { flex-direction:column; gap:20px; }
  .section-heading>p { max-width:700px; }
  .benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feature-art { min-height:350px; padding:24px; }
  .about-large img { width:65%; }
}
@media(max-width:760px) and (min-width:681px) {
  .container { width:calc(100% - 40px); }
  #main-nav { gap:12px; }
  #main-nav>a,.nav-offer>a { font-size:11px; }
  .nav-cta { font-size:11px; gap:8px; padding-inline:12px; }
  .nav-inner { gap:12px; }
  .brand img { width:105px; }
  .offer-toggle { width:20px; }
}
@media(max-width:680px) {
  .brand img { width:105px; }
  .nav-inner { gap:12px; }
  .menu-toggle { flex-shrink:0; width:40px; height:40px; }
  .nav-cta { font-size:11px; padding:10px 13px; min-height:40px; gap:9px; }
  .offer-toggle { display:none; }
  .nav-offer { display:block; }
  .nav-offer .dropdown { display:block; }
  #main-nav>a,.nav-offer>a { font-size:16px; min-height:44px; }
  .dropdown a { min-height:42px; font-size:14px; }
  .home-hero { padding-top:44px; padding-bottom:52px; gap:22px; }
  .hero-copy h1 { font-size:clamp(42px,10.8vw,65px); }
  .hero-copy .eyebrow { font-size:9px; }
  .hero-lead { font-size:15px; line-height:1.8; }
  .hero-actions { gap:10px 18px; flex-wrap:wrap; }
  .hero-actions .button,.button { font-size:13px; min-height:48px; }
  .hero-actions .text-link { font-size:12px; }
  .hero-note { font-size:11px; margin-top:24px; }
  .hero-stage { height:auto; min-height:350px; max-width:440px; padding:60px 7px 55px; }
  .hero-stage>.browser-frame { width:100%; }
  .floating-label { top:6px; right:0; font-size:10px; padding:10px 13px; }
  .floating-integration { bottom:4px; left:15px; padding:12px 15px; }
  .floating-integration b { font-size:11px; }
  .floating-integration div>span { font-size:9px; }
  .stage-caption { font-size:8px; bottom:-18px; }
  .eyebrow { font-size:10px; }
  .section-heading>p { font-size:14px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5) { grid-column:auto; min-height:0; padding:24px; }
  .service-card h3,.service-card:last-child h3 { font-size:25px; }
  .service-card p { font-size:14px; margin-top:6px; }
  .service-card .card-link { font-size:13px; padding-top:22px; }
  .service-card-top { margin-bottom:20px; }
  .service-card .icon-box { width:40px; height:40px; }
  .feature-text>p:not(.eyebrow) { font-size:14px; }
  .feature-text [role=tabpanel] p { font-size:14px; }
  .feature-tabs button { min-height:40px; font-size:12px; }
  .feature-art { min-height:310px; padding:22px; }
  .art-caption { font-size:10px; }
  .service-hero { padding-top:30px; gap:30px; }
  .service-hero h1 { font-size:clamp(36px,9.2vw,52px); }
  .service-hero .intro-lead { font-size:15px; }
  .service-hero .button { font-size:13px; }
  .service-hero-art { min-height:300px; padding:22px; }
  .care-art h3 { font-size:28px; }
  .care-items span { font-size:13px; }
  .care-art>.art-caption { font-size:11px; }
  .breadcrumb { font-size:11px; }
  .benefit-grid { grid-template-columns:1fr; gap:26px; }
  .benefit-grid h3 { font-size:24px; margin-top:15px; text-wrap:initial; }
  .benefit-grid p { font-size:15px; margin-top:12px; }
  .steps h3 { font-size:20px; text-wrap:initial; }
  .check-list li { font-size:13px; align-items:flex-start; }
  .check-list svg { margin-top:3px; }
  .related small { font-size:12px; }
  .faq-list summary { font-size:14px; }
  .faq-list details>p { font-size:14px; }
  .principles p,.values p,.timeline p,.scenario p:not(.eyebrow),.offer-row>div>p:not(.eyebrow) { font-size:14px; }
  .offer-row { grid-template-columns:20px minmax(0,1fr); }
  .tags>span { font-size:11px; }
  .about-visual { padding:28px; gap:45px; min-height:240px; }
  .about-large img { width:85%; max-width:300px; }
  .about-visual-footer { font-size:11px; flex-wrap:wrap; gap:10px; }
  .footer-brand p { font-size:14px; }
  .footer-brand>a:last-child { font-size:12px; }
  .footer-top>div>h3 { font-size:14px; }
  .footer-top>div:not(:first-child)>a { font-size:13px; padding:4px 0; }
  .footer-bottom { font-size:10px; align-items:flex-start; }
  .contact-copy h1 { font-size:clamp(40px,10.5vw,52px); }
  .contact-methods>a { font-size:13px; }
  .brief-card { padding:25px 20px; }
  .service-choices { grid-template-columns:1fr; }
  .service-choices label>span { font-size:13px; padding:13px; gap:10px; min-height:46px; }
  .service-choices svg { width:18px; height:18px; }
  input:not([type=checkbox]),textarea,select { font-size:16px; }
  .form-note { font-size:12px; }
}
@media(max-width:360px) {
  .nav-inner { gap:8px; }
  .brand img { width:94px; }
  .nav-cta { font-size:10px; gap:7px; padding-inline:11px; }
  .menu-toggle { width:36px; height:36px; }
  .floating-integration { left:5px; max-width:calc(100% - 10px); }
  .floating-integration .signal-dot { margin-left:4px; }
  .integration-head { font-size:12px; }
  .node-row { gap:16px; }
  .system-node small { font-size:9px; }
  .central-node { padding:15px 20px; }
  .sync-pill { font-size:10px; }
  .service-hero-art { padding:18px; }
  .care-art h3 { font-size:26px; }
}
/* Dokumenty i dane przedsiębiorcy */
.footer-company { font-style:normal; font-size:12px; line-height:1.8; color:#c0c5ce; margin-top:24px; }
.footer-legal { display:flex; flex-wrap:wrap; gap:14px 30px; padding-bottom:26px; }
.footer-legal a { font-size:12px; color:#d5d9e2; }
.footer-legal a:hover { color:white; }
.company-details { margin-top:30px; padding-top:24px; border-top:1px solid var(--line,#e2e5ec); }
.company-details .eyebrow { margin-bottom:12px; }
.company-details address { font-style:normal; font-size:14px; line-height:1.9; color:#525c6c; }
.form-privacy { margin:0 0 24px; font-size:12px; line-height:1.8; color:#596273; }
.form-privacy a { color:#245de8; text-decoration:underline; text-underline-offset:3px; }
.legal-intro { padding-top:90px; padding-bottom:56px; }
.legal-intro h1 { max-width:1000px; font-size:clamp(40px,6vw,76px); letter-spacing:-.055em; line-height:1.08; }
.legal-intro .intro-lead { max-width:680px; }
.legal-date { margin-top:24px; color:#6b7380; font-size:13px; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:70px; padding-bottom:110px; align-items:start; }
.legal-toc { position:sticky; top:112px; display:flex; flex-direction:column; padding:14px 0; border-top:1px solid #dfe3eb; }
.legal-toc a { padding:10px 0; font-size:13px; line-height:1.5; display:flex; gap:12px; color:#515b6b; }
.legal-toc span { color:#245de8; font-variant-numeric:tabular-nums; }
.legal-toc a:hover { color:#245de8; }
.legal-body { min-width:0; max-width:760px; }
.legal-body section { scroll-margin-top:110px; padding:0 0 32px; margin-bottom:32px; border-bottom:1px solid #dfe3eb; }
.legal-body h2 { font-size:clamp(23px,3vw,30px); letter-spacing:-.035em; line-height:1.25; margin-bottom:22px; }
.legal-body p,.legal-body li { font-size:15px; color:#505a6a; line-height:1.85; overflow-wrap:anywhere; }
.legal-body p+p { margin-top:16px; }
.legal-body ul { padding-left:22px; }
.legal-body li { margin-bottom:14px; }
.legal-body strong { color:#242b36; }
.legal-body a { color:#245de8; text-decoration:underline; text-underline-offset:3px; }
.legal-back { padding-top:10px; }
@media(max-width:900px) {
  .legal-layout { grid-template-columns:190px minmax(0,1fr); gap:30px; }
}
@media(max-width:680px) {
  .legal-intro { padding-top:48px; padding-bottom:30px; }
  .legal-layout { display:block; padding-bottom:65px; }
  .legal-toc { position:static; margin-bottom:40px; }
  .legal-toc a { padding:11px 0; font-size:14px; }
  .legal-body p,.legal-body li { font-size:14px; }
  .legal-body section { scroll-margin-top:95px; }
  .footer-legal { flex-direction:column; gap:16px; }
}
@media print {
  .site-header,footer,.legal-toc,.legal-back,.skip-link { display:none!important; }
  .legal-intro { padding:0 0 24px; }
  .legal-layout { display:block; padding-bottom:0; }
  .legal-body { max-width:none; }
  .legal-body section { break-inside:auto; }
  .legal-body h2 { break-after:avoid; }
  .container { width:100%!important; max-width:none!important; }
}
/* A single responsive illustration, shared by the home, offer and service pages. */
.feature-art:has(>.connection-diagram),.service-hero-art:has(>.connection-diagram),.offer-art:has(>.connection-diagram) {
  background:radial-gradient(ellipse at 50% 68%,#dceaff 0,transparent 65%),linear-gradient(145deg,#f7faff,#edf3fd);
  border:1px solid #e3ebf9;
}
.integration-art.connection-diagram { margin:0; padding:8px 0; width:100%; max-width:410px; position:relative; isolation:isolate; text-align:center; container-type:inline-size; }
.connection-diagram:before { content:""; position:absolute; inset:13% -3% 12%; background-image:radial-gradient(#a6bae0 1px,transparent 1px); background-size:18px 18px; opacity:.25; z-index:-1; mask-image:linear-gradient(transparent,#000 25%,#000 70%,transparent); }
.connection-kicker { display:block; color:#596e96; font-size:9px; font-weight:650; letter-spacing:.17em; margin-bottom:9px; }
.connection-title h3 { font-size:clamp(23px,7cqw,30px); font-weight:600; line-height:1.13; letter-spacing:-.045em; margin:0 0 27px; color:#182b4c; }
.connection-title h3 span { color:#245de8; }
.connection-systems { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
.connection-system { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; min-height:127px; padding:16px 8px; border:1px solid #dbe5f6; background:linear-gradient(#fff,#fdfdff); border-radius:18px; box-shadow:0 5px 14px #264f9510; }
.connection-icon { display:grid; place-items:center; width:37px; height:37px; margin-bottom:11px; border-radius:12px; color:#245de8; background:#edf3ff; border:1px solid #e4edff; }
.connection-icon svg { width:22px; height:22px; }
.connection-system strong { font-size:14px; font-weight:600; letter-spacing:-.025em; color:#213454; }
.connection-system small { color:#67758d; font-size:10px; line-height:1.5; margin-top:4px; }
.connection-routes { height:66px; position:relative; margin:0; }
.connection-routes>svg { max-width:none; width:calc(100% + 18px); margin-left:-9px; height:100%; display:block; overflow:visible; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.connection-track { stroke:#adc5ef; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.connection-packet { stroke:#3974ef; stroke-width:2.5; stroke-dasharray:9 110; stroke-dashoffset:9; opacity:0; vector-effect:non-scaling-stroke; }
.connection-port { fill:#6494ec; stroke:#e4edff; stroke-width:6px; vector-effect:non-scaling-stroke; }

.connection-hub { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:min(220px,82%); min-height:94px; margin:0 auto; padding:20px 16px; border:1px solid #bfd2f5; border-radius:20px; background:#fff; box-shadow:0 0 0 5px #ffffff66,0 14px 30px #245de814; }
.connection-hub img { display:block; width:112px; height:auto; max-width:100%; }
.connection-hub>span { font-size:11px; line-height:1.5; color:#61718a; }
.connection-output { width:1px; height:24px; margin:0 auto; background:linear-gradient(#98b7ef,#c9d9f5); }
.connection-data { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; }
.connection-data>span { padding:7px 10px; border:1px solid #d5e2f8; border-radius:8px; color:#45628f; font-size:10px; line-height:1.3; background:#fafdff; }
.connection-diagram figcaption { color:#6b7c97; font-size:10px; line-height:1.5; margin-top:19px; }
@media(prefers-reduced-motion:no-preference) {
  .connections-ready .connection-packet { animation:connection-flow 1.7s cubic-bezier(.4,0,.2,1) 2; }
  .connections-ready .packet-right { animation-delay:.22s; }
  @keyframes connection-flow { 0% { stroke-dashoffset:9;opacity:0; } 15% { opacity:1; } 85% { opacity:1; } 100% { stroke-dashoffset:-100;opacity:0; } }
}
@container(max-width:270px) {
  .connection-routes>svg { width:calc(100% + 12px); margin-left:-6px; }
  .connection-systems { gap:12px; }
  .connection-system { padding:13px 6px; min-height:125px; border-radius:14px; }
  .connection-system strong { font-size:13px; }
  .connection-system small { font-size:10px; max-width:90px; }
  .connection-data { gap:5px; }
  .connection-data>span { padding:6px; font-size:9px; }

}
/* Underline the label only; decorative arrows remain independent. */
.text-link,.text-link:hover,.text-link:focus-visible,.legal-body .text-link { text-decoration:none; }
.text-link>.link-label { font-size:inherit; }
.text-link:hover>.link-label,.text-link:focus-visible>.link-label,.legal-body .text-link>.link-label { text-decoration:underline; text-underline-offset:5px; }
.text-link>span:not(.link-label) { text-decoration:none; flex-shrink:0; }
/* Shared visual language for website, shop, software and IT-care illustrations. */
.feature-art:has(.polished-web),.service-hero-art:has(.polished-web),.offer-art:has(.polished-web),.scenario-visual:has(.polished-web),
.feature-art:has(.polished-shop),.service-hero-art:has(.polished-shop),.offer-art:has(.polished-shop),.scenario-visual:has(.polished-shop),
.service-hero-art:has(.polished-app),.offer-art:has(.polished-app),.scenario-visual:has(.polished-app),
.service-hero-art:has(.polished-care),.offer-art:has(.polished-care),.scenario-visual:has(.polished-care) {
  background:radial-gradient(ellipse at 80% 12%,#fff9,transparent 60%),linear-gradient(145deg,#f4f7fc,#e9effa); border:1px solid #e2e9f5;
}
.polished-web { border-color:#dbe4f2; border-radius:17px; box-shadow:0 18px 50px #233b6616; }
.polished-web .browser-bar { height:33px; font-size:9px; background:#fdfdff; border-color:#e8edf5; }
.studio-web { container-type:inline-size; background:linear-gradient(135deg,#fbfdff,#edf3fc); color:#23334d; }
.studio-nav { padding:6% 6% 3%; display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:10px; color:#6c7d95; }
.studio-nav b { font-size:clamp(18px,5.2cqw,26px); letter-spacing:-.07em; color:#263b5a; }
.studio-composition { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; padding:4% 5% 7% 7%; gap:0; }
.studio-copy,.studio-object { min-width:0; }
.studio-eyebrow { display:block; font-size:9px; line-height:1.6; letter-spacing:.11em; font-weight:600; color:#6b7d98; }
.studio-copy>.studio-eyebrow { font-size:clamp(8px,1.8cqw,10px); max-width:130px; }
.studio-copy h3 { font-size:clamp(21px,8.7cqw,48px); line-height:1.05; letter-spacing:-.065em; margin:14px 0; color:#203a61; font-weight:550; }
.studio-copy p { font-size:clamp(10px,2.5cqw,13px); line-height:1.65; color:#65768f; margin:0; }
.studio-demo-button { display:inline-flex; align-items:center; gap:10px; margin-top:20px; border-radius:99px; background:#284e89; color:#fff; padding:9px 12px; font-size:clamp(9px,2cqw,11px); white-space:nowrap; }
.studio-object { width:100%; transform:rotate(-6deg); }
.studio-vector { display:block; width:100%; height:auto; max-width:100%; overflow:visible; }
.studio-bottom { display:flex; justify-content:space-between; gap:10px; padding:0 6% 5%; color:#6d7e96; font-size:clamp(8px,1.9cqw,10px); }
.hero-stage>.polished-web { transform:perspective(1600px) rotateY(-5deg) rotateX(2deg) rotateZ(-2deg); }
.floating-label { border:1px solid #e3ebf9; box-shadow:0 10px 28px #244d8610; }
.floating-label svg { background:#edf4ff; color:#3b72ce; }
.floating-integration { border-color:#dce7f7; box-shadow:0 14px 38px #244d8614; }
.floating-integration .signal-dot { background:#4f82d8; box-shadow:0 0 0 4px #edf3fe; }
.polished-shop { background:#fff; border:1px solid #dce5f1; border-radius:18px; box-shadow:0 15px 40px #27477112; }
.studio-shop-nav { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:18px 20px; color:#2b405d; }
.studio-shop-nav>b { font-size:clamp(14px,4cqw,19px); letter-spacing:-.05em; }
.studio-bag { display:grid; place-items:center; background:#eff4fb; width:30px; height:30px; border-radius:50%; flex-shrink:0; }
.studio-bag svg { width:16px; height:16px; color:#436796; }
.studio-product-grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); align-items:center; padding:24px 10px 22px 20px; margin:0 12px; border-radius:12px; background:radial-gradient(ellipse at 75% 35%,#f9fcff,#e5edf7); }
.studio-product-copy,.studio-product-object { min-width:0; }
.studio-product-copy .studio-eyebrow { font-size:clamp(8px,1.9cqw,10px); letter-spacing:.06em; }
.studio-product-copy h3 { font-size:clamp(20px,7.2cqw,34px); line-height:1.12; letter-spacing:-.055em; margin:13px 0 20px; color:#2e476a; }
.studio-collection { display:inline-flex; align-items:center; gap:8px; font-size:clamp(9px,2.2cqw,11px); color:#506c91; }
.studio-product-object { transform:rotate(8deg); }
.studio-product-meta { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:18px 20px; }
.studio-product-meta strong { display:block; color:#314663; font-size:12px; }
.studio-product-meta div>span { display:block; color:#72829a; font-size:10px; margin-top:3px; }
.studio-swatches { display:flex; gap:5px; }
.studio-swatches i { width:11px; height:11px; border-radius:50%; background:#9cb5d8; border:1px solid #7c9bc7; }
.studio-swatches i:nth-child(2) { background:#dedbd3; border-color:#cac5b9; }
.studio-swatches i:nth-child(3) { background:#52627a; border-color:#44546b; }
.polished-shop .art-caption { margin:0; padding:12px; border-color:#e7edf5; color:#6c7c94; font-size:10px; text-align:center; }
.polished-app { container-type:inline-size; }
.studio-art-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#5c7295; font-size:9px; letter-spacing:.08em; margin-bottom:19px; }
.studio-tech { font-size:11px; background:#e5ecfa; color:#426da9; border:1px solid #d4e0f4; padding:4px 8px; border-radius:7px; letter-spacing:0; }
.studio-app-window { display:grid; grid-template-columns:43px minmax(0,1fr); background:#fff; border:1px solid #d6e1f2; border-radius:17px; overflow:hidden; box-shadow:0 16px 35px #21447414; }
.studio-app-sidebar { display:flex; align-items:center; flex-direction:column; gap:23px; padding:19px 8px; background:#eff4fc; border-right:1px solid #e0e8f6; }
.studio-app-sidebar img { width:25px; height:auto; margin-bottom:10px; }
.studio-app-sidebar svg { width:17px; height:17px; color:#7e97bd; }
.studio-app-sidebar svg:first-of-type { color:#245de8; }
.studio-app-main { min-width:0; padding:18px 19px 22px; }
.studio-app-top { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:10px; color:#6b7e9a; }
.studio-avatar { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#eaf1fc; color:#4f72a8; font-size:10px; flex-shrink:0; }
.studio-app-main h3 { margin:15px 0 23px; color:#294569; font-size:clamp(21px,7.1cqw,29px); line-height:1.14; letter-spacing:-.045em; }
.studio-app-tabs { display:flex; gap:20px; margin-bottom:7px; font-size:10px; color:#7586a0; border-bottom:1px solid #e8edf5; }
.studio-app-tabs span { padding-bottom:10px; }
.studio-app-tabs span:first-child { color:#245de8; border-bottom:2px solid #245de8; }
.studio-task { display:flex; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid #edf1f7; }
.studio-task:last-child { border:0; padding-bottom:0; }
.studio-task-icon { width:29px; height:29px; display:grid; place-items:center; flex-shrink:0; background:#f0f5fc; color:#5b7eb2; border-radius:8px; }
.studio-task-icon svg { width:16px; height:16px; }
.studio-task>div { min-width:0; }
.studio-task strong { display:block; font-size:12px; font-weight:550; color:#3d5578; }
.studio-task small { display:block; margin-top:3px; color:#7487a1; font-size:10px; }
.studio-task-arrow { margin-left:auto; color:#7792b8; font-size:15px; }
.polished-app>.art-caption { text-align:center; margin-top:17px; color:#6a7e9b; font-size:10px; }
.polished-care { container-type:inline-size; padding:8px 0; }
.studio-care-emblem { width:158px; height:145px; margin:0 auto 18px; position:relative; display:grid; place-items:center; }
.studio-care-orbit { position:absolute; width:137px; height:137px; border-radius:50%; border:1px solid #cfddf3; box-shadow:0 0 0 12px #e6eefb80,0 0 0 25px #edf3fc80; }
.studio-care-shield { width:91px; height:98px; display:grid; place-items:center; background:linear-gradient(145deg,#fff,#f7faff); border:1px solid #d3e1f7; border-radius:25px; box-shadow:0 13px 24px #265dab14; z-index:1; }
.studio-care-shield svg { width:48px; height:48px; color:#3c73cd; stroke-width:1.3; }
.studio-care-badge { position:absolute; display:grid; place-items:center; right:24px; bottom:18px; z-index:2; width:29px; height:29px; background:#3169c4; color:white; border:3px solid #eef4fc; border-radius:50%; }
.studio-care-badge svg { width:14px; height:14px; }
.polished-care h3 { font-size:clamp(23px,7.2cqw,31px); color:#294569; line-height:1.2; letter-spacing:-.045em; margin:12px 0 25px; }
.studio-care-list { display:flex; flex-direction:column; gap:8px; max-width:330px; margin:0 auto; text-align:left; }
.studio-care-list>div { display:flex; align-items:center; gap:12px; background:#ffffffdc; border:1px solid #dbe6f5; border-radius:12px; padding:12px 14px; }
.studio-care-list>div>svg { width:20px; height:20px; color:#5680be; flex-shrink:0; }
.studio-care-list>div>svg:last-child { width:14px; height:14px; margin-left:auto; color:#6b8cbf; }
.studio-care-list strong { display:block; color:#3c557b; font-size:12px; font-weight:550; }
.studio-care-list small { display:block; color:#7285a1; font-size:10px; margin-top:3px; }
.polished-care>.art-caption { color:#6a7e9b; font-size:10px; margin-top:19px; }
.about-visual { border:1px solid #2d4565; background:radial-gradient(ellipse at 75% 15%,#284d7e,#152239 70%); box-shadow:inset 0 1px 0 #ffffff0a; }
.about-large img { width:min(360px,80%); margin:auto; filter:drop-shadow(0 8px 18px #0002); }
.about-visual-footer { border-top:1px solid #ffffff18; padding-top:24px; width:100%; display:flex; justify-content:space-between; gap:16px; }
@container(max-width:290px) {
  .studio-nav>span:nth-child(2) { display:none; }
  .studio-nav { padding-bottom:5%; }
  .studio-composition { padding-top:2%; padding-bottom:8%; }
  .studio-copy h3 { margin:10px 0; }
  .studio-demo-button { padding:7px 9px; gap:7px; margin-top:14px; }
  .studio-bottom { font-size:8px; }
  .studio-shop-nav { padding:13px; }
  .studio-product-grid { padding:17px 3px 17px 12px; margin-inline:8px; }
  .studio-product-meta { padding:14px 12px; }
  .studio-swatches { gap:3px; }
  .studio-swatches i { width:9px; height:9px; }
  .studio-app-window { grid-template-columns:32px minmax(0,1fr); }
  .studio-app-sidebar { padding:16px 5px; }
  .studio-app-sidebar img { width:21px; }
  .studio-app-main { padding:13px 12px 17px; }
  .studio-app-top { font-size:9px; }
  .studio-task { gap:7px; }
  .studio-task-icon { width:24px; height:27px; }
  .studio-task strong { font-size:11px; }
  .studio-task small { font-size:9px; }
  .studio-task-arrow { display:none; }
  .studio-care-list>div { padding:11px 9px; gap:8px; }
  .studio-care-list small { font-size:9px; }
}

/* Keep the floating summary clear of the decorative mockup footer. */
.hero-stage .studio-bottom > span:first-child { visibility:hidden; }

/* Compact footer and a separate, accessible scroll-to-top control. */
.service-guide { display:grid; grid-template-columns:1fr 1.15fr; gap:60px; padding-block:64px; border-top:1px solid var(--line); }
.service-guide h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; text-wrap:balance; }
.service-guide p:not(.eyebrow) { color:#697386; font-size:15px; line-height:1.85; margin-bottom:20px; }
.service-guide .text-link { margin-top:8px; }
@media(max-width:680px) { .service-guide { grid-template-columns:1fr; gap:24px; padding-block:40px; } .service-guide p:not(.eyebrow) { font-size:14px; } }
.footer-bottom { flex-wrap:wrap; padding-right:64px; }
.footer-bottom .footer-legal { margin-left:auto; padding:0; flex-direction:row; gap:8px 28px; }
.footer-bottom .footer-legal a { font-size:11px; }
.back-to-top { position:fixed; right:max(24px,env(safe-area-inset-right)); bottom:calc(24px + env(safe-area-inset-bottom)); z-index:45; display:grid; place-items:center; width:48px; height:48px; border:1px solid #ffffff38; border-radius:50%; color:#fff; background:linear-gradient(135deg,#245de8,#397ff0); box-shadow:0 6px 22px #12265330; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px); }
.back-to-top svg { width:22px; height:22px; }
.back-to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.back-to-top:hover { background:#1d50cf; transform:translateY(-3px); }
.back-to-top:focus-visible { outline:3px solid #83baff; outline-offset:4px; }
@media(prefers-reduced-motion:no-preference) {
  .back-to-top { transition:opacity .22s,visibility .22s,transform .22s,background .22s; }
}
@media(max-width:680px) {
  .footer-bottom { flex-direction:column; padding-right:60px; gap:14px; }
  .footer-bottom .footer-legal { margin-left:0; flex-direction:column; gap:2px; }
  .back-to-top { right:max(16px,env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); }
  .toast { bottom:84px; }
}
