:root{--olive:#293229;--cream:#f5f1e9;--sand:#e7e0d3;--ink:#242720;--taupe:#8b7866}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{height:91px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#f8f5ef;position:relative;z-index:10}.wordmark{display:flex;flex-direction:column;align-items:center;line-height:1}.wordmark span{font-family:'Playfair Display',serif;font-size:32px;letter-spacing:.17em}.wordmark small{font-size:8px;letter-spacing:.12em;margin-top:7px}.site-header nav{display:flex;gap:32px;font-size:12px;font-weight:600;letter-spacing:.04em}.site-header nav a:hover,.under-link:hover{color:#947d65}.nav-actions{display:flex;align-items:center;gap:22px}.nav-phone{font-size:12px;font-weight:700}.nav-cta{padding:15px 21px;background:var(--olive);color:#fff;font-size:11px;font-weight:700}.nav-cta span{margin-left:15px}.menu{display:none;background:none;border:0;font-size:25px}.hero{height:min(760px,calc(100vh - 91px));min-height:590px;position:relative;overflow:hidden;background:#26332c;color:#fff}.hero-image{position:absolute;inset:0;background-image:url('assets/shower.webp');background-position:68% 49%;background-size:cover;filter:brightness(.79)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,25,22,.88) 0%,rgba(17,25,22,.68) 38%,rgba(17,25,22,.1) 100%)}.hero-content{position:absolute;left:9%;top:50%;transform:translateY(-47%);max-width:760px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:#6b7465;display:flex;align-items:center;gap:12px}.eyebrow.light{color:#dedbd1}.line{width:28px;height:1px;background:currentColor;display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(64px,7.1vw,112px);line-height:1.09;margin:31px 0}h1 em,h2 em{font-weight:400;color:#d2bda0}h1 em{color:#e6d6bd}.hero-sub{max-width:470px;font-size:16px;line-height:1.9;color:#e6e4de}.hero-buttons{display:flex;align-items:center;gap:30px;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:19px 26px;font-size:11px;letter-spacing:.04em;font-weight:700;white-space:nowrap;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button-cream{background:#f3e9d8;color:#2d312a}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #d9d7cc;padding-bottom:8px}.text-link span{margin-left:12px}.hero-side{position:absolute;right:4%;bottom:48px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em;color:#f2e8dc}.hero-side span{margin:13px 0}.hero-index{position:absolute;left:9%;bottom:42px;font-size:10px;letter-spacing:.22em;color:#e2d7c7}.section-pad{padding:115px 9%}.intro{display:grid;grid-template-columns:1.1fr .8fr;gap:11%;align-items:center}.intro h2,.section-heading h2,.contact h2,.statement h2{font-size:clamp(42px,4.7vw,72px);line-height:1.2;margin:24px 0 0}.intro h2 em,.section-heading h2 em{color:#9b8772}.intro-right p{line-height:2;font-size:15px;color:#5e625b}.under-link{display:inline-flex;gap:40px;margin-top:20px;padding-bottom:10px;border-bottom:1px solid #888b80;font-size:12px;font-weight:700}.services{background:#ebe6dc}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:48px}.section-heading>p{max-width:350px;font-size:14px;line-height:1.9;color:#62665e;margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-image{height:360px;overflow:hidden}.service-image img{transition:transform .6s}.service-card:hover img{transform:scale(1.045)}.service-info{display:flex;gap:16px;align-items:start;padding:22px 2px}.service-info>span{font-size:10px;color:#8a806f;margin-top:6px}.service-info>div{flex:1}.service-info h3{font-family:'Playfair Display',serif;font-weight:400;font-size:24px;margin:0 0 9px}.service-info p{font-size:12px;line-height:1.7;color:#6b6d66}.service-info b{font-size:20px;font-weight:400}.statement{background:var(--olive);color:#fff;text-align:center;padding:95px 20px 110px}.statement .eyebrow{justify-content:center}.statement h2{margin:22px 0 38px}.button-outline{border:1px solid rgba(255,255,255,.5);color:#fff}.portfolio{background:#f8f5ef}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:320px;gap:18px}.project{position:relative;margin:0;overflow:hidden;background:#ddd}.project.tall{grid-row:span 2}.project.wide{grid-column:span 2;height:340px}.project img{transition:transform .5s}.project:hover img{transform:scale(1.035)}.project:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58));pointer-events:none}.project figcaption{position:absolute;bottom:25px;left:28px;color:white;z-index:1;display:flex;flex-direction:column;gap:7px}.project figcaption span{font-size:10px;letter-spacing:.18em}.project figcaption strong{font-family:'Playfair Display',serif;font-size:26px;font-weight:400}.gallery-note{font-size:10px;color:#85877e;margin-top:18px}.contact{background:#30392e;color:#fff;display:grid;grid-template-columns:1.1fr .8fr;gap:10%;align-items:center}.contact h2{margin:25px 0}.contact h2 em{color:#d3c0a6}.contact-text>p:not(.eyebrow){color:#d5d8cf;font-size:15px;line-height:1.9;max-width:470px}.contact-actions{display:flex;gap:13px;flex-wrap:wrap;margin:30px 0}.contact-text small{color:#c0c7b9;font-size:11px}.contact-brand img{height:auto;aspect-ratio:1;object-fit:cover}footer{padding:45px 9%;background:#e9e2d6;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer .wordmark span{font-size:25px}footer p,footer small{font-size:11px;color:#6a6a60;margin:0}footer>div{display:flex;gap:20px;font-size:11px;font-weight:700}@media(max-width:1100px){.nav-phone{display:none}.site-header nav{gap:18px}.section-pad{padding:85px 6%}}@media(max-width:760px){.site-header{height:72px;padding:0 5%}.wordmark span{font-size:25px}.wordmark small{font-size:6px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f8f5ef;padding:25px;flex-direction:column;box-shadow:0 10px 20px #0001}.site-header nav.open{display:flex}.nav-cta{display:none}.menu{display:block}.hero{min-height:620px;height:78vh}.hero-image{background-position:52% center}.hero-overlay{background:linear-gradient(90deg,rgba(17,25,22,.83),rgba(17,25,22,.38))}.hero-content{left:6%;right:6%;top:49%}h1{font-size:clamp(54px,12vw,82px)}.hero-sub{font-size:14px}.hero-buttons{flex-wrap:wrap;gap:20px}.hero-side{display:none}.hero-index{left:6%}.section-pad{padding:70px 6%}.intro,.contact{grid-template-columns:1fr;gap:35px}.intro h2,.section-heading h2,.contact h2,.statement h2{font-size:clamp(40px,9vw,58px)}.section-heading{display:block}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr;gap:22px}.service-image{height:340px}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:340px}.project.tall{grid-row:auto}.project.wide{grid-column:auto;height:auto}.contact-brand{max-width:360px}.statement{padding:75px 6%}footer{display:grid;justify-content:start;gap:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Hazel redesign v2: editorial hero, restrained gallery, functional inquiry */
.hero{height:min(690px,calc(100vh - 91px));min-height:570px;background:#e8e3d9;color:#253027}.hero-image{inset:0 0 0 47%;background-image:url('assets/shower-bathtub-enhanced.webp');background-position:52% 55%;filter:none}.hero-overlay{background:linear-gradient(90deg,#e8e3d9 0%,#e8e3d9 42%,rgba(232,227,217,.76) 49%,transparent 67%)}.hero-content{left:7%;max-width:560px}.hero .eyebrow.light,.hero .hero-sub,.hero .hero-index{color:#4b554a}.hero h1{font-size:clamp(56px,6.1vw,90px)}.hero h1 em{color:#917b61}.hero .button-cream{background:#334336;color:#fff}.hero .text-link{border-color:#657263}.hero-side{color:#fff;text-shadow:0 1px 5px #0008}.portfolio.section-pad{padding-top:85px;padding-bottom:85px}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;gap:18px}.project,.project.tall,.project.wide{grid-column:auto;grid-row:auto;height:auto;aspect-ratio:4/5}.project img{object-position:center}.project figcaption{left:17px;bottom:18px;right:12px}.project figcaption strong{font-size:18px}.project figcaption span{font-size:8px}.project:after{inset:55% 0 0}.contact{grid-template-columns:1fr 1fr;gap:9%;align-items:start}.contact h2{font-size:clamp(42px,4.1vw,65px)}.contact-details{display:flex;flex-direction:column;gap:13px;margin-top:30px}.contact-details a{font-size:14px;color:#f5e8d3;text-decoration:underline;text-underline-offset:5px}.contact-form-wrap{padding:36px;background:#f3efe6;color:#283329;box-shadow:0 14px 40px #0b160b20}.contact-form-wrap .eyebrow{color:#7d7a6f}.contact-form-wrap h3{font:400 31px/1.2 'Playfair Display',serif;margin:12px 0 27px}.contact-form-wrap form{display:grid;gap:9px}.contact-form-wrap label{font-size:11px;font-weight:700;margin-top:8px}.contact-form-wrap input,.contact-form-wrap textarea{width:100%;padding:14px 15px;border:1px solid #cbc9be;border-radius:0;background:#fffdf9;color:#273229;font:14px 'DM Sans',sans-serif;outline-color:#6c786b}.contact-form-wrap textarea{resize:vertical}.contact-form-wrap .form-submit{margin-top:13px;background:#344335;color:#fff;border:0;cursor:pointer;width:100%}.form-help{font-size:10px;line-height:1.6;color:#666b63;margin:4px 0 0}.contact-actions{margin-bottom:14px}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{gap:5%}}
@media(max-width:760px){.hero{min-height:660px;height:auto}.hero-image{inset:0 0 43% 0;background-position:center 50%}.hero-overlay{background:linear-gradient(0deg,#e8e3d9 0%,#e8e3d9 42%,rgba(232,227,217,.6) 60%,transparent 80%)}.hero-content{position:relative;left:auto;right:auto;top:auto;transform:none;padding:285px 6% 70px;max-width:none}.hero h1{font-size:clamp(51px,11vw,73px);margin:20px 0}.hero-index{display:none}.portfolio-grid{gap:12px}.project,.project.tall,.project.wide{aspect-ratio:4/5}.project figcaption{left:12px;bottom:12px}.project figcaption strong{font-size:15px}.contact{grid-template-columns:1fr;gap:36px}.contact-form-wrap{padding:25px}.contact h2{font-size:45px}}

/* Mobile usability and Houston service area */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a58a63;outline-offset:4px}
section[id]{scroll-margin-top:24px}.service-area{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#f5f1e9}.area-copy h2{font-size:clamp(40px,4.2vw,64px);line-height:1.18;margin:24px 0}.area-copy h2 em{color:#917b61}.area-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#5e625b}.area-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:25px}.area-button{background:#334336;color:white}.area-links .under-link{margin-top:0;gap:10px}.area-map{min-width:0}.area-map iframe{display:block;width:100%;height:360px;border:0}.area-map p{font-size:11px;line-height:1.6;color:#62665e;margin:12px 0 0}.contact>*,.intro>*,.service-grid>*,.section-heading>*{min-width:0}
@media(max-width:1000px) and (min-width:761px){.site-header{padding:0 4%;gap:15px}.site-header nav{gap:14px}.nav-cta{padding:15px 13px}.hero-content{max-width:49%;left:6%}.hero h1{font-size:clamp(49px,6vw,65px)}.hero-buttons{gap:16px;flex-wrap:wrap}.service-image{height:280px}.service-info h3{font-size:21px}}
@media(max-width:760px){.site-header{gap:12px}.menu{min-width:44px;min-height:44px;cursor:pointer}.site-header nav{padding:16px 6%;gap:0}.site-header nav a{padding:14px 0;min-height:44px}.hero{min-height:0}.hero-image{inset:0 0 auto;height:310px;background-position:52% 65%;background-size:cover}.hero-overlay{background:linear-gradient(0deg,#e8e3d9 0%,#e8e3d9 47%,rgba(232,227,217,.72) 58%,transparent 76%)}.hero-content{padding:285px 6% 52px}.hero h1{font-size:clamp(45px,10.8vw,73px)}.hero-sub{font-size:16px;line-height:1.7}.hero-buttons{gap:20px;margin-top:25px}.hero-buttons .button{min-height:48px}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:10px}.text-link span{margin-left:0}.section-pad{padding:60px 6%}.service-image{height:auto;aspect-ratio:4/3}.contact-form-wrap input,.contact-form-wrap textarea{font-size:16px;min-height:48px}.contact-details a{overflow-wrap:anywhere}.contact-actions .button{width:100%;min-height:48px}.service-area{grid-template-columns:1fr;gap:30px}.area-map iframe{height:300px}.area-links{align-items:flex-start;flex-direction:column}.area-links a{min-height:44px}.portfolio.section-pad{padding:60px 6%}.project figcaption strong{line-height:1.3}.project figcaption span{letter-spacing:.1em}footer{padding:35px 6%}footer>div{flex-wrap:wrap;gap:8px 20px}footer>div a{display:inline-flex;align-items:center;min-height:44px}.contact-form-wrap h3{font-size:28px}}
@media(max-width:380px){.portfolio-grid{grid-template-columns:1fr}.project,.project.tall,.project.wide{aspect-ratio:4/3}.hero h1{font-size:44px}.eyebrow{font-size:9px;letter-spacing:.12em}.hero-buttons{align-items:flex-start;flex-direction:column}}

/* Consistent fine-line arrows, independent of mobile emoji fonts. */
.link-arrow{display:inline-block;flex:0 0 14px;width:14px;height:14px;vertical-align:middle;pointer-events:none}
.nav-cta .link-arrow{margin-left:12px}.under-link .link-arrow{margin-left:0}
@media(max-width:760px){.link-arrow{flex-basis:13px;width:13px;height:13px}.button{gap:14px}}
