@font-face{font-family:Desert Display;src:url('/assets/desert-display.woff') format('woff');font-style:normal;font-weight:800;font-display:swap}
:root{--black:#191917;--ink:#25231e;--paper:#f5ecdc;--paper-light:#fcf5e9;--orange:#ea8850;--rust:#9d411d;--copper:#bd643c;--muted:#c7b8a5;--line:#594534;--font:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:'Desert Display','Arial Narrow',sans-serif;--space:clamp(3.7rem,7.5vw,7rem)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:1.75rem}
body{margin:0;background:var(--black);color:var(--paper);font-family:var(--font);line-height:1.55}
h1,h2,h3,p,ol,ul{margin:0}
a{color:inherit;text-underline-offset:.24em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #c65e2b;outline-offset:4px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.72}
img{display:block;max-width:100%;height:auto}
svg{flex:none;width:1.25rem;height:1.25rem;vertical-align:middle}
[hidden],html:not(.js) #inquiry-form{display:none!important}
.wrap{width:min(1280px,calc(100% - 7.5rem));margin-inline:auto}
.skip{position:absolute;z-index:2;top:.5rem;left:.5rem;padding:.6rem 1rem;background:var(--paper);color:var(--ink);transform:translateY(-160%)}
.skip:focus{transform:translateY(0)}
.site-header{position:relative;z-index:1;background:#191917;border-top:3px solid #a7502d;border-bottom:1px solid #543b2b}
.header-row,.brand,.head-actions{display:flex;align-items:center}
.header-row{min-height:82px;justify-content:space-between;gap:1.25rem}
.brand{text-decoration:none;gap:.6rem;width:max-content;flex:none}
.brand img{width:45px}
.wordmark{display:grid;line-height:1.08;white-space:nowrap}
.wordmark>span,.wordmark>small{font-size:.63rem;font-weight:850;letter-spacing:.24em;color:#e4ae82}
.wordmark>strong{font-family:var(--display);font-size:1.2rem;letter-spacing:-.045em}
#primary-nav{display:flex;align-items:center;gap:clamp(.85rem,2.15vw,2.15rem)}
#primary-nav a{position:relative;color:#ddd0bf;text-decoration:none;white-space:nowrap;font-size:.87rem;font-weight:650;padding:.85rem 0}
#primary-nav a[aria-current],#primary-nav a:hover{color:#ffaf7d}
#primary-nav a[aria-current]::after{position:absolute;content:'';inset:auto 0 .37rem;height:1px;background:var(--copper)}
.head-actions{gap:.6rem}
.head-estimate,#menu-toggle{border:1px solid #a96541;background:transparent;color:#f9d1ae;padding:.58rem .7rem;min-height:44px;display:inline-flex;align-items:center;gap:.5rem;font-weight:780;font-size:.79rem;white-space:nowrap;text-decoration:none}
.head-estimate svg{width:1rem}
.head-estimate:hover,#menu-toggle:hover{background:#36271f}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.04}
h1,h2{text-transform:uppercase;letter-spacing:-.035em}
h1{font-size:clamp(3.1rem,6.3vw,6.25rem)}
h2{font-size:clamp(2.2rem,4.65vw,4.3rem)}
h3{font-size:clamp(1.15rem,1.75vw,1.5rem);letter-spacing:-.045em}
em{color:var(--orange);font-style:normal}
.eyebrow{display:flex;align-items:center;gap:.6rem;color:#f0b17e;font-family:ui-monospace,monospace;font-size:.77rem;font-weight:800;letter-spacing:.13em;line-height:1.4;margin-bottom:1.08rem}
.eyebrow>span{width:1.5rem;height:.46rem;flex:none;background:linear-gradient(to bottom,var(--copper) 0 1px,transparent 1px 4px,var(--copper) 4px 5px,transparent 5px)}
.lede{font-size:clamp(1rem,1.5vw,1.18rem);max-width:39ch;line-height:1.6;color:#e0cfb8;margin-top:1.3rem}
.hero{overflow:hidden;background:radial-gradient(ellipse at 76% 63%,#382920 0,transparent 50%),#191917}
.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;min-height:clamp(470px,45vw,635px)}
.hero-copy{position:relative;z-index:1;padding:3.6rem 0}
.hero h1{font-size:clamp(3.25rem,6.4vw,6.5rem);line-height:.99}
.hero h1 em{display:block}
.hero h1 br{display:none}
.hero-art{width:115%;justify-self:center;margin-left:-.5rem}
.hero-art img{width:100%;mask-image:radial-gradient(ellipse at center,#000 53%,rgba(0,0,0,.9) 65%,transparent 79%);filter:saturate(.94)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.85rem}
.button{min-height:48px;display:inline-flex;justify-content:center;align-items:center;gap:.72rem;padding:.7rem 1rem;border:1px solid transparent;border-radius:2px;background:#22211d;color:#fff1dd;font-size:.86rem;font-weight:800;text-decoration:none;line-height:1.35}
.button svg{width:1.1rem;height:1.1rem}
.button:hover{background:#3d3328;text-decoration:none}
.button.primary{background:#ed9259;color:#27170c;border-color:#ed9259}
.button.primary:hover{background:#ffad74;border-color:#ffad74}
.button.outline{background:transparent;border-color:#986648;color:inherit}
.button.outline:hover{background:rgba(173,97,56,.15)}
.hero-bottom{border-top:1px solid #4f3c31;border-bottom:3px double #74472f;background:#1f1d19}
.hero-bottom .wrap{display:flex;align-items:center;gap:1.35rem;min-height:50px}
.hero-bottom span,.hero-bottom a{font-family:ui-monospace,monospace;color:#efd2af;font-weight:750;font-size:.77rem;letter-spacing:.085em;white-space:nowrap}
.hero-bottom svg{color:#e18c5b;margin-right:.26rem;width:.99rem;height:.99rem}
.hero-rule{flex:1;height:1px;background:#584031}
.section{padding-block:var(--space)}
.paper{background:var(--paper);color:var(--ink)}
.paper em,.paper .eyebrow,.quote-band .eyebrow{color:var(--rust)}
.section-heading{margin-bottom:2rem}
.service-grid,.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.service-card,.detail-card{display:flex;flex-direction:column;gap:.65rem;align-items:flex-start;padding:clamp(1.1rem,2.5vw,1.9rem);border:1px solid #d5c3a9;background:var(--paper-light);text-decoration:none;color:var(--ink)}
.service-card:hover{background:#fff9ef;border-color:#a3542c;text-decoration:none}
.card-top{display:flex;width:100%;align-items:center;justify-content:space-between;color:#795842;font:700 .77rem ui-monospace,monospace}
.card-icon{color:var(--rust);display:grid;place-items:center;border:1px solid #d9c0a5;width:2.65rem;height:2.65rem;flex:none}
.card-icon svg{width:1.47rem;height:1.47rem}
.service-card p,.detail-card p,.editorial p,.faq-list p,.contact-aside p:not(.eyebrow){color:#584b3b}
.card-link{display:inline-flex;align-items:center;gap:.42rem;color:#853815;font-weight:800;font-size:.84rem;padding-top:.55rem;margin-top:auto}
.card-link svg{width:.9rem}
.color-strip{margin-top:1rem;padding:1.15rem 1.25rem;display:flex;align-items:center;gap:1rem;border:1px solid #d5c3a9}
.color-strip h3{font-size:1.13rem}
.color-strip p{margin-top:.2rem}
.color-strip .button{margin-left:auto}
.method{background:#221f1a;border-block:1px solid #62412c}
.method-inner,.editorial,.coverage-inner,.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.7rem,5.3vw,6rem)}
.method ol{padding:0;list-style:none;counter-reset:work}
.method li{position:relative;border-top:1px solid #634832;padding:.8rem 0 1rem 3rem;counter-increment:work}
.method li::before{content:'0' counter(work) ' /';position:absolute;left:0;top:.94rem;color:#ea9c6f;font:700 .78rem ui-monospace,monospace}
.method li strong{font-size:1.05rem}
.method li p{color:var(--muted);margin-top:.18rem}
.coverage{padding-block:clamp(2.8rem,6vw,5.1rem);background:#2c2d22}
.coverage-inner{align-items:center}
.coverage p:not(.eyebrow){color:#e4d7bc}
.areas{display:flex;gap:.5rem;flex-wrap:wrap;padding:0;list-style:none;margin-top:1rem}
.areas li{border:1px solid #777358;padding:.28rem .58rem;color:#f1e6d2;font-size:.85rem}
.quote-band{padding-block:clamp(2.5rem,5vw,4.3rem);background:#e5aa78;color:#282015}
.quote-inner{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}
.quote-inner .eyebrow{color:#602d16;margin-bottom:.5rem}
.quote-inner h2{font-size:clamp(1.85rem,3.65vw,3.2rem)}
.masthead{padding-block:clamp(3rem,6.8vw,6rem);background:radial-gradient(ellipse at 82% 100%,#493023 0%,#221e18 43%,#191917 78%);border-bottom:3px double #78492e}
.masthead h1{font-size:clamp(2.8rem,6.2vw,5.6rem)}
.masthead .lede{max-width:53ch}
.detail-card{gap:.9rem;scroll-margin-top:1rem}
.detail-card:target{border:2px solid #a3542c}
.detail-card h2{font-size:clamp(1.42rem,2.3vw,2rem)}
.detail-card .button{margin-top:auto}
.editorial h2{margin-bottom:1.1rem}
.editorial h3+p,.editorial p+p{margin-top:.55rem}
.editorial p+h3,.editorial .button{margin-top:1.35rem}
.faq-list{max-width:830px}
details{border-top:1px solid #bda98d;padding-block:.75rem}
details:last-child{border-bottom:1px solid #bda98d}
summary{cursor:pointer;font-weight:780;padding-block:.22rem}
details p{margin:.4rem 0 .2rem}
.contact-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.contact-aside h2{font-size:clamp(2rem,3.5vw,3.3rem);margin-bottom:.8rem}
.contact-direct{display:grid;gap:.3rem;margin-block:1.6rem;overflow-wrap:anywhere}
.contact-direct a{color:#783816}
.form-panel{padding:clamp(1rem,3vw,2rem);border:1px solid #d5c3a9;background:#fff9ef}
.form-kicker{color:#594c3f;font-size:.9rem;margin-bottom:1.1rem}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
label{display:block;font-weight:750;font-size:.9rem}
label span{color:#695a49;font-weight:500}
input,select,textarea{display:block;width:100%;min-height:46px;padding:.59rem .62rem;border:1px solid #a38e72;border-radius:2px;margin-top:.32rem;background:white;color:#29231e;font-size:1rem}
textarea{resize:vertical}
.form-panel form .button{margin-top:1.2rem}
.form-status{margin-top:.5rem;color:#862d14;font-weight:650}
.form-status:empty{display:none}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.inquiry-success h2{font-size:clamp(2rem,4vw,3rem)}
.inquiry-success p:not(.eyebrow){margin-block:.85rem}
.receipt{font:800 1.15rem ui-monospace,monospace;color:#7b381e}
.inbox{max-width:850px}
.inbox-card{border:1px solid #cbb397;padding:1.15rem;background:var(--paper-light);margin-block:.85rem}
.inbox-card dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.18rem .8rem;margin-block:.65rem}
.inbox-card dd{margin:0;overflow-wrap:anywhere}
.inbox-card dt{font-weight:750}
.inbox-card .inbox-details{white-space:pre-wrap;overflow-wrap:anywhere}
.inbox-card h2{font-size:1.42rem}
.site-footer{background:#191917;border-top:1px solid #784a31}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:1.75rem;padding-block:2.3rem}
.footer-slogan,.footer-contact{display:grid;gap:.18rem}
.footer-slogan span,.footer-bottom{color:#cbb7a1;font-size:.82rem}
.footer-contact{font-size:.9rem;overflow-wrap:anywhere}
.footer-bottom{border-top:1px solid #4f4034;display:flex;justify-content:space-between;gap:.65rem;padding-block:.9rem}
.footer-bottom div{display:flex;flex-wrap:wrap;gap:.65rem 1rem}
@media(max-width:1080px){
  .wrap{width:calc(100% - 4rem)}
  .header-row{gap:.9rem}
  .hero h1{font-size:clamp(3.12rem,6.75vw,5.1rem)}
}
@media(max-width:820px){
  .wrap{width:calc(100% - 2.5rem)}
  .header-row{flex-wrap:wrap;min-height:65px;padding-block:.65rem;column-gap:1rem;row-gap:.5rem}
  .brand img{width:37px}
  .wordmark>strong{font-size:1.05rem}
  .wordmark>span,.wordmark>small{font-size:.52rem}
  #primary-nav{order:3;flex:1 1 100%;flex-wrap:wrap;column-gap:1.2rem}
  .js #primary-nav{display:none}
  .js #primary-nav.is-open{display:flex}
  #primary-nav a{padding:.56rem 0}
  .head-actions{margin-left:auto}
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,.84fr);min-height:395px}
  .hero-art{width:124%}
  .service-grid,.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:590px){
  .hero-inner{display:flex;flex-direction:column;align-items:stretch}
  .hero-copy{padding:2.9rem 0 0}
  .hero h1{font-size:clamp(2.55rem,9vw,3.75rem)}
  .hero .lede{margin-top:1rem}
  .hero-actions{margin-top:1.35rem}
  .hero-art{width:min(111%,460px);align-self:center;margin:-.25rem 0 -.45rem}
  .hero-bottom .wrap{gap:.45rem;justify-content:space-between}
  .hero-bottom a,.hero-bottom span{letter-spacing:0;font-size:.67rem}
  .hero-bottom svg{display:none}
  .method-inner,.coverage-inner,.editorial,.contact-grid,.field-grid{grid-template-columns:1fr}
  .quote-inner,.footer-main{flex-direction:column;align-items:flex-start}
  .color-strip{flex-wrap:wrap}
  .color-strip .button{margin-left:0}
  .footer-main{gap:1rem}
}
@media(max-width:400px){
  .wrap{width:calc(100% - 1.75rem)}
  .head-actions{gap:.33rem}
  .head-estimate,#menu-toggle{padding-inline:.46rem;font-size:.72rem}
  .head-estimate svg{display:none}
  .service-grid,.details-grid,.field-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
