/* Responsive refinement, v40.
   Every rule is bounded to tablet/mobile. Approved desktop declarations stay intact.
   !important is limited to legacy important heading/grid/padding declarations. */
@media (max-width:1100px) {
  :root { --page-gutter:32px; }
  .shell { padding-inline:var(--page-gutter); }
  .hero-layout > *, .editorial > *, .workflow > *, .service-row > *,
  .section-intro > *, .footer-grid > * { min-width:0; }

  h1, .hero h1, .page-home .hero h1, .pricing-hero h1 {
    font-size:52px!important; line-height:60px!important; letter-spacing:-.03em!important;
    overflow-wrap:normal; hyphens:none;
  }
  h2, .section-intro h2, .foundation-section h2, .workflow h2, .cta-v4 h2,
  .service-row h2, .price-heading h2, .product-category h2, .price-end h2 {
    font-size:40px!important; line-height:48px!important; letter-spacing:-.025em!important;
    overflow-wrap:normal; hyphens:none;
  }
  .section { padding-block:64px; }
  .section-intro { margin-bottom:32px; gap:24px; }
  .section-intro p, .hero .lead { font-size:16px; line-height:24px; letter-spacing:0; }
  .hero { padding-top:40px; }
  .hero-layout, .page-home .hero-layout { min-height:560px; }
  .hero-copy { padding-bottom:32px; }
  .hero-copy h1 { max-width:100%; }
  .hero .eyebrow { margin-bottom:20px; }
  .hero .lead { max-width:520px; margin-top:24px; }
  .hero .actions { gap:12px; margin-top:24px; }
  .hero .trustline { margin-top:24px; }
  .sculpture { min-width:0; width:100%; margin:0; scale:.82; }
  .header-inner { gap:16px; }
  .theme-toggle { min-height:44px; }
  .theme-toggle::before { top:calc(50% - 12px); }
  .nav > a, .nav .mega-trigger { min-width:44px; min-height:44px; display:inline-flex; align-items:center; }
  .btn { min-height:48px; }
  .pricing-v5__arrow { width:44px; height:44px; flex-shrink:0; }
  .pricing-v5__controls { margin-bottom:12px; }
  .price-table-scroll { max-width:100%; overscroll-behavior-x:contain; }
  .price-table-scroll td, .price-table-scroll th { padding:16px; white-space:nowrap; }
  .price-table-scroll td a { display:inline-flex; align-items:center; min-height:44px; }
  .price-heading { padding-block:16px; }
  .price-section { scroll-margin-top:144px; margin-bottom:48px; }
  .pricing-content { padding-block:32px 64px; }
  .price-jump { gap:8px; margin-bottom:32px; }
  .price-jump a { min-height:44px; display:inline-flex; align-items:center; }
  .promo-detail { white-space:normal; overflow-wrap:anywhere; }
  .promo-copy { min-height:44px; padding:8px 12px; }
  .promo-code strong { overflow-wrap:anywhere; }
  .product-item p, .benefit-v5 p { font-size:16px; line-height:24px; letter-spacing:0; }
  .product-item a { display:inline-flex; align-items:center; min-height:44px; }
  .showcase-v4 p { font-size:16px; line-height:24px; letter-spacing:0; }
  .showcase-v4 .feature-panel > a { min-height:44px; display:inline-flex; align-items:center; }
  .footer a { display:inline-flex; align-items:center; min-height:44px; line-height:20px; }
  .footer-grid { gap:24px; }
  .footer-bottom { margin-top:32px; padding-top:24px; }
  .journey-ui__next, .journey-ui__detail { min-height:44px; }
  .domain-card__continue, .domain-card__retry { min-height:44px; }
}

