@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#202421;--muted:#626760;--paper:#fff;--stone:#f2f1ed;--line:#dadcd5;--accent:#456c32;--accent-light:#b4d690;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.035em}h2{font-size:clamp(2.5rem,4vw,3.75rem)}h3{font-weight:500;line-height:1.35}em{font-weight:400}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:100px}.eyebrow{color:var(--accent);font-size:.8rem;font-weight:650;letter-spacing:.17em;line-height:1.6;margin-bottom:25px}.eyebrow.light{color:var(--accent-light)}.skip-link{position:fixed;left:20px;top:-100px;background:white;padding:12px 20px;z-index:100}.skip-link:focus{top:10px}:focus-visible{outline:3px solid var(--accent-light);outline-offset:5px}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;padding-inline:56px;background:#fff;position:relative;z-index:5;border-bottom:1px solid #e9e9e4}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{width:34px;height:34px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;transform:skewY(-6deg)}.brand-mark i{background:var(--accent)}.brand-mark i:first-child{grid-row:span 2}.brand-name{font-family:'Manrope',Arial,sans-serif;font-size:1.8rem;font-weight:800;line-height:1;letter-spacing:.14em}.brand-name>span{display:block;font-size:.61rem;letter-spacing:.15em;margin-top:9px;font-weight:600}.site-header nav{display:flex;align-items:center;gap:34px;font-size:.9rem;font-weight:500}.site-header nav>a:not(.nav-cta){padding-block:12px;position:relative}.site-header nav>a:not(.nav-cta)::after{content:'';position:absolute;left:0;bottom:5px;width:0;height:1px;background:var(--accent);transition:width .2s}.site-header nav>a:hover::after{width:100%}.nav-cta{padding:13px 22px;border:1px solid var(--ink)}.nav-cta:hover{background:var(--ink);color:white}.menu-toggle{display:none}.hero{position:relative;min-height:680px;height:min(780px,calc(100svh - 98px));isolation:isolate;background:#282d27;color:white;display:flex;align-items:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,23,21,.84) 0%,rgba(16,23,21,.60) 36%,rgba(16,23,21,.06) 80%),linear-gradient(0deg,rgba(16,23,21,.45),transparent 25%);z-index:-2}.hero-content{padding-block:72px 130px}.hero h1{font-size:clamp(3.7rem,6.25vw,6.4rem);line-height:1.01;max-width:900px;text-wrap:balance}.hero h1 em{color:#d0e6b8}.hero .eyebrow{display:flex;gap:16px;align-items:center;margin-bottom:30px;font-size:.78rem}.hero .eyebrow span{width:32px;height:1px;background:currentColor}.hero-description{color:#eeece6;line-height:1.7;font-size:1.03rem;margin-top:30px;max-width:550px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:37px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 27px;font-size:.91rem;font-weight:600;border:1px solid transparent;transition:background .2s}.button-accent{background:var(--accent);color:#fff}.button-accent:hover{background:#345426}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#3a413b}.text-link{font-size:.91rem;border-bottom:1px solid #ffffff70;padding-block:6px}.text-link:hover{border-color:white}.hero-bottom{position:absolute;bottom:27px;left:0;right:0;display:flex;justify-content:space-between;padding-top:21px;border-top:1px solid #ffffff36;color:#fff;font-size:.74rem;letter-spacing:.16em}.principles{display:grid;grid-template-columns:repeat(3,1fr);min-height:102px;align-items:center;border-bottom:1px solid var(--line)}.principles p{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--ink);font-size:.9rem}.principles p+p{border-left:1px solid var(--line)}.small-cross{font-size:1.4rem;color:var(--accent);font-weight:400}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:56px}.section-intro{max-width:350px;font-size:1rem;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:34px 28px 36px 0;position:relative}.service+.service{padding-left:28px;border-left:1px solid var(--line)}.service-number{position:absolute;right:25px;top:32px;color:#777c75;font-size:.8rem}.service svg{height:43px;width:43px;fill:none;stroke:var(--accent);stroke-width:1.2;margin-bottom:25px}.service h3{font-size:1.18rem;margin-bottom:14px}.service p{font-size:.94rem;line-height:1.8;min-height:108px}.service a{display:inline-block;font-size:.85rem;margin-top:28px;border-bottom:1px solid #92988f;padding-bottom:4px}.service a:hover{color:var(--accent);border-color:var(--accent)}.inspiration{background:var(--stone)}.gallery{display:grid;grid-template-columns:1.28fr 1fr;gap:36px;align-items:start}.gallery-card{padding:0;border:0;background:none;text-align:left;min-width:0}.gallery-small{margin-top:90px}.gallery-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.2}.gallery-small .gallery-image{aspect-ratio:1.13}.gallery-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.gallery-large img{object-position:62% center}.gallery-small img{object-position:60% center}.gallery-card:hover img{transform:scale(1.025)}.zoom-label{position:absolute;right:18px;bottom:18px;background:#fffef5ee;color:var(--ink);padding:7px 13px;font-size:.8rem;display:flex;align-items:center;gap:20px;opacity:0;transition:opacity .2s}.gallery-card:hover .zoom-label,.gallery-card:focus-visible .zoom-label{opacity:1}.gallery-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:20px}.gallery-caption small{display:block;color:var(--muted);font-size:.74rem;letter-spacing:.12em;margin-bottom:7px}.gallery-caption strong{font-family:var(--serif);font-size:1.65rem;line-height:1.2;font-weight:400;display:block}.gallery-index{color:var(--accent);font-size:.85rem}.image-note{font-size:.76rem;color:#6e736c;margin-top:24px}.craft{display:grid;grid-template-columns:1fr 1fr;gap:10%}.craft-heading h2 em{color:var(--accent)}.craft-heading>p:not(.eyebrow){margin-block:27px;max-width:370px}.underlined-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:5px;font-size:.87rem}.underlined-link:hover{color:var(--accent)}.detail-list article{border-bottom:1px solid var(--line);padding:25px 0;display:flex;align-items:start;gap:30px}.detail-list article:first-child{padding-top:0}.detail-list article>span{font-size:.8rem;color:var(--accent);padding-top:4px}.detail-list h3{font-size:1.15rem;margin-bottom:10px}.detail-list p{font-size:.93rem;line-height:1.75}.process{background:var(--ink);color:#fff}.process .section-intro{color:#bdc2b9}.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:64px 0 0;border-top:1px solid #596055;gap:35px}.steps li{padding-top:28px;position:relative}.steps li::before{content:'';position:absolute;left:0;top:-3px;background:var(--accent-light);height:5px;width:5px}.step-number{color:var(--accent-light);font-family:var(--serif);font-size:2.4rem}.steps h3{font-size:1.1rem;margin-top:25px}.steps p{color:#bdc2b9;font-size:.92rem;margin-top:13px;line-height:1.8}.faq{display:grid;grid-template-columns:1fr 1.65fr;gap:70px}.faq-items{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;gap:25px;justify-content:space-between;align-items:center;padding-block:23px;font-size:1rem;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:1.4rem;font-weight:400;color:var(--accent);transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:.94rem;padding:0 32px 24px 0;line-height:1.85}.contact{background:#eaece5}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8%}.contact-heading h2{font-size:clamp(2.5rem,3.5vw,3.5rem)}.contact-heading h2 em{color:var(--accent)}.contact-heading>p:not(.eyebrow){max-width:380px;margin-top:26px;line-height:1.8}.contact-callout{display:flex;gap:18px;align-items:center;margin-top:38px}.contact-callout>span{font-size:2.5rem;color:var(--accent);font-family:var(--serif)}.contact-callout p{font-size:.9rem}.project-form{padding:35px;background:#fff}.project-form h3{font-family:var(--serif);font-size:1.85rem;margin-bottom:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-form label{display:block;font-size:.8rem;font-weight:600;margin-bottom:19px}.project-form label>span{font-weight:400;color:var(--muted);font-size:.75rem}.project-form input,.project-form select,.project-form textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #cbd0c5;border-radius:0;padding:12px 0;color:var(--ink);background:white;font-size:.91rem;margin-top:1px;font-weight:400;resize:vertical}.project-form select{padding-right:20px}.project-form input::placeholder,.project-form textarea::placeholder{color:#777e72;opacity:1}.project-form .button{margin-top:3px;width:100%}.form-note{font-size:.76rem;line-height:1.7;margin-top:14px}.brief-result{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.brief-result h4{font-weight:500;font-size:1rem}.brief-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font: .88rem/1.75 var(--sans);padding:15px;background:var(--stone)}.brief-actions{display:flex;gap:10px;flex-wrap:wrap}.small-button{border:1px solid var(--ink);background:#fff;padding:9px 15px;font-size:.8rem}.small-button:hover{background:var(--stone)}#copy-status{font-size:.8rem;margin-top:10px}.site-footer{padding-block:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand .brand-name{font-size:1.5rem}.footer-brand .brand-mark{width:28px;height:28px}.site-footer>p{font-family:var(--serif);font-style:italic;font-size:1.3rem}.site-footer>span{font-size:.73rem;color:var(--muted)}dialog{padding:0;width:min(1100px,92vw);max-height:92svh;border:0;background:var(--stone);color:var(--ink)}dialog::backdrop{background:#111b16e6}dialog>img{width:100%;max-height:70svh;object-fit:contain;background:#1f2520}.dialog-close{position:absolute;right:15px;top:15px;border:0;background:#fff;padding:10px 15px;display:flex;gap:20px;align-items:center;font-size:.85rem}.dialog-close span{font-size:1.5rem;line-height:1}.dialog-caption{padding:24px 30px}.dialog-caption h2{font-size:1.8rem}.dialog-caption p{font-size:.76rem;margin-top:8px}body.dialog-open{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1700px){.hero-content{max-width:1450px}.hero-bottom{max-width:1450px}.hero{height:790px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{padding-inline:32px}.site-header nav{gap:23px}.section{padding-block:76px}.hero{min-height:620px}.service{padding-right:20px}.service+.service{padding-left:20px}.service h3{font-size:1.08rem}.service p{min-height:135px}.contact-grid{gap:5%}.project-form{padding:26px}.section-top{gap:35px}.section-intro{max-width:300px}.gallery-caption strong{font-size:1.45rem}.site-footer>p{display:none}}
@media(max-width:800px){.site-header{height:82px}.brand-name{font-size:1.55rem}.brand-name>span{font-size:.57rem}.brand-mark{width:29px;height:29px}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:none;padding:10px 0 10px 10px;font-size:.9rem}.menu-toggle span{font-size:1.25rem}.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:22px 32px 30px;box-shadow:0 14px 20px #00000012;align-items:stretch;flex-direction:column;gap:10px}.site-header nav.is-open{display:flex}.site-header nav .nav-cta{text-align:center;margin-top:8px}.hero{height:670px;min-height:0}.hero h1{font-size:clamp(3.6rem,7.6vw,5.1rem)}.hero-shade{background:linear-gradient(90deg,rgba(16,23,21,.85),rgba(16,23,21,.35)),linear-gradient(0deg,rgba(16,23,21,.55),transparent 30%)}.hero-image{object-position:65% center}.principles p{font-size:.79rem;gap:9px}.section-top{display:block}.section-intro{margin-top:25px;max-width:460px}.services-grid{grid-template-columns:repeat(2,1fr)}.service,.service+.service{padding:28px}.service:nth-child(odd){padding-left:0;border-left:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.service p{min-height:0;max-width:280px}.service a{margin-top:20px}.craft{gap:7%;grid-template-columns:.95fr 1.05fr}.craft h2{font-size:2.6rem}.detail-list article{gap:16px}.detail-list h3{font-size:1.02rem}.steps{grid-template-columns:1fr 1fr;row-gap:38px}.steps h3{margin-top:15px}.steps li:nth-child(n+3){border-top:1px solid #596055}.faq{grid-template-columns:1fr;gap:32px}.faq h2 br{display:none}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-heading h2{font-size:3.4rem}.contact-heading>p:not(.eyebrow){max-width:520px}.contact-callout{display:none}.project-form{padding:34px}.gallery{gap:24px}.gallery-small{margin-top:70px}.gallery-caption{gap:9px}.gallery-index{display:none}.gallery-caption small{font-size:.7rem}.gallery-caption strong{font-size:1.4rem}.zoom-label{opacity:1}.hero-bottom{font-size:.65rem}}
@media(max-width:540px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.site-header{padding-inline:20px;height:78px}.site-header nav{top:78px;padding-inline:20px}.hero{height:660px}.hero-content{padding-bottom:115px;padding-top:40px}.hero h1{font-size:3.55rem;letter-spacing:-.04em}.hero h1 br{display:none}.hero .eyebrow{font-size:.63rem;letter-spacing:.12em;gap:10px}.hero .eyebrow span{width:19px;flex-shrink:0}.hero-description{font-size:.97rem;margin-top:24px;max-width:310px}.desktop-break{display:none}.hero-actions{gap:22px;align-items:flex-start;flex-direction:column;margin-top:28px}.hero-bottom{bottom:24px;font-size:.64rem;letter-spacing:.1em}.hero-bottom span:last-child{display:none}.hero-shade{background:linear-gradient(90deg,#121a16c9,#121a1660),linear-gradient(0deg,#121a165c,transparent 50%)}.hero-image{object-position:70% center}.principles{grid-template-columns:1fr;gap:0;padding-block:16px;min-height:0}.principles p{justify-content:flex-start;font-size:.88rem;line-height:2.4}.principles p+p{border-left:0}.principles .small-cross{font-size:1.25rem}.section{padding-block:58px}h2{font-size:2.55rem}.eyebrow{font-size:.69rem;letter-spacing:.13em;margin-bottom:20px}.section-top{margin-bottom:34px}.section-intro{font-size:.96rem}.service,.service+.service{padding:24px 15px}.service:nth-child(odd){padding-left:0}.service:nth-child(even){padding-right:0}.service-number{right:16px;top:24px}.service h3{font-size:1.03rem;min-height:2.7em}.service svg{height:36px;width:36px;margin-bottom:19px}.service p{font-size:.86rem;line-height:1.75}.service a{font-size:.8rem}.gallery{grid-template-columns:1fr;gap:30px}.gallery-small{margin-top:0}.gallery-image,.gallery-small .gallery-image{aspect-ratio:1.1}.gallery-caption strong{font-size:1.55rem}.gallery-caption small{font-size:.71rem}.gallery-caption{padding-top:15px}.gallery-index{display:block}.image-note{font-size:.7rem}.craft{grid-template-columns:1fr;gap:36px}.craft-heading>p:not(.eyebrow){margin-block:23px;font-size:.95rem}.detail-list article{gap:25px}.detail-list h3{font-size:1.08rem}.detail-list p{font-size:.91rem}.steps{gap:28px 22px;margin-top:37px}.step-number{font-size:2rem}.steps h3{font-size:1rem}.steps p{font-size:.87rem;line-height:1.8}.faq{gap:32px}.faq h2 br{display:block}summary{font-size:.94rem;padding-block:20px}details p{font-size:.9rem;padding-right:8px}.contact-heading h2{font-size:2.65rem}.contact-heading h2 br{display:none}.project-form{padding:25px 20px}.project-form h3{font-size:1.7rem}.form-row{grid-template-columns:1fr;gap:0}.project-form input,.project-form select,.project-form textarea{font-size:1rem}.project-form label{font-size:.86rem}.form-note{font-size:.76rem}.site-footer{align-items:flex-start;flex-direction:column;padding-block:30px;gap:20px}.site-footer>span{font-size:.75rem}.dialog-caption{padding:20px}.dialog-caption h2{font-size:1.55rem}.dialog-close{padding:8px 12px;top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* DENI FLIESEN brand and verified business contact */
.brand-logo{width:228px;height:76px;object-fit:contain;display:block}.footer-brand .brand-logo{width:205px;height:69px}.business-contact{font-style:normal;display:flex;align-items:flex-start;gap:9px;flex-direction:column;margin-top:34px;padding-top:27px;border-top:1px solid #cbd0c5;font-size:1rem;color:var(--ink)}.business-contact strong{font-size:1.12rem;letter-spacing:.07em}.business-contact>span:nth-of-type(2){margin-top:8px;color:var(--muted);line-height:1.75}.contact-email{font-size:1.14rem;font-weight:600;margin-top:9px;border-bottom:1px solid var(--accent);overflow-wrap:anywhere}.contact-email:hover,.map-link:hover{color:var(--accent)}.map-link{font-size:.86rem;color:var(--muted);margin-top:5px;padding-bottom:3px;border-bottom:1px solid #a5aea0}.email-brief{background:var(--ink);color:#fff}.email-brief:hover{background:#3a413b}.small-button{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:800px){.brand-logo{width:192px;height:64px}.business-contact{margin-top:27px;gap:8px}}
@media(max-width:540px){.brand-logo{width:180px;height:60px}.footer-brand .brand-logo{width:190px;height:64px}.contact-email{font-size:1.07rem}.business-contact{font-size:.95rem}}
