/* Ported from the Claude Design home page (website/design/home/Main.dc.html). */
body{margin:0;background:#0a0a0a;color:#f2f2ef;font-family:"Barlow","Helvetica Neue",Arial,sans-serif;font-size:18px;font-weight:500;line-height:1.6}
a{color:#6fa3e0}a:hover{color:#f2f2ef}
.wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(16px,4vw,64px);box-sizing:border-box}
.disp{font-family:"Oswald","Arial Narrow",sans-serif;font-weight:600;text-transform:uppercase;margin:0;text-wrap:balance}
.cond{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;text-transform:uppercase}
.eyebrow{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:17px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:12px;height:52px;padding:0 24px;border-radius:2px;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:18px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;box-sizing:border-box;cursor:pointer;transition:background-color .12s,border-color .12s}
.btn-call{background:#d51316;border-color:#d51316;color:#fff}.btn-call:hover{background:#a40605;border-color:#a40605;color:#fff}
.btn-out{background:transparent;border-color:#b2b2b2;color:#f2f2ef}.btn-out:hover{border-color:#f2f2ef;color:#f2f2ef}
.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ph{background-color:#151515;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px);position:relative;overflow:hidden}
.ph-cap{position:absolute;left:20px;bottom:18px;right:20px;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:#9a9a9a}
.hero{clip-path:polygon(0 0,100% 0,100% calc(100% - 64px),0 100%)}
.trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;row-gap:8px}
.trust li{display:inline-flex;align-items:center}
.trust li+li::before{content:"";width:5px;height:5px;border-radius:50%;background:#b2b2b2;margin:0 12px}
.svc{display:grid;grid-template-columns:minmax(0,17.5em) minmax(0,1fr) auto;align-items:start;gap:24px;padding:22px 0;border-bottom:1px solid #c2c2bc;color:#121212;text-decoration:none}
.svc:hover{color:#121212}.svc:hover .svc-name,.svc:hover .svc-line,.svc:hover .svc-arrow{color:#a40605}
.svc:hover .svc-arrow{transform:translateX(4px)}
.svc-arrow{transition:transform .12s;color:#7a7a7a;align-self:start;line-height:0;margin-top:-1px}.svc-line{margin-top:-4px;color:#5c5c5c;font-size:19px;line-height:1.5}
.overlap{position:relative}.photo{display:block;width:100%;height:100%;object-fit:cover}.tag{position:absolute;top:16px;left:16px;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:14px;letter-spacing:.1em;text-transform:uppercase;background:rgba(0,0,0,.7);color:#b2b2b2;padding:4px 8px;border-radius:2px}.cap{position:absolute;left:0;right:0;bottom:0;padding:48px 24px 20px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:18px;letter-spacing:.02em;color:#f2f2ef}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}.stat{display:grid;gap:4px;align-content:start;padding-right:16px;margin-right:16px;border-right:1px solid #3d3d3d}.stat:last-child{border-right:0;margin-right:0;padding-right:0}.stat .disp{white-space:nowrap}.hero-photo{min-height:0}@media (max-width:1100px){.hero-photo{min-height:420px}}
.hdr a,.hdr div{white-space:nowrap}.show-md{display:none!important}@media (max-width:1180px){.hide-lg{display:none!important}}@media (max-width:940px){.hide-md{display:none!important}.show-md{display:inline-flex!important}}
/* Header nav (four links) gives way to the menu button before it crowds the call block (it overflows at 1090px). */
.show-nav{display:none!important}@media (max-width:1180px){.hide-nav{display:none!important}.show-nav{display:inline-flex!important}}
@media (max-width:1180px){.logo{height:86px!important;margin-right:-15px!important}}
@media (max-width:760px){.logo{height:67px!important;margin-right:0!important}.show-md{display:none!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2){border-right:0}}.svc-ico{display:inline-flex;vertical-align:-3px;margin-right:12px;color:#121212}@media (min-width:1100px){.overlap{margin-right:-80px}}
@media (max-width:760px){.svc{grid-template-columns:minmax(0,1fr) auto}.svc-line{grid-column:1}.svc-arrow{grid-row:1;grid-column:2}.hide-sm{display:none!important}.trust-strip{display:none}}
.light .btn-out{color:#121212;border-color:#7a7a7a}.callbar{display:none}@media (max-width:760px){.callbar{display:grid;grid-template-columns:1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#000;border-top:1px solid #3d3d3d}.callbar .btn{height:48px;padding:0 8px;justify-content:center;font-size:17px}footer{padding-bottom:96px!important}}
@media (prefers-reduced-motion:reduce){.btn,.svc-arrow{transition:none}}

/* Inner pages. Bands alternate dark / light / navy; no two neighbours share a colour. */
.band{padding:72px 0}.band-sm{padding:40px 0}.band-dark{background:#0a0a0a;color:#f2f2ef}.band-light{background:#f5f5f3;color:#121212}.band-navy{background:#001e54;color:#fff}
.band-light .muted{color:#5c5c5c}.band-dark .muted,.band-navy .muted{color:#9a9a9a}.band-navy .muted{color:#b2b2b2}
.h1{font-size:clamp(44px,4.8vw,72px);line-height:1.01;letter-spacing:-.005em}
.h2{font-size:clamp(40px,4vw,56px);line-height:1.09}
.lede{margin:0;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:500;font-size:22px;line-height:1.3;max-width:32em}
/* Sections: the eyebrow and heading sit above everything else, so the columns below start level (Jordan, 2026-10-23). */
.split{display:grid;gap:40px}
.split>.side{display:grid;gap:16px;max-width:44em}
.split>.main{min-width:0}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 96px;align-items:start}
.cols-wide-r{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);column-gap:64px}
@media (max-width:900px){.cols,.cols-wide-r{grid-template-columns:minmax(0,1fr)}}
.lines{list-style:none;margin:0;padding:0;border-top:1px solid #c2c2bc}
.lines>li{padding:18px 0;border-bottom:1px solid #c2c2bc;display:grid;gap:4px}
.band-dark .lines,.band-dark .lines>li{border-color:#3d3d3d}
.band-navy .lines,.band-navy .lines>li{border-color:rgba(255,255,255,.30)}
.lines .disp{font-size:20px}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px 96px}
.label{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:17px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.mark-do{color:#7fb3f0}.band-light .mark-do{color:#053e7f}.mark-dont{color:#ff5a4e}.band-light .mark-dont{color:#a40605}
.step-top{display:flex;align-items:center;gap:14px}.step-ico{width:36px;height:36px;fill:none;stroke:#ff5a4e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px}
.steps>li{display:grid;gap:10px;align-content:start;padding-top:24px;border-top:2px solid #333}
.band-light .steps>li{border-top-color:#121212}
.steps .n{font-size:44px;line-height:1;color:#b2b2b2}.band-light .steps .n{color:#7a7a7a}
.steps .t{font-size:22px;line-height:1.1}.steps .d{font-size:17px;line-height:1.45;font-weight:500}
.towns{list-style:none;margin:0;padding:0;columns:4 180px;column-gap:40px}
.towns>li{break-inside:avoid;padding:10px 0;border-bottom:1px solid #c2c2bc;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:20px;letter-spacing:.02em}
.towns a{color:inherit;text-decoration:none;display:flex;justify-content:space-between;gap:12px}.towns a:hover{color:#a40605}
.towns .muted{font-weight:500;font-size:17px;white-space:nowrap}
.crumbs{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:#9a9a9a}
.crumbs a{color:#9a9a9a;text-decoration:none}.crumbs a:hover{color:#f2f2ef}
.prose{max-width:44em;font-size:18px;line-height:1.6;color:#2a2a2a}
.prose h2{font-size:28px;line-height:1.1;margin:56px 0 16px;color:#121212}
.prose h3{font-size:19px;line-height:1.2;margin:28px 0 8px;color:#121212}
.prose p{margin:0 0 16px}
.prose ul{margin:0 0 16px;padding-left:1.25em}
.prose li{margin:0 0 6px}
.prose a{color:#121212}
.handles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.handles>li{padding:18px 0;border-bottom:1px solid #c2c2bc;display:grid;gap:4px;align-content:start}
.handles>li:nth-child(-n+2){border-top:1px solid #c2c2bc}
.band-dark .handles>li{border-color:#3d3d3d}
.handles .disp{font-size:20px}
@media (max-width:600px){.handles{grid-template-columns:1fr}.handles>li:nth-child(2){border-top:0}}
.label.mark-do,.label.mark-dont{font-family:Oswald,"Arial Narrow",sans-serif;font-weight:600;font-size:32px;line-height:1;letter-spacing:.01em;margin-bottom:16px}
p,li,summary,.cap,.svc-line{text-wrap:pretty}
.dodont{grid-template-columns:repeat(2,minmax(0,1fr))}.dodont li{text-wrap:balance}@media (max-width:640px){.dodont{grid-template-columns:minmax(0,1fr)}}
.show-sm{display:none!important}@media (max-width:760px){.show-sm{display:inline!important}.btn.show-sm{display:inline-flex!important}}
/* The long logo PNG has ~18% of its height in transparent padding on the right; .logo margins offset it so header gaps measure even. */
/* Call to action (includes/call.html): on a desktop only the red phone circle dials; the number is plain text to read or copy. */
.call{display:flex;align-items:center;gap:14px;text-align:left}.call-ico{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:#d51316;color:#fff;transition:background-color .12s}.call-ico:hover{background:#a40605;color:#fff}.call-ico svg{width:24px;height:24px}.call-text{display:grid;line-height:1.05}.call .eyebrow{color:#ff5a4e;font-size:14px}.call-num{font-size:30px;letter-spacing:.02em;text-wrap:nowrap}
.call-md{gap:18px}.call-md .call-ico{width:64px;height:64px}.call-md .call-ico svg{width:28px;height:28px}.call-md .call-num{font-size:40px}
/* Centred calls: the icon hangs outside the box, so the number itself sits on the centre line. */
.call-ctr{position:relative}.call-ctr .call-text{text-align:center}.call-ctr .call-ico{position:absolute;right:100%;margin-right:18px}.call-big.call-ctr .call-ico{margin-right:24px}
.call-big{gap:24px}.call-big .call-text{text-align:center}.call-big .call-ico{width:88px;height:88px}.call-big .call-ico svg{width:40px;height:40px}.call-big .call-num{font-size:clamp(48px,6vw,88px);line-height:1}
/* Home page reviews carousel, centred: slides share one grid cell, so the section is as tall as the longest quote and doesn't jump. */
.reviews{display:grid;gap:32px;justify-items:center;text-align:center;max-width:960px;margin:0 auto}.reviews-track{display:grid}.review{grid-area:1/1;margin:0;display:grid;justify-items:center;gap:28px}.review[hidden]{display:grid;visibility:hidden}
.review-face{width:128px;height:128px;border-radius:50%;object-fit:cover;display:block}.review-quote{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.1;text-transform:none;font-weight:500}
.reviews-nav{display:flex;justify-content:center;gap:4px}.reviews-dot{position:relative;width:32px;height:32px;padding:0;border:0;background:none;cursor:pointer}.reviews-dot::before{content:"";position:absolute;inset:10px;border-radius:50%;background:#c2c2bc}.reviews-dot[aria-current]::before{background:#d51316}
@media (max-width:760px){.review-face{width:96px;height:96px}}
.ins-sub{margin:0;font-size:19px;line-height:1.5;color:#c8d2e4;max-width:30em}.sec-call{display:grid;gap:16px;justify-items:center;text-align:center}
.ins-check{margin:0;padding:0;list-style:none}.ins-check li{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:17px;line-height:1.5;color:#c8d2e4}.ins-check li:first-child{border-top:1px solid rgba(255,255,255,.2)}.ins-check svg{width:40px;height:40px;padding:8px;box-sizing:border-box;border-radius:50%;background:#d51316;color:#fff}.ins-check b{display:block;font-size:22px;letter-spacing:.04em;color:#fff;font-weight:600;margin-bottom:2px}
.partner{display:flex;gap:20px;align-items:center;color:#f2f2ef;text-decoration:none;padding-right:clamp(0px,4vw,64px)}.partner img{flex:none;width:132px;height:132px;object-fit:cover;border-radius:2px}.partner>span{display:grid;gap:6px}.partner+.partner{border-left:1px solid #3d3d3d;padding-left:clamp(16px,4vw,64px)}.partner-go{font-size:22px;letter-spacing:.06em;color:#ff5a4e}.partner:hover .partner-go{text-decoration:underline}
@media (max-width:600px){.partner+.partner{border-left:0;padding-left:0;border-top:1px solid #3d3d3d;padding-top:24px}}
.form{display:grid;gap:28px}.form fieldset{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.form legend{padding:0 0 10px;color:#b2b2b2}
.field{display:grid;gap:4px;min-width:0}.field-wide{grid-column:1/-1}.field>span{font-size:16px;letter-spacing:.04em;color:#f2f2ef}.field em{font-style:normal;color:#9a9a9a;font-size:15px}
.form input,.form select,.form textarea{font:inherit;font-size:17px;color:#f2f2ef;background:#151515;border:1px solid #3d3d3d;border-radius:2px;padding:8px 12px;width:100%;box-sizing:border-box}.form textarea{resize:vertical}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid #d51316;outline-offset:1px;border-color:#d51316}
.form-err{color:#ff5a4e;font-size:16px;font-weight:500}.form .btn{justify-self:start}.trap{position:absolute;left:-9999px}
.form-done{display:grid;gap:16px;padding:32px 0;border-top:2px solid #d51316}
@media (max-width:600px){.form fieldset{grid-template-columns:1fr}}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#121212}.ba-img{position:relative;overflow:hidden;aspect-ratio:4/3;background:#151515}
@media (max-width:600px){.ba{grid-template-columns:1fr}}
.county{display:grid;gap:2px;padding:13px 0;border-bottom:1px solid #c2c2bc;color:#121212;text-decoration:none}.county:first-child{border-top:2px solid #121212}.county-seat{color:#5c5c5c;font-size:17px;font-weight:500;line-height:1.5}.county:hover .disp{color:#a40605}
.area-pics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.area-pics img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#e6e6e2}
.form fieldset+fieldset{border-top:1px solid #3d3d3d;padding-top:24px}
.form legend{float:left;width:100%;grid-column:1/-1}
.svc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px 24px}.svc-card{display:grid;gap:10px;align-content:start;color:#121212;text-decoration:none}.svc-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#e6e6e2;margin-bottom:6px}.svc-card .svc-name{font-size:22px;line-height:1.1}.svc-card .svc-ico{margin-right:10px}.svc-card .svc-line{margin-top:0;font-size:17px}.svc-card:hover .svc-name,.svc-card:hover .svc-line{color:#a40605}
.svc-all{display:grid;gap:40px}
@media (max-width:600px){.svc-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.svc-card .svc-name{font-size:19px}.svc-card .svc-ico{display:none}.svc-card .svc-line{font-size:15px}}
/* Before and after job picker (home): a list of jobs; the pressed one is marked with a bar. */
.work-pick{display:grid;gap:4px;width:100%;margin:0;padding:22px 0 22px 0;border:0;border-top:1px solid #c2c2bc;background:none;color:#121212;font:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 #121212;transition:padding .15s,box-shadow .15s}.work-pick:last-child{border-bottom:1px solid #c2c2bc}.work-pick[aria-pressed="true"]{padding-left:20px;box-shadow:inset 4px 0 0 #121212}.work-pick:hover .disp{color:#a40605}.work-pick:focus-visible{outline:2px solid #053e7f;outline-offset:2px}
/* Service-area photos fill the column beside the county list: contain:size keeps them from setting the row's height, so the list does, and the photos share it. Stacked (narrow), they keep 4:3. */
@media (min-width:901px){.cols-wide-r>.area-pics{align-self:stretch;contain:size;grid-auto-rows:minmax(0,1fr)}.cols-wide-r>.area-pics img{aspect-ratio:auto;height:100%}}
/* Final call: two faint logo emblems behind the band; screen blending drops the PNG's black ground. */
.final{position:relative;overflow:hidden}.final>.wrap{position:relative}.final-mark{position:absolute;top:50%;width:min(560px,60vw);transform:translateY(-50%);opacity:.14;mix-blend-mode:screen;pointer-events:none}.final-mark.l{left:-6%}.final-mark.r{right:-6%}
.form input,.form select{height:45px}.form select{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b2b2b2' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
/* Contact us: the small outline button under a call, the pop-up, and the form in the final call band. */
.call-alt{display:flex;align-items:center;gap:10px;margin-top:6px;padding-left:6px;font-size:16px;letter-spacing:.06em;color:#b2b2b2}.call-ctr .call-alt{justify-content:center;padding-left:0}.btn-sm{height:26px;padding:0 10px;font-size:14px;gap:8px}.btn-md{height:38px;padding:0 16px;font-size:17px;gap:8px}.band-light .call-alt,.light .call-alt{color:#5c5c5c}.band-light .btn-out{color:#121212;border-color:#7a7a7a}.contact-dlg{width:min(560px,calc(100vw - 32px));padding:40px 32px 32px;border:1px solid #3d3d3d;border-radius:2px;background:#0a0a0a;color:#f2f2ef;display:none;gap:16px}.contact-dlg[open]{display:grid}.contact-dlg::backdrop{background:rgba(0,0,0,.7)}.contact-x{position:absolute;top:12px;right:12px;background:none;border:0;color:#b2b2b2;cursor:pointer;padding:4px;line-height:0}.contact-form{gap:20px}.contact-form .btn{justify-self:stretch;justify-content:center}
/* Final call band: heading and number on the left, the message form in its own panel on the right. */
.final-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:64px;align-items:center}.final-main{display:grid;gap:32px;justify-items:start}.call-final{gap:20px}.call-final .call-ico{width:72px;height:72px}.call-final .call-ico svg{width:34px;height:34px}.call-final .call-num{font-size:clamp(40px,4.2vw,64px);line-height:1}
.final-form{display:grid;gap:20px;box-sizing:border-box;padding:36px 36px 40px;border-radius:2px;box-shadow:0 24px 64px rgba(0,0,0,.5);background:#f2f2ef;color:#121212;border:2px solid #ffffff}.final-form .form .cond{color:#121212}.final-form .form em{color:#5c5c5c}.final-form .form input,.final-form .form select,.final-form .form textarea{background-color:#ffffff;color:#121212;border-color:#9a9a96}
@media (max-width:1100px){.final-top{grid-template-columns:minmax(0,1fr);gap:40px}.final-main{justify-items:center;text-align:center}.final-form{width:100%;max-width:640px;justify-self:center;padding:28px 20px 32px}}
.foot-h{font-size:19px;color:#f2f2ef;margin-bottom:4px}
/* Column headings start level with the top of "MASTER" in the 92px footer logo: its ink starts 35px down the image, a heading's 5px down its line, so 30px. */
.foot-cols{display:grid;grid-template-columns:repeat(3,auto);gap:40px 64px;align-items:start;justify-content:space-between}.foot-cols>nav{padding-top:30px}@media (max-width:1100px){.foot-cols{grid-template-columns:repeat(2,auto);justify-content:start}.foot-cols>nav{padding-top:0}.foot-cols>:first-child{grid-column:1/-1}}@media (max-width:760px){.foot-cols{grid-template-columns:minmax(0,1fr)}}
/* Language flags (includes/lang.html): the current language outlined, the other dimmed until hovered. */
.lang a{line-height:0;opacity:.55}.lang a:hover,.lang a[aria-current]{opacity:1}.lang a[aria-current]{outline:1px solid #f2f2ef;outline-offset:2px}
/* The footer's link lists: two columns, one on phones, where the longer Spanish names don't fit two across. */
.foot-links{display:grid;grid-template-columns:repeat(2,auto);gap:10px 40px;justify-content:start}.foot-links a{white-space:nowrap}@media (max-width:760px){.foot-links{grid-template-columns:auto}}
/* The home headline's first line holds three words and must not break; Spanish runs about 15% wider, so it is set smaller. */
:lang(es) .h1-words{font-size:clamp(38px,4.2vw,63px)}
.band-dark .towns,.band-dark .towns>li{border-color:#3d3d3d}.band-dark .towns a:hover{color:#f2f2ef}
