:root{--green:#123f32;--deep:#082a21;--leaf:#2f7457;--lime:#b7d84b;--cream:#f3f1e8;--ink:#13241e;--muted:#607069;--white:#fff;--line:rgba(19,36,30,.16)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.lang-th,.lang-en,.lang-zh{display:none}
html[lang=th] .lang-th,html[lang=en] .lang-en,html[lang=zh] .lang-zh{display:revert}
.reading-progress{position:fixed;z-index:100;inset:0 auto auto 0;height:3px;width:var(--reading,0);background:var(--lime)}
.home-nav{height:84px;padding:0 4vw;position:absolute;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #ffffff24}
.home-brand{display:flex;align-items:center;gap:11px}
.home-brand img{width:45px;height:45px;object-fit:contain}
.brand-words{display:grid;gap:2px}
.brand-words b{font-size:17px;line-height:1;letter-spacing:.075em}
.brand-words small{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:.28em;color:#e0ebdf}
.house-line{display:inline-block;width:21px;height:11px;border-left:1px solid;border-top:1px solid;transform:skewY(-28deg) rotate(8deg);opacity:.8}
.home-nav nav{display:flex;gap:2.2vw;font-size:13px}
.home-nav nav a{color:#ffffffbd;transition:.25s}
.home-nav nav a:hover{color:#fff}
.home-nav-actions,.home-langs{display:flex;align-items:center;gap:8px}
.division-switch{padding:10px 15px;border:1px solid #ffffff40;border-radius:99px;font-size:11px}
.home-langs{padding:3px;border:1px solid #ffffff3b;border-radius:99px}
.home-langs button{border:0;background:transparent;color:#fff;padding:7px 8px;border-radius:99px;cursor:pointer;font-size:10px}
.home-langs button.active{background:#fff;color:var(--deep)}
.home-menu-button{display:none;border:0;background:none;color:#fff;font-size:22px}
.home-hero{position:relative;min-height:100svh;color:#fff;display:flex;align-items:flex-end;padding:145px 6vw 9vh;overflow:hidden;background:var(--deep)}
.home-hero-media,.home-hero-shade,.home-hero-grid{position:absolute;inset:0}
.home-hero-media img{width:100%;height:100%;display:block;object-fit:cover}
.home-hero-shade{background:linear-gradient(90deg,#06231deb 0%,#0a3023ca 38%,#0b2d213d 74%),linear-gradient(0deg,#071f19df 0%,transparent 60%)}
.home-hero-grid{opacity:.12;background:linear-gradient(90deg,transparent calc(50% - .5px),#fff 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#fff 50%,transparent calc(50% + .5px));background-size:25vw 25vw;mask-image:linear-gradient(90deg,#000,transparent 76%)}
.home-hero-copy{position:relative;z-index:2;width:min(870px,67vw)}
.kicker,.section-kicker{margin:0;color:var(--lime);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.home-hero h1{font-size:clamp(54px,6.7vw,104px);line-height:.94;letter-spacing:-.055em;margin:20px 0 28px;max-width:970px}
.home-hero h1 span span{color:var(--lime)}
.home-hero-lead{max-width:710px;font-size:clamp(16px,1.35vw,21px);line-height:1.75;color:#ffffffe0}
.home-hero-actions{display:flex;gap:10px;margin-top:33px}
.home-btn{min-height:54px;padding:0 22px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:13px;font-weight:750}
.home-btn.primary{background:var(--lime);color:#13241e}
.home-btn.glass{border:1px solid #ffffff5c;background:#0c332591;backdrop-filter:blur(9px)}
.home-hero-note{display:flex;align-items:flex-start;gap:9px;margin:22px 0 0;max-width:600px;color:#ffffffa8;font-size:11px;line-height:1.55}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--lime);margin-top:5px;box-shadow:0 0 0 6px #b7d84b1f}
.hero-proof{position:absolute;z-index:3;right:4.5vw;bottom:7.5vh;width:175px;padding:20px;border:1px solid #ffffff40;background:#0b3023a8;backdrop-filter:blur(10px)}
.hero-proof b{display:block;font-size:20px;margin-bottom:7px}
.hero-proof span{font-size:9px;line-height:1.5;color:#ffffffb7}
.home-trust{display:grid;grid-template-columns:repeat(4,1fr);background:#e4e8d4;border-bottom:1px solid var(--line)}
.home-trust article{min-height:107px;padding:24px 3vw;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.home-trust article:last-child{border-right:0}
.home-trust b{font-size:15px;letter-spacing:.04em;color:var(--green)}
.home-trust span{font-size:11px;color:#52635c;margin-top:5px}
.home-intro,.home-services,.home-process,.home-faq,.home-contact{padding:13vh 6vw}
.home-intro-heading,.home-section-head{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:8vw;margin-top:18px}
.home-intro h2,.home-section-head h2,.standard-copy h2,.faq-heading h2,.home-contact-copy h2{font-size:clamp(39px,5vw,72px);line-height:1.02;letter-spacing:-.045em;margin:0}
.home-intro-heading>p,.home-section-head>p{max-width:500px;color:var(--muted);font-size:16px;line-height:1.75}
.symptom-picker{margin-top:75px;border-top:1px solid var(--line)}
.symptom-picker button{width:100%;min-height:92px;padding:0 20px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:80px 1fr 45px;align-items:center;text-align:left;color:var(--ink);cursor:pointer;transition:.25s}
.symptom-picker button:hover{background:#fff;padding-left:30px}
.symptom-picker i{font-style:normal;font-size:11px;color:var(--leaf)}
.symptom-picker b{font-size:clamp(18px,2vw,27px)}
.symptom-picker small{font-size:25px}
.home-services{background:var(--deep);color:#fff}
.home-services .home-section-head>p{color:#ffffffa2}
.home-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff25;margin-top:75px}
.home-service-card{min-height:520px;padding:35px;background:#10382c;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:.35s}
.home-service-card:after{content:"";position:absolute;inset:auto -25% -48% 24%;height:270px;border:1px solid #ffffff18;border-radius:50%;transition:.5s}
.home-service-card:hover{background:#174c3b}
.home-service-card:hover:after{transform:scale(1.2);border-color:#b7d84b57}
.home-service-card.featured{background:#1a503c}
.home-service-card>span{font-size:10px;letter-spacing:.15em;color:#b7d84bd1}
.service-icon{width:calc(100% + 70px);height:clamp(260px,20vw,340px);flex:0 0 clamp(260px,20vw,340px);margin:24px -35px 32px;position:relative;display:block;background-image:linear-gradient(180deg,transparent 55%,#06231d52);background-repeat:no-repeat;background-size:100% 100%,300% auto;border-block:1px solid #ffffff18;filter:saturate(.86) contrast(1.04);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s}
.home-services.visuals-ready .service-icon{background-image:linear-gradient(180deg,transparent 55%,#06231d52),url("/assets/sw-home-services-v1.webp")}
.service-icon.leak{background-position:0 0,0 18%}
.service-icon.roof{background-position:0 0,50% 18%}
.service-icon.awning{background-position:0 0,100% 18%}
.service-icon.gutter{background-position:0 0,0 82%}
.service-icon.heat{background-position:0 0,50% 82%}
.service-icon.inspect{background-position:0 0,100% 82%}
.home-services.visuals-ready .service-icon.inspect{background-image:linear-gradient(180deg,transparent 55%,#06231d52),url("/assets/sw-home-inspection-v2.webp");background-size:100% 100%,cover;background-position:0 0,center 48%}
.home-service-card:hover .service-icon{transform:scale(1.025);filter:saturate(1) contrast(1.05)}
.home-service-card h3{font-size:25px;line-height:1.22;margin:0 0 16px;position:relative;z-index:1}
.home-service-card p{color:#ffffffa7;line-height:1.7;font-size:14px;margin:0;position:relative;z-index:1}
.home-service-card a{margin-top:auto;padding-top:30px;color:var(--lime);font-size:12px;font-weight:700;position:relative;z-index:1}
.home-standard{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:#e6e0d4}
.standard-visual{position:relative;overflow:hidden;min-height:650px}
.standard-visual picture,.standard-visual img{display:block;width:100%;height:100%}
.standard-visual img{object-fit:cover}
.roof-detail{position:absolute;inset:auto 0 0;background:#0a2d23e8;color:#fff;display:grid;grid-template-columns:auto auto 1fr auto auto 1fr auto auto;align-items:center;gap:12px;padding:22px 26px}
.roof-detail span{font-size:9px;color:var(--lime)}
.roof-detail b{font-size:9px;letter-spacing:.13em}
.roof-detail i{height:1px;background:#ffffff34}
.standard-copy{align-self:center;padding:9vh 6vw}
.standard-copy h2{margin:17px 0 25px}
.standard-copy>p:last-of-type{color:var(--muted);line-height:1.8}
.standard-copy ul{padding:0;margin:40px 0 0;list-style:none}
.standard-copy li{padding:17px 0;border-top:1px solid var(--line);font-size:13px;font-weight:650}
.standard-copy li:before{content:"✓";color:var(--leaf);margin-right:12px}
.home-process{background:#eceee3}
.home-process ol{list-style:none;padding:0;margin:75px 0 0;display:grid;grid-template-columns:repeat(4,1fr)}
.home-process li{padding:30px 28px 20px;border-top:1px solid #79877e;position:relative}
.home-process li:before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;background:var(--green);border-radius:50%}
.home-process li b{font-size:11px;color:var(--leaf)}
.home-process h3{font-size:22px;margin:58px 0 12px}
.home-process li p{color:var(--muted);font-size:13px;line-height:1.7}
.home-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.faq-heading h2{margin-top:18px;font-size:clamp(36px,4.3vw,64px)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:17px;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{font-style:normal;color:var(--leaf);font-size:24px;transition:.25s}
.faq-list details[open] summary i{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 55px 25px 0;color:var(--muted);line-height:1.75;font-size:14px}
.home-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--green);color:#fff}
.home-contact-copy h2{margin:17px 0 25px}
.home-contact-copy>p:last-of-type{color:#ffffffad;line-height:1.75}
.contact-direct{display:grid;gap:10px;margin-top:40px}
.contact-direct a{border-top:1px solid #ffffff2d;padding:17px 0;display:grid;gap:5px}
.contact-direct small{color:#b3c2bd}
.contact-direct b{font-size:17px}
.home-form{background:#fff;color:var(--ink);padding:45px}
.home-form-head>span{font-size:9px;letter-spacing:.2em;color:var(--leaf);font-weight:750}
.home-form-head h3{font-size:32px;margin:9px 0 34px}
.home-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.home-form label>span{display:block;font-size:11px;color:#4f5d58;margin-bottom:7px}
.home-form label>span.lang-th,.home-form label>span.lang-en,.home-form label>span.lang-zh{background:#fff}
.home-form input,.home-form select,.home-form textarea{width:100%;border:1px solid #cdd3cf;border-radius:4px;background:#fff;color:var(--ink);padding:13px 12px;outline:0}
.home-form input:focus,.home-form select:focus,.home-form textarea:focus{border-color:var(--leaf);box-shadow:0 0 0 3px #2f745717}
.home-form .wide{grid-column:1/-1}
.home-upload{position:relative}
.home-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.upload-box{min-height:105px!important;margin:0!important;border:1px dashed #9eaaa4;display:flex!important;align-items:center;gap:18px;padding:18px!important;cursor:pointer}
.upload-box>b{font-size:28px;color:var(--leaf)}
.upload-box span{display:grid!important;margin:0!important}
.upload-box strong{font-size:13px}
.upload-box small{font-size:10px;color:#5d6d66;margin-top:4px}
.upload-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.upload-preview>span{padding:9px 10px;background:#edf1e8;font-size:10px;display:flex;justify-content:space-between;gap:8px}
.upload-preview small{color:#66736e}
.home-privacy{font-size:10px;color:#5b6863;line-height:1.6;margin:25px 0 15px}
.home-submit{width:100%;min-height:57px;border:0;background:var(--lime);color:var(--ink);font-weight:800;display:flex;align-items:center;justify-content:center;gap:25px;cursor:pointer}
.home-submit:disabled{opacity:.55}
.home-form-status{display:none;margin-top:12px;padding:12px;font-size:12px}
.home-form-status.show{display:block}
.home-form-status.success{background:#e4f2df;color:#1a5b38}
.home-form-status.error{background:#f8e3df;color:#8a2e24}
.honey{position:absolute!important;left:-9999px!important}
.home-footer{min-height:125px;padding:28px 5vw;background:#061f18;color:#ffffffa1;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px}
.home-footer>div{display:flex;gap:20px}
.home-footer>div a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.home-intro .section-kicker,.home-standard .section-kicker,.home-process .section-kicker,.home-faq .section-kicker{color:#276149}
.standard-copy>p:last-of-type,.home-process li p{color:#4c5e57}
.home-service-card.featured>span{color:#c6e761}
.home-mobile-bar{display:none}
@media(max-width:1050px){.home-nav nav{display:none}.home-menu-button{display:block}.home-nav nav.open{display:flex;position:absolute;top:74px;left:16px;right:16px;padding:18px;background:#0a2d23f4;flex-direction:column;border:1px solid #ffffff24}.home-hero-copy{width:min(760px,78vw)}.home-service-grid{grid-template-columns:1fr 1fr}.home-contact{gap:4vw}.home-form{padding:35px}.division-switch{display:none}}
@media(max-width:700px){body{padding-bottom:66px}.home-nav{height:70px;padding:0 16px}.home-brand img{width:36px;height:36px}.brand-words b{font-size:13px}.brand-words small{font-size:6px}.home-langs{gap:0}.home-langs button{padding:6px;font-size:9px}.home-hero{min-height:880px;padding:108px 20px 45px;display:block}.home-hero-media img{object-position:63% center}.home-hero-shade{background:linear-gradient(0deg,#06231df8 0%,#08291fd6 55%,#08291f5e 100%)}.home-hero-grid{background-size:50vw 50vw;mask-image:linear-gradient(#000,transparent 75%)}.home-hero-copy{width:100%}.kicker,.section-kicker{font-size:8px;line-height:1.6}.home-hero h1{font-size:clamp(40px,12.1vw,53px);line-height:1.01;margin:16px 0 20px}.home-hero-lead{font-size:14px;line-height:1.7}.home-hero-actions{display:grid;grid-template-columns:1fr;margin-top:25px}.home-btn{min-height:51px;font-size:12px;padding:0 15px}.home-btn.glass{display:none}.home-hero-note{font-size:9px}.hero-proof{position:relative;right:auto;bottom:auto;margin-top:32px;width:100%;padding:15px}.hero-proof b{font-size:16px}.home-trust{grid-template-columns:1fr 1fr}.home-trust article{min-height:90px;padding:17px 16px}.home-trust article:nth-child(2){border-right:0}.home-trust article:nth-child(-n+2){border-bottom:1px solid var(--line)}.home-trust b{font-size:12px}.home-trust span{font-size:9px;line-height:1.45}.home-intro,.home-services,.home-process,.home-faq,.home-contact{padding:82px 20px}.home-intro-heading,.home-section-head{grid-template-columns:1fr;gap:18px;align-items:start}.home-intro h2,.home-section-head h2,.standard-copy h2,.faq-heading h2,.home-contact-copy h2{font-size:38px}.home-intro-heading>p,.home-section-head>p{font-size:14px}.symptom-picker{margin-top:45px}.symptom-picker button{grid-template-columns:35px 1fr 25px;min-height:80px;padding:0 7px}.symptom-picker b{font-size:16px}.home-service-grid{grid-template-columns:1fr;margin-top:45px}.home-service-card{min-height:370px;padding:28px}.service-icon{margin:43px 0 30px}.home-standard{grid-template-columns:1fr}.standard-visual{min-height:400px}.standard-visual img{object-position:67% center}.roof-detail{grid-template-columns:auto auto 1fr;padding:16px}.roof-detail>*:nth-child(n+4){display:none}.standard-copy{padding:75px 20px}.home-process ol{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:45px -20px 0;padding-left:20px}.home-process li{flex:0 0 80vw;scroll-snap-align:start}.home-faq{grid-template-columns:1fr;gap:45px}.faq-list summary{font-size:15px;min-height:75px}.faq-list details p{padding-right:20px;font-size:13px}.home-contact{grid-template-columns:1fr;gap:50px}.home-form{padding:27px 20px}.home-form-head h3{font-size:26px}.home-form-grid{grid-template-columns:1fr;gap:15px}.home-form .wide{grid-column:auto}.upload-preview{grid-template-columns:1fr}.home-footer{flex-direction:column;text-align:center;padding:35px 20px}.home-footer>div{flex-direction:column;gap:10px}.home-mobile-bar{position:fixed;z-index:80;display:grid;grid-template-columns:.8fr 1.2fr;inset:auto 0 0;background:#061f18;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.home-mobile-bar a{min-height:48px;display:grid;place-items:center;color:#fff;border:1px solid #ffffff32;font-size:12px;font-weight:750}.home-mobile-bar a:last-child{background:var(--lime);color:var(--ink);border-color:var(--lime)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.lang-th,.lang-en,.lang-zh{display:none!important}
html[lang=th] .lang-th,html[lang=en] .lang-en,html[lang=zh] .lang-zh{display:revert!important}
.upload-box .lang-th,.upload-box .lang-en,.upload-box .lang-zh{display:none!important}
html[lang=th] .upload-box .lang-th,html[lang=en] .upload-box .lang-en,html[lang=zh] .upload-box .lang-zh{display:revert!important}
@media(max-width:700px){.home-footer{margin-bottom:66px}.home-service-card{min-height:520px}.service-icon{width:calc(100% + 56px);height:205px;flex-basis:205px;margin:22px -28px 27px}}
