/* Public editorial surfaces; the artwork retains its own dark canvas. */
body.public { background:#f5f4fa; color:#272444; --iv-action-primary-bg:#5540c4; --iv-action-primary-bg-hover:#4732ad; --iv-action-primary-fg:#f5f4fa; --iv-text-brand:#5540c4; --iv-text-secondary:#676378; }
.public :focus-visible { outline:2px solid #5540c4; outline-offset:4px; }
.public .btn, .public input, .public select, .public textarea { font-family:"IRAN Rounded",sans-serif; }
.public .btn { min-height:44px; border-radius:10px; }
.public .btn-lg { min-height:52px; }
.public-header { background:#f5f4fa; border-bottom:1px solid #e3e0ee; padding:0; height:auto; position:relative; }
.public-header-in { max-width:1280px; margin:auto; width:100%; padding:22px 24px; display:flex; align-items:center; gap:32px; }
.public-header .brand-word { display:block; }
.public-header .brand { gap:10px; flex-shrink:0; }
.public-nav { display:flex; gap:24px; align-items:center; margin-inline-start:auto; }
.public-nav .nav-link { min-height:44px; padding:0; border-radius:0; font-family:"IRAN Rounded",sans-serif; font-size:14px; color:#514b64; gap:0; white-space:nowrap; }
.public-nav .nav-link:hover, .public-nav .nav-link.active { color:#5540c4; background:none; }
.public-nav .nav-link.active { box-shadow:inset 0 -2px #5540c4; }
.public-header-actions { display:flex; align-items:center; gap:22px; margin-inline-start:auto; flex-shrink:0; }
.public-login { text-decoration:none; font-size:14px; min-height:44px; display:flex; align-items:center; color:#272444; white-space:nowrap; }
.public-menu-toggle { display:none; }
.public-mobile-nav { display:none; }
.public-hero-in { max-width:1280px; margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); padding:64px 24px 56px; gap:60px; align-items:center; }
.public-hero-copy { display:flex; flex-direction:column; gap:22px; min-width:0; }
.public-eyebrow { display:flex; align-items:center; gap:10px; color:#676378; font-size:14px; }
.public-hero h1 { font-family:"Rooyin",sans-serif; font-size:clamp(44px,4.6vw,64px); line-height:1.36; font-weight:780; letter-spacing:-.02em; }
.public-hero h1 span { color:#5540c4; }
.public-hero-lead { font-size:20px; line-height:1.9; max-width:510px; }
.public-hero-copy > .muted { font-size:15px; line-height:1.95; max-width:490px; }
.public-hero-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; padding-top:6px; }
.public-text-link { display:inline-flex; align-items:center; gap:10px; color:#5540c4; text-decoration:none; min-height:44px; font-size:14px; font-weight:400; align-self:flex-start; }
.public-text-link:hover { color:#3e2a9f; text-decoration:underline; }
.public-hero-foot { border-top:1px solid #ddd9e8; padding-top:20px; margin-top:12px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:12px; color:#767084; }
.public-hero-foot [dir=ltr] { letter-spacing:.12em; font-family:"Rooyin",sans-serif; font-size:11px; }
.public-preview { background:#19172b; color:#f5f4fa; border:1px solid #38334e; border-radius:18px; overflow:hidden; box-shadow:0 16px 44px -30px #27244480; position:relative; }
.public-preview-top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; padding:18px 20px; gap:10px; border-bottom:1px solid #ffffff12; font-size:12px; color:#ded9f0; }
.public-preview-top > span:first-child { display:flex; align-items:center; gap:8px; }
.public-preview-top i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#ddfc67; }
.public-preview-top [dir=ltr] { font-size:9px; color:#b8b0ca; letter-spacing:.14em; }
.public-preview-stage { position:relative; height:340px; overflow:hidden; }
.public-preview canvas { display:none; width:100%; height:100%; outline-offset:-4px; touch-action:pan-y; }
.public-preview.preview-ready canvas { display:block; }
.public-preview.preview-ready .public-preview-fallback { display:none; }
.public-preview-fallback, .public-preview-fallback .exp-visual { height:100%; }
.preview-coordinate { position:absolute; bottom:16px; inset-inline-end:20px; font-size:8px; letter-spacing:.2em; color:#a9a1bf; pointer-events:none; }
.public-preview-controls { display:flex; align-items:center; gap:16px; padding:16px 20px 10px; border-top:1px solid #ffffff12; }
.public-demo-button { background:#ddfc67; color:#272444; min-width:125px; flex-shrink:0; font-size:13px; }
.public-demo-button:hover { background:#e7ff97; color:#272444; }
.public-demo-button[aria-pressed=true] { background:#e7e2ff; color:#272444; }
.public-preview-controls p { font-size:11px; color:#d2cbe3; line-height:1.9; }
.public-preview-note { padding:0 20px 16px; color:#aca4c0; font-size:10px; line-height:1.8; }
.public-preview :focus-visible { outline-color:#ddfc67; }
.public-intro-line { max-width:1232px; margin:0 auto; padding:26px 0; border-top:1px solid #ddd9e8; border-bottom:1px solid #ddd9e8; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.public-intro-line p { font-size:16px; color:#767084; }
.public-intro-line strong { font-weight:400; color:#272444; }
.public-intro-line > span { color:#767084; font-size:12px; }
.public .band-in { padding:72px 24px; gap:28px; }
.public .band-alt { background:#efedf6; }
.public .section-head .h2 { margin-top:8px; }
.public .eyebrow-latin { color:#716a83; font-size:10px; font-weight:550; letter-spacing:.14em; }
.public .cards3 { gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.public .exp-card { border-radius:14px; box-shadow:none; border:1px solid #dfdbe9; background:#fff; transition:border-color .18s,transform .18s; }
.public .exp-card:hover { border-color:#b8ade5; box-shadow:0 8px 24px -18px #5540c440; transform:translateY(-3px); }
.public .exp-card:focus-within { outline:2px solid #5540c4; outline-offset:4px; }
.public .exp-card-media { margin:8px 8px 0; border-radius:9px; overflow:hidden; }
.public .exp-visual { height:216px; }
.public .exp-card .exp-card-badge { top:12px; inset-inline-start:12px; }
.public-sample { border:1px solid #ffffff3d; color:#f5f4fa; background:#272444cc; font-size:11px; padding:4px 10px; }
.public .exp-card-body { gap:12px; padding:22px; }
.public .exp-card .h5 { font-size:21px; line-height:1.5; }
.public .exp-card .muted { font-size:13px; min-height:48px; }
.public .exp-card .card-link { color:#272444; text-decoration:none; }
.public .public-card-overline { font-size:9px; letter-spacing:.12em; color:#898198; }
.public-visual-label { position:absolute; bottom:10px; inset-inline-end:12px; color:#d4cde6; font-size:9px; }
.public .vis-concept .public-visual-label { color:#676378; }
.public .meta3 { padding-top:16px; gap:6px; }
.public .meta3 dt { font-size:10px; }
.public .meta3 dd { font-family:"IRAN Rounded",sans-serif; font-size:12px; font-weight:400; white-space:normal; }
.public-card-action { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:#5540c4; border-top:1px solid #ebe7f1; padding-top:15px; margin-top:auto; min-height:44px; }
.public-process { background:#eae6f5; }
.public .steps4 { gap:24px; }
.public .steps4 li { border-radius:0; box-shadow:none; background:transparent; padding:0 0 0 20px; gap:16px; border-inline-end:1px solid #d4cee3; }
.public .steps4 li:last-child { border-inline-end:0; }
.public .step-n { background:transparent; color:#5540c4; width:auto; height:auto; display:block; font-size:28px; font-weight:450; letter-spacing:.06em; }
.public .steps4 .h5 { font-size:20px; }
.public .steps4 .muted { font-size:13px; line-height:1.95; }
.public-solutions-layout { display:grid!important; grid-template-columns:.9fr 1.6fr; gap:80px!important; }
.public-section-aside { display:flex; flex-direction:column; align-items:flex-start; gap:22px; }
.public-section-aside .h2 { font-size:38px; line-height:1.55; }
.public-section-aside > p { max-width:320px; }
.public-solution { display:flex; align-items:center; gap:24px; padding:24px 0; border-top:1px solid #ddd9e8; color:#272444; text-decoration:none; transition:padding .18s; }
.public-solution:last-child { border-bottom:1px solid #ddd9e8; }
.public-solution:hover { color:#5540c4; padding-inline-start:8px; }
.public-solution > .icon { margin-inline-start:auto; flex-shrink:0; }
.public-solution-n { color:#898198; font-size:12px; letter-spacing:.08em; }
.public-solution .h5 { font-size:22px; margin-bottom:3px; }
.public-work-note { background:#eeebf5; }
.public-faq-layout { display:grid!important; grid-template-columns:1fr 1.6fr; gap:80px!important; }
.public-faq-layout > div:first-child { display:flex; flex-direction:column; gap:16px; }
.public-faq details { border-bottom:1px solid #ddd9e8; padding:0; }
.public-faq details:first-child { border-top:1px solid #ddd9e8; }
.public-faq summary { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:16px; cursor:pointer; list-style:none; }
.public-faq summary::-webkit-details-marker { display:none; }
.public-faq summary span { color:#5540c4; font-size:24px; font-family:sans-serif; font-weight:300; }
.public-faq details[open] summary span { transform:rotate(45deg); }
.public-faq details p { color:#676378; font-size:14px; padding:0 0 24px; line-height:1.95; }
.public-posts { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.public .post-card { border-radius:12px; border:1px solid #ded9e9; box-shadow:none; background:#f5f4fa; }
.public .post-card .post-media { height:160px; aspect-ratio:auto; }
.public .post-card .post-cover { height:160px; min-height:160px; }
.public .post-card .post-body { flex:initial; }
.public .post-card .post-body { gap:12px; }
.public-final-cta { max-width:1232px; margin:56px auto 72px; border:1px solid #d7d0ed; background:#e7e2ff; border-radius:16px; padding:44px; display:flex; align-items:center; gap:32px; justify-content:space-between; }
.public-final-cta > div { display:flex; flex-direction:column; gap:12px; }
.public-final-cta p { color:#675d80; font-size:14px; }
.public .site-foot { background:#f5f4fa; border-color:#ddd9e8; }
.public .foot-grid { padding:48px 24px; max-width:1280px; grid-template-columns:1.4fr 1fr 1.2fr 1fr; gap:40px; }
.public .foot-brand { gap:18px; }
.public .foot-brand .brand { margin-bottom:4px; }
.public .site-foot .label { font-family:"IRAN Rounded",sans-serif; font-size:14px; }
.public .site-foot ul { display:flex; flex-direction:column; gap:8px; margin-top:18px; }
.public .site-foot li { font-size:12px; line-height:1.9; }
.public .site-foot li a { text-decoration:none; color:#676378; display:inline-flex; align-items:center; gap:8px; min-height:30px; }
.public .site-foot li a:hover { color:#5540c4; text-decoration:underline; }
.public .foot-in { border-top:1px solid #e3dfec; padding-top:20px; padding-bottom:20px; }
.public .foot-in .caption { font-size:10px; }
.public .page { padding-top:28px; padding-bottom:80px; gap:32px; }
.public .crumbs { font-size:11px; }
.public-page-title { padding:16px 0 8px; display:flex; flex-direction:column; gap:16px; }
.public-page-title .h1 { font-size:clamp(32px,3.5vw,48px); }
.public-filter { background:#efecf6; border:1px solid #e1dceb; border-radius:12px; padding:20px; }
.public-filter summary { display:none; cursor:pointer; min-height:44px; }
.public-filter form { display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; }
.public-filter .field { flex:1; min-width:160px; gap:8px; }
.public-filter .input { background:#fff; border-color:#d4cde1; min-height:46px; font-size:13px; }
.public-catalog-count { display:flex; justify-content:space-between; align-items:center; gap:16px; color:#676378; font-size:12px; }
.public-catalog-count > span { color:#272444; font-size:14px; flex-shrink:0; }
.public-inquiry-strip { margin-top:24px; border-top:1px solid #dcd6ea; padding:32px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.public-inquiry-strip > div { display:flex; flex-direction:column; gap:8px; }
.public-inquiry-strip .muted { font-size:14px; }
.public-empty { display:flex; flex-direction:column; align-items:center; text-align:center; gap:20px; padding:64px 24px; border:1px dashed #c9c1dc; border-radius:16px; background:#eeebf5; }
.public-empty-mark { display:grid; place-items:center; width:64px; height:64px; background:#e7e2ff; border-radius:18px; color:#5540c4; }
.public-empty .public-text-link { align-self:center; }
.public-experience-top { display:grid; grid-template-columns:1fr 1.15fr; gap:48px; align-items:start; }
.public-experience-copy { display:flex; flex-direction:column; gap:20px; }
.public-experience-copy .public-sample { background:#e7e2ff; color:#5540c4; border-color:#cfc5f0; align-self:flex-start; }
.public-experience-copy > .h1 { font-size:42px; }
.public-evidence-note { display:flex; gap:10px; align-items:flex-start; padding:14px 16px; background:#ece8f6; color:#675b80; font-size:12px; border-inline-start:3px solid #b2a1e5; line-height:1.9; }
.public-evidence-note .icon { flex-shrink:0; margin-top:4px; }
.public-decision-list { display:flex; flex-direction:column; gap:12px; }
.public-decision-list > div { display:grid; grid-template-columns:100px 1fr; gap:12px; font-size:13px; }
.public-decision-list dt { color:#767084; }
.public-decision-list dd { color:#272444; }
.public-experience-copy .btn { align-self:flex-start; }
.public-experience .public-preview-stage { height:385px; }
.public-experience-sections { display:grid; grid-template-columns:1fr 1fr; gap:48px; border-top:1px solid #dcd6ea; padding-top:48px; margin-top:24px; }
.public-experience-sections > section { display:flex; flex-direction:column; gap:20px; min-width:0; }
.public-experience-sections .public-details-group { grid-column:1/-1; }
.public-experience-sections .spec-table { background:#fff; border-radius:12px; }
.public-experience-sections .spec-table dt, .public-experience-sections .spec-table dd { font-family:"IRAN Rounded",sans-serif; font-size:12px; font-weight:400; }
.public-details-group > details { border:1px solid #ded8e9; background:#fff; border-radius:10px; }
.public-details-group summary { cursor:pointer; padding:18px 20px; font-size:15px; min-height:60px; }
.public-details-group details > p { padding:0 20px 22px; max-width:1000px; font-size:14px; color:#676378; line-height:2; }
.public-editorial-content { display:flex; flex-direction:column; gap:32px; }
.public-editorial .public-page-title { max-width:900px; }
.public-solutions-list { padding-top:16px; }
.public-solutions-list .public-solution { padding:30px 12px; }
.public-solutions-list .public-solution-n { font-size:18px; min-width:48px; }
.public-solution-hero { display:grid; grid-template-columns:1.3fr 1fr; gap:64px; align-items:center; padding:24px 0; }
.public-solution-hero > div:first-child { display:flex; flex-direction:column; gap:24px; }
.public-solution-hero .btn { align-self:flex-start; }
.public-solution-tagline { color:#5540c4; }
.public-solution-art { position:relative; height:310px; border:1px solid #ddd5ef; border-radius:16px; background:#e7e2ff; display:flex; align-items:center; justify-content:center; gap:18px; overflow:hidden; }
.public-solution-art > span { position:absolute; inset-inline-start:24px; top:16px; font-family:"Rooyin",sans-serif; font-size:14px; color:#8776b4; }
.public-solution-art i { width:72px; height:160px; background:#5540c4; border-radius:16px; transform:skewY(-14deg); }
.public-solution-art b { width:12px; height:110px; background:#ddfc67; border-radius:3px; transform:skewY(-28deg); align-self:center; margin-top:36px; }
.public-solution-art i:last-child { height:130px; background:#9d8fe2; transform:skewY(14deg); margin-top:30px; }
.public-art-ai i { border-radius:50%; height:115px; width:115px; transform:none; }
.public-art-ai i:last-child { height:75px; width:75px; transform:none; }
.public-art-performance i { transform:rotate(-12deg); border-radius:8px; }
.public-art-narrative { background:#272444; }
.public-art-narrative i { background:#aaa0eb; }
.public-art-art i { border-radius:50% 10% 50% 10%; }
.public-editorial-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.public-info-panel, .public-path-card { background:#fff; border:1px solid #ded8e9; border-radius:14px; padding:28px; display:flex; flex-direction:column; gap:20px; min-width:0; }
.public-info-panel p { font-size:15px; line-height:2; }
.public-check-list { display:flex; flex-direction:column; gap:12px; }
.public-check-list li { padding-inline-start:22px; position:relative; font-size:14px; }
.public-check-list li::before { content:""; width:6px; height:6px; border-radius:50%; background:#5540c4; position:absolute; inset-inline-start:0; top:.75em; }
.public-path-index { color:#8d80b2; font-size:13px; }
.public-path-card .muted { font-size:14px; }
.public-path-card .public-text-link { margin-top:auto; }
.public-editorial-content .steps4 { padding:24px 0; }
.public-guide-index { display:flex; flex-wrap:wrap; gap:12px; }
.public-guide-index a { min-height:44px; padding:8px 16px; background:#e7e2ff; border-radius:8px; text-decoration:none; font-size:13px; }
.public-info-panel[id] { scroll-margin-top:24px; }
.public-info-panel pre { background:#272444; color:#e7e2ff; padding:20px; border-radius:10px; font-size:13px; overflow:auto; text-align:left; white-space:pre-wrap; margin:0; }
.public .narrow-page { max-width:960px; }
.public .prose { font-size:16px; line-height:2; }
.public .contact-form { border-radius:14px; box-shadow:none; border:1px solid #ded8e9; }
.public .contact-form .input { font-family:"IRAN Rounded",sans-serif; }
.public .hp { inset-inline-start:auto; position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
@media (min-width:1280px) { .public-hero-art { transform:rotate(-1.25deg); } }
@media (max-width:1100px) {
  .public-header-in { gap:20px; flex-wrap:wrap; }
  .public-nav { display:flex; order:3; flex-basis:100%; flex-wrap:wrap; margin-inline-start:0; gap:12px 24px; }
  .public.public-enhanced .public-nav { display:none; }
  .public-menu-toggle:not([hidden]) { display:inline-flex; }
  .public-header-actions { margin-inline-start:auto; }
  .public-mobile-nav:not([hidden]) { display:grid; grid-template-columns:repeat(3,1fr); flex-basis:100%; border-top:1px solid #ddd9e8; padding-top:16px; gap:10px; }
  .public-mobile-nav a { min-height:44px; padding:10px; color:#514b64; text-decoration:none; border-radius:8px; font-size:14px; }
  .public-mobile-nav a:hover, .public-mobile-nav a.active { background:#e7e2ff; color:#5540c4; }
  .public-hero-in { gap:32px; padding-top:40px; }
  .public-preview-stage { height:300px; }
  .public-hero h1 { font-size:48px; }
  .public-hero-lead { font-size:18px; }
  .public .cards3 { gap:16px; }
  .public-solutions-layout, .public-faq-layout { gap:40px!important; }
  .public-intro-line, .public-final-cta { margin-inline:24px; }
  .public-experience-top { gap:28px; }
  .public-experience-copy > .h1 { font-size:34px; }
  .public .foot-grid { gap:24px; }
}
@media (max-width:800px) {
  .public-hero-in { grid-template-columns:1fr; padding-top:36px; gap:36px; }
  .public-hero-copy { gap:20px; }
  .public-hero h1 { font-size:54px; }
  .public-hero-copy > .muted, .public-hero-lead { max-width:640px; }
  .public-hero-foot { margin-top:0; }
  .public-preview-stage { height:360px; }
  .public .cards3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public .steps4 { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:32px; }
  .public .steps4 li:nth-child(2) { border-inline-end:0; }
  .public-solutions-layout, .public-faq-layout { grid-template-columns:1fr!important; gap:32px!important; }
  .public-section-aside .h2 br { display:none; }
  .public-section-aside > p { max-width:100%; }
  .public-intro-line { align-items:flex-start; flex-direction:column; gap:8px; }
  .public-final-cta { padding:32px; flex-direction:column; align-items:flex-start; }
  .public .foot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
  .public-experience-top { grid-template-columns:1fr; }
  .public-experience-copy { order:0; }
  .public-experience-sections { gap:32px; }
  .public-solution-hero { grid-template-columns:1fr; gap:32px; }
  .public-solution-art { height:230px; }
}
@media (max-width:560px) {
  .public-header-in { padding:16px; gap:12px; }
  .public-header .brand-mark { width:23px; height:auto; }
  .public-header .brand-word { width:100px; height:auto; }
  .public-header .brand { gap:6px; }
  .public-header-actions { gap:0; }
  .public-login { display:none; }
  .public-header-actions .btn { padding:0 12px; font-size:12px; gap:6px; }
  .public-header-actions .btn .icon { display:none; }
  .public-menu-toggle { padding:0 10px; font-size:12px; }
  .public-mobile-nav:not([hidden]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-hero-in { padding:28px 16px 32px; }
  .public-hero h1 { font-size:44px; }
  .public-hero-lead { font-size:18px; }
  .public-hero-copy > .muted { font-size:14px; }
  .public-eyebrow { font-size:12px; }
  .public-hero-actions { gap:8px 16px; }
  .public-hero-actions .btn-lg { min-height:48px; font-size:14px; }
  .public-hero-actions .public-text-link { font-size:12px; }
  .public-preview { border-radius:12px; }
  .public-preview-top { padding:14px; }
  .public-preview-top [dir=ltr] { font-size:8px; }
  .public-preview-stage { height:270px; }
  .public-preview-controls { padding:14px; gap:12px; }
  .public-preview-controls p { font-size:10px; }
  .public-demo-button { min-width:108px; padding-inline:10px; font-size:12px; }
  .public-preview-note { padding:0 14px 14px; font-size:9px; }
  .public-intro-line { margin-inline:16px; padding:20px 0; }
  .public-intro-line p { font-size:14px; }
  .public-intro-line > span { font-size:10px; }
  .public .band-in { padding:44px 16px; gap:24px; }
  .public .section-head.row { gap:12px; align-items:flex-start; }
  .public .section-head .h2 { font-size:27px; line-height:1.55; }
  .public .cards3 { grid-template-columns:1fr; gap:20px; }
  .public .exp-visual { height:230px; }
  .public .exp-card .muted { min-height:auto; }
  .public .steps4 { gap:28px 16px; }
  .public .steps4 li { padding-inline-end:12px; gap:10px; }
  .public .steps4 .h5 { font-size:17px; }
  .public .steps4 .muted { font-size:12px; }
  .public .step-n { font-size:23px; }
  .public-section-aside .h2 { font-size:30px; }
  .public-solution { gap:16px; padding:22px 0; }
  .public-solution .h5 { font-size:19px; }
  .public-solution .muted { font-size:12px; }
  .public-faq summary { font-size:14px; }
  .public-faq details p { font-size:13px; }
  .public-posts { grid-template-columns:1fr; }
  .public-final-cta { margin:32px 16px 44px; padding:24px; }
  .public-final-cta .h2 { font-size:27px; }
  .public .foot-grid { padding:36px 16px; gap:28px 20px; }
  .public .foot-brand { grid-column:1/-1; }
  .public .foot-in { padding-inline:16px; }
  .public .page { padding:20px 16px 48px; gap:24px; }
  .public-page-title { padding-top:8px; gap:14px; }
  .public-page-title .h1 { font-size:32px; }
  .public-page-title .body-lg { font-size:16px; }
  .public-filter { padding:14px; }
  .public-filter summary { display:list-item; }
  .public-filter form { padding-top:12px; flex-direction:column; align-items:stretch; gap:16px; }
  .public-filter .field { min-width:0; }
  .public-catalog-count { flex-direction:column; align-items:flex-start; gap:8px; }
  .public-catalog-count p { font-size:11px; }
  .public-inquiry-strip { flex-direction:column; align-items:flex-start; padding-top:24px; gap:20px; }
  .public-inquiry-strip .h4 { font-size:21px; }
  .public-empty { padding:36px 20px; }
  .public-experience-copy > .h1 { font-size:32px; }
  .public-experience .public-preview-stage { height:280px; }
  .public-decision-list > div { grid-template-columns:80px 1fr; font-size:12px; }
  .public-experience-sections { grid-template-columns:1fr; padding-top:28px; gap:32px; }
  .public-experience-sections .spec-table div { grid-template-columns:110px 1fr; padding:12px; }
  .public-details-group summary { font-size:13px; padding:16px; }
  .public-details-group details > p { font-size:13px; padding:0 16px 20px; }
  .public-editorial-grid { grid-template-columns:1fr; }
  .public-info-panel, .public-path-card { padding:22px; gap:16px; }
  .public-info-panel .h3 { font-size:23px; }
  .public-info-panel p { font-size:14px; }
  .public-guide-index { gap:8px; }
  .public-guide-index a { font-size:11px; padding:10px 12px; }
  .public-solutions-list .public-solution { padding-inline:0; }
  .public-solutions-list .public-solution-n { min-width:24px; font-size:13px; }
}
@media (max-width:350px) { .public-header .brand-word { width:82px; } .public-header-in { gap:8px; } .public-hero h1 { font-size:39px; } .public-preview-top [dir=ltr] { display:none; } }
@media (prefers-reduced-motion:reduce) { .public *, .public *::before, .public *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
