:root{font-size:min(calc(100vw / 728),1.978022px);--navy:#06324f;--ink:#174169;--blue:#009ed7;--cyan:#04adea;--ice:#eff8fc;--muted:#5f7285;--cream:#f5f4f0}
*{box-sizing:border-box}html{background:#f6f9fc}body{margin:0;font-family:Thai,Arial,sans-serif;font-size:10rem;line-height:1.45;color:var(--ink)}h1,h2,h3,p,figure,blockquote{margin:0}img{max-width:100%;display:block}strong,b,h1,h2,h3{font-weight:700}small{font-size:inherit}.site{max-width:1440px;margin:auto;background:#fff;overflow:hidden}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20rem;height:20rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.inner{padding-inline:43rem}.kicker{display:block;color:#219bc5;letter-spacing:1.5rem;font-size:6.3rem;font-weight:700;margin-bottom:7rem}.cta{display:inline-flex;align-items:center;justify-content:center;gap:11rem;background:linear-gradient(105deg,#0897c9,#04abe5);color:white;border:1rem solid transparent;border-radius:2rem;padding:7rem 15rem;font-size:9rem;font-weight:600;line-height:1.4;white-space:nowrap}.cta .icon{width:12rem;height:12rem}.cta.outline{border-color:#d5e8ef;background:#082a3d55}.actions{display:flex;gap:9rem}.header{height:76rem;background:linear-gradient(110deg,#042d49,#064567);color:#effbff;padding:0 32rem}.header-top{height:39rem;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13rem;align-items:center}.logo{position:relative;display:block;width:87rem;height:32rem;overflow:hidden;flex-shrink:0}.logo img{position:absolute;width:110rem;height:110rem;max-width:none;left:-10.5rem;top:-49.3rem}.company{font-size:8.4rem;font-weight:700;line-height:1.5}.company small{display:block;font-size:6.3rem;font-weight:400}.top-contacts{display:flex;gap:11rem;color:#b7e3f3;font-size:7rem;align-self:flex-start;padding-top:11rem}.top-contacts span{display:flex;align-items:center;gap:4rem}.top-contacts .icon{width:10rem;height:10rem;color:#6dc6e2}.navigation{display:flex;align-items:center;justify-content:flex-end;height:37rem;gap:0;font-size:8.5rem}.navigation>span:not(.cta){padding:12rem 14rem 9rem;line-height:1.4;border-right:1rem solid #ffffff08;height:100%}.navigation .active{border-bottom:2rem solid #00c8f4}.navigation .nav-cta{margin-left:24rem;width:119rem;height:30rem;font-size:9rem;background:#02aae8}.hero{height:276rem;position:relative;background-image:linear-gradient(90deg,#02192569,transparent 70%),url('assets/hero.webp');background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}.hero-copy{position:relative;z-index:1;padding-left:32rem;padding-top:18rem}.hero h1{font-size:32rem;line-height:1.34;letter-spacing:-.6rem;color:#8cdfef;text-shadow:0 2rem 8rem #001c2d66}.hero h2{font-size:21.6rem;line-height:1.55;color:#f0faff;letter-spacing:-.2rem}.hero-copy>p{font-size:11.2rem;color:#9ce0ed;line-height:1.7}.hero .actions{margin-top:9rem}.hero .cta{font-size:11rem;padding:6rem 18rem;min-width:110rem}.hero-note{position:absolute;right:25rem;top:37rem;font-size:20rem;font-style:italic;font-weight:600;line-height:1.25;transform:rotate(-8deg);color:#0067a5;text-align:center}.hero-signature{position:absolute;right:17rem;bottom:7rem;font-size:6.5rem;letter-spacing:.75rem;line-height:1.4;color:#d9effa}.trust-strip{height:47rem;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 28rem;background:linear-gradient(90deg,#eef8fc,#fff,#ebf7fd)}.trust-strip>div{display:flex;align-items:center;gap:8rem;border-right:1rem solid #cee3ed;padding-left:12rem}.trust-strip>div:first-child{padding-left:0}.trust-strip>div:last-child{border:0}.round-icon{width:36rem;height:36rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#d7f3fc;color:#028fc7}.round-icon .icon{width:24rem;height:24rem;stroke-width:2.1}.trust-strip strong{font-size:10.3rem}
.heritage{height:177rem;position:relative;display:grid;grid-template-columns:39% 32% 29%;background:#fff;overflow:hidden}.history-photo{height:170rem;position:relative}.history-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.history-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 86%,#fff)}.history-copy{padding:16rem 0 0 13rem;z-index:2}.history-copy .kicker{margin-bottom:4rem}.history-copy h2{font-size:14.4rem;line-height:1.4;white-space:nowrap;letter-spacing:-.4rem}.history-copy p{font-size:7.6rem;line-height:1.65;margin-top:5rem}.history-team{height:177rem;position:relative}.history-team img{height:100%;width:100%;object-fit:cover;object-position:50% 37%}.history-team:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff,transparent 26%)}.history-timeline{position:absolute;left:234rem;bottom:6rem;display:flex;align-items:center;gap:11rem;background:#ffffffcf;padding:0 4rem}.history-timeline b{display:block;font-size:13rem;line-height:1.2}.history-timeline small{font-size:7.3rem}.history-timeline .icon{width:13rem;height:13rem;color:#00a3df}.timeline-dots{font-size:13rem;letter-spacing:1rem;color:#079be0}
.systems{height:107rem;background:linear-gradient(90deg,#063a57,#002b47);padding-top:9rem;padding-bottom:10rem;color:white}.systems>p{text-align:center;font-size:11rem;font-weight:600;margin-bottom:7rem}.system-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7rem}.system-grid>div{height:63rem;border-radius:2rem;background:#fff;border:1rem solid #c2dbe8;box-shadow:0 1rem 3rem #0002;color:var(--ink);text-align:center;padding:4rem 3rem}.system-grid .icon{width:25rem;height:25rem;color:#049cd6;display:block;margin:auto auto 2rem}.system-grid h3{font-size:10.8rem;line-height:1.2}.system-grid small{font-size:7.5rem;line-height:1.3;display:block}
.services{height:236rem;background:linear-gradient(110deg,#f1f0eb,#fafaf8);display:grid;grid-template-columns:165rem 1fr;gap:9rem;padding-top:9rem;padding-bottom:8rem}.section-intro{position:relative;padding-top:12rem}.section-intro h2{font-size:20rem;line-height:1.25;letter-spacing:-.35rem}.section-intro h2 span{font-size:17rem}.section-intro>p{font-size:8.2rem;line-height:1.7;margin-top:8rem;color:#526170}.section-intro>.cta{position:absolute;bottom:18rem;left:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7rem}.service-grid article{background:white;min-width:0;overflow:hidden}.service-photo{height:65rem;overflow:hidden;background-color:#dce7ec}.service-photo>img{width:100%;height:100%;object-fit:cover}.survey-photo img{object-position:center 32%}.service-caption{display:flex;gap:6rem;padding:6rem 7rem}.service-caption .icon{color:#069ed7;width:21rem;height:23rem;stroke-width:1.9;flex-shrink:0}.service-caption h3{font-size:8.7rem;line-height:1.35;letter-spacing:-.2rem}.service-caption p{font-size:7.3rem;line-height:1.4;color:#687b8a;margin-top:2rem}.source-window{background-repeat:no-repeat}.clean-photo{background-image:url('assets/service-clean.webp');background-size:250rem auto;background-position:left -130rem}.maintenance-photo{background-image:url('assets/service-maintenance.webp');background-size:155rem auto;background-position:center -113rem}
.engineering{height:195rem;background:#043858;position:relative;padding-top:14rem;overflow:hidden;color:white}.engineering:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#00334fea,#003a60d9),url('assets/plan.webp') right bottom/90% auto;opacity:.8;pointer-events:none}.engineering>*{position:relative}.engineering-top{display:grid;grid-template-columns:180rem 1fr;gap:9rem}.engineering-copy{padding-top:4rem}.engineering-copy .kicker{font-size:4.9rem;color:#8cd4ec;letter-spacing:1.5rem;margin-bottom:6rem}.engineering-copy h2{font-size:15rem;line-height:1.4;color:#eef9ff}.engineering-copy p{font-size:7rem;line-height:1.7;color:#bdd4e4;margin-top:6rem}.property-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4rem;height:95rem}.property-grid figure{position:relative;overflow:hidden}.property-grid img{height:100%;width:100%;object-fit:cover}.property-grid figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#00415edb);font-size:6.2rem;text-align:center;padding:12rem 1rem 4rem;white-space:nowrap}.process{margin-top:10rem}.process>h3{font-size:9.5rem;font-weight:400;color:#61c2e5}.process-steps{display:grid;grid-template-columns:repeat(6,1fr);width:507rem;margin-top:6rem}.process-steps>div{position:relative;padding-left:18rem;min-height:48rem}.process-steps>div:after{content:"›";position:absolute;right:4rem;top:9rem;color:#9ad0e6;font-size:17rem}.process-steps>div:last-child:after{display:none}.process-steps .icon{width:20rem;height:20rem;margin:0 0 1rem 10rem;stroke-width:1.5;color:#d3edf8}.step-number{position:absolute;left:0;top:24rem;display:flex;align-items:center;justify-content:center;background:#04a7df;color:white;width:14rem;height:14rem;border-radius:50%;font-size:9rem}.process-steps p{font-size:7.2rem;font-weight:600}.process-steps small{display:block;font-size:7rem;font-weight:400}.engineering-signature{position:absolute;right:42rem;bottom:12rem;font-size:5.2rem;color:#8dcbe3;letter-spacing:1.5rem}
.portfolio{height:238rem;background:linear-gradient(90deg,#f5f4f0,#fff);display:grid;grid-template-columns:145rem 1fr 155rem;gap:8rem;padding-top:12rem;padding-bottom:5rem}.portfolio .section-intro{padding-top:9rem}.portfolio .section-intro h2{font-size:17rem;line-height:1.4}.portfolio .section-intro h3{font-size:10.6rem;font-weight:600;line-height:1.45}.portfolio .section-intro .cta{position:static;margin-top:8rem;padding-inline:12rem}.featured-project{display:grid;grid-template-rows:150rem 1fr;gap:4rem;min-width:0}.featured-main{display:grid;grid-template-columns:49% 51%;overflow:hidden;background:#fff}.featured-main>img{width:100%;height:150rem;object-fit:cover;object-position:62% 50%}.project-copy{padding:0 6rem 3rem}.project-copy h3{font-size:10.5rem;line-height:1.4;white-space:nowrap}.project-copy p{font-size:7.1rem;line-height:1.35;margin-top:4rem}.project-copy ul{list-style:none;margin:1rem 0 0;padding:0;font-size:7.1rem;line-height:1.45}.project-copy li{position:relative;padding-left:9rem}.project-copy li:before{content:"✦";font-size:6rem;position:absolute;left:0;top:1rem}.project-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem}.project-thumbs figure{background:#fff;min-width:0}.project-thumbs img{height:55rem;width:100%;object-fit:cover}.project-thumbs figcaption{font-size:7rem;line-height:1.3;padding:2rem}.project-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);gap:5rem 4rem}.project-mosaic figure{min-width:0;background:#fff;overflow:hidden}.project-mosaic img{height:57rem;width:100%;object-fit:cover}.project-mosaic figcaption{font-size:6.7rem;line-height:1.3;padding-top:2rem;font-weight:600}.project-mosaic .wide{grid-column:1/-1}.project-mosaic .wide img{height:55rem}
.product{height:109rem;display:grid;grid-template-columns:180rem 185rem 155rem 1fr;gap:5rem;padding-top:6rem;padding-bottom:6rem;background:linear-gradient(95deg,#f0f8fd,#fff 50%,#f3faff)}.product-intro{padding-top:9rem}.product-intro h2{font-size:17rem;line-height:1.4}.product-intro h3{font-size:12rem;line-height:1.3}.product-intro .cta{margin-top:6rem;padding:5rem 16rem;font-size:8rem}.product-image{position:relative;background-image:url('assets/central-air.webp');background-size:270rem auto;background-position:center -43rem;background-repeat:no-repeat;mix-blend-mode:multiply}.series{position:absolute;top:2rem;left:27rem;font:italic 700 15rem Arial,sans-serif;background:#f7fbfe;padding:0 3rem;letter-spacing:-.5rem}.series small{font-size:8rem;letter-spacing:2rem;color:#a9b7c2}.inverter{position:absolute;right:2rem;top:4rem;color:#39a279;font-size:7rem;font-style:italic;font-weight:700;border-top:2rem solid #42a3cd;transform:rotate(-4deg)}.product-copy{padding-top:0}.product-copy h3{font-size:11.7rem;line-height:1.4}.product-price{font-size:15rem;font-weight:700;white-space:nowrap}.product-price b{font-size:20rem;line-height:1.3;color:#ee1717;letter-spacing:-.6rem}.warranty{display:flex;gap:12rem;margin-top:4rem}.warranty>div{display:flex;gap:4rem;align-items:center}.warranty .icon{width:22rem;height:22rem;background:#0a3c61;color:white;border-radius:4rem;padding:3rem}.warranty span{font-size:5.8rem;line-height:1.1}.warranty b{display:block;font-size:10rem;margin-top:2rem}.included{background:#fff;border:1rem solid #79bfdd;border-radius:3rem;padding:5rem 6rem;color:#153e64}.included h3{font-size:10rem;line-height:1.3}.included p{font-size:6.7rem;line-height:1.5;display:flex;align-items:center;gap:3rem;white-space:nowrap}.included .icon{width:10rem;height:10rem;stroke-width:2.5}.included strong{display:block;font-size:8.6rem;margin-top:8rem;white-space:nowrap}
.cleaning{height:82rem;display:grid;grid-template-columns:115rem 132rem 144rem 1fr;gap:8rem;align-items:center;background:#f7f6f3}.cleaning h2{font-size:14rem;line-height:1.3}.cleaning h3{font-size:10.2rem;line-height:1.25}.cleaning .cta{margin-top:5rem;padding:5rem 13rem;font-size:8rem}.clean-price{height:66rem;background:#fff;display:flex;gap:6rem;padding:7rem 5rem 3rem}.clean-price p{font-size:8.5rem;font-weight:600;white-space:nowrap}.clean-price strong{font-size:22rem;line-height:1.4;color:#f21c1c;white-space:nowrap}.clean-icon{position:relative;width:32rem;height:32rem;border-radius:50%;overflow:hidden;background:#dff2f5;flex-shrink:0}.clean-icon img{width:100%;height:100%;object-fit:cover}.clean-price:nth-child(2) .clean-icon img{max-width:none;width:56rem;height:75rem;position:absolute;left:-12rem;top:-8rem;mix-blend-mode:multiply}.clean-process{padding-left:6rem}.clean-process h3{margin-bottom:6rem}.clean-process>div{display:grid;grid-template-columns:1fr 1fr;gap:8rem 7rem;font-size:6.7rem;color:#5c6b73}.clean-process p{display:flex;align-items:center;gap:4rem;white-space:nowrap}.clean-process b{display:inline-flex;align-items:center;justify-content:center;background:#c5ebf7;color:#169dcc;width:12rem;height:12rem;border-radius:50%;font-size:8rem}
.brands{height:62rem;display:flex;align-items:center;gap:17rem;background:#fff}.brands>div:first-child{flex-shrink:0;width:180rem}.brands .kicker{font-size:5.8rem;margin-bottom:3rem}.brands h2{font-size:12rem;line-height:1.4;white-space:nowrap}.brands p{font-size:7.8rem;color:#6a7781;line-height:1.4;white-space:nowrap}.brand-logos{display:flex;align-items:center;justify-content:space-between;gap:8rem;flex:1;min-width:0}.brand-tile{display:block;flex-shrink:0;height:30rem;background-image:url('assets/brand-source.webp');background-repeat:no-repeat;background-color:#fff}.mitsubishi{width:56rem;background-size:515rem auto;background-position:-12rem -330rem}.central{width:49rem;background-size:485rem auto;background-position:-426rem -313rem;height:43rem}.daikin{width:71rem;background-size:630rem auto;background-position:-97rem -402rem;height:24rem}.hisense{font:italic 700 15rem Arial,sans-serif;color:#00a4ad}.carrier{width:44rem;background-size:380rem auto;background-position:-227rem -263rem;height:23rem}.lg{width:33rem;background-size:350rem auto;background-position:-15rem -274rem;height:22rem}.samsung{width:52rem;background-size:445rem auto;background-position:-75rem -348rem;height:25rem}
.reviews{height:62rem;background:#f5f4f0;display:grid;grid-template-columns:177rem repeat(3,1fr);gap:8rem;align-items:center}.reviews .kicker{font-size:5.8rem;margin-bottom:3rem}.reviews h2{font-size:14rem;letter-spacing:-.45rem;white-space:nowrap}.review-card{height:44rem;padding:7rem 6rem;display:flex;align-items:flex-start;gap:7rem;border-radius:3rem;background:#fff}.review-card .icon{width:14rem;height:14rem;background:#f0f1ed;border-radius:50%;padding:2rem;color:#747a7b;fill:#747a7b;stroke-width:1}.review-card p{font-size:6.7rem;color:#596b7c;line-height:1.45}
.team-cta{height:110rem;background:linear-gradient(90deg,#00395a,#003b62 78%,#005680);color:#e7f9ff;display:grid;grid-template-columns:40% 36% 24%;overflow:hidden}.team-cta>img{width:100%;height:110rem;object-fit:cover;object-position:50% 35%}.team-cta>div{padding:7rem 15rem}.team-cta h2{font-size:11.7rem;line-height:1.4}.team-cta p{font-size:8.2rem;color:#c3dce9;line-height:1.7;margin-top:5rem}.team-contacts{display:flex;gap:21rem;margin-top:6rem}.team-contacts>span{display:flex;align-items:center;gap:6rem;font-weight:700;font-size:10rem;white-space:nowrap}.team-contacts .icon{width:18rem;height:18rem;background:#fff;border-radius:50%;color:#064e73;padding:3rem;fill:currentColor}.line-mark{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#26c944;border:2rem solid #fff;width:18rem;height:18rem;color:#fff;font:bold 5rem Arial}.team-cta blockquote{align-self:center;justify-self:center;text-align:center;font-size:18rem;font-style:italic;font-weight:400;color:#b4e1f1;line-height:1.5;transform:rotate(-6deg);letter-spacing:1rem}.team-cta blockquote small{display:block;font:5.8rem Arial,sans-serif;letter-spacing:1.3rem;transform:rotate(6deg);margin-top:7rem}
.faq{height:81rem;display:grid;grid-template-columns:132rem 1fr;gap:10rem;background:#fff;padding-top:9rem;padding-bottom:9rem}.faq .kicker{font-size:6rem;margin-bottom:2rem}.faq h2{font-size:15rem;line-height:1.3}.faq .cta{font-size:8rem;padding:5rem 13rem;margin-top:4rem}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 10rem;grid-auto-rows:18rem}.faq-grid>div{display:flex;align-items:center;justify-content:space-between;background:#eff6f9;padding:4rem 9rem;font-size:7.4rem;color:#213b4f}.faq-grid .icon{width:10rem;height:10rem;color:#194366;stroke-width:2}
.contact{height:163rem;background:linear-gradient(90deg,#eef9fe,#eaf6fa);display:grid;grid-template-columns:132rem 1fr 122rem;gap:10rem;padding-top:9rem;padding-bottom:8rem}.contact h2{font-size:16rem;line-height:1.3}.contact-details>h3{font-size:10.5rem;line-height:1.4;white-space:nowrap}.address{display:flex;gap:5rem;margin-top:7rem;font-size:6.2rem;line-height:1.4}.address .icon{width:12rem;height:14rem;color:#176b99;fill:#176b99;stroke:white;stroke-width:1}.contact-line{display:flex;align-items:center;gap:8rem;margin-top:8rem;font-size:12rem;line-height:1}.contact-line>.icon{width:17rem;height:17rem;background:#05a0d6;color:white;border-radius:50%;padding:3rem}.contact-line.email{font-size:7.4rem;gap:5rem;white-space:nowrap}.contact-form{background:#fff;border-radius:2rem;padding:7rem 9rem;color:#7a8a93;font-size:6.7rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:9rem;margin-bottom:5rem}.form-row.three{grid-template-columns:1fr 1fr 1.08fr}.form-row span{display:block;margin-bottom:2rem}.form-row em{color:#c36b69;font-style:normal}.field{border:1rem solid #dde5e8;border-radius:2rem;height:16rem;padding:3rem 5rem;font-size:6rem;line-height:1.4;color:#9aa5aa;overflow:hidden}.select-field{display:flex;justify-content:space-between}.message-field{height:42rem;line-height:1.7;padding-top:4rem}.form-row.bottom{grid-template-columns:1.3fr 1fr;margin-bottom:0}.upload-field{height:45rem;text-align:center;border:1rem dashed #c5dfeb;background:#f3faff;padding:5rem 1rem}.upload-field .icon{height:17rem;width:17rem;display:block;margin:auto;color:#099cce}.upload-field b{display:block;font-size:6rem;color:#419dc3}.upload-field small{font-size:5.2rem;display:block}.form-row.bottom .cta{font-size:7rem;padding:5rem 3rem;margin-top:3rem;margin-bottom:0;white-space:nowrap}.location{background:#fff;padding:3rem;overflow:hidden}.map{height:78rem;background:#eef0e8;overflow:hidden}.map>svg{width:100%;height:100%;display:block}.location h3{font-size:6.7rem;line-height:1.4;margin-top:4rem;white-space:nowrap}.location p{font-size:6.2rem;line-height:1.25;color:#738598}.location .cta{font-size:7rem;display:flex;padding:3rem;gap:8rem;margin-top:3rem}
.footer{height:139rem;background:linear-gradient(110deg,#053753,#002e4c);color:#c6e2ef;position:relative;overflow:hidden}.footer-main{height:103rem;display:grid;grid-template-columns:115rem 75rem 75rem 69rem 155rem 1fr;padding-top:13rem;gap:12rem}.footer-logo{width:97rem;height:36rem;align-self:start;margin-top:0}.footer-logo img{width:122rem;height:122rem;left:-12rem;top:-54.5rem}.footer-main>div{border-left:1rem solid #6086a338;padding-left:13rem}.footer-links h3{font-size:7.5rem;color:#e6f8ff;margin-bottom:4rem;line-height:1.4}.footer-links p{font-size:7rem;line-height:1.55}.footer-contact{font-size:7rem}.footer-contact>span{display:flex;align-items:center;gap:8rem;margin-bottom:6rem;white-space:nowrap}.footer-contact .icon{width:11rem;height:11rem}.footer-social>div{display:flex;gap:10rem;align-items:center;margin:1rem 0 9rem}.facebook,.instagram{display:inline-flex;width:19rem;height:19rem;align-items:center;justify-content:center;border-radius:50%;font:700 18rem Arial;color:#d7eeff;background:#306dc0}.instagram{font-size:23rem;background:linear-gradient(150deg,#843fbc,#dc376f,#ee9453);border-radius:5rem;color:#fff}.footer-social p{font-size:8rem;white-space:nowrap}.footer-bottom{position:relative;border-top:1rem solid #88b6d226;padding-top:10rem;display:flex;justify-content:space-between;gap:15rem;font-size:5.9rem}.footer-bottom>span{letter-spacing:2rem;font-size:5.2rem;color:#9ab9ca}.hero-copy{padding-top:4rem}
.map svg>path:not(:last-of-type){fill:none}.hero h2{font-size:22.6rem}.product{grid-template-columns:180rem 165rem 151rem minmax(0,1fr)}.hero-note{color:#0066a1;text-shadow:0 1rem 2rem #c6eeffb3}.hero-copy>p{font-size:11.5rem}.footer-main{grid-template-columns:103rem 75rem 75rem 69rem 155rem 1fr}.central{width:57rem;height:26rem;background-size:580rem auto;background-position:-177rem -455rem}
.gallery-image{display:block;width:100%;overflow:hidden;height:100%}.featured-main>.gallery-image{height:150rem}.project-thumbs .gallery-image{height:55rem}.project-mosaic .gallery-image{height:57rem}.project-mosaic .wide .gallery-image{height:55rem}.cleaning-crop img{object-position:50% 26%}.maintenance-photo{background-position:center -157rem}
@media(min-width:1441px){body{background:#d9e8ef}.site{box-shadow:0 0 40px #082e471a}}
@media(max-width:599px){
 :root{font-size:1px}body{font-size:13rem;line-height:1.55}.site{width:100%;overflow:hidden}.inner{padding-left:20rem;padding-right:20rem}.kicker{font-size:9rem;letter-spacing:1.5rem;margin-bottom:6rem}.icon{width:22rem;height:22rem}.cta{font-size:12rem;padding:9rem 13rem;gap:9rem}.cta .icon{width:15rem;height:15rem}.header{height:auto;min-height:109rem;padding:9rem 16rem 0}.header-top{height:auto;display:block}.brand{justify-content:space-between;gap:10rem}.logo{width:94rem;height:35rem}.logo img{width:118rem;height:118rem;left:-11rem;top:-53rem}.company{font-size:9rem}.company small{font-size:6.2rem}.top-contacts{padding:5rem 0 3rem;justify-content:space-between;gap:5rem;font-size:7rem}.top-contacts .icon{width:10rem;height:10rem}.navigation{height:auto;flex-wrap:wrap;justify-content:space-between;padding-top:3rem;font-size:9rem;gap:0}.navigation>span:not(.cta){padding:7rem 5rem}.navigation .nav-cta{margin:5rem 0;width:auto;height:auto;padding:5rem 9rem;font-size:9rem}.hero{height:340rem;background-position:57% center;align-items:center}.hero-copy{padding:0 20rem;width:100%;text-shadow:0 1rem 5rem #001a2b}.hero h1{font-size:30rem;letter-spacing:-.6rem;line-height:1.35;max-width:300rem}.hero h2{font-size:19rem;line-height:1.4;max-width:290rem;margin-top:5rem}.hero-copy>p{font-size:10.5rem;max-width:290rem;margin-top:7rem}.hero .actions{margin-top:16rem;gap:8rem}.hero .cta{font-size:11rem;padding:8rem 13rem}.hero-note{font-size:13rem;right:16rem;top:16rem;text-align:right;background:#eafaffb3;padding:5rem 7rem;transform:rotate(-6deg)}.hero-signature{font-size:6rem;bottom:8rem}.trust-strip{height:auto;min-height:112rem;grid-template-columns:repeat(2,1fr);padding:8rem 16rem;gap:9rem 7rem}.trust-strip>div,.trust-strip>div:first-child{padding:0;border:0;gap:6rem}.trust-strip strong{font-size:10.5rem}.round-icon{width:31rem;height:31rem}.round-icon .icon{width:22rem;height:22rem}
 .heritage{height:auto;min-height:340rem;display:grid;grid-template-columns:1fr 1fr;padding-bottom:38rem}.history-photo{height:145rem}.history-team{height:145rem;grid-column:2;grid-row:1}.history-copy{grid-row:2;grid-column:1/-1;padding:17rem 20rem 14rem}.history-copy h2{font-size:16rem;white-space:normal;letter-spacing:0}.history-copy p{font-size:10rem;line-height:1.6}.history-copy p br:nth-child(4){display:none}.history-timeline{left:20rem;right:20rem;bottom:10rem;gap:10rem;justify-content:space-between}.history-timeline b{font-size:13rem}.history-timeline small{font-size:8rem}.timeline-dots{font-size:10rem;letter-spacing:0}.history-timeline .icon{width:13rem;height:13rem}.systems{height:auto;padding-top:16rem;padding-bottom:17rem}.systems>p{font-size:12rem;margin-bottom:12rem}.system-grid{grid-template-columns:repeat(3,1fr);gap:8rem}.system-grid>div{height:85rem;padding:9rem 2rem}.system-grid .icon{width:29rem;height:29rem;margin-bottom:5rem}.system-grid h3{font-size:12rem}.system-grid small{font-size:8rem}
 .services{height:auto;display:block;padding-top:22rem;padding-bottom:22rem}.section-intro{padding:0}.section-intro h2{font-size:24rem;line-height:1.3}.section-intro h2 span{font-size:21rem}.section-intro>p{font-size:11rem;line-height:1.7}.section-intro>.cta{position:static;margin:12rem 0 17rem}.service-grid{grid-template-columns:1fr 1fr;gap:10rem}.service-photo{height:85rem}.service-caption{padding:8rem 7rem;gap:5rem;min-height:82rem}.service-caption .icon{width:20rem;height:22rem}.service-caption h3{font-size:10.5rem;line-height:1.4}.service-caption p{font-size:9rem;line-height:1.5;margin-top:3rem}.clean-photo{background-size:285rem auto;background-position:0 -148rem}.maintenance-photo{background-size:180rem auto;background-position:center -132rem}
 .engineering{height:auto;padding-top:22rem;padding-bottom:24rem}.engineering-top{display:block}.engineering-copy .kicker{font-size:7rem}.engineering-copy h2{font-size:20rem;line-height:1.4}.engineering-copy p{font-size:10rem;line-height:1.7}.property-grid{margin-top:16rem;grid-template-columns:repeat(3,1fr);height:auto;gap:7rem}.property-grid figure{height:114rem}.property-grid figcaption{font-size:8.5rem;padding-bottom:6rem}.process{margin-top:18rem}.process>h3{font-size:13rem}.process-steps{width:100%;grid-template-columns:repeat(3,1fr);gap:14rem 6rem;margin-top:12rem}.process-steps>div{min-height:65rem;padding-left:20rem}.process-steps .icon{width:24rem;height:24rem;margin-left:10rem}.step-number{top:31rem;width:16rem;height:16rem;font-size:10rem}.process-steps p{font-size:9rem}.process-steps small{font-size:8rem}.process-steps>div:after{display:none}.engineering-signature{display:none}
 .portfolio{height:auto;display:block;padding-top:22rem;padding-bottom:22rem}.portfolio .section-intro h2{font-size:23rem}.portfolio .section-intro h3{font-size:12rem}.portfolio .section-intro .cta{margin-top:9rem}.featured-project{margin-top:5rem;grid-template-rows:auto auto;gap:7rem}.featured-main{grid-template-columns:44% 56%;min-height:200rem}.featured-main>img{height:100%;min-height:200rem}.project-copy{padding:5rem 7rem}.project-copy h3{font-size:12rem;white-space:normal}.project-copy p{font-size:9rem}.project-copy ul{font-size:9rem;line-height:1.5;margin-top:5rem}.project-copy li{padding-left:8rem;margin-bottom:1rem}.project-thumbs{gap:6rem}.project-thumbs img{height:82rem}.project-thumbs figcaption{font-size:9rem;padding:4rem}.project-mosaic{margin-top:12rem;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;gap:8rem}.project-mosaic img{height:100rem}.project-mosaic figcaption{font-size:9rem;padding:4rem}.project-mosaic .wide img{height:125rem;object-position:center 38%}
 .product{height:auto;grid-template-columns:1fr 1fr;gap:15rem 10rem;padding-top:18rem;padding-bottom:18rem}.product-intro{padding-top:0}.product-intro h2{font-size:18rem}.product-intro h3{font-size:11rem}.product-intro .cta{font-size:10rem;margin-top:9rem;padding:8rem 13rem}.product-image{min-height:109rem;background-size:275rem auto;background-position:center -35rem}.series{top:9rem;left:17rem;font-size:13rem}.series small{font-size:7rem}.inverter{font-size:6rem;top:6rem;right:0}.product-copy h3{font-size:12rem}.product-price{font-size:14rem}.product-price b{font-size:20rem}.warranty{gap:8rem;margin-top:9rem}.warranty span{font-size:7rem;line-height:1.2}.warranty b{font-size:12rem}.warranty .icon{width:25rem;height:25rem}.included{padding:8rem}.included h3{font-size:12rem}.included p{font-size:8rem;line-height:1.7;white-space:normal}.included strong{font-size:9rem;margin-top:5rem;white-space:normal}.cleaning{height:auto;grid-template-columns:1fr 1fr;gap:12rem 8rem;padding-top:19rem;padding-bottom:19rem}.cleaning>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:7rem;flex-wrap:wrap}.cleaning h2{font-size:19rem}.cleaning h3{font-size:11rem}.cleaning .cta{margin:0 0 0 auto;font-size:10rem}.clean-price{height:82rem;padding:10rem 6rem;gap:6rem}.clean-price p{font-size:8rem}.clean-price strong{font-size:23rem}.clean-icon{width:30rem;height:30rem}.clean-process{grid-column:1/-1;padding:0}.clean-process h3{font-size:12rem}.clean-process>div{font-size:9rem;gap:8rem}.clean-process b{width:15rem;height:15rem;font-size:10rem}
 .brands{height:auto;display:block;padding-top:20rem;padding-bottom:20rem}.brands>div:first-child{width:auto}.brands .kicker,.reviews .kicker{font-size:8rem}.brands h2{font-size:17rem;white-space:normal}.brands p{font-size:10rem;white-space:normal}.brand-logos{justify-content:center;flex-wrap:wrap;margin-top:15rem;gap:10rem 15rem}.reviews{height:auto;grid-template-columns:1fr;padding-top:18rem;padding-bottom:18rem;gap:9rem}.reviews h2{font-size:19rem;white-space:normal}.review-card{height:auto;min-height:58rem;padding:11rem 13rem;gap:10rem}.review-card .icon{width:21rem;height:21rem}.review-card p{font-size:11rem;line-height:1.6}.team-cta{height:auto;grid-template-columns:1fr 1fr}.team-cta>img{height:192rem;object-position:46% 40%}.team-cta>div{padding:13rem 11rem}.team-cta h2{font-size:12rem;line-height:1.5}.team-cta p{font-size:10rem;line-height:1.5;margin-top:8rem}.team-contacts{display:block;margin-top:10rem}.team-contacts>span{font-size:11rem;margin-bottom:7rem}.team-cta blockquote{grid-column:1/-1;font-size:20rem;line-height:1.4;padding:10rem 0 18rem}.team-cta blockquote small{font-size:7rem}
 .faq{height:auto;display:block;padding-top:22rem;padding-bottom:20rem}.faq .kicker{font-size:8rem}.faq h2{font-size:22rem}.faq .cta{font-size:10rem;padding:7rem 11rem;margin-top:8rem}.faq-grid{margin-top:14rem;grid-template-columns:1fr;grid-auto-rows:auto;gap:6rem}.faq-grid>div{min-height:37rem;font-size:11rem;padding:8rem 11rem}.faq-grid .icon{width:12rem;height:12rem}.contact{height:auto;grid-template-columns:1fr;padding-top:22rem;padding-bottom:22rem;gap:20rem}.contact h2{font-size:24rem}.contact-details>h3{font-size:14rem;white-space:normal}.address{font-size:10.5rem;gap:8rem;margin-top:10rem}.address .icon{width:16rem;height:18rem}.contact-line{font-size:16rem;gap:11rem;margin-top:11rem}.contact-line .icon{width:23rem;height:23rem;padding:4rem}.contact-line.email{font-size:12rem;gap:11rem}.contact-form{padding:14rem;font-size:10rem}.form-row{gap:10rem;margin-bottom:10rem}.form-row.three{grid-template-columns:1fr 1fr}.form-row.three>div:last-child{grid-column:1/-1}.field{height:30rem;padding:6rem;font-size:9rem}.form-row span{margin-bottom:5rem}.form-row.bottom{grid-template-columns:1fr}.message-field{height:70rem;padding-top:7rem}.upload-field{height:70rem;padding:8rem}.upload-field .icon{width:24rem;height:24rem}.upload-field b{font-size:10rem}.upload-field small{font-size:8rem}.form-row.bottom .cta{font-size:12rem;padding:10rem;margin-top:8rem}.location{display:grid;grid-template-columns:1fr 1fr;column-gap:13rem;padding:8rem}.map{grid-column:1;grid-row:1/5;height:135rem}.location h3{font-size:9rem;white-space:normal}.location p{font-size:9rem;line-height:1.5}.location .cta{font-size:8.5rem;white-space:normal;padding:7rem;gap:5rem}
 .footer{height:auto;padding-top:6rem;padding-bottom:12rem}.footer-main{height:auto;grid-template-columns:repeat(3,1fr);gap:20rem 10rem;padding-top:15rem;padding-bottom:18rem}.footer-logo{grid-column:1/-1;width:109rem;height:39rem}.footer-logo img{width:136rem;height:136rem;left:-13rem;top:-61rem}.footer-main>div{padding-left:10rem}.footer-links h3{font-size:11rem;margin-bottom:6rem}.footer-links p{font-size:10rem;line-height:1.8}.footer-contact{grid-column:1/3;font-size:9rem}.footer-contact>span{gap:7rem;margin-bottom:8rem}.footer-contact .icon{width:13rem;height:13rem}.footer-social>div{margin-top:2rem}.facebook,.instagram{width:23rem;height:23rem;font-size:20rem}.instagram{font-size:25rem}.footer-social p{font-size:9rem}.footer-bottom{font-size:7rem;flex-direction:column;gap:6rem;padding-top:11rem}.footer-bottom>span{font-size:6.5rem;letter-spacing:1.2rem}
}
@media(max-width:599px){.featured-main>.gallery-image{height:100%;min-height:200rem}.project-thumbs .gallery-image{height:82rem}.project-mosaic .gallery-image{height:100rem}.project-mosaic .wide .gallery-image{height:125rem}.maintenance-photo{background-position:center -178rem}}
/* === 1D1D: เพิ่มเติม (ไม่แตะดีไซน์ที่อนุมัติ) === */
/* ลิงก์ที่สวมทับข้อความเดิม — คัดสไตล์จากกฎที่อนุมัติซึ่งผูกกับแท็ก span มาให้แท็ก a เป๊ะทุกค่า
   (ที่อนุมัติ: .navigation>span:not(.cta) · .top-contacts span · .team-contacts>span) */
.navigation a,.top-contacts a,.contact-line,.team-contacts a,.footer-social a,.js-lang a{color:inherit;text-decoration:none}
.navigation>a:not(.cta){padding:12rem 14rem 9rem;line-height:1.4;border-right:1rem solid #ffffff08;height:100%}
.top-contacts a{display:flex;align-items:center;gap:4rem}
.team-contacts>a{display:flex;align-items:center;gap:6rem;font-weight:700;font-size:10rem;white-space:nowrap}
a.cta,button.cta{font-family:inherit;cursor:pointer;text-decoration:none;-webkit-appearance:none;appearance:none}
a.map{display:block;cursor:pointer}
.js-lang a:hover,.footer-social a:hover{text-decoration:underline}
.js-lang-on{font-weight:700}
/* บนมือถือ ดีไซน์ที่อนุมัติดันปุ่ม "ขอสำรวจหน้างาน" ลงบรรทัดของตัวเอง — คำว่า สินค้า สั้นกว่า บทความ จึงต้องบังคับให้ขึ้นบรรทัดเหมือนเดิม */
.js-navbreak{display:none}
/* ช่องกรอกจริง — กรอบ/สี/ระยะ ใช้ของ .field ที่อนุมัติ เพิ่มเฉพาะที่ดีไซน์ไม่ได้วาด */
input.field,select.field,textarea.field{width:100%;display:block;margin:0;font-family:inherit;background:transparent;color:var(--ink);-webkit-appearance:none;appearance:none}
/* ปุ่มส่งฟอร์ม: ของอนุมัติคำนวณออกมาเป็น block เต็มความกว้างคอลัมน์ ปุ่มจริงต้องเท่ากัน */
.form-row.bottom button.cta{display:block;width:100%;text-align:center}
textarea.field{resize:vertical}
input.field::placeholder,textarea.field::placeholder{color:#9aa5aa;opacity:1}
select.field:invalid,select.field option[value=""]{color:#9aa5aa}
select.field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237a8a93' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5rem center;background-size:7rem auto;padding-right:16rem}
label.upload-field{display:block;cursor:pointer}
.js-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.js-file-name{display:block;color:#419dc3;word-break:break-all}
/* สถานะที่ดีไซน์ไม่ได้วาด: โฟกัส ผิดพลาด สำเร็จ กำลังส่ง */
input.field:focus-visible,select.field:focus-visible,textarea.field:focus-visible,a.cta:focus-visible,button.cta:focus-visible,.navigation a:focus-visible,.top-contacts a:focus-visible{outline:2rem solid #04adea;outline-offset:2rem}
.js-invalid{border-color:#c36b69!important}
.js-field-error{display:block;color:#c36b69;margin-top:1rem}
.js-form-status{margin-top:4rem;font-weight:600}
.js-form-status[data-state="ok"]{color:#2f8f5b}
.js-form-status[data-state="error"]{color:#c36b69}
button.cta[disabled]{opacity:.6;cursor:progress}
/* ตะกร้าบนแถบบน */
.top-contacts .js-cart-link{display:inline-flex;align-items:center;gap:4rem;white-space:nowrap}
.js-cart-count{background:#04adea;color:#fff;border-radius:999px;padding:0 4rem;min-width:11rem;text-align:center}
/* รูปผลงานจริงในช่องรูปใหญ่ — จุดโฟกัสอยู่แถวช่องลมบนเพดาน */
.featured-main>img.js-featured{object-position:50% 42%}
@media(max-width:599px){
 .js-navbreak{display:block;flex-basis:100%;height:0;margin:0;padding:0;border:0}
 .navigation>a:not(.cta){padding:7rem 5rem}
 .team-contacts>a{font-size:11rem;margin-bottom:7rem}
 .featured-main>img.js-featured{height:100%;min-height:200rem}
 /* iOS จะซูมหน้าจอเองถ้าตัวอักษรในช่องกรอกเล็กกว่า 16px */
 input.field,select.field,textarea.field{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ── เต็มจอ ไม่เว้นขอบขาวซ้ายขวา (เจ้าของสั่งแก้ 18/9/2569) ──
   ดีไซน์นี้ย่อ-ขยายตามความกว้างจออยู่แล้ว (100vw / 728) เดิมตั้งเพดานไว้ให้หยุดขยายที่ 1440px
   จึงเหลือขอบว่างซ้ายขวาบนจอที่กว้างกว่านั้น เอาเพดานออกแล้วทุกสัดส่วนยังเท่าเดิมเป๊ะ แค่ขยายเต็มจอ
   ที่ความกว้าง 1440px ลงมา ผลลัพธ์เหมือนเดิมทุกพิกเซล (1440/728 = 1.978 เท่ากับค่าเพดานเดิมพอดี)
   ครอบเฉพาะ 600px ขึ้นไป เพื่อไม่ให้ทับกฎมือถือที่อนุมัติไว้ (:root{font-size:1px}) */
@media(min-width:600px){
 :root{font-size:calc(100vw / 728)}
 .site{max-width:none}
}

/* ── แบนเนอร์สไลด์ (เจ้าของสั่งเพิ่ม 18/9/2569) ──
   ภาพแรกคือภาพเดิมที่อนุมัติ ตอนเปิดหน้าครั้งแรกจึงเหมือนดีไซน์เดิมทุกพิกเซล
   ไล่สีทับด้านซ้ายยกมาจากกฎ .hero ที่อนุมัติ เพื่อให้ตัวหนังสืออ่านออกเท่าเดิมทุกภาพ */
.hero{overflow:hidden}
.js-hero-slides{position:absolute;inset:0;z-index:0}
.js-hero-slide{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease}
.js-hero-slide.is-on{opacity:1}
.js-hero-slides:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#02192569,transparent 70%)}
/* ภาพที่ 2 เป็นต้นไปสว่างกว่าภาพที่อนุมัติ ต้องเพิ่มม่านมืดให้ตัวหนังสืออ่านออกเท่าเดิม
   ภาพแรก = ภาพที่ลูกค้าอนุมัติ จึงไม่ใส่ม่าน หน้าตาตอนเปิดครั้งแรกเหมือนเดิมทุกพิกเซล */
.js-hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#00121ec9,#00121ea6 32%,#00121e59 58%,#00121e26 78%,#00121e26)}
.js-hero-slide:first-child:after{content:none}
/* ภาพที่มีตัวหนังสือในตัว ทำม่านมืดมาในภาพเรียบร้อยแล้ว ไม่ต้องซ้อนอีก ไม่งั้นภาพจะซีด */
.js-hero-slide[data-has-text]:after{content:none}
.hero.is-slide-text .js-hero-slides:after{background:none}
.js-hero-dots{position:absolute;left:0;right:0;bottom:7rem;z-index:2;display:flex;justify-content:center;gap:6rem}
.js-hero-dots button{width:9rem;height:9rem;padding:0;border-radius:50%;border:1.6rem solid #ffffffd9;background:transparent;cursor:pointer;font:inherit;box-shadow:0 1rem 4rem #00202f73}
.js-hero-dots button[aria-selected="true"]{background:#04c8f4;border-color:#04c8f4}
.js-hero-dots button:focus-visible{outline:2rem solid #fff;outline-offset:2rem}
@media(max-width:599px){
 .js-hero-dots{bottom:4px;gap:0}
 .js-hero-dots button{width:30px;height:30px;border:0;background:none;position:relative}
 .js-hero-dots button:before{content:"";position:absolute;inset:10px;border-radius:50%;border:2px solid #ffffffd9}
 .js-hero-dots button[aria-selected="true"]{background:none}
 .js-hero-dots button[aria-selected="true"]:before{background:#04c8f4;border-color:#04c8f4}
}
@media(prefers-reduced-motion:reduce){.js-hero-slide{transition:none}}

/* ภาพแบนเนอร์ที่มีตัวหนังสืออยู่ในภาพเอง: ซ่อนข้อความสดของเว็บตอนสไลด์นั้น ไม่ให้ซ้อนกัน
   และมีรูปเวอร์ชันมือถือแยก เพราะภาพแนวนอน 3:1 ถ้าเอามาย่อลงจอมือถือ ตัวหนังสือฝั่งซ้ายจะโดนครอปหาย */
@media(max-width:599px){.js-hero-slide{background-image:var(--img-m,var(--img))}}
.hero .hero-copy,.hero .hero-note,.hero .hero-signature{transition:opacity .45s ease}
.hero.is-slide-text .hero-copy,.hero.is-slide-text .hero-note,.hero.is-slide-text .hero-signature{opacity:0;pointer-events:none}
.js-hero-link{position:absolute;inset:0;z-index:1;display:block}

/* ── รอบแก้ไขของเจ้าของ 18/9/2569 ──────────────────────────────── */

/* 1. กล่องราคาล้างแอร์ไม่อยู่ระนาบเดียวกัน
   ที่อนุมัติมา คอลัมน์กล่องแรกกว้าง 132rem = พื้นที่ตัวหนังสือ 166.2px แต่หัวข้อ
   "ล้างแอร์แบบติดผนัง" ต้องการ 170.3px จึงตกบรรทัดที่สอง ดัน "600 บาท" ต่ำกว่า
   "800 บาท" 25px และล้นพ้นกรอบขาวลงมา 21px
   แก้โดยให้สองกล่องกว้างเท่ากัน 140rem ดึงที่ว่างมาจากคอลัมน์ "ขั้นตอนการล้างแอร์"
   ซึ่งเหลือที่ว่างอยู่ 43px ต่อคอลัมน์ ของอย่างอื่นจึงไม่ขยับ */
@media(min-width:600px){.cleaning{grid-template-columns:115rem 140rem 140rem 1fr}}

/* 2. โลโก้แบรนด์ในแถบ TRUSTED BRANDS เรียงให้เสมอกันทั้งแถว (เจ้าของสั่งแก้ 21/9/2569)
   ที่อนุมัติมา ทุกอันอยู่บนเส้นกึ่งกลางเดียวกันอยู่แล้ว แต่กรอบที่ครอปจาก assets/brand-source.webp
   เหลือขอบขาวรอบโลโก้ไม่เท่ากัน ตัวโลโก้จริงจึงสูงไม่เท่ากันเลย (24.2 - 39.6px ที่จอ 1440)
   และปลาย DAIKIN กับ SAMSUNG ยังโดนกรอบตัดด้วย
   แก้โดยวัดกรอบ "ตัวโลโก้จริง" ในไฟล์ต้นฉบับทุกอัน แล้วครอปใหม่ให้พอดีตัวและสูงเท่ากันหมด
   (ย่อ-ขยายครบทั้ง width / background-size / background-position พร้อมกัน สัดส่วนจึงไม่เพี้ยน)
   min-height คงความสูงแถวเท่าของเดิม ส่วนอื่นของหน้าจึงไม่ขยับแม้แต่พิกเซลเดียว */
@media(min-width:600px){
 .brand-logos{min-height:30rem}
 .mitsubishi{width:52.65rem;height:16.2rem;background-size:510.3rem auto;background-position:-16.6rem -331.29rem}
 .central{width:73.2rem;height:16.2rem;background-size:756rem auto;background-position:-232.2rem -601.2rem}
 .daikin{width:58.32rem;height:16.2rem;background-size:510.3rem auto;background-position:-80.19rem -331.29rem}
 .carrier{width:38.19rem;height:16.2rem;background-size:364.5rem auto;background-position:-217.83rem -256.89rem}
 .lg{width:35.35rem;height:16.2rem;background-size:463.91rem auto;background-position:-22.09rem -362.29rem}
 .samsung{width:50.11rem;height:16.2rem;background-size:474.7rem auto;background-position:-81.38rem -371.09rem}
}
/* จอเล็กใช้ขนาดใหญ่กว่าตามสัดส่วน ไม่งั้นโลโก้เล็กจนอ่านไม่ออก */
@media(max-width:599px){
 .brand-logos{min-height:65rem;align-content:center}
 .mitsubishi{width:84.5rem;height:26rem;background-size:819rem auto;background-position:-26.65rem -531.7rem}
 .central{width:117.48rem;height:26rem;background-size:1213.33rem auto;background-position:-372.67rem -964.89rem}
 .daikin{width:93.6rem;height:26rem;background-size:819rem auto;background-position:-128.7rem -531.7rem}
 .carrier{width:61.29rem;height:26rem;background-size:585rem auto;background-position:-349.61rem -412.29rem}
 .lg{width:56.73rem;height:26rem;background-size:744.55rem auto;background-position:-35.45rem -581.45rem}
 .samsung{width:80.42rem;height:26rem;background-size:761.86rem auto;background-position:-130.6rem -595.58rem}
 .hisense{font-size:24rem}
}

/* 3. โลโก้ LINE เป็นโลโก้ทางการ (ทึบ) ไม่ใช่ไอคอนเส้นเหมือนไอคอนอื่น */
.brand-icon{fill:currentColor;stroke:none}
.top-contacts .js-line-top{white-space:nowrap}
.top-contacts .js-line-top .brand-icon{color:#06c755}
.footer-contact .brand-icon{color:#06c755}

/* 4. ปุ่มเปลี่ยนภาษาย้ายมามุมขวาบน (เดิมอยู่ท้ายเว็บ)
   แถบบนของดีไซน์ที่อนุมัติไม่มีที่ว่างเหลือ พอเพิ่มไลน์กับปุ่มภาษาเข้าไป
   ข้อความเดิมจะตกบรรทัด จึงบีบช่องไฟระหว่างชิ้นลงและบังคับไม่ให้ตัดคำ
   ยอดรวมที่ต้องใช้ 1290px จากที่มี 1313px ที่จอ 1440 */
.top-contacts{gap:8rem}
.top-contacts>*{white-space:nowrap}
.company{white-space:nowrap}
.top-contacts .js-lang-top{margin:0 0 0 2rem;padding-left:9rem;border-left:1rem solid #ffffff2e;line-height:inherit}
.top-contacts .js-lang-top a{display:inline}
.top-contacts .js-lang-top i{font-style:normal;margin:0 3rem;color:#ffffff59}
.js-lang-on{font-weight:700;color:#8fdcf5}
/* มือถือ: หลังเอา "เปิดบริการ 08:00-17:00 น." ออกจากแถบบน (เจ้าของสั่ง 21/9/2569)
   ที่ว่างพอใส่ครบ 5 ชิ้นในบรรทัดเดียว หัวเว็บจึงสูง 129px เท่าดีไซน์ที่อนุมัติพอดี
   เหลือ flex-wrap ไว้กันพลาดถ้าข้อความถูกแก้จากหลังบ้านให้ยาวขึ้น */
@media(max-width:599px){
 .top-contacts{flex-wrap:wrap;gap:4rem 7rem}
 .company{white-space:normal}
 .top-contacts .js-lang-top{flex:0 0 auto;margin:0 0 0 1rem;padding:0;border:0;text-align:right}
}

/* ลิงก์ไลน์ในฟุตเตอร์ — คัดสไตล์จากกฎที่อนุมัติซึ่งผูกกับแท็ก span มาให้แท็ก a เป๊ะทุกค่า */
.footer-contact>a{display:flex;align-items:center;gap:8rem;margin-bottom:6rem;white-space:nowrap;color:inherit;text-decoration:none}
@media(max-width:599px){.footer-contact>a{gap:7rem;margin-bottom:8rem}}

/* ปุ่ม "อ่านรีวิวใน Google" ในส่วนรีวิว (เจ้าของสั่งเพิ่ม 21/9/2569 — บันทึกไว้ใน docs/ขออนุมัติแก้ดีไซน์.md ข้อ 6)
   ใช้ค่าเดียวกับปุ่มในส่วนคำถามที่พบบ่อยที่อนุมัติไว้ (.faq .cta) เพื่อให้ขนาดและระยะเป็นภาษาเดียวกันทั้งหน้า
   หัวข้อ + ปุ่ม รวมแล้วยังเตี้ยกว่าการ์ดรีวิว (44rem) ความสูงของส่วนนี้จึงไม่ขยับ */
.reviews .cta{font-size:8rem;padding:5rem 13rem;margin-top:5rem}
@media(max-width:599px){.reviews .cta{font-size:10rem;padding:7rem 11rem;margin-top:8rem}}

/* ── รอบแก้ไขวันที่ 22/9/2569 (ลูกค้าสั่งผ่านเจ้าของงาน) — บันทึกไว้ใน docs/ขออนุมัติแก้ดีไซน์.md ── */

/* ช่องแผนที่ในส่วนติดต่อ เปลี่ยนจากภาพวาดแผนที่เป็นรูปหน้าร้านจริง ขนาดกรอบเท่าเดิมทุกจอ */
.map>img{display:block;width:100%;height:100%;object-fit:cover}

/* ไอคอนไลน์ในส่วนติดต่อ ใช้โลโก้ทางการบนวงกลมเขียวของแบรนด์ (วงกลมขนาดเท่าไอคอนอื่นในคอลัมน์เดิม) */
.contact-line .js-line-round{background:#06c755;padding:3.5rem}

/* โลโก้อินสตาแกรมของจริง แทนอักษร ◎ ที่ mockup ใช้แทนไว้ กรอบและพื้นหลังไล่สีเดิมไม่แตะ */
.instagram .js-ig{width:11rem;height:11rem;stroke-width:1.9;color:#fff}
@media(max-width:599px){.instagram .js-ig{width:13rem;height:13rem}}

/* คำถามที่พบบ่อย: ดีไซน์ที่อนุมัติวาดไว้แค่ตอน "ปิด" — ตอนปิดทุกพิกเซลจึงเหมือนเดิม
   ส่วนที่เพิ่มคือสถานะ "เปิด" ซึ่งดีไซน์ไม่ได้วาด (กดที่แถบเพื่ออ่านคำตอบ) */
.js-faq{flex-wrap:wrap;cursor:pointer;row-gap:5rem}
.js-faq .icon{transition:transform .18s ease}
.js-faq-a{display:none;flex:0 0 100%;font-size:6.6rem;line-height:1.75;color:#3d5668}
.js-faq.js-open .js-faq-a{display:block}
.js-faq.js-open .icon{transform:rotate(45deg)}
.js-faq:focus-visible{outline:2rem solid #04adea;outline-offset:2rem}
.faq-grid.js-has-open{grid-auto-rows:auto}
.faq-grid.js-has-open>div{min-height:18rem}
@media(max-width:599px){
 .js-faq-a{font-size:10rem}
 .faq-grid.js-has-open>div{min-height:37rem}
}

/* ลิงก์คลุมแบนเนอร์: กฎเดิมตั้ง display:block ไว้ ทำให้ attribute hidden ไม่มีผล
   ผลคือมีลิงก์โปร่งคลุมหน้าแรกตลอดเวลา แม้ตอนที่แบนเนอร์ไม่ใช่ภาพที่มีตัวหนังสือ */
.js-hero-link[hidden]{display:none}

/* หน้าอังกฤษ/จีน: คำแปลยาวกว่าไทยมาก กล่องที่ดีไซน์ล็อกความสูงไว้จึงล้น
   ย่อขนาดตัวอักษรเฉพาะสองภาษานี้ หน้าไทยที่ลูกค้าอนุมัติไม่ถูกแตะเลย */
html[lang="en"] .cleaning h2,html[lang="zh"] .cleaning h2{font-size:11rem}
html[lang="en"] .cleaning h3,html[lang="zh"] .cleaning h3{font-size:8.4rem}
html[lang="en"] .clean-price p,html[lang="zh"] .clean-price p{font-size:7.4rem}
html[lang="en"] .clean-price strong,html[lang="zh"] .clean-price strong{font-size:15rem;line-height:1.2}
html[lang="en"] .warranty span,html[lang="zh"] .warranty span{font-size:5.2rem}
html[lang="en"] .warranty b,html[lang="zh"] .warranty b{font-size:8.4rem}
@media(max-width:599px){
 html[lang="en"] .cleaning h2,html[lang="zh"] .cleaning h2{font-size:16rem}
 html[lang="en"] .clean-price strong,html[lang="zh"] .clean-price strong{font-size:19rem}
}
html[lang="en"] .section-intro h2,html[lang="zh"] .section-intro h2{font-size:15rem}
html[lang="en"] .section-intro h2 span,html[lang="zh"] .section-intro h2 span{font-size:13rem}
html[lang="en"] .section-intro>p,html[lang="zh"] .section-intro>p{font-size:7.4rem}
html[lang="en"] .product-intro h2,html[lang="zh"] .product-intro h2{font-size:14rem}
html[lang="en"] .product-intro h3,html[lang="zh"] .product-intro h3{font-size:8.6rem}
html[lang="en"] .team-cta blockquote,html[lang="zh"] .team-cta blockquote{font-size:13rem}
html[lang="en"] .engineering p,html[lang="zh"] .engineering p{font-size:7.4rem}
@media(max-width:599px){
 html[lang="en"] .section-intro h2,html[lang="zh"] .section-intro h2{font-size:19rem}
 html[lang="en"] .product-intro h2,html[lang="zh"] .product-intro h2{font-size:18rem}
 html[lang="en"] .team-cta blockquote,html[lang="zh"] .team-cta blockquote{font-size:16rem}
 html[lang="en"] .engineering p,html[lang="zh"] .engineering p{font-size:10rem}
}

/* หน้าอังกฤษ/จีน: ปล่อยให้ส่วนที่ดีไซน์ล็อกความสูงไว้ "ยืดลงได้" เมื่อคำแปลยาวกว่าไทย
   ตั้งความสูงขั้นต่ำเท่าของเดิม หน้าจึงหน้าตาเหมือนเดิมแต่ตัวหนังสือไม่โดนตัด
   (หน้าไทยที่ลูกค้าอนุมัติไม่ได้ถูกแตะ — กฎนี้ผูกกับ lang=en/zh เท่านั้น) */
html[lang="en"] .services,html[lang="zh"] .services{height:auto;min-height:236rem}
html[lang="en"] .cleaning,html[lang="zh"] .cleaning{height:auto;min-height:82rem}
html[lang="en"] .product,html[lang="zh"] .product{height:auto;min-height:109rem}
html[lang="en"] .engineering,html[lang="zh"] .engineering{height:auto;min-height:195rem;padding-bottom:12rem}
html[lang="en"] .team-cta,html[lang="zh"] .team-cta{height:auto;min-height:110rem}
html[lang="en"] .heritage,html[lang="zh"] .heritage{height:auto;min-height:177rem}
html[lang="en"] .faq,html[lang="zh"] .faq{height:auto;min-height:81rem}
html[lang="en"] .reviews,html[lang="zh"] .reviews{height:auto;min-height:62rem;padding-top:9rem;padding-bottom:9rem}
