:root{--navy:#102936;--ink:#172d37;--muted:#536871;--gold:#d5b579;--paper:#f8f7f3;--line:#d1d9d7;--sidebar:232px;--footer:52px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--navy);color:var(--ink);font:15px/1.6 'Segoe UI',Arial,sans-serif;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;line-height:1.08;letter-spacing:-.045em;margin-bottom:22px}h1{font-size:clamp(44px,5.1vw,78px)}h2{font-size:clamp(31px,3.3vw,48px)}h3{font-size:21px;font-weight:500;line-height:1.3;letter-spacing:-.02em;margin-bottom:14px}p{margin-bottom:17px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:650;color:#7e6237;margin-bottom:20px}.light{color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:0}.header{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;z-index:30;display:flex;flex-direction:column;padding:18px 23px;border-right:1px solid #cfd7d5}.brand{display:block;width:100%;padding:0 2px}.brand-logo{width:100%;height:auto;object-fit:contain}.sidebar-caption{font-size:8px;letter-spacing:.15em;color:#8b744e;line-height:1.8;margin:7px 0 30px;text-align:center}.header nav{display:flex;flex-direction:column;gap:4px}.header nav a{padding:15px 9px;border-bottom:1px solid #e4e8e5;display:flex;align-items:center;gap:13px;font-size:12px;transition:background .2s}.tab-number{font-size:9px;color:#8b744e}.tab-arrow{margin-left:auto;color:#917544;opacity:0}.header nav a:hover{background:#f3f3ec}.header nav a[aria-selected=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.header nav a[aria-selected=true] .tab-number{color:var(--gold)}.header nav a[aria-selected=true] .tab-arrow{opacity:1;color:var(--gold)}.sidebar-bottom{margin-top:auto;padding:25px 9px 8px}.sidebar-bottom>span{font-size:8px;letter-spacing:.16em;color:#8b744e}.sidebar-bottom>a{display:block;font-size:11px;margin:8px 0 20px}.sidebar-bottom p{font:italic 18px/1.4 Georgia,serif;color:#76878b;margin:0}.menu-toggle{display:none}#main{margin-left:var(--sidebar);height:calc(100dvh - var(--footer));overflow:hidden;position:relative}[data-panel]{height:100%;width:100%;position:relative;overflow:auto;padding:clamp(28px,4.4vh,56px) clamp(28px,4vw,64px);background-size:cover;background-position:center;background-attachment:local;color:white;scrollbar-width:thin;scrollbar-color:#d5b57966 #10293666}[data-panel]:focus{outline:none}[data-panel]::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(90deg,#092534ed,#092534ad)}[data-panel]>*{position:relative;z-index:1}[data-panel] .eyebrow{color:var(--gold)}[data-panel] h2 em{color:var(--gold)}.hero{display:flex;flex-direction:column;justify-content:center;background-image:url('assets/hero.jpg');min-height:0;padding-bottom:75px}.hero-image{display:none}.hero-content{max-width:810px}.hero h1 em{color:var(--gold)}.hero .eyebrow{display:flex;align-items:center;gap:11px}.hero .eyebrow>span{width:25px;height:1px;background:var(--gold)}.hero-lead{max-width:485px;font-size:17px;color:#e0e7e7;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 20px;font-size:12px;font-weight:600;border:0;transition:background .2s}.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:#e4c68e}.text-link{border:0;background:none;color:inherit;font-size:12px;padding:9px 0}.text-link span{margin-left:15px}.hero-foot{position:absolute;bottom:24px;left:clamp(28px,4vw,64px);right:clamp(28px,4vw,64px);padding-top:18px;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.1em;color:#c6d3d7}.hero-foot i{font-style:normal;color:var(--gold);margin:0 10px}.services{background-image:url('assets/piping.jpg');padding-bottom:25px}.services>.wrap{height:100%;display:flex;flex-direction:column;min-height:0}.section-top{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:23px}.section-top h2{margin-bottom:0;font-size:clamp(30px,3vw,43px)}.section-top>p{font-size:12px;max-width:280px;margin-bottom:3px;color:#d1dfe2}.service-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff35;padding-bottom:15px}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{border:1px solid #ffffff45;background:#10293670;color:#e8eff0;padding:7px 10px;font-size:10px}.filters button.active{background:var(--gold);border-color:var(--gold);color:var(--navy)}.search{position:relative;max-width:210px;min-width:150px}.search input{width:100%;background:transparent;border:0;border-bottom:1px solid #afc2c4;color:#fff;padding:7px 24px 7px 0;font-size:11px;border-radius:0}.search input::placeholder{color:#d1dfe2}.search>span:last-child{position:absolute;right:0;top:0;font-size:22px}.service-count{font-size:10px;color:#cad8dc;margin:12px 0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow:auto;min-height:100px;align-content:start;padding:0 6px 6px 0;scrollbar-width:thin;scrollbar-color:var(--gold) #ffffff20}.service-card{background:#f8f7f3f2;color:var(--ink);padding:20px;display:flex;flex-direction:column;min-height:237px;border:1px solid #ffffff60}.card-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:17px;font-size:8px;letter-spacing:.065em;color:#667a76}.card-number{color:#8e692d}.service-card h3{font-size:19px;margin-bottom:12px}.service-card>p{color:var(--muted);font-size:12px;margin-bottom:17px}.service-card details{margin-top:auto;border-top:1px solid var(--line);padding-top:10px}.service-card summary{font-size:10px;list-style:none;display:flex;justify-content:space-between}.service-card summary::after{content:'+';font-size:17px}.service-card details[open] summary::after{content:'−'}.service-card ul{font-size:11px;line-height:1.6;color:var(--muted);padding-left:15px;margin-bottom:0}.service-card li{margin-bottom:6px}.empty-state{grid-column:1/-1;padding:30px;background:#102936c9}.empty-state button{background:none;border:0;text-decoration:underline;color:var(--gold)}.services-bottom{display:flex;justify-content:space-between;gap:16px;font-size:10px;margin-top:14px;padding-top:12px;border-top:1px solid #ffffff35}.services-bottom>span{color:#ccdade}.services-bottom a{color:var(--gold)}.approach{background-image:url('assets/construction.jpg');display:flex;flex-direction:column;justify-content:center}.approach .section-top{margin-bottom:40px}.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 40px;max-width:950px}.steps article{padding-top:18px;border-top:1px solid #ffffff50}.steps span{font-size:9px;letter-spacing:.12em;color:var(--gold)}.steps h3{margin-top:13px;font-size:22px}.steps p{font-size:13px;color:#d5e0e3;margin-bottom:0}.about{background-image:url('assets/founder.jpg');display:flex;align-items:center;justify-content:flex-end}.about::before{background:linear-gradient(90deg,#10293622,#1029368c 38%,#092534f5 70%)}.about-photo{display:none}.about-copy{background:#092534ce;max-width:560px;width:62%;padding:30px;border:1px solid #ffffff28}.about-copy h2{font-size:clamp(30px,3vw,44px)}.about-copy p{font-size:13px;color:#d2dfe2}.about-copy .lead{font-size:16px;color:#fff}.founder-sign{border-top:1px solid #ffffff35;padding-top:18px;margin-top:20px}.founder-sign strong{font-size:22px;display:block;font-weight:500}.founder-sign span{font-size:10px;color:var(--gold)}.about-copy .experience-note{font-size:9px;margin-top:16px;margin-bottom:0;color:#b7c8ce}.engagement{background-image:url('assets/construction.jpg');display:flex;flex-direction:column;justify-content:center}.engagement>h2{font-size:clamp(31px,3vw,43px)}.engagement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-bottom:27px}.engagement-grid article{border-top:1px solid #ffffff40;padding-top:16px}.engagement-grid article>span{font-size:11px;color:var(--gold)}.engagement-grid h3{font-size:21px;margin-top:13px}.engagement-grid p{font-size:12px;color:#d1dfe2}.engagement-grid a{font-size:11px;color:var(--gold)}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;border-top:1px solid #ffffff40;padding-top:22px}.faq .eyebrow{font-size:8px;margin-bottom:12px}.faq h2{font-size:30px}.faq details{padding:11px 0;border-bottom:1px solid #ffffff30}.faq summary{font-size:12px}.faq details p{font-size:11px;color:#d1dfe2;margin-top:13px;margin-bottom:0}.contact{background-image:url('assets/piping.jpg');display:flex;align-items:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;width:100%;align-items:center}.contact h2{font-size:clamp(32px,3.5vw,50px)}.contact-grid>div>p:not(.eyebrow){font-size:14px;color:#d1dfe2;max-width:350px}.email{display:block;font-size:22px;color:var(--gold);margin-top:28px}.email span{margin-left:12px}.location{display:block;font-size:10px;color:#c3d3d8;margin-top:12px}form{background:#082332c9;border:1px solid #ffffff25;padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;font-size:10px;margin-bottom:13px;color:#e2ebed}form input,form textarea,form select{width:100%;display:block;border:0;border-bottom:1px solid #8aa0a9;background:transparent;color:#fff;padding:6px 0;border-radius:0;font-size:13px}form select option{color:white;background:var(--navy)}form textarea{resize:vertical;min-height:55px}form textarea::placeholder{color:#b7c8cf;font-size:11px}.optional{color:#b7c8cf}.form-note{font-size:9px;color:#bbccd2;margin-bottom:15px}.contact form .button{padding:11px 17px;font-size:11px}#form-status{font-size:11px;color:var(--gold);margin-top:12px;margin-bottom:0}#email-fallback{font-size:10px;padding-top:17px}#prepared-email{font-size:11px}.footer{position:fixed;bottom:0;left:var(--sidebar);right:0;height:var(--footer);background:var(--navy);color:#c4d1d5;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 28px;z-index:10;font-size:9px;border-top:1px solid #ffffff20}.footer>div:first-child{display:flex;align-items:center;gap:13px}.footer-brand{font-size:11px;font-weight:600;color:var(--gold)}.footer p{font-size:8px;letter-spacing:.04em;margin:0}.footer>div:last-child{display:flex;align-items:center;gap:20px}.footer button{border:0;background:none;padding:0;color:inherit;font-size:9px}#business-details{letter-spacing:0;max-width:260px}dialog{border:0;background:var(--paper);color:var(--ink);padding:38px;max-width:630px;width:calc(100% - 36px);max-height:85vh;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#08212bbc}dialog h2{font-size:34px}dialog p{font-size:13px;color:var(--muted)}dialog a{text-decoration:underline}.dialog-close{position:absolute;right:14px;top:8px;border:0;background:none;color:var(--ink);font-size:28px}
@media(min-width:1450px){:root{--sidebar:260px}.header{padding:25px 25px}.sidebar-caption{margin-bottom:40px}.header nav a{font-size:14px;padding:19px 12px}.service-card{min-height:250px;padding:24px}.service-card h3{font-size:22px}.service-card>p{font-size:13px}}
@media(max-width:1100px){:root{--sidebar:202px}.header{padding:16px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tools{align-items:flex-start}.search{min-width:140px}.filters button{font-size:9px;padding:7px 8px}.section-top>p{max-width:220px;font-size:11px}.contact-grid{gap:25px}.contact h2{font-size:35px}.contact .email{font-size:18px}.about-copy{width:70%}.engagement-grid{gap:17px}.engagement-grid h3{font-size:19px}.footer>div:first-child>p:not(#business-details){display:none}}
@media(max-width:950px){:root{--sidebar:0px;--footer:44px;--top:100px}.header{inset:0 0 auto 0;width:100%;height:var(--top);padding:7px 20px;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:1px solid #d1d9d7}.brand{width:112px;padding:0}.brand-logo{width:112px}.sidebar-caption,.sidebar-bottom{display:none}.menu-toggle{display:flex;gap:10px;border:1px solid #cdd3cc;background:none;padding:8px 12px;font-size:11px}.header nav{display:none;position:absolute;top:var(--top);left:0;right:0;padding:16px 20px;background:white;box-shadow:0 12px 20px #0003}.header nav.open{display:flex}.header nav a{padding:12px 10px;font-size:12px}#main{margin-top:var(--top);height:calc(100dvh - var(--top) - var(--footer))}[data-panel]{padding:28px 24px}.hero{padding-bottom:64px}.hero h1{font-size:48px}.hero-lead{font-size:15px}.hero-actions{gap:15px;flex-wrap:wrap;margin-top:22px}.hero .button{gap:20px;font-size:11px;padding:13px 17px}.hero-foot{left:24px;right:24px;bottom:19px;font-size:7px}.hero-foot>span:last-child{display:none}.eyebrow{font-size:9px;margin-bottom:18px}.section-top{display:block;margin-bottom:19px}.section-top h2{font-size:35px}.section-top>p{max-width:none;font-size:11px;margin:14px 0 0}.service-tools{display:block}.filters{margin-bottom:13px}.filters button{font-size:9px;padding:6px 8px}.search{max-width:none}.service-count{font-size:9px}.service-grid{gap:10px}.service-card{padding:16px;min-height:220px}.service-card h3{font-size:19px}.service-card>p{font-size:11px}.services-bottom{font-size:9px;display:block}.services-bottom>span{display:none}.approach{justify-content:flex-start}.approach .section-top{margin-bottom:25px}.steps{gap:22px}.steps h3{font-size:20px}.steps p{font-size:12px}.about{justify-content:flex-end;align-items:flex-start;background-position:35% center}.about::before{background:#092534ad}.about-copy{width:100%;padding:22px;background:#092534db}.about-copy h2{font-size:35px}.about-copy .lead{font-size:15px}.about-copy p{font-size:12px}.engagement{justify-content:flex-start}.engagement-grid{grid-template-columns:1fr;gap:20px}.engagement-grid h3{margin:8px 0 12px;font-size:23px}.engagement-grid p{font-size:13px}.faq{grid-template-columns:1fr;gap:10px}.faq h2{font-size:30px}.faq summary{font-size:13px}.contact{align-items:flex-start}.contact-grid{grid-template-columns:1fr;gap:26px}.contact h2{font-size:37px}.contact .email{font-size:21px;margin-top:21px}.contact-grid>div>p:not(.eyebrow){font-size:13px}.contact form{padding:20px}.footer{padding:8px 18px;font-size:8px}.footer>div:last-child{gap:16px}.footer>div:last-child>a{display:none}.footer-brand{font-size:10px}.footer button{font-size:8px}#business-details{font-size:7px;max-width:150px}.form-row{gap:15px}}
@media(max-width:480px){.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.hero h1{font-size:43px}.hero-lead{font-size:14px}.hero .eyebrow{font-size:8px}.steps{grid-template-columns:1fr;gap:22px}.form-row{grid-template-columns:1fr;gap:0}.services .section-top>p{display:none}.services .section-top h2{font-size:32px}.services .section-top{margin-bottom:15px}.services .eyebrow{margin-bottom:12px}.service-tools{padding-bottom:10px}.filters{gap:4px}.filters button{font-size:8px;padding:6px 7px}}
@media(max-height:650px) and (min-width:951px){.sidebar-caption{margin-bottom:16px}.header nav a{padding:10px 8px}.sidebar-bottom{padding-top:15px}.sidebar-bottom p{display:none}.hero h1{font-size:52px}.hero-lead{font-size:14px}.hero-actions{margin-top:15px}.hero .eyebrow{margin-bottom:15px}.about{align-items:flex-start}.approach,.engagement{justify-content:flex-start}.contact{align-items:flex-start}.section-top{margin-bottom:18px}.services .section-top h2{font-size:32px}.services .section-top .eyebrow{margin-bottom:12px}}
.service-grid{grid-auto-rows:max-content}
@media(max-width:950px){.header nav{max-height:calc(100dvh - var(--top));overflow-y:auto}}
/* Phone controls remain comfortable to tap and avoid input zoom on iOS. */
@media(max-width:950px){
  .menu-toggle{min-height:44px;min-width:76px}
  .header nav a{min-height:44px}
  .filters button{min-height:44px;font-size:10px;padding:8px 10px}
  .search input{min-height:44px;font-size:16px}
  .service-card summary{min-height:44px;align-items:center;font-size:12px}
  .engagement-grid a,.services-bottom a{display:inline-flex;min-height:44px;align-items:center}
  form input,form select,form textarea{font-size:16px;min-height:44px}
  .contact form .button{min-height:44px}
  .footer button{min-height:44px;padding:0 5px}
  .dialog-close{min-width:44px;min-height:44px}
  .hero .button{min-height:44px}
  .hero .text-link{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:480px){.filters{display:grid;grid-template-columns:1fr 1fr}.filters button{font-size:10px}.services-bottom{margin-top:9px;padding-top:6px}.service-count{margin:8px 0}}
@media(max-height:600px) and (max-width:950px){
  [data-panel]{padding-top:24px}
  .hero{justify-content:flex-start}
  .hero-foot{position:relative;left:auto;right:auto;bottom:auto;margin-top:25px}
  .services>.wrap{min-height:520px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
