@font-face{font-family:Barlow;src:url('/fonts/barlow-condensed-bold.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:DM;src:url('/fonts/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--black:#080a0c;--paper:#f6f8fa;--blue:#08b0f0;--muted:#aebac3;--line:#33414a;--gutter:clamp(16px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--black);color:var(--paper);font:16px/1.5 DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a,input,textarea{touch-action:manipulation}a{color:inherit;text-decoration:none}a,button{transition:background .2s,color .2s,transform .2s,border-color .2s}a:hover{color:var(--blue)}button{cursor:pointer}a:active,button:active{transform:translateY(2px)}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:Barlow,Impact,sans-serif;font-weight:700;line-height:.94;letter-spacing:-.025em}h2{font-size:clamp(52px,6vw,92px)}h3{font-size:clamp(44px,4.7vw,70px)}p{max-width:56ch}button{color:inherit}section{position:relative}.section-pad{padding:76px var(--gutter)}.section-marker{display:block;font-size:12px;font-weight:700;letter-spacing:.11em;margin-bottom:24px;color:var(--blue)}.skip{position:fixed;top:-100px;left:16px;background:var(--blue);color:#000;padding:12px;z-index:100}.skip:focus{top:10px}[hidden]{display:none!important}
.owner-how{text-decoration:underline;text-underline-offset:4px}
.hero{min-height:760px;height:calc(100svh - 69px);max-height:1000px;isolation:isolate;overflow:hidden}.hero-visual{position:absolute;right:0;top:0;width:min(53.34vw,768px);height:100%;overflow:hidden;background:#080a0c}.hero-visual>img,.hero-visual>video{height:100%;width:100%;object-fit:cover;object-position:50% 57%;max-width:768px;max-height:1024px}.hero-visual>video{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080a0c 0%,transparent 35%),linear-gradient(0deg,rgba(8,10,12,.84),transparent 48%,rgba(8,10,12,.6))}.masthead{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:20px var(--gutter);gap:20px}.brand{width:132px;display:block;background:#000;padding:4px}.brand img{width:100%;height:auto}.desktop-nav{display:flex;gap:34px;margin-left:auto;background:rgba(8,10,12,.85);padding:0 24px}.desktop-nav a{min-height:48px;display:flex;align-items:center;font-size:14px}.menu-toggle,.menu-close{border:1px solid #51616c;min-height:48px;background:var(--black);padding:0 18px;font-size:14px;display:flex;align-items:center;gap:24px}.menu-toggle span{font-size:24px}.menu-toggle:hover,.menu-close:hover{background:var(--blue);color:var(--black);border-color:var(--blue)}.hero-copy{position:absolute;z-index:2;left:var(--gutter);bottom:68px;width:85%;pointer-events:none}.hero-copy h1{font-size:clamp(80px,9.7vw,148px);max-width:850px}.hero-copy h1 span{display:block;animation:arrive 1.2s both}.hero-copy h1 span:nth-child(2){color:var(--blue);animation-delay:.13s}.hero-bottom{display:flex;align-items:end;gap:56px;margin-top:28px;pointer-events:auto;animation:arrive 1.2s .25s both}.hero-bottom p{font-size:16px;color:#e5eaf0}.quote-link{display:flex;align-items:center;justify-content:space-between;gap:38px;min-height:52px;border-bottom:1px solid var(--blue);font-weight:700}.quote-link span{font-size:28px;color:var(--blue)}.motion-toggle{position:absolute;right:var(--gutter);bottom:24px;z-index:4;border:1px solid #65727b;background:#080a0c;color:#fff;min-height:48px;padding:0 15px;font-size:12px}.reflection{position:absolute;inset:-25% -100%;background:linear-gradient(112deg,transparent 46%,rgba(229,247,255,.15) 49%,rgba(8,176,240,.1) 50%,transparent 54%);transform:translateX(-40%);animation:sweep 8s ease-in-out infinite;pointer-events:none}.motion-paused *,.offscreen .reflection{animation-play-state:paused!important}.motion-paused .grid-reflection{display:none}
dialog{color:var(--paper);background:#080a0c;border:1px solid var(--line);width:min(600px,calc(100% - 32px));padding:24px;max-height:90svh}dialog::backdrop{background:#000b;backdrop-filter:blur(12px)}.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.menu-head>span{font:700 30px Barlow}.menu-head button{border-color:#647784}dialog nav a{display:flex;justify-content:space-between;border-top:1px solid var(--line);font:700 44px Barlow;min-height:66px;align-items:center}dialog nav a span{font:12px DM;color:var(--blue)}dialog p{margin-top:20px}.menu-phone{display:block;font:700 36px Barlow;min-height:48px}
.services{background:var(--paper);color:var(--black)}.services .section-marker{color:#00658c}.section-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:32px;align-items:end;margin-bottom:64px}.section-head .section-marker{align-self:start}.section-head p{color:#44515a}.service{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,80px);align-items:center;margin-bottom:70px}.service-photo{position:relative;overflow:hidden;min-width:0;aspect-ratio:1.4;background:#dde3e7}.service-photo img{position:absolute;width:100%;height:100%;object-fit:cover}.service-copy{padding:18px 0}.service-tag{font-size:12px;letter-spacing:.12em;color:#00658c;font-weight:700}.service h3{margin:16px 0 22px}.service-copy>p{max-width:400px;color:#44515a}.service-copy .chip-intro{font-size:12px;margin-top:24px;color:#44515a}.chips{display:flex;gap:8px;flex-wrap:wrap;padding:0;list-style:none;margin:12px 0 24px}.chips li{border:1px solid #a8b4bc;padding:5px 10px;font-size:12px;color:#28353d}.text-link{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border-bottom:1px solid currentColor;font-weight:700;font-size:14px}.text-link span{font-size:24px}.services .text-link:hover{color:#005b7e}.carpet-service{grid-template-columns:1fr 1.2fr}.carpet-service .service-photo{grid-column:2;grid-row:1;aspect-ratio:16/9}.carpet-service .service-copy{grid-column:1;grid-row:1}.solar-service{grid-template-columns:200px 1fr;max-width:850px;border-top:1px solid #b5bec4;padding-top:36px;margin:0 0 0 auto;gap:40px}.solar-service .service-photo{aspect-ratio:3/4}.solar-service h3{font-size:44px}.solar-service .service-copy{padding:0}.solar-service .chip-intro{margin-top:16px}.solar-service .chips{margin:8px 0 12px}
.details{background:#080a0c;overflow:hidden}.details-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:32px;padding-bottom:46px}.details-heading .section-marker{align-self:start}.details-heading p{color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:310px 260px 280px;gap:6px;position:relative}.detail-tile{position:relative;overflow:hidden;background:#101a21;min-width:0}.detail-tile img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .7s}.detail-tile:hover img{transform:scale(1.025)}.tile-1{grid-column:1/7;grid-row:1}.tile-2{grid-column:7/10;grid-row:1}.tile-3{grid-column:10/13;grid-row:1}.tile-4{grid-column:1/5;grid-row:2}.tile-5{grid-column:5/9;grid-row:2}.tile-6{grid-column:9/13;grid-row:2}.tile-7{grid-column:1/8;grid-row:3}.tile-8{grid-column:8/13;grid-row:3}.grid-reflection{position:absolute;pointer-events:none;inset:0;background:linear-gradient(105deg,transparent 35%,#d5f6ff24 45%,#08b0f066 46%,transparent 47%);opacity:.8;transform:translateX(-100%)}@supports(animation-timeline:view()){.grid-reflection{animation:scroll-sweep linear both;animation-timeline:view();animation-range:entry 0% exit 100%}}
.work{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center;background:#11181e}.work-copy>p{color:var(--muted);margin:26px 0}.work-copy h2{max-width:500px}.work-grid{display:grid;grid-template-columns:1fr .45fr;align-items:end;gap:20px}.work-grid figure img{width:100%;max-width:768px;height:auto}.work-grid figcaption{font-size:12px;color:var(--muted);margin-top:12px}.work-note{border-top:1px solid var(--line);padding-top:20px}.work-note>span{font-size:54px;color:var(--blue)}.work-note p{font-size:14px;margin:16px 0}.work-note a{font-size:14px;display:flex;align-items:center;min-height:48px}
.area{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;border-bottom:1px solid var(--line)}.area h2{font-size:clamp(60px,8vw,116px);margin-bottom:24px}.area p{color:var(--muted)}.big-phone{display:inline-flex;align-items:center;font:700 clamp(42px,5vw,70px) Barlow;min-height:60px;color:var(--paper)}.spanish{margin-top:8px}.contact-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}.contact-links a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:14px}
.quote{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#0d1217}.quote-intro>p{margin-top:28px;color:var(--muted);max-width:350px}.quote-art{height:300px;position:relative;overflow:hidden;margin-top:40px;background:linear-gradient(140deg,#0c141a,#111f28 40%,#020506 50%,#233a48 52%,#06090b 65%);border:1px solid #273640;padding:30px}.quote-art span{font:700 clamp(60px,8vw,120px) Barlow;letter-spacing:-.04em;color:#738c9b}.quote-art b{position:absolute;right:20px;bottom:-20px;font:180px Barlow;color:#08b0f0}.quote-art i{display:block;height:2px;width:80%;background:var(--blue);margin-top:20px}form{min-width:0}fieldset{border:0;margin:0 0 30px;padding:0}legend{margin-bottom:14px;font-size:14px}.service-options{display:flex;gap:8px;flex-wrap:wrap}.service-options label{cursor:pointer;position:relative;flex:1 1 140px}.service-options input{position:absolute;opacity:0;width:1px;height:1px}.service-options label>span{border:1px solid #627480;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:12px;font-size:14px;gap:10px;transition:background .2s}.service-options b{font-size:20px;font-weight:400}.service-options input:checked+span{background:var(--blue);color:#080a0c;border-color:var(--blue)}.service-options input:checked+span b{transform:rotate(45deg)}.service-options input:focus-visible+span{outline:3px solid var(--paper);outline-offset:3px}.service-options label:hover>span{border-color:var(--blue)}.field{margin:0 0 24px}.field label{display:block;margin-bottom:8px;font-size:14px}.field label span{color:var(--muted);font-size:12px}input,textarea{display:block;width:100%;color:#fff;background:#111b23;border:1px solid #607583;border-radius:0;padding:14px;min-height:54px;resize:vertical}input::placeholder,textarea::placeholder{color:#adbbc5;opacity:1}.form-actions{display:grid;gap:12px}.form-actions button{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border:1px solid var(--blue);font-weight:700}.primary{background:var(--blue);color:var(--black)}.primary:hover{background:#7adaff}.secondary{background:transparent;color:var(--paper)}.secondary:hover{background:#16303e}.form-note{font-size:13px;margin-top:20px;color:var(--muted)}.form-note a{display:inline-flex;min-height:48px;align-items:center;color:var(--paper);text-decoration:underline}.form-note>span{display:block}#form-error{color:#ffd2c6;margin-bottom:16px}
footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding-bottom:130px!important;font-size:13px;color:var(--muted)}.footer-name{font:700 28px/1.1 Barlow;color:var(--paper);max-width:330px;margin-bottom:16px}footer a{display:inline-flex;align-items:center;min-height:48px}.credit{justify-self:end}.contact-rail{position:fixed;z-index:10;bottom:16px;right:16px;display:grid;grid-template-columns:1fr 1.28fr;background:var(--black);border:1px solid #536b7a;box-shadow:0 5px 25px #0008}.contact-rail a{display:flex;min-height:54px;align-items:center;justify-content:center;gap:14px;padding:0 22px;font-size:14px;font-weight:700}.rail-call:hover{color:var(--blue)}.rail-whatsapp{background:var(--blue);color:var(--black)}.rail-whatsapp:hover{background:#7adaff;color:var(--black)}
@keyframes arrive{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes sweep{0%,20%{transform:translateX(-35%)}80%,100%{transform:translateX(35%)}}@keyframes scroll-sweep{from{transform:translateX(-90%)}to{transform:translateX(90%)}}
@media(max-width:1000px){.section-head,.details-heading{grid-template-columns:1fr 2fr}.section-head p,.details-heading p{grid-column:2}.work{gap:32px}.work-grid{grid-template-columns:1fr}.work-note{display:none}.hero-copy h1{font-size:105px}.desktop-nav{gap:18px}.quote{gap:5%}}
@media(max-width:700px){.section-pad{padding:52px 16px}.hero{height:640px;min-height:0;max-height:none}.hero-visual{width:100%;height:100%;top:0}.hero-visual>img,.hero-visual>video{object-position:51% 48%;object-fit:cover}.hero-shade{background:linear-gradient(0deg,#080a0c 0%,rgba(8,10,12,.94) 18%,transparent 48%,rgba(8,10,12,.3) 80%,#080a0c 100%)}.masthead{padding:12px 16px;align-items:start}.brand{width:110px;padding:0}.desktop-nav{display:none}.menu-toggle{gap:16px;font-size:12px;min-height:48px;padding:0 14px}.hero-copy{left:16px;right:16px;bottom:30px;width:auto}.hero-copy h1{font-size:66px;line-height:.94;letter-spacing:-.015em}.hero-bottom{display:block;margin-top:18px}.hero-bottom p{font-size:13px;line-height:1.5}.quote-link{width:165px;min-height:48px;margin-top:8px;font-size:14px}.motion-toggle{right:16px;bottom:29px;min-height:48px;font-size:11px;padding:0 12px}.section-head,.details-heading{display:block}.section-marker{font-size:11px;margin-bottom:20px}.section-head{margin-bottom:34px}.section-head h2{font-size:52px}.section-head p{margin-top:24px;font-size:14px}.service{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-bottom:48px}.service-photo{aspect-ratio:1.22;margin:0 -16px}.service-copy{padding:28px 0 0}.service h3{margin:14px 0 16px;font-size:48px}.service-copy>p{font-size:15px}.service-copy .chip-intro{font-size:11px;margin-top:20px}.chips{gap:6px;margin-bottom:15px}.chips li{font-size:11px;padding:5px 9px}.text-link{font-size:13px}.carpet-service .service-photo{aspect-ratio:16/9}.solar-service{display:grid;grid-template-columns:102px 1fr;align-items:start;gap:18px;padding-top:28px;margin:0}.solar-service .service-photo{margin:0;aspect-ratio:102/230}.solar-service h3{font-size:32px;margin-top:10px}.solar-service .service-copy>p{font-size:13px}.solar-service .service-tag{font-size:10px}.solar-service .chips{gap:5px}.solar-service .chips li{font-size:10px;padding:4px 6px}.solar-service .service-copy .chip-intro{font-size:10px}.solar-service .text-link{font-size:12px;gap:8px}.details-heading{padding-top:48px;padding-bottom:28px}.details-heading h2{font-size:60px}.details-heading p{font-size:14px;margin-top:24px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:240px 190px 210px 180px 220px;gap:4px}.tile-1{grid-column:1/3;grid-row:1}.tile-2{grid-column:1;grid-row:2}.tile-3{grid-column:2;grid-row:2}.tile-4{grid-column:1;grid-row:3}.tile-5{grid-column:2;grid-row:3}.tile-6{grid-column:1;grid-row:4}.tile-7{grid-column:2;grid-row:4}.tile-8{grid-column:1/3;grid-row:5}.work{display:block}.work-copy>p{font-size:14px;margin:22px 0}.work-grid{margin-top:30px;display:grid;grid-template-columns:1fr .25fr;gap:10px}.work-grid figure{grid-column:1/3}.work-grid figure img{max-height:480px;width:100%;object-fit:cover;object-position:50% 60%}.work-note{display:none}.work-grid figcaption{font-size:11px}.area{display:block;padding-top:40px;padding-bottom:38px}.area>div:first-child{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px}.area .section-marker{grid-column:1/3;margin-bottom:6px}.area h2{font-size:46px;margin:0}.area>div:first-child>p{font-size:12px}.area-contact{margin-top:28px}.area-contact>p{font-size:13px}.big-phone{font-size:48px;min-height:54px}.contact-links{gap:18px;margin-top:12px}.contact-links a{font-size:12px}.quote{display:block}.quote-intro h2{font-size:64px}.quote-intro>p{font-size:14px;margin-top:24px}.quote-art{height:130px;margin:28px 0 32px;padding:20px}.quote-art span{font-size:68px}.quote-art b{font-size:100px;bottom:-18px}.quote-art i{margin-top:9px}.field{margin-bottom:22px}.service-options{gap:7px}.service-options label{flex-basis:45%}.service-options label>span{font-size:12px;padding:10px;min-height:52px}.form-note{font-size:12px}footer{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;padding-bottom:110px!important}.footer-name{font-size:26px;max-width:280px}.credit{width:100%}.contact-rail{bottom:0;left:0;right:0;border-width:1px 0 0;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:1fr 1.35fr}.contact-rail a{min-height:62px;font-size:13px;padding:0 16px}.menu-head{margin-bottom:16px}dialog{padding:20px}dialog nav a{font-size:36px;min-height:58px}dialog p{font-size:13px;margin-top:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reflection,.grid-reflection{display:none}.motion-toggle{display:none}}

/* Form photograph stays in view as the message takes shape. */
.quote-intro{position:sticky;top:24px;align-self:start}.quote-photo{position:relative;aspect-ratio:1.25;margin-top:38px;overflow:hidden}.quote-photo img{position:absolute;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.quote-intro{position:static}.quote-photo{aspect-ratio:2.6;margin:28px 0 30px}.solar-service .service-tag,.solar-service .chips li,.solar-service .service-copy .chip-intro{font-size:11px}}

@media(max-width:700px){.quote-intro{display:contents}.quote-photo{position:sticky;top:0;z-index:6;height:112px;aspect-ratio:auto;margin:28px -16px 30px;background:#080a0c}.quote .field,.quote fieldset{scroll-margin-top:132px}}

@media(max-width:700px){#quote-form,.quote input,.quote textarea{scroll-margin-top:140px}}

@media(max-width:700px){.quote{display:flex;flex-direction:column;padding-top:0}.quote-photo{order:-1;flex-shrink:0;width:calc(100% + 32px);height:140px;margin:0 -16px 30px}#quote-form{margin-top:32px}}

/* Pass 2: owner's album, same type, palette and reflection signature. */
.upholstery-service .service-photo{aspect-ratio:4/5;max-width:768px}.work{display:block}.work-copy{display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:24px;align-items:end;margin-bottom:44px}.work-copy .section-marker{align-self:start}.work-copy>p{margin:0}.work-copy .text-link{grid-column:3;font-size:13px}.work-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:32px 18px}.work-grid figure{min-width:0}.work-grid figure img{width:100%;height:auto;max-height:none;aspect-ratio:3/4;object-fit:cover}.work-grid figcaption{margin-top:10px}.hero-visual>img{object-position:50% 48%}
@media(max-width:1000px) and (min-width:701px){.work-copy{grid-template-columns:1fr 2fr}.work-copy>p,.work-copy .text-link{grid-column:2}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.upholstery-service .service-photo{aspect-ratio:1/1.1}.work-copy{display:block;margin-bottom:30px}.work-copy>p{margin:22px 0}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px;margin-top:0}.work-grid figure{grid-column:auto}.work-grid figure:first-child,.work-grid figure:nth-child(10){grid-column:1/-1}.work-grid figure img{height:auto;max-height:none;object-position:center}.work-grid figcaption{font-size:11px}.hero-visual>img{object-position:50% 38%}}

/* 13 Nov: new hero copy fits one line per phrase on phones */
@media(max-width:430px){#hero-title{font-size:58px}}
@media(max-width:375px){#hero-title{font-size:52px}}
@media(min-width:1051px){#hero-title{font-size:clamp(80px,7.4vw,124px)}}

/* 13 Nov: his work van in the area band */
.area-van{margin:22px 0 0;max-width:560px}.area-van img{width:100%;height:auto;display:block;border-radius:4px}
@media(max-width:700px){#area>div:first-child{display:block!important}#area>div:first-child>p{margin-top:12px}.area-van{max-width:none;width:100%}}
