/* Local visual revision: authentic work first, calm architectural rhythm. */
:root{--ink:#262923;--paper:#f7f6f1;--gold:#b18c42;--line:#ddded4;--muted:#61665c;font-family:'Leelawadee UI','Segoe UI',Tahoma,sans-serif;line-height:1.7}
body{overflow-x:clip}h1,h2,h3{text-wrap:balance}h1,h2{font-weight:600;letter-spacing:-.035em}h1{font-size:clamp(3.3rem,5.2vw,5.5rem);line-height:1.21}h2{font-size:clamp(2rem,3.2vw,3.2rem)}h1 em{font-style:normal;color:#92702f}.wrap{width:min(1280px,calc(100% - 96px))}.wrap:not(footer){padding-block:88px}.eyebrow{font-size:11px;letter-spacing:.16em;margin-bottom:20px}.intro{font-size:17px;max-width:560px}.section-head{margin-bottom:38px}.section-head .text-link{display:inline-block;margin-top:16px}.button{border-radius:6px;gap:28px;min-height:52px;padding:13px 23px;font-size:15px;box-shadow:0 3px 7px #24271f08}.button:hover{background:#3e4338;border-color:#3e4338}.button.secondary{background:transparent;color:var(--ink);border-color:#bfc3b8;box-shadow:none}.text-link{border-color:#8c927d;display:inline-flex;gap:22px}.site-header{height:86px;padding-inline:max(32px,calc((100vw - 1280px)/2));gap:24px;background:#f7f6f1f5}.brand img{width:46px;height:46px}.brand>span{font-size:19px;letter-spacing:.11em}.brand small{font-size:11px;margin-top:4px}.site-header>nav{gap:30px;font-size:14px}.site-header>nav a{position:relative;padding:10px 0}.site-header>nav a:after{content:'';position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:right .2s}.site-header>nav a:hover:after,.site-header>nav a[aria-current=page]:after{right:0}.site-header>.button{font-size:13px;min-height:44px}.hero{grid-template-columns:47% 53%;min-height:640px;border-bottom:1px solid var(--line)}.hero-copy{padding:70px 40px 60px max(48px,calc((100vw - 1280px)/2));align-self:center}.hero h1{font-size:clamp(3.4rem,5.25vw,5.5rem)}.hero-services{font-size:17px;margin-top:26px;color:var(--muted);font-weight:400}.hero .intro{font-size:16px;margin-top:16px}.hero-image{margin:20px 20px 20px 0;border-radius:8px}.hero-image>img{object-position:54% center}.image-caption{background:#f7f6f1ed;backdrop-filter:blur(10px);border:1px solid #fff8;border-radius:5px;bottom:24px;left:24px;right:24px}.image-caption span{font-size:10px;letter-spacing:.1em}.image-caption strong{font-size:17px;font-weight:500}.hero-contact{font-size:13px;margin-top:28px;gap:18px}.service-index.wrap{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:28px;padding-block:30px;border-bottom:1px solid var(--line);align-items:center}.service-index>span{font-size:12px;color:var(--muted)}.service-index strong{font-size:14px;font-weight:500;color:var(--ink)}.service-index a{font-size:13px;border-left:1px solid var(--line);padding:10px 0 10px 25px;display:flex;gap:15px;justify-content:space-between}.service-index a:hover{color:#896525}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0}.photo-card{padding:0!important;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;min-height:0;display:flex;flex-direction:column}.photo-card:hover{background:#fff;box-shadow:0 15px 30px #24271f0b}.service-media{display:block;position:relative;overflow:hidden;background:#dedfd5;aspect-ratio:1.55}.service-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.image-kind{position:absolute;bottom:12px;left:12px;background:#f7f6f1f0;color:#44483e;font-size:10px;line-height:1.5;padding:5px 9px;border-radius:3px}.card-body{padding:23px;display:flex;flex-direction:column;flex:1}.card-kicker{font-size:10px;letter-spacing:.09em;color:#756030}.photo-card h3,.photo-card h2{margin:12px 0 10px;font-size:1.35rem;font-weight:600;line-height:1.5}.card-description{font-size:14px;color:var(--muted);margin-bottom:25px}.card-footer{margin-top:auto;border-top:1px solid #eceee6;padding-top:15px;font-size:12px;display:flex;justify-content:space-between;align-items:center}.card-footer>span{font-size:18px;transition:transform .2s}.two-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.tent-feature{margin:0 24px;border-radius:10px;overflow:hidden;background:#252b25}.tent-feature>div:first-child{min-height:570px}.feature-copy{padding:65px;align-self:center}.feature-copy h2{font-size:clamp(2rem,3.3vw,3.4rem)}.feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}.feature-tags span{border:1px solid #66705f;padding:8px 12px;border-radius:4px;font-size:12px;color:#e0e4da}.feature-copy .button{color:#23271f;background:#d5b26c}.portfolio-grid{gap:28px}.portfolio-grid figure{border-radius:7px;overflow:hidden}.portfolio-grid img{height:310px}.portfolio-grid figcaption{padding:19px 0 20px;background:transparent;border-bottom:1px solid var(--line);font-size:16px}.portfolio-grid figcaption>span{display:block;font-size:10px;letter-spacing:.1em;color:#706d5e;margin-bottom:7px}.portfolio-grid h3{font-size:1.2rem;font-weight:500}.featured-projects .portfolio-grid{grid-template-columns:1.35fr 1fr 1fr}.featured-projects .portfolio-grid img{height:340px}.process-section{background:#eaece4;border-block:1px solid var(--line)}.steps{gap:40px}.steps li{padding-top:22px}.steps li:before{font-size:13px;font-family:Arial}.steps strong{font-size:20px;font-weight:500}.steps p{font-size:14px}.cta{border-top:0}.cta>p:not(.eyebrow){margin-top:22px;color:var(--muted);font-size:15px}.cta .actions{justify-content:center}.cta .button{margin-top:0}footer{padding-block:45px 60px}.page-intro h1,.service-hero h1,.prose h1{font-size:clamp(2.5rem,4.3vw,4.6rem);line-height:1.25}.breadcrumb.wrap{padding-block:22px 0;font-size:11px}.intro-split{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:end}.intro-split .intro{margin:0;font-size:16px}.category-nav{display:flex;gap:30px;border-block:1px solid var(--line);margin-top:45px;padding-block:20px;font-size:13px}.category-nav a:hover{color:#846320}.service-category.wrap{padding-top:0;padding-bottom:80px;scroll-margin-top:120px}.service-category .section-head h2{font-size:2rem}.service-category .section-head>p{font-size:14px}.service-hero{gap:60px}.service-hero figure img{height:auto;aspect-ratio:1.15;object-fit:cover;border-radius:8px}.service-hero figure.ai-illustration img{aspect-ratio:1.5;object-fit:contain}.service-hero figcaption{font-size:11px;padding:12px 0;color:#64685f;border-bottom:1px solid var(--line)}.tent-facts{font-size:14px}.tent-facts>div{padding-block:12px}.two-grid img{border-radius:7px}.size-list span{border-radius:5px;background:#fff}.dark-section .wrap{max-width:1000px}.faq summary{font-weight:500;font-size:18px}.filters{gap:9px}.filters button{border-radius:100px;border-color:#c6cbbd;font-size:13px;padding:10px 18px}.portfolio-page .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.portfolio-page .portfolio-grid img{height:auto;aspect-ratio:1.35;object-fit:cover}.project-open{display:block;padding:0;border:0;background:transparent;width:100%;cursor:zoom-in;position:relative}.zoom-label{position:absolute;right:16px;bottom:16px;padding:8px 12px;background:#f7f6f1e8;border-radius:5px;font-size:11px;color:var(--ink)}#project-viewer{width:min(1000px,calc(100% - 32px));border:0;border-radius:8px;background:var(--paper);padding:18px;max-height:92dvh}#project-viewer img{max-height:70dvh;width:100%;object-fit:contain}#project-viewer .viewer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:20px}#project-viewer h2{font-size:18px}#project-viewer button{border:1px solid var(--line);background:transparent;border-radius:5px;min-width:44px;min-height:44px;cursor:pointer}.contact-grid{gap:16px;border:0}.contact-grid a{border:1px solid var(--line);background:#fff;border-radius:7px;padding:30px}.contact-grid strong{font-size:26px;font-weight:500}.line-qr{display:flex;align-items:center;gap:30px;margin-top:32px;padding:24px;background:#eeeee6;border-radius:7px}.line-qr img{width:132px;height:132px}.line-qr figcaption{font-size:14px}.prose{font-size:16px}.prose h2{font-weight:600}.quote-layout{grid-template-columns:.8fr 1.2fr;gap:60px;padding-top:55px!important}.quote-copy{position:sticky;top:125px}.quote-copy h1{font-size:clamp(2.6rem,3.8vw,4rem)}.quote-copy .intro{font-size:16px}.quote-benefits{list-style:none;padding:0;margin:28px 0;border-block:1px solid var(--line)}.quote-benefits li{padding:12px 0;font-size:13px;border-bottom:1px solid #e8e9e0}.quote-benefits li:last-child{border:0}.quote-benefits li:before{content:'↗';margin-right:12px;color:#84692e}.quote-help{display:grid;gap:10px}.quote-help p{font-size:12px;color:var(--muted)}.quote-help a{font-size:15px;width:fit-content}.quote-panel{border-radius:10px;padding:32px 36px;box-shadow:0 15px 45px #25321c05}.form-progress{margin-bottom:32px}.form-progress ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0}.form-progress li{font-size:11px;color:#72796a;border-top:2px solid #e5e8df;padding-top:10px}.form-progress li span{font:11px/1.6 Arial;display:block;margin-bottom:4px;color:#7a8072}.form-progress li[aria-current=step]{color:var(--ink);border-color:#967433;font-weight:600}.form-progress li.complete{border-color:#8b9c7e}.form-step h2{font-size:clamp(1.55rem,2.3vw,2rem);font-weight:600;line-height:1.5}.form-step .eyebrow{font-size:10px;margin-bottom:10px}.step-intro{color:var(--muted);font-size:13px;margin:12px 0 28px}.quote-panel label{font-size:14px;font-weight:500;margin-bottom:22px}input:not([type=checkbox]),select,textarea{border-color:#c3c9bb;border-radius:5px;padding:13px 14px;background:#fff;min-height:50px;font-size:16px}.field-help{display:block;color:var(--muted);font-size:12px;margin-top:9px;font-weight:400}fieldset{border-radius:6px;padding:18px;margin-top:20px}legend{font-size:14px}.form-controls{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:23px;margin-top:25px}.form-controls .button{font-size:14px;padding-inline:18px;gap:14px}.form-controls #next-step{margin-left:auto}#step-position{font-size:11px;color:#636d59}.form-step[hidden]{display:none!important}.form-step{animation:soft-in 180ms ease}.check input{accent-color:#736039}.check{font-size:13px!important;line-height:1.8}.quote-panel button:disabled{cursor:not-allowed}#project-location{border:0;padding:0;margin:0}#project-location>legend{display:none}#project-location>.form-hint:first-of-type{margin-top:0;font-size:12px}#project-location .location-choice{background:#f2f3ed;border:1px solid #e0e4d7;border-radius:6px;padding:17px;margin:20px 0}#project-location button{border-radius:5px;border:1px solid #bec5b3;background:white;padding:10px 14px;font-size:13px;color:var(--ink);cursor:pointer}#review-location{width:100%;text-align:left}#location-review{border-color:#c7cbbf;background:#f6f7f2;border-radius:6px}#location-review h3{font-size:16px}#location-summary{font-size:12px;display:grid;grid-template-columns:100px 1fr;gap:8px}#location-summary dt{margin:0}#location-summary dd{margin:0}#project-location>.form-hint:last-child{font-size:11px;line-height:1.8}.review-group{border:1px solid var(--line);border-radius:6px;padding:18px;margin-bottom:16px}.review-group header{display:flex;align-items:center;justify-content:space-between;gap:16px}.review-group h3{font-size:15px}.review-group button{background:transparent;border:0;font-size:12px;text-decoration:underline;cursor:pointer;color:#71602f;min-height:36px}.review-group dl{margin:10px 0 0;display:grid;grid-template-columns:105px 1fr;gap:9px;font-size:12px;overflow-wrap:anywhere}.review-group dt{color:#5d6654}.review-group dd{margin:0;white-space:pre-wrap}.quote-layout .form-hint{font-size:12px}.mobile-bar{box-shadow:0 -3px 20px #29351e0a}.mobile-bar a{min-height:48px}.consent-panel{border-radius:8px}.services-intro.wrap{padding-bottom:60px}
@media(hover:hover) and (pointer:fine){.photo-card:hover img{transform:scale(1.035)}.photo-card:hover .card-footer>span{transform:translate(3px,-3px)}.project-open:hover .zoom-label{background:#fff}.button:hover{box-shadow:0 6px 15px #24271f15}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.site-header{padding-inline:28px;gap:18px}.site-header>nav{gap:20px}.hero-copy{padding:55px 28px}.hero{min-height:600px}.hero h1{font-size:4.2rem}.feature-copy{padding:40px}.service-grid{gap:18px}.card-body{padding:20px}.quote-layout{gap:30px}.quote-panel{padding:28px}.service-index.wrap{gap:16px}.service-index a{padding-left:16px}.service-hero{gap:30px}.intro-split{gap:30px}}
@media(max-width:850px){.site-header>nav{display:none}.mobile-menu{display:block;width:auto}.mobile-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;font-size:0;padding:0}.mobile-menu summary>span{font-size:20px;margin:0}.mobile-menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;top:calc(100% + 8px);left:20px;right:20px;padding:18px 22px;border-radius:7px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px #20211e15}.site-header .menu-panel nav{display:flex;flex-direction:column;gap:0}.menu-panel nav a{border-bottom:1px solid var(--line);padding:13px 0;min-height:48px;font-size:15px}.site-header>.button{margin-left:auto}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:3.6rem}.hero{min-height:560px}.hero-image{margin-right:16px}.service-index.wrap{grid-template-columns:1fr 1fr}.service-index>span{display:none}.service-index a:last-child{grid-column:1/-1}.service-index a{border:0;padding:8px 0}.quote-layout{grid-template-columns:1fr}.quote-copy{position:static}.quote-copy .intro{margin-top:16px}.quote-benefits,.quote-copy>.form-hint,.quote-help{display:none}.quote-layout{gap:24px}.quote-panel{max-width:680px;width:100%;margin-inline:auto}.featured-projects .portfolio-grid{grid-template-columns:1fr 1fr}.featured-projects figure:first-child{grid-column:1/-1}.featured-projects .portfolio-grid img{height:310px}.intro-split{grid-template-columns:1fr;gap:22px}.category-nav{gap:20px;flex-wrap:wrap}.service-hero figure img{aspect-ratio:1.1}.line-qr{gap:20px}.line-qr img{width:120px;height:120px}}
@media(max-width:600px){body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.wrap{width:calc(100% - 36px)}.wrap:not(footer){padding-block:56px}.site-header{height:70px;min-height:70px;flex-wrap:nowrap;padding:0 16px;gap:10px}.brand{gap:7px}.brand img{width:34px;height:34px}.brand>span{font-size:12px;letter-spacing:.08em}.brand small{font-size:10px;margin-top:2px}.site-header>.button{padding:8px 11px;font-size:11px;min-height:40px;gap:5px;white-space:nowrap}.site-header>.button>span{display:none}.mobile-menu{width:40px;flex:0 0 40px}.mobile-menu summary{width:40px;height:40px}.site-header.is-scrolled{background:#f7f6f1fa}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:38px 24px 34px}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:clamp(3rem,12vw,3.7rem);line-height:1.16}.hero-services{font-size:14px;margin-top:22px;max-width:300px}.hero .intro{font-size:14px;margin-top:14px}.hero .actions{gap:24px;margin-top:25px}.hero .button{min-height:48px;padding:12px 20px;font-size:14px}.hero .text-link{font-size:14px}.hero-contact{font-size:12px;margin-top:21px}.hero-image{height:340px;margin:0 12px 12px;border-radius:7px}.image-caption{bottom:15px;left:15px;right:15px;padding:13px 15px}.image-caption strong{font-size:15px}.image-caption span{font-size:9px}.service-index.wrap{padding-block:18px;gap:4px;display:flex;flex-direction:column;align-items:stretch}.service-index a{font-size:12px;padding-block:10px;border-bottom:1px solid #e6e8de}.service-index a:last-child{border:0}h2{font-size:2rem}.section-head{margin-bottom:26px}.section-head>div>p:not(.eyebrow){font-size:14px}.section-head .text-link{font-size:13px;margin-top:18px}.section-head>p{font-size:14px}.service-grid,.two-cards{grid-template-columns:1fr;gap:20px}.service-media{aspect-ratio:1.65}.card-body{padding:21px}.photo-card h3,.photo-card h2{font-size:1.4rem}.card-description{font-size:14px;margin-bottom:20px}.card-footer{font-size:12px}.tent-feature{margin:0 12px;border-radius:8px;grid-template-columns:1fr}.tent-feature>div:first-child{min-height:0;height:290px}.feature-copy{padding:34px 24px 40px}.feature-copy h2{font-size:2.1rem}.feature-copy p:not(.eyebrow){font-size:14px;margin:20px 0}.feature-tags span{font-size:11px;padding:7px 9px}.feature-copy .button{font-size:13px}.featured-projects .portfolio-grid,.portfolio-page .portfolio-grid{grid-template-columns:1fr;gap:22px}.featured-projects figure:first-child{grid-column:auto}.featured-projects .portfolio-grid img{height:290px}.portfolio-grid figcaption{padding:16px 0}.steps{gap:24px}.steps li{padding-top:18px}.steps li:before{margin-bottom:14px}.steps strong{font-size:18px}.cta .actions{gap:22px}.cta>p:not(.eyebrow){font-size:13px}.breadcrumb.wrap{padding-top:20px;padding-bottom:0;font-size:10px}.page-intro h1,.service-hero h1,.prose h1{font-size:2.55rem}.page-intro .intro{font-size:14px}.intro-split .intro{font-size:14px}.category-nav{margin-top:30px;gap:12px;flex-direction:column;font-size:12px;padding-block:18px}.service-category.wrap{padding-bottom:50px}.service-category .section-head h2{font-size:1.8rem}.service-hero{grid-template-columns:1fr;gap:30px}.service-hero .intro{font-size:15px}.service-hero figure img{height:auto;aspect-ratio:1.3}.service-hero figure.ai-illustration img{aspect-ratio:1.5}.service-hero figcaption{font-size:10px}.service-hero .actions{gap:20px}.service-hero .button{font-size:14px}.tent-hero.wrap{padding-top:30px;padding-bottom:45px}.tent-facts dt,.tent-facts dd{font-size:13px}.filters{margin-block:27px;gap:8px}.filters button{font-size:12px;padding:9px 13px}.zoom-label{font-size:10px;padding:7px 10px}.contact-grid{gap:12px;margin-top:30px}.contact-grid a{padding:24px}.contact-grid strong{font-size:25px}.line-qr{padding:20px;align-items:flex-start;flex-direction:column;gap:14px}.line-qr img{width:135px;height:135px}.line-qr figcaption{font-size:12px}.quote-layout.wrap{padding-top:30px!important;gap:25px}.quote-copy h1{font-size:2.4rem}.quote-copy .eyebrow{font-size:10px;margin-bottom:16px}.quote-copy .intro{font-size:14px}.quote-panel{padding:22px 18px;border-radius:8px}.form-progress{margin-bottom:28px}.form-progress ol{gap:6px}.form-progress li{font-size:10px}.form-step h2{font-size:1.65rem}.step-intro{font-size:12px;margin:10px 0 23px}.quote-panel label{font-size:13px}.form-grid{grid-template-columns:1fr}.form-controls .button{padding:11px 13px;font-size:12px;min-height:46px;gap:8px}#step-position{font-size:10px}.field-help{font-size:11px}.form-step>.form-hint{font-size:11px}.review-group{padding:14px}.review-group dl{grid-template-columns:85px 1fr;font-size:11px}.review-group h3{font-size:14px}#location-summary{grid-template-columns:80px 1fr;font-size:11px}.form-controls{margin-top:20px;padding-top:20px}.form-step .submit-quote{font-size:14px}.mobile-bar a{font-size:12px;padding:14px 4px}.footer-links{font-size:12px;gap:17px}footer .brand>strong{font-size:18px}.prose{font-size:14px}.prose h2{font-size:1.4rem}.consent-panel{padding:18px}.consent-panel p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.photo-card:hover img{transform:none}.form-step{animation:none}.card-footer>span{transition:none}.site-header>nav a:after{transition:none}}
/* Keep step headings and review labels readable below the sticky navigation. */
.quote-panel{scroll-margin-top:110px}.service-hero figure.ai-illustration figcaption{font-size:12px;line-height:1.8}
@media(max-width:600px){.quote-panel{scroll-margin-top:88px}.service-hero figure.ai-illustration figcaption{font-size:12px}.image-kind{font-size:11px}}
/* Final visual refinement: clear lockup, Thai rhythm, editorial service hierarchy. */
h1,h2,h3{letter-spacing:0;word-break:normal;overflow-wrap:normal}h1,h2{line-height:1.35}p,.card-description{line-height:1.85;text-wrap:pretty}.brand{flex-shrink:0;align-items:center}.site-header .brand>span{line-height:1;white-space:nowrap;font-weight:600}.site-header .brand img{object-fit:contain;flex-shrink:0}.site-header{transition:background-color .2s,box-shadow .2s}.site-header.is-scrolled{box-shadow:0 1px 12px #2629230c}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.photo-card{border:0;border-radius:0;background:transparent}.photo-card:hover{background:transparent;box-shadow:none}.service-media{border-radius:7px;aspect-ratio:1.8}.card-body{padding:22px 0 8px}.card-kicker{letter-spacing:.03em;font-size:12px}.card-description{max-width:52ch}.card-footer{border-color:var(--line);font-size:13px}.card-renovation{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;border-block:1px solid var(--line);padding:24px 0!important}.card-renovation .service-media{aspect-ratio:1.6}.card-renovation .card-body{padding-right:24px}.card-renovation h3{font-size:2rem}.card-renovation .card-footer{margin-top:12px}.card-smart_home,.card-network_cctv{border-top:1px solid var(--line);padding-top:20px!important}.card-smart_home .service-media,.card-network_cctv .service-media{aspect-ratio:1.5}.card-roof .service-media img{object-position:center 58%}.system-highlights{border-block:1px solid var(--line);background:transparent}.system-highlights .steps strong{font-size:19px;line-height:1.6}.system-highlights .section-head>p{max-width:390px}.menu-panel{max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain}.menu-panel nav a:last-child{border-bottom:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #94722e;outline-offset:5px}.photo-card:focus-visible .card-footer{text-decoration:underline}#project-viewer::backdrop{background:#151a16cc}.hero-copy{min-width:0}.hero-services{line-height:1.9}.photo-card h3,.photo-card h2{line-height:1.6}
@media(max-width:850px){.card-renovation{gap:25px}.card-renovation h3{font-size:1.65rem}.site-header .brand>span{font-size:16px}.menu-panel nav a{padding:15px 4px}.mobile-menu[open] summary{background:#eaece4;border-color:#929980}}
@media(max-width:600px){.site-header .brand>span{font-size:12px;letter-spacing:.07em}.hero-copy{align-self:stretch;padding-inline:24px}.hero h1{font-size:clamp(2.7rem,11.4vw,3.5rem);line-height:1.3}.hero .intro br{display:none}.service-grid{grid-template-columns:1fr;gap:30px}.card-renovation{display:flex;gap:0;padding:0 0 12px!important;border-top:0}.card-renovation .card-body{padding:20px 0 8px}.card-renovation h3{font-size:1.65rem}.card-renovation .service-media{aspect-ratio:1.35}.service-media{aspect-ratio:1.65}.card-body{padding:18px 0 6px}.card-description{margin-bottom:17px}.page-intro h1,.service-hero h1{font-size:2.3rem;line-height:1.45}.section-head h2{line-height:1.5}.menu-panel{left:12px;right:12px;top:calc(100% + 4px)}.system-highlights .steps strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.site-header,.service-media img{transition:none}.photo-card:hover{transform:none}}
@media(max-width:600px){.card-renovation{align-items:stretch}}
/* Locally hosted publisher fonts. Licenses are distributed in assets/site/fonts. */
@font-face{font-family:Anuphan;src:url('./fonts/anuphan-variable.woff2') format('woff2');font-style:normal;font-weight:100 700;font-display:swap}
@font-face{font-family:'LINE Seed Sans TH';src:url('./fonts/line-seed-th-regular.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:'LINE Seed Sans TH';src:url('./fonts/line-seed-th-bold.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
:root{font-family:'LINE Seed Sans TH',Tahoma,sans-serif;--paper:#faf8f3;--ink:#292c29;--muted:#62675f;line-height:1.75;font-synthesis:none}body{font-family:'LINE Seed Sans TH',Tahoma,sans-serif;font-weight:400}button,input,textarea,select{font-family:inherit}h1,h2,h3,.steps strong{font-family:Anuphan,Tahoma,sans-serif;font-weight:600;letter-spacing:0}h1,h2{line-height:1.35}p{line-height:1.85}.hero h1{font-size:clamp(3.1rem,5vw,4.8rem);line-height:1.3}.hero-services{font-size:clamp(15px,1.25vw,18px)}.intro{font-weight:400}.button,.site-header nav,.quote-panel label{font-weight:400}.button{border-radius:10px}.brand>span{font-family:Anuphan,sans-serif}.site-header,.site-header.is-scrolled{background:#faf8f3;backdrop-filter:none;opacity:1;isolation:isolate;overflow:visible;transform:none}.site-header{height:80px;z-index:40}.site-header.is-scrolled{box-shadow:0 3px 16px #292c2912}.menu-panel{background:#faf8f3;backdrop-filter:none}.menu-group-label{display:block;font-size:11px;letter-spacing:.04em;color:#7b6030;padding:14px 0 6px}.menu-close{display:block;margin-left:auto;background:transparent;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px 14px;color:var(--ink);font:inherit;cursor:pointer}.site-header .menu-panel nav a{font-size:15px;min-height:44px;padding:10px 0}.menu-panel nav a.menu-service{font-size:14px;padding-left:12px;border-left:2px solid #d8c59d}.site-header .menu-panel nav{padding:0}.service-index.wrap{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-index>span{display:none}.service-index a{padding:14px;font-size:14px;border:1px solid var(--line);border-radius:10px;align-items:center;line-height:1.6}.category-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:0;margin-top:32px;padding:0}.category-nav a{border:1px solid #dedbd1;border-radius:12px;padding:18px 16px;min-height:64px;display:flex;align-items:center;background:#f0ede4;font-size:14px;line-height:1.6;transition:background .2s,color .2s}.category-nav a:hover,.category-nav a[aria-current]{background:#292c29;color:#fff}.service-category{scroll-margin-top:100px}.category-services .card-renovation{grid-column:auto;display:flex;border:0;padding:0!important;gap:0;align-items:stretch}.category-services .card-renovation .card-body{padding:22px 0 8px}.category-services .card-renovation h3{font-size:1.4rem}.category-services .card-renovation .service-media{aspect-ratio:1.8}#roofing .category-services{grid-template-columns:1fr}#roofing .photo-card{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}#roofing .card-body{padding-right:24px}.service-media,.service-hero figure img{border-radius:14px}.prose{max-width:800px;font-size:17px;line-height:1.9}.prose h1{font-size:clamp(2.4rem,4vw,3.8rem);margin-bottom:40px}.prose h2{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.5;margin:36px 0 14px}.prose p{margin:0 0 20px}.quote-panel{border-radius:18px}.form-step h2{font-size:clamp(1.5rem,2.3vw,2rem)}.quote-panel input,.quote-panel select,.quote-panel textarea{font-weight:400}.form-progress li{line-height:1.6}.hero-image{border-radius:18px 18px 60px 18px}.portfolio-grid figure{border-radius:12px}.portfolio-grid figcaption{font-family:Anuphan,sans-serif;font-weight:500}.service-hero h1{font-size:clamp(2.4rem,4vw,4rem)}
@media(max-width:850px){.service-index.wrap,.category-nav{display:grid;grid-template-columns:1fr 1fr}.service-index a:last-child{grid-column:auto}.site-header{height:74px}.menu-panel{max-height:calc(100dvh - 154px);overflow-y:auto}.menu-panel nav a{touch-action:manipulation}}
@media(max-width:600px){.site-header,.site-header.is-scrolled{height:70px;min-height:70px;background:#faf8f3}.site-header>.button{font-size:12px}.site-header .brand>span{font-size:12px}.hero h1{font-size:clamp(2.6rem,11vw,3.5rem)}.hero-copy{padding-top:32px}.hero-image{border-radius:14px 14px 40px 14px}.service-index.wrap{gap:8px;padding-block:20px}.service-index a{font-size:12px;padding:12px 10px;border:1px solid var(--line)}.service-index a:last-child{border:1px solid var(--line)}.category-nav{gap:8px}.category-nav a{font-size:13px;padding:14px 12px;min-height:74px}.service-category .section-head h2{font-size:1.8rem}.category-services .card-renovation .service-media{aspect-ratio:1.65}#roofing .photo-card{display:flex;gap:0;align-items:stretch}#roofing .card-body{padding:18px 0 6px}.prose{font-size:16px}.prose h1{font-size:2.5rem}.prose h2{font-size:1.5rem}.quote-copy h1{font-size:2.3rem}.menu-panel{border-radius:12px}.mobile-menu[open] .menu-panel{animation:menu-enter .2s ease-out}.service-hero h1{font-size:2.4rem}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.category-nav a{transition:none}.mobile-menu[open] .menu-panel{animation:none}}
/* Keep dismissal reachable while the grouped mobile menu scrolls. */
.menu-close{position:sticky;top:0;background:#faf8f3;z-index:1}
