:root{--ink:#20211e;--gold:#c19a43;--paper:#f5f3ed;--line:#d9d6ca;font:16px/1.75 'Leelawadee UI',Tahoma,Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1{font-size:clamp(3rem,5.5vw,5.9rem);line-height:1.2;font-weight:700;letter-spacing:-.035em}h1 em{font-style:normal;color:#9d7829}h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.35;letter-spacing:-.025em}h3{font-size:1.3rem;line-height:1.45}.wrap{width:min(1240px,calc(100% - 96px));margin:0 auto}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 48px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand>span{font:bold 22px/1.2 Arial,sans-serif;letter-spacing:.07em}.brand small{display:block;font:14px/1.4 Tahoma,sans-serif;letter-spacing:0;margin-top:6px}.site-header nav{display:flex;gap:30px}.site-header nav a:hover,.text-link:hover{color:#8a641a}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:50px;background:var(--ink);color:#fff;padding:12px 25px;border:1px solid var(--ink);font-weight:600;cursor:pointer}.button:hover{background:#464537}.hero{display:grid;grid-template-columns:46% 54%;min-height:670px}.hero-copy{padding:68px 38px 52px max(48px,calc((100vw - 1240px)/2));}.eyebrow{font:600 12px/1.6 Arial,Tahoma,sans-serif;letter-spacing:.15em;color:#76602e;margin-bottom:23px}.intro{margin-top:26px;color:#585b52;line-height:1.9;font-size:17px}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:30px}.text-link{font-weight:600;border-bottom:1px solid currentColor;padding:9px 0}.hero-contact{display:flex;flex-wrap:wrap;gap:13px;margin-top:36px;font-size:14px}.hero-contact span{color:#73766a}.hero-image{position:relative;overflow:hidden;background:#ddd9c9}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:52% center}.image-caption{position:absolute;bottom:24px;right:24px;left:24px;background:#f5f3edf2;padding:17px 22px;display:grid;grid-template-columns:1fr 35px;align-items:center}.image-caption span{font-size:12px;color:#606657}.image-caption strong{font-size:17px;grid-row:2}.image-caption a{grid-column:2;grid-row:1/3;font-size:27px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head p:not(.eyebrow){color:#606457}.wrap:not(footer){padding-top:86px;padding-bottom:86px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:27px 24px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;min-height:234px}.service-card:hover{background:#ece7d9}.number{font:13px Arial;color:#826b38}.service-card h3{margin:24px 0 12px}.service-card p{font-size:15px;color:#626557;padding-right:15px}.arrow{position:absolute;right:20px;bottom:18px}.tent-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white}.tent-feature>div:first-child{min-height:520px}.tent-feature img{height:100%;width:100%;object-fit:cover}.feature-copy{padding:70px max(48px,calc((100vw - 1240px)/2)) 60px 65px}.feature-copy .eyebrow{color:#ddbd74}.feature-copy p:not(.eyebrow){margin:24px 0 30px;color:#d0d2c7}.feature-copy .button{background:#cfad62;border-color:#cfad62;color:#20211e}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}figure{margin:0}.portfolio-grid img{height:295px;width:100%;object-fit:cover}.portfolio-grid figcaption{padding:15px 0;border-bottom:1px solid var(--line)}.cta{border-top:1px solid var(--line);text-align:center}.cta .button{margin-top:30px}footer{border-top:1px solid var(--line);padding:42px 0 55px}footer p{margin:18px 0;color:#66695e;font-size:14px}.footer-links{display:flex;flex-wrap:wrap;gap:25px;font-size:14px}.mobile-bar{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;z-index:50;background:#fff;padding:15px}:focus-visible{outline:3px solid #b38932;outline-offset:4px}@media(max-width:1000px){.site-header{padding:0 25px}.site-header nav{gap:18px}.brand>span{font-size:18px}.hero-copy{padding:50px 28px}.service-grid{grid-template-columns:repeat(2,1fr)}.wrap{width:calc(100% - 50px)}.feature-copy{padding:45px 30px}}@media(max-width:700px){body{padding-bottom:58px}.site-header{height:auto;min-height:90px;flex-wrap:wrap;gap:12px;padding:16px 20px}.site-header>.button{font-size:13px;padding:8px 12px;min-height:42px;gap:4px}.site-header nav{order:3;width:100%;justify-content:space-between;font-size:14px;padding-top:9px}.brand img{width:43px;height:43px}.brand>span{font-size:16px}.brand small{font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 24px}.hero h1{font-size:3.4rem}.hero-image{height:390px}.intro{font-size:16px}.hero-contact{margin-top:25px}.wrap{width:calc(100% - 40px)}.wrap:not(footer){padding-top:55px;padding-bottom:55px}.section-head{display:block}.section-head>p,.section-head>.text-link{display:inline-block;margin-top:22px}.service-card{padding:20px 15px;min-height:240px}.service-card h3{font-size:1.15rem}.service-card p{font-size:14px}.tent-feature{grid-template-columns:1fr}.tent-feature>div:first-child{min-height:0;height:330px}.feature-copy{padding:40px 25px 48px}.portfolio-grid{grid-template-columns:1fr;gap:25px}.portfolio-grid img{height:320px}.mobile-bar{position:fixed;z-index:30;bottom:0;left:0;right:0;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{text-align:center;padding:13px 0;border-right:1px solid var(--line);font-size:15px;font-weight:600}.mobile-bar a:last-child{background:var(--ink);color:white}.footer-links{gap:15px}}

[hidden]{display:none!important}.breadcrumb.wrap{padding-top:24px;padding-bottom:0;font-size:13px;color:#626557}.breadcrumb a{text-decoration:underline}.page-intro h1,.service-hero h1,.quote-layout h1,.prose h1{font-size:clamp(2.6rem,4.4vw,4.7rem)}.compact.wrap{padding-top:0}.service-card h2{font-size:1.3rem;line-height:1.45;margin:24px 0 12px}.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.service-hero figure img{height:450px;width:100%;object-fit:cover}.service-hero figcaption{font-size:13px;color:#646659;margin-top:10px}.technical-panel{background:var(--ink);color:var(--paper);padding:60px 40px;min-height:350px}.technical-panel>span{font-size:52px;color:#cfad62}.technical-panel strong{font-size:32px;line-height:1.5}.technical-panel p{margin:25px 0 12px}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.two-grid img{height:370px;width:100%;object-fit:cover}.two-grid figcaption{padding:20px 0}.size-list{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 30px}.size-list span{padding:14px 28px;border:1px solid var(--line);font-weight:600}.dark-section{background:var(--ink);color:var(--paper)}.dark-section .eyebrow{color:#ddbd74}.dark-section .intro{color:#d0d2c7}.gold{background:#cfad62;color:var(--ink);border-color:#cfad62;margin-top:30px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq h2{margin-bottom:25px}.faq summary{font-weight:600;cursor:pointer;min-height:32px}.faq details p{padding-top:15px;max-width:900px}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;counter-reset:step}.steps li{border-top:1px solid var(--line);padding-top:25px}.steps li:before{counter-increment:step;content:'0' counter(step);display:block;color:#826b38;margin-bottom:20px}.steps p{margin-top:15px;color:#626557}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:35px 0}.filters button,.location-choice button,.consent-panel button{background:transparent;border:1px solid #8d8f81;padding:10px 18px;cursor:pointer;color:var(--ink)}.filters [aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.empty-state{padding:35px;border:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.contact-grid a{display:flex;flex-direction:column;gap:12px;padding:36px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.contact-grid a:hover{background:#ebe7dc}.contact-grid span{font-size:14px;color:#616657}.contact-grid strong{font-size:30px}.contact-help{margin-top:35px}.quote-layout{display:grid;grid-template-columns: .85fr 1.15fr;gap:70px;align-items:start}.quote-panel{background:#fff;padding:32px;border:1px solid var(--line)}.quote-panel label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{grid-column:1/-1}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:12px;border:1px solid #8c9183;background:#fff;color:var(--ink);border-radius:0;min-height:48px;margin-top:7px}textarea{resize:vertical}.form-hint{font-size:13px;color:#626557;margin:22px 0}.quote-copy .form-hint{margin-top:35px}fieldset{margin:5px 0 22px;padding:20px 15px 0;border:1px solid var(--line)}legend{padding:0 8px;font-weight:600}.check{display:flex!important;gap:12px;font-weight:400!important}.check input{width:20px;height:20px;flex:0 0 20px;margin:3px 0}.check a{text-decoration:underline}.submit-quote{width:100%}button:disabled{opacity:.6;cursor:wait}#quote-status:not(:empty){padding:18px;background:#f5f3ed;border-left:3px solid #8c6a24;overflow-wrap:anywhere}.location-choice{padding:10px 0 22px}.location-choice button{font-size:13px;margin:0 8px 10px 0}.location-choice p{font-size:12px;color:#616657}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.prose{max-width:850px}.prose h2{font-size:1.6rem;margin:35px 0 16px}.prose p{margin:15px 0}.prose p a{text-decoration:underline}.chat-launch{position:fixed;bottom:25px;right:25px;border:1px solid #cfad62;background:var(--ink);color:#efd491;box-shadow:0 4px 20px #0002;padding:14px 20px;z-index:35;cursor:pointer}.chat-launch:hover{background:#37392f}dialog{padding:0;border:1px solid #7a714f;width:min(440px,calc(100% - 28px));max-height:calc(100dvh - 32px);color:var(--ink);background:#f5f3ed}dialog::backdrop{background:#14161199}.chat-head{display:flex;gap:12px;align-items:center;background:var(--ink);color:white;padding:20px}.chat-head h2{font-size:19px}.chat-head p{font-size:12px;color:#ddbd74}.chat-close{margin-left:auto;background:transparent;color:white;border:0;font-size:28px;cursor:pointer;min-width:44px;min-height:44px}.chat-body{padding:22px}.chat-notice{font-size:12px;color:#626557;margin-bottom:16px}#chat-messages{max-height:210px;overflow:auto;overflow-wrap:anywhere}.chat-reply,.chat-question{padding:15px;background:#fff;border:1px solid var(--line);font-size:14px;margin-bottom:15px}.chat-question{background:#e8e2d1;margin-left:30px}.chat-input{display:flex;gap:8px;align-items:end}.chat-input input{min-width:0}.chat-input .button{padding:10px 17px}.chat-body label{font-size:13px}.chat-alternatives{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;margin:18px 0}.chat-alternatives a{border-bottom:1px solid currentColor;padding:5px 0}.chat-body>a{font-size:12px;text-decoration:underline}.consent-panel{position:fixed;z-index:45;background:white;border:1px solid var(--line);box-shadow:0 4px 25px #0002;left:20px;bottom:25px;max-width:440px;padding:22px}.consent-panel p{font-size:14px;margin-bottom:15px}.consent-panel button{margin-right:10px}.consent-panel button:last-child{background:var(--ink);color:white}@media(max-width:1000px){.quote-layout{gap:30px;grid-template-columns:.8fr 1.2fr}.quote-panel{padding:24px}.service-hero{gap:30px}}@media(max-width:700px){.service-hero,.quote-layout,.two-grid,.steps,.contact-grid{grid-template-columns:1fr}.service-hero figure img{height:340px}.two-grid img{height:290px}.service-hero{gap:32px}.page-intro h1,.service-hero h1,.quote-layout h1,.prose h1{font-size:2.6rem}.quote-panel{padding:22px 16px}.form-grid{grid-template-columns:1fr}.quote-layout{gap:25px}.contact-grid a{padding:28px 22px}.contact-grid strong{font-size:26px}.chat-launch{bottom:74px;right:15px;font-size:13px;padding:11px 16px}.chat-body{padding:18px}.consent-panel{left:12px;right:12px;bottom:72px;max-width:none}.size-list span{padding:12px 19px}.filters button{font-size:13px}.service-card h2{font-size:1.15rem}}

/* Keep the form and its receipt clear of floating controls. Chat remains available below it. */
body[data-page="/quote/"] .chat-launch{position:static;display:block;margin:0 20px 24px auto}

/* Approved Phase 3 conversion polish: retain the existing visual system. */
.hero-services{font-size:clamp(16px,1.35vw,20px);font-weight:600;line-height:1.7;margin-top:26px}.hero-services+.intro{margin-top:12px}.tent-hero.wrap{padding-top:42px;padding-bottom:56px}.tent-hero h1{font-size:clamp(2.6rem,4vw,4.4rem)}.tent-hero .intro{margin-top:18px}.tent-facts{margin:24px 0 0;border-top:1px solid var(--line)}.tent-facts>div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.tent-facts dt{color:#626557;font-size:14px}.tent-facts dd{margin:0;font-weight:600;font-size:15px}.tent-hero .actions{margin-top:24px}.chat-alternatives{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chat-alternatives a:last-child{grid-column:1/-1;grid-row:1;padding:12px;text-align:center;background:var(--ink);color:#fff;border:0}.chat-alternatives a:not(:last-child){padding:9px 0}.hero-contact a{padding:5px 0}@media(max-width:700px){.hero-copy{padding:32px 24px}.hero-services{font-size:16px;margin-top:22px}.hero-services+.intro{margin-top:10px}.tent-hero.wrap{padding-top:30px;padding-bottom:40px}.tent-hero .eyebrow{margin-bottom:14px}.tent-facts{margin-top:18px}.tent-facts>div{grid-template-columns:84px 1fr;gap:8px;padding:9px 0}.tent-facts dd{font-size:14px}.mobile-bar{grid-template-columns:.85fr 1fr 1.4fr}.mobile-bar a{font-size:13px}.site-header nav a{padding:6px 0;min-height:36px}.site-header{gap:8px}.site-header nav{padding-top:3px}.chat-launch{font-size:13px}}@media(max-width:375px){.site-header{padding-left:16px;padding-right:16px}.site-header>.button{padding:8px 10px;font-size:12px}.brand{gap:8px}.brand>span{font-size:15px}.hero h1{font-size:3.15rem}}

/* Calm, finite motion. No scroll hijacking, looping effects, or mobile parallax. */
.site-header{position:sticky;top:0;z-index:40;background:var(--paper);transition:background-color 180ms ease,box-shadow 180ms ease}.site-header.is-scrolled{background:#f5f3edf7;box-shadow:0 4px 16px #20211e0d}.mobile-menu{display:none}.button,.text-link,.service-card,.filters button{transition:transform 180ms ease,background-color 180ms ease,color 180ms ease,border-color 180ms ease}.button span,.arrow{display:inline-block;transition:transform 180ms ease}.portfolio-grid figure{overflow:hidden;position:relative}.portfolio-grid img{transition:transform 350ms ease,filter 350ms ease}.portfolio-grid figcaption{position:relative;background:var(--paper)}.reveal-ready{opacity:0;transform:translateY(10px);transition:opacity 380ms ease,transform 380ms ease}.reveal-ready.is-revealed,.reveal-ready:focus-within{opacity:1;transform:none}input,select,textarea{transition:border-color 160ms ease,box-shadow 160ms ease}input:focus,select:focus,textarea:focus{border-color:#8c6a24;box-shadow:0 0 0 2px #b389321c}#quote-form[data-state=loading] .submit-quote{opacity:.65}#quote-form[data-state=success] #quote-status{border-color:#53654a;background:#edf1e8;animation:soft-in 180ms ease}#quote-form[data-state=error] #quote-status{border-color:#95693b}dialog[open]{animation:soft-in 180ms ease}dialog[open]::backdrop{animation:backdrop-in 180ms ease}.chat-question,.chat-reply{animation:soft-in 180ms ease}@keyframes soft-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}@keyframes hero-settle{from{transform:scale(1.015)}to{transform:scale(1)}}main{scroll-margin-top:135px}section[id]{scroll-margin-top:135px}@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}.button:hover span,.service-card:hover .arrow{transform:translate(2px,-2px)}.service-card:hover{transform:translateY(-2px)}.portfolio-grid figure:hover img{transform:scale(1.025);filter:brightness(.94)}.hero-image>img{animation:hero-settle 800ms ease-out both}}@media(max-width:700px){.site-header>nav{display:none}.mobile-menu{display:block;width:100%;position:static}.mobile-menu summary{list-style:none;cursor:pointer;text-align:right;font-size:14px;padding:5px 0;min-height:34px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{margin-left:10px}.menu-panel{position:absolute;top:100%;left:16px;right:16px;padding:12px 20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 22px #20211e12}.mobile-menu[open] .menu-panel{animation:soft-in 160ms ease}.site-header .menu-panel nav{display:flex;flex-direction:column;gap:0;padding:0}.menu-panel nav a{min-height:46px;padding:10px 0;border-bottom:1px solid var(--line)}.menu-panel nav a:last-child{border:0}.hero-image>img{animation:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none}.button:hover,.service-card:hover,.portfolio-grid figure:hover img,.button:hover span,.service-card:hover .arrow{transform:none}}

/* Final approved wording polish: natural service introduction, quieter weight. */
.hero-services{font-weight:400;color:#585b52}
