@media (min-width:1848px) {
  .hero {
    margin-inline:auto;
  }

  .hero-bottom {
    padding-inline:110px;
  }
}

@media (max-width:1100px)and(min-width:761px) {
  .function-nav {
    grid-template-columns:repeat(3,1fr);
  }

  .audio-experience {
    padding:28px;
  }

  .audio-experience h3 {
    font-size:26px;
  }
}

@media (max-width:1100px) {
  .site-nav {
    gap:20px;
  }

  .hero {
    min-height:690px;
  }

  .hero-copy {
    width:min(620px,calc(100% - 90px));
    margin-left:45px;
    padding:65px 0;
  }

  .hero h1 {
    font-size:60px;
  }

  .hero-bottom {
    padding-inline:45px;
  }

  .hero-bottom small {
    max-width:70px;
    text-align:right;
  }

  .service-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .service-feature h3 {
    font-size:34px;
  }

  .benefit-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .benefit-card h3 {
    font-size:25px;
  }

  .scene-intro {
    gap:8%;
  }

  .scene-demo {
    grid-template-columns:1.1fr 1fr;
  }

  .scene-content {
    padding:24px;
  }

  .scene-panel h3 {
    font-size:25px;
  }

  .scene-tabs button {
    font-size:12px;
    padding-inline:10px;
  }

  .scene-image {
    min-height:560px;
  }

  .scene-marker {
    font-size:12px;
    padding:6px 9px;
  }

  .function-preview {
    padding:23px 19px;
  }

  .function-preview h3 {
    font-size:17px;
  }

  .energy-preview>div {
    padding-left:30px;
  }

  .function-nav {
    gap:8px;
  }

  .function-nav a {
    padding:13px 10px;
    gap:8px;
    font-size:12px;
  }

  .function-nav svg {
    width:21px;
    height:21px;
  }

  .feature-layout {
    gap:6%;
    grid-template-columns:1fr 1.1fr;
  }

  .feature-photo {
    min-height:550px;
  }

  .site-nav {
    gap:14px;
  }

  .function-nav {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:900px) {
  .scene-intro {
    grid-template-columns:1fr 1fr;
    gap:10%;
  }

  .scene-demo {
    grid-template-columns:1fr;
  }

  .scene-image {
    min-height:0;
    aspect-ratio:1.5;
  }

  .scene-content {
    padding:28px;
  }

  .scene-tabs {
    max-width:400px;
  }

  .scene-panel ul {
    grid-template-columns:repeat(3,1fr);
    gap:10px;
  }

  .scene-panel li {
    align-items:start;
    flex-direction:column;
  }

  .scene-panel h3 {
    font-size:30px;
  }

  .scene-panel>p:not(.scene-kicker) {
    max-width:550px;
    font-size:13px;
  }

  .scene-content .fine-print {
    max-width:600px;
  }

  .function-preview-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .energy-preview {
    grid-template-columns:1fr 1fr;
  }

  .feature-layout {
    grid-template-columns:1fr 1fr;
    gap:5%;
  }

  .feature-copy h2 {
    font-size:34px;
  }

  .feature-lead {
    font-size:12px;
  }

  .feature-points p {
    font-size:12px;
  }

  .feature-photo {
    min-height:570px;
  }

  .feature-points>article {
    gap:10px;
  }

  .feature-energy-heading {
    grid-template-columns:1fr;
    gap:25px;
  }

  .feature-energy-heading>p {
    max-width:650px;
  }
}

@media (max-width:760px) {
  .audio-preview {
    flex-wrap:wrap;
    padding:26px;
    gap:22px;
  }

  .audio-preview-symbol {
    flex-basis:58px;
    height:58px;
  }

  .audio-preview h3 {
    font-size:25px;
  }

  .audio-preview-link {
    margin-left:0;
  }

  .audio-experience {
    padding:28px 23px;
    margin-top:30px;
  }

  .audio-rooms>div {
    padding:13px 10px;
    gap:10px;
  }

  .audio-quiet {
    font-size:12px;
  }

  :root {
    --gutter:24px;
    --radius:18px;
  }

  html {
    scroll-padding-top:90px;
  }

  .hero {
    margin:10px 12px 0;
    border-radius:20px;
    min-height:760px;
  }

  .hero-backdrop img {
    object-position:62% center;
  }

  .hero-shade {
    background:linear-gradient(90deg,rgb(13 24 28 / 83%),rgb(14 23 27 / 36%)),linear-gradient(0deg,rgb(13 24 28 / 60%),transparent 60%);
  }

  .hero-copy {
    width:auto;
    margin-left:0;
    padding:52px 25px 40px;
  }

  .hero-label {
    font-size:12px;
    gap:9px;
    margin-bottom:35px;
  }

  .hero h1 {
    font-size:clamp(43px,8vw,60px);
    max-width:550px;
    line-height:1.09;
  }

  .hero h1 span {
    font-size:.95em;
  }

  .hero-lead {
    font-size:14px;
    line-height:1.9;
    margin-top:27px;
    max-width:390px;
  }

  .hero-actions {
    gap:15px 22px;
    align-items:start;
    margin-top:30px;
  }

  .hero-actions .button {
    min-height:52px;
    padding-inline:20px;
    gap:23px;
  }

  .hero-explore {
    font-size:12px;
    min-height:48px;
    gap:13px;
  }

  .hero-bottom {
    padding:0 25px 25px;
    gap:22px;
    flex-wrap:wrap;
  }

  .hero-bottom p {
    font-size:12px;
  }

  .hero-bottom p span {
    font-size:12px;
  }

  .hero-bottom a {
    font-size:12px;
    gap:12px;
  }

  .hero-bottom small {
    max-width:none;
    text-align:left;
    width:100%;
    font-size:12px;
  }

  h2 {
    font-size:36px;
  }

  .section-heading {
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:30px;
  }

  .section-heading>p,.heading-aside>p {
    font-size:13px;
    max-width:550px;
  }

  .section-tag {
    font-size:12px;
    margin-bottom:18px;
  }

  .service-grid {
    gap:12px;
  }

  .service-card {
    padding:22px 18px;
  }

  .service-top {
    margin-bottom:24px;
    gap:10px;
    align-items:start;
  }

  .icon-chip {
    width:46px;
    height:46px;
    border-radius:13px;
  }

  .icon-chip svg {
    width:25px;
    height:25px;
  }

  .card-number {
    font-size:12px;
  }

  .service-feature .card-number {
    max-width:65px;
    text-align:right;
  }

  .service-card h3 {
    font-size:18px;
    line-height:1.2;
  }

  .service-feature h3 {
    font-size:28px;
  }

  .service-card p,.service-card .service-promise {
    font-size:12px;
  }

  .service-system {
    gap:5px;
  }

  .service-system span {
    font-size:12px;
    padding:3px 7px;
  }

  .round-link {
    font-size:12px;
    gap:8px;
    align-items:center;
    margin-top:22px;
  }

  .round-link b {
    width:30px;
    height:30px;
    font-size:19px;
    flex-shrink:0;
  }

  .services-foot {
    align-items:start;
    gap:12px;
    flex-wrap:wrap;
  }

  .services-foot p {
    font-size:12px;
    flex:1;
  }

  .services-foot a {
    margin-left:36px;
    font-size:12px;
  }

  .automation {
    margin-inline:12px;
    border-radius:22px;
  }

  .automation .container {
    width:calc(100% - 40px);
  }

  .scene-intro {
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:28px;
  }

  .scene-intro h2 {
    font-size:58px;
  }

  .scene-intro-copy>p:first-child {
    font-size:19px;
    max-width:330px;
  }

  .scene-intro-copy>p+p {
    font-size:12px;
    max-width:480px;
    margin-top:11px;
  }

  .scene-demo {
    border-radius:18px;
  }

  .scene-image {
    aspect-ratio:1.2;
  }

  .scene-marker {
    font-size:12px;
    gap:7px;
    padding:6px 9px;
    max-width:180px;
  }

  .marker-light {
    left:12%;
    top:18%;
  }

  .marker-blinds {
    right:4%;
    top:47%;
  }

  .marker-climate {
    left:7%;
    top:72%;
  }

  .scene-image figcaption {
    font-size:12px;
    left:15px;
    bottom:13px;
  }

  .scene-content {
    padding:21px 18px 24px;
  }

  .scene-tabs {
    padding:4px;
    gap:3px;
    margin-bottom:25px;
  }

  .scene-tabs button {
    min-height:39px;
    padding-inline:9px;
    font-size:12px;
  }

  .scene-panel h3 {
    font-size:27px;
  }

  .scene-panel>p:not(.scene-kicker) {
    font-size:12px;
  }

  .scene-panel ul {
    grid-template-columns:1fr;
    margin-top:20px;
  }

  .scene-panel li {
    flex-direction:row;
    align-items:center;
    padding:11px;
    gap:10px;
  }

  .scene-panel li strong {
    font-size:12px;
  }

  .scene-panel li div>span {
    font-size:12px;
  }

  .scene-content .fine-print {
    font-size:12px;
  }

  .scene-more {
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    font-size:12px;
  }

  .scene-more a {
    font-size:12px;
    gap:12px;
  }

  .function-preview-grid {
    gap:12px;
  }

  .function-preview {
    padding:23px 18px;
  }

  .function-preview h3 {
    font-size:17px;
  }

  .function-preview p {
    font-size:12px;
  }

  .function-preview>b {
    right:15px;
    top:25px;
  }

  .function-preview .icon-chip {
    margin-bottom:21px;
  }

  .energy-preview {
    grid-template-columns:1fr;
    gap:0;
    border-radius:20px;
  }

  .energy-preview>div {
    padding:28px 25px 0;
  }

  .energy-preview h3 {
    font-size:32px;
  }

  .energy-preview p:not(.section-tag) {
    font-size:12px;
  }

  .energy-preview img {
    min-height:0;
    max-height:350px;
    object-fit:cover;
  }

  .energy-preview .text-link {
    font-size:12px;
  }

  .benefit-heading {
    text-align:left;
    margin-bottom:30px;
  }

  .benefit-heading h2 {
    font-size:35px;
  }

  .benefit-grid {
    gap:12px;
  }

  .benefit-card {
    padding:24px 18px;
    border-radius:18px;
  }

  .benefit-symbol {
    width:50px;
    height:50px;
    margin-bottom:22px;
  }

  .benefit-symbol svg {
    width:27px;
    height:27px;
  }

  .benefit-label {
    font-size:12px;
    letter-spacing:.05em;
  }

  .benefit-card h3 {
    font-size:20px;
    margin-top:11px;
  }

  .benefit-card p {
    font-size:12px;
    line-height:1.9;
  }

  .about-grid {
    grid-template-columns:1fr;
    gap:35px;
  }

  .about p:not(.section-tag,.lead,.region) {
    font-size:13px;
  }

  .about .lead {
    font-size:14px;
  }

  .process h3 {
    font-size:16px;
  }

  .process p {
    font-size:12px;
  }

  .process li {
    padding:19px;
    gap:15px;
  }

  .region {
    font-size:12px;
    gap:8px;
  }

  .footer-inner {
    flex-wrap:wrap;
    gap:15px 22px;
  }

  .footer-inner>p {
    width:calc(100% - 145px);
    margin-right:0;
  }

  .footer-inner>span {
    margin-left:auto;
  }

  .functions-hero {
    padding-top:22px;
    padding-bottom:28px;
  }

  .back-link {
    margin-bottom:19px;
  }

  .functions-hero-grid {
    grid-template-columns:1fr;
    gap:25px;
  }

  .functions-hero h1 {
    font-size:46px;
  }

  .functions-hero-grid>p {
    font-size:13px;
    max-width:550px;
  }

  .function-nav {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:28px;
  }

  .function-nav a {
    flex:1 1 140px;
    padding:12px;
    gap:9px;
    font-size:12px;
    min-height:48px;
  }

  .function-nav svg {
    width:22px;
    height:22px;
  }

  .feature-section {
    padding-block:55px;
  }

  .feature-layout {
    grid-template-columns:1fr;
    gap:30px;
  }

  .feature-alt .feature-copy {
    order:0;
  }

  .feature-alt .feature-visual {
    order:0;
  }

  .feature-copy h2 {
    font-size:36px;
  }

  .feature-number {
    font-size:12px;
    margin-bottom:18px;
  }

  .feature-lead {
    font-size:13px;
  }

  .feature-points {
    gap:20px;
    margin-top:25px;
  }

  .feature-points>article {
    gap:14px;
  }

  .feature-points p {
    font-size:12px;
  }

  .feature-points h3 {
    font-size:14px;
  }

  .feature-photo {
    min-height:0;
    aspect-ratio:.95;
    border-radius:22px;
  }

  .visual-caption {
    left:18px;
    right:18px;
    bottom:37px;
    padding:15px;
  }

  .visual-caption strong {
    font-size:12px;
  }

  .visual-caption div>span {
    font-size:12px;
  }

  .feature-photo figcaption {
    left:20px;
    font-size:12px;
  }

  .climate-overlay,.security-overlay {
    left:18px;
    right:18px;
    bottom:37px;
    padding:20px;
  }

  .climate-overlay>strong,.security-overlay>strong {
    font-size:18px;
  }

  .climate-overlay>span:not(.icon-chip) {
    font-size:12px;
  }

  .feature-energy-heading {
    gap:25px;
  }

  .feature-energy-heading h2 {
    font-size:36px;
  }

  .feature-energy-heading>p {
    font-size:13px;
  }

  .feature-energy .fine-print {
    font-size:12px;
  }

  .feature-scope>p {
    font-size:12px;
  }

  .legal-page {
    padding-block:45px;
  }

  .contact-teaser {
    padding-bottom:45px;
  }

  .contact-invitation {
    grid-template-columns:1fr;
    gap:30px;
    padding:30px 25px;
    border-radius:20px;
  }

  .invitation-copy h2 {
    font-size:36px;
  }

  .invitation-action {
    justify-self:start;
    width:100%;
    gap:15px;
  }

  .invitation-symbol {
    display:none;
  }

  .invitation-action .button {
    min-width:225px;
  }

  .service-card p,.service-card .service-promise,.function-preview p,.benefit-card p,.process p,.feature-points p,.scene-panel>p:not(.scene-kicker),.scene-intro-copy>p+p,.audio-preview p:not(.section-tag),.invitation-copy>p:last-child {
    font-size:14px;
  }

  .scene-tabs {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .scene-tabs button {
    padding-inline:5px;
    min-height:44px;
    line-height:1.4;
  }

  .scene-marker {
    font-size:12px;
    line-height:1.4;
  }

  .scene-image figcaption,.feature-photo figcaption {
    background:#17251fe6;
    color:#fff;
    padding:4px 7px;
    border-radius:5px;
  }

  .footer-inner>p {
    width:100%;
  }
}

@media (max-width:520px) {
  .service-grid,.benefit-grid {
    grid-template-columns:minmax(0,1fr);
  }

  .service-feature {
    grid-column:auto;
  }

  .service-card,.benefit-card {
    padding:26px;
  }

  .service-card h3 {
    font-size:23px;
  }

  .benefit-card h3 {
    font-size:25px;
  }

  .scene-marker {
    max-width:145px;
    padding:6px 8px;
  }

  .function-preview-grid {
    grid-template-columns:minmax(0,1fr);
  }

  .function-preview h3 {
    font-size:22px;
  }

  .feature-copy h2 {
    font-size:clamp(30px,8vw,36px);
  }
}

@media (max-width:359px) {
  :root {
    --gutter:18px;
  }

  .hero-copy {
    padding-inline:20px;
  }

  .hero h1 {
    font-size:39px;
  }

  .hero-bottom {
    padding-inline:20px;
  }

  .hero-bottom a {
    margin-left:0;
  }

  .hero-actions {
    flex-direction:column;
    gap:12px;
  }

  .hero {
    min-height:820px;
  }

  .service-grid,.benefit-grid {
    grid-template-columns:1fr;
  }

  .service-feature .card-number {
    max-width:none;
  }

  .service-card h3 {
    font-size:22px;
  }

  .service-card p {
    font-size:12px;
  }

  .service-feature h3 {
    font-size:34px;
  }

  .scene-intro h2 {
    font-size:51px;
  }

  .function-preview {
    padding:20px 14px;
  }

  .function-preview h3 {
    font-size:15px;
  }

  .function-preview p {
    font-size:12px;
  }

  .function-preview>b {
    font-size:18px;
    right:11px;
  }

  .scene-tabs button {
    font-size:12px;
  }

  .functions-hero h1 {
    font-size:39px;
  }
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }

  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}

@media (max-height:500px) {
  .site-header {
    position:relative;
  }
}

@media (max-width:960px) {
  .header-inner {
    min-height:76px;
    flex-wrap:wrap;
    gap:0;
  }

  .brand img {
    width:139px;
    height:49px;
  }

  .menu-toggle:not([hidden]) {
    display:inline-flex;
    min-height:44px;
  }

  .site-nav {
    width:100%;
    gap:7px 20px;
    flex-wrap:wrap;
    padding-bottom:18px;
  }

  .site-nav a {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  .site-nav.is-enhanced {
    display:none;
  }

  .site-nav.is-enhanced.is-open {
    display:flex;
    padding-top:12px;
  }

  .site-nav .nav-contact {
    margin-left:0;
  }

}