/* Portrait tablets need reading width; the existing illustrations are retained. */
@media (max-width:900px) {
  .site-header { height:76px; }
  .header-inner { justify-content:flex-start; gap:12px; }
  .brand { margin-right:auto; }
  .header-actions { margin-left:0; }
  .menu-toggle { min-width:72px; min-height:44px; padding:12px; }
  .nav { top:76px; padding:12px var(--page-gutter) 24px;
    max-height:calc(100dvh - 76px); overscroll-behavior:contain; }
  .nav.open { gap:0; }
  .nav > a, .nav > a:nth-last-child(-n+2), .nav .mega-trigger {
    display:flex; align-items:center; width:100%; padding:12px 0;
    min-height:48px; font-size:16px; line-height:24px;
  }
  .mega-menu { max-height:calc(100dvh - 76px); overscroll-behavior:contain; }
  .mega-main, .mega-aside { padding:24px; }
  .mega-category { min-height:48px; }
  .mega-feature { padding-block:16px; }
  .hero-layout, .page-home .hero-layout {
    grid-template-columns:minmax(0,1fr)!important; min-height:0; gap:0!important;
  }
  .hero-copy { max-width:680px; padding-bottom:0; }
  .hero-copy h1 { max-width:640px; text-wrap:balance; }
  .hero .lead { max-width:600px; }
  .sculpture { height:380px; max-width:560px; margin:0 auto;
    width:100%; scale:.8; transform-origin:center; }
  .hero-bottom { height:auto; min-height:64px; gap:16px; padding-block:12px; }
  .hero-bottom a { min-height:44px; gap:16px; }
  .logo-band { padding-block:24px; }
  .logo-band .shell { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
  .logo-band .eyebrow { margin-bottom:0; }
  .logo-band img { height:24px; max-width:100%; }
  .domain-discovery { padding-top:32px; }
  .domain-card { padding:32px; }
  .domain-card__header { margin-bottom:24px; }
  .section-intro { display:block; max-width:680px; }
  .section-intro h2 { margin-bottom:16px; }
  .foundation-section .editorial { grid-template-columns:minmax(0,1fr); gap:32px; }
  .foundation-section .editorial-visual { width:100%; min-width:0; }
  .foundation-section .cloud-map { width:100%; max-width:640px; }
  .workflow { display:flex; flex-direction:column; gap:32px; }
  .workflow > div { width:100%; }
  .workflow-visual { position:static; order:2; max-width:640px; margin-inline:auto; }
  .workflow .steps { margin-top:24px; }
  .step { padding:24px; opacity:1; }
  .step p { font-size:16px; line-height:24px; }
  .showcase.showcase-v4 { gap:16px; }
  .showcase.showcase-v4 > .feature-panel:nth-child(n) { min-height:420px; padding:24px; }
  .showcase-v4 .feature-panel:nth-child(-n+2) > div:first-child { max-width:100%; }
  .showcase-v4 .feature-panel:nth-child(-n+2) .panel-art-v4,
  .showcase-v4 .feature-panel:last-child .panel-art-v4 {
    position:relative; inset:auto; width:100%; height:160px; min-height:160px; margin-top:auto;
  }
  .showcase-v4 h3 { font-size:28px; line-height:36px; max-width:none; }
  .showcase-v4 p { max-width:none; }
  .product-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-item { padding:24px 20px 24px 0; }
  .service-row { display:flex; flex-direction:column; gap:24px; padding-block:40px; align-items:stretch; }
  .service-row:nth-child(even) .service-viz { order:initial; }
  .service-row p { font-size:16px; line-height:24px; }
  .service-viz { width:100%; max-width:640px; margin-inline:auto; }
  .cta.cta-v4 { padding:32px; gap:24px; min-height:0; }
  .cta-v4 p { font-size:16px; line-height:24px; }
  .cta-v4__art { width:min(480px,100%); }
  .footer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .footer-grid > div:first-child { grid-column:1/-1; }
  .footer h3 { margin-bottom:12px; }
  .home-testimonials__heading { margin-bottom:24px; }
}

@media (max-width:600px) {
  :root { --page-gutter:20px; }
  h1, .hero h1, .page-home .hero h1, .pricing-hero h1 {
    font-size:40px!important; line-height:48px!important; letter-spacing:-.03em!important;
  }
  h2, .section-intro h2, .foundation-section h2, .workflow h2, .cta-v4 h2,
  .service-row h2, .price-heading h2, .product-category h2, .price-end h2 {
    font-size:32px!important; line-height:40px!important; letter-spacing:-.025em!important;
  }
  h3 { overflow-wrap:normal; }
  .hero { padding-top:32px; }
  .hero .eyebrow { margin-bottom:16px; line-height:20px; }
  .hero .lead { margin-top:20px; max-width:100%; }
  .hero .actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:24px; }
  .hero .actions .btn { width:100%; padding:12px; min-width:0; text-align:center; }
  .hero .trustline { margin-top:20px; line-height:20px; }
  .sculpture { width:100%; max-width:440px; height:320px; margin:0 auto; scale:.74; }
  .sculpture-object { top:36%; }
  .hero-series .h3d-world { scale:.88; }
  .hero-bottom { min-height:64px; gap:8px; }
  .hero-bottom > span { max-width:56%; line-height:20px; }
  .hero-bottom a { gap:8px; }
  .logo-band .shell { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 16px; }
  .logo-band .eyebrow { grid-column:1/-1; }
  .logo-band img { height:24px; width:100%; object-fit:contain; }
  .section { padding-block:48px; }
  .section-intro { margin-bottom:24px; }
  .eyebrow { line-height:20px; margin-bottom:12px; }
  .section-intro h2 { margin-bottom:16px; }
  .section-intro p { font-size:16px; line-height:24px; }
  .domain-discovery { padding-top:24px; }
  .domain-card { padding:24px 20px; border-radius:16px; }
  .domain-card__header { margin-bottom:24px; }
  .domain-card__form { grid-template-columns:104px minmax(0,1fr); gap:8px; padding:8px; }
  .domain-card__field { padding:0 4px 8px; }
  .domain-card__input { min-width:0; min-height:48px; padding:12px 0; }
  .domain-extension__trigger { min-height:48px; }
  .domain-card__submit { min-height:48px; }
  .domain-extension__popover { width:min(340px,calc(100vw - 32px)); }
  .domain-card__result-name { overflow-wrap:anywhere; }
  .showcase.showcase-v4 { display:grid; grid-template-columns:minmax(0,1fr); }
  .showcase.showcase-v4 > .feature-panel:nth-child(n) {
    grid-column:auto; min-height:0; margin:0; padding:24px;
  }
  .showcase-v4 h3 { font-size:24px; line-height:32px; letter-spacing:-.02em; margin:12px 0; max-width:100%; }
  .showcase-v4 .feature-panel > a { margin:0 0 8px; }
  .showcase-v4 .feature-panel:nth-child(-n+2) > a { margin:0 0 8px; }
  .showcase-v4 .panel-art-v4,
  .showcase-v4 .feature-panel:nth-child(-n+2) .panel-art-v4,
  .showcase-v4 .feature-panel:last-child .panel-art-v4 {
    position:relative; inset:auto; width:100%; height:144px; min-height:144px; margin:0;
  }
  .product-list { grid-template-columns:minmax(0,1fr); }
  .product-item { padding:24px 0; min-height:0; }
  .product-item h3 { font-size:24px; line-height:32px; }
  .product-category { padding-block:32px; }
  .product-category:nth-child(even) { padding-block:40px; }
  .category-nav { padding-inline:0; }
  .category-nav .shell { gap:20px; }
  .category-nav a { min-height:48px; padding-block:12px; }
  .foundation-section .cloud-map { padding:24px 12px; width:calc(100% - 8px); margin-left:0; }
  .infra-stack { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .infra-node { padding:16px 4px; min-width:0; }
  .infra-node b { margin-bottom:4px; }
  .workflow { gap:32px; }
  .step { padding:20px 16px; }
  .step h3 { font-size:24px; line-height:32px; margin-bottom:8px; }
  .step p { margin-bottom:0; }
  .workflow-visual .interface { box-shadow:8px 8px 0 var(--mint); width:calc(100% - 8px); }
  .journey-ui__product-copy small { overflow-wrap:normal; }
  .home-testimonials { padding-block:48px; }
  .home-testimonial { padding:24px 20px; }
  .home-testimonial__masthead { gap:8px; margin-bottom:20px; }
  .home-testimonial blockquote p { font-size:20px; line-height:28px; }
  .testimonial-tab { padding:12px; gap:8px; min-height:72px; }
  .testimonial-tab > span:last-child { overflow-wrap:normal; }
  .service-row { padding-block:32px; }
  .service-row .motion-art { min-height:300px; padding:20px 16px; }
  .art-top { flex-wrap:wrap; gap:8px; }
  .service-row .lead { margin-bottom:20px; }
  .service-row .btn { align-self:start; }
  .pricing-content { padding-block:24px 48px; }
  .price-heading { padding-block:12px; gap:12px; margin-bottom:16px; }
  .price-heading h2 { margin-bottom:12px; }
  .price-section { margin-bottom:40px; }
  .price-table-scroll table { min-width:640px; }
  .price-jump { margin-bottom:24px; }
  .price-jump a { font-size:12px; line-height:20px; padding:12px; }
  .price-end { padding:24px 20px; }
  .pricing-v5 .pricing-card { min-width:0; flex-basis:min(84vw,340px); }
  .pricing-v5 .pricing-card { padding:20px!important; }
  .pricing-v5__specs { padding:16px!important; }
  .pricing-v5__terms { line-height:24px; }
  .plan-price strong { font-size:28px; line-height:36px; }
  .promo-grid { gap:16px; grid-template-columns:minmax(0,1fr); }
  .promo-card { padding:24px; min-height:0; gap:12px; }
  .promo-card h3 { font-size:24px; line-height:32px; }
  .promo-card p { font-size:16px; line-height:24px; }
  .promo-code { gap:8px; max-width:100%; }
  .promo-detail { display:inline-flex; align-items:center; min-height:44px; line-height:20px; }
  .price-end.promo-journey { padding:24px 20px; margin-top:32px; }
  .promo-journey__header { padding-bottom:0; }
  .promo-journey .promo-steps { margin-top:28px; }
  .promo-journey .promo-step { grid-template-columns:56px minmax(0,1fr); gap:16px; padding-bottom:32px; }
  .promo-step__node { width:56px; height:64px; }
  .promo-step__copy { padding-top:0; }
  .promo-step__copy h3 { font-size:20px; line-height:28px; }
  .promo-step:not(:last-child):before { left:28px; }
  .promo-step:not(:last-child):after { left:27px; }
  .cta.cta-v4 { padding:28px 20px; gap:20px; }
  .cta-v4 .actions { gap:8px; margin-top:24px; }
  .cta-v4 .actions .btn { width:100%; }
  .cta-v4__art.cta3d { height:240px; min-height:240px; }
  .footer { padding-block:32px 24px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .footer-bottom { line-height:20px; }
}

@media (max-width:360px) {
  :root { --page-gutter:16px; }
  h1, .hero h1, .page-home .hero h1, .pricing-hero h1 {
    font-size:36px!important; line-height:44px!important; letter-spacing:-.03em!important;
  }
  h2, .section-intro h2, .foundation-section h2, .workflow h2, .cta-v4 h2,
  .service-row h2, .price-heading h2, .product-category h2, .price-end h2 {
    font-size:28px!important; line-height:36px!important; letter-spacing:-.025em!important;
  }
  .header-inner { gap:8px; }
  .menu-toggle { min-width:64px; padding:12px 8px; }
  .logo-band .shell { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero .actions { grid-template-columns:minmax(0,1fr); }
  .sculpture { height:320px; scale:.64; }
  .hero-series .h3d-world { scale:.8; }
  .hero-bottom { flex-wrap:wrap; gap:0; }
  .hero-bottom > span { max-width:none; }
  .hero-bottom a { margin-left:auto; }
  .domain-card { padding:24px 16px; }
  .showcase.showcase-v4 > .feature-panel:nth-child(n) { padding:20px; }
  .promo-card { padding:20px; }
  .price-end.promo-journey { padding:24px 16px; }
  .promo-journey .promo-step { gap:12px; grid-template-columns:48px minmax(0,1fr); }
  .promo-step__node { width:48px; height:60px; padding:8px; }
  .promo-step:not(:last-child):before { left:24px; top:60px; }
  .promo-step:not(:last-child):after { left:23px; top:72px; }
  .journey-ui__product-icon { width:24px; height:24px; }
  .journey-ui__product-copy strong { font-size:16px; line-height:24px; }
  .cta.cta-v4 { padding:24px 16px; }
  .cta.cta-v4 .cta-v4__art.cta3d { min-height:216px; height:216px; }
  .cta3d-stage { height:216px; }
  .cta3d .ecos3d-world { --scene-scale:.56; }
}
