:root{--terracotta: #C45A38;--terracotta-dark: #8C4327;--terracotta-light: #E8917A;--charcoal: #1A1A1A;--charcoal-soft: #2C2C2C;--cream: #FAF7F2;--cream-deep: #F0EAE0;--sand: #E8DFD3;--gold: #B89968;--muted: #6B6B6B;--line: #E5DED3;--font-display: "Cormorant Garamond", "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--font-logo: "Outfit", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width: 1440px;--gutter: clamp(1.25rem, 4vw, 3rem);--section-pad: clamp(4rem, 10vw, 8rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--charcoal);background:var(--cream);overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}.display,h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.05;letter-spacing:-.02em;color:var(--charcoal)}h1,.h1{font-size:clamp(2.75rem,8vw,6.5rem)}h2,.h2{font-size:clamp(2rem,5vw,4rem)}h3,.h3{font-size:clamp(1.5rem,3vw,2.25rem)}h4{font-size:1.25rem;font-weight:500;letter-spacing:-.01em}.eyebrow{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--terracotta);font-weight:500;display:inline-flex;align-items:center;gap:.75rem}.eyebrow:before{content:"";width:24px;height:1px;background:var(--terracotta)}.italic{font-style:italic;font-family:var(--font-display);color:var(--terracotta)}.lead{font-size:clamp(1.125rem,1.8vw,1.375rem);line-height:1.5;color:var(--charcoal-soft);max-width:60ch}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}.section{padding:var(--section-pad) 0}.section-dark{background:var(--charcoal);color:var(--cream)}.section-dark h1,.section-dark h2,.section-dark h3{color:var(--cream)}.section-dark .lead{color:var(--sand)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 900px){.grid-2,.grid-3{grid-template-columns:1fr}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem var(--gutter);background:#faf7f200;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background .4s var(--ease-out),backdrop-filter .4s var(--ease-out),padding .3s var(--ease-out)}.nav.scrolled{background:#faf7f2eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.875rem var(--gutter);box-shadow:0 1px #0000000a}.nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.nav-logo img{height:72px;width:auto;display:block}.footer-logo img{height:95px;width:auto;display:block;margin-bottom:1.5rem}.nav.scrolled .nav-logo img{height:56px}.logo-on-dark{filter:brightness(0) invert(1)}.cova-mark{display:inline-flex;align-items:center;gap:.35em;font-family:var(--font-logo);line-height:1;-webkit-user-select:none;user-select:none}.cova-mark .cova-box{position:relative;display:inline-block;padding:.32em .18em .18em .28em;border-top:.06em solid var(--terracotta);border-left:.06em solid var(--terracotta);border-bottom:.06em solid var(--terracotta);overflow:visible}.cova-mark .cova-box:before,.cova-mark .cova-box:after{content:"";position:absolute;right:-.04em;width:.06em;height:.18em;background:var(--terracotta)}.cova-mark .cova-box:before{top:-.03em}.cova-mark .cova-box:after{bottom:-.03em}.cova-mark .cova-text{display:inline-block;font-weight:300;font-size:1.5em;letter-spacing:-.06em;color:var(--terracotta);margin-right:-.08em}.cova-mark .cova-closets{display:inline-block;font-weight:300;font-size:1.35em;letter-spacing:.04em;color:var(--charcoal)}.cova-mark.on-dark .cova-box{border-color:var(--cream)}.cova-mark.on-dark .cova-box:before,.cova-mark.on-dark .cova-box:after{background:var(--cream)}.cova-mark.on-dark .cova-text,.cova-mark.on-dark .cova-closets{color:var(--cream)}.nav-logo .cova-mark{font-size:18px}.footer-logo .cova-mark{font-size:28px}.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none}.nav-links a{font-size:.875rem;font-weight:500;letter-spacing:.02em;color:var(--charcoal);position:relative;padding:.5rem 0;transition:color .2s}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--terracotta);transition:width .3s var(--ease-out)}.nav-links a:hover{color:var(--terracotta)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-links a.active{color:var(--terracotta)}.nav-cta{background:var(--charcoal);color:var(--cream)!important;padding:.75rem 1.5rem!important;border-radius:100px;transition:background .2s,transform .2s}.nav-cta:after{display:none!important}.nav-cta:hover{background:var(--terracotta);transform:translateY(-1px)}.nav-toggle{display:none;width:32px;height:32px;position:relative;z-index:110}.nav-toggle span{position:absolute;left:4px;right:4px;height:2px;background:var(--charcoal);transition:transform .3s var(--ease-out),opacity .2s}.nav-toggle span:nth-child(1){top:10px}.nav-toggle span:nth-child(2){top:16px}.nav-toggle span:nth-child(3){top:22px}.nav-toggle.open span:nth-child(1){top:16px;transform:rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){top:16px;transform:rotate(-45deg)}@media (max-width: 900px){.nav-toggle{display:block}.nav-links{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--cream);flex-direction:column;justify-content:center;gap:2rem;transform:translate(100%);transition:transform .4s var(--ease-in-out)}.nav-links.open{transform:translate(0)}.nav-links a{font-size:1.5rem}}.btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:.875rem;font-weight:500;letter-spacing:.04em;border-radius:100px;transition:all .3s var(--ease-out);cursor:pointer;position:relative;overflow:hidden}.btn-primary{background:var(--terracotta);color:var(--cream)}.btn-primary:hover{background:var(--terracotta-dark);transform:translateY(-2px);box-shadow:0 12px 30px -10px #c45a3880}.btn-dark{background:var(--charcoal);color:var(--cream)}.btn-dark:hover{background:var(--terracotta);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--charcoal);border:1px solid var(--charcoal)}.btn-outline:hover{background:var(--charcoal);color:var(--cream)}.btn-arrow:after{content:"→";transition:transform .3s var(--ease-out)}.btn-arrow:hover:after{transform:translate(4px)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:8rem 0 4rem;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;position:relative;z-index:2}.hero-title{font-size:clamp(3rem,9vw,8rem);line-height:.95;letter-spacing:-.03em;margin:1.5rem 0 2rem}.hero-title .accent{font-style:italic;color:var(--terracotta)}.hero-meta{display:flex;gap:3rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.hero-meta-item .label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:.5rem}.hero-meta-item .value{font-family:var(--font-display);font-size:1.5rem}.hero-visual{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 12s var(--ease-out)}.hero.loaded .hero-visual img{transform:scale(1)}.hero-frame{position:absolute;top:-2rem;right:-2rem;width:60%;height:60%;border:2px solid var(--terracotta);z-index:1;pointer-events:none}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr}.hero-frame{display:none}.hero-meta{flex-wrap:wrap;gap:1.5rem}}.marquee{background:var(--charcoal);color:var(--cream);padding:1.25rem 0;overflow:hidden;border-top:1px solid var(--charcoal-soft);border-bottom:1px solid var(--charcoal-soft)}.marquee-track{display:flex;gap:4rem;white-space:nowrap;animation:marquee 30s linear infinite;font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.75rem);font-style:italic}.marquee-track span{display:inline-flex;align-items:center;gap:4rem}.marquee-track span:after{content:"✦";color:var(--terracotta);font-style:normal}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem}.project{position:relative;overflow:hidden;border-radius:4px;background:var(--charcoal);aspect-ratio:4/5;cursor:pointer}.project.wide{grid-column:span 7;aspect-ratio:4/3}.project.tall{grid-column:span 5}.project.half{grid-column:span 6;aspect-ratio:4/3}.project.third{grid-column:span 4;aspect-ratio:3/4}.project img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out),opacity .5s}.project:hover img{transform:scale(1.05)}.project-info{position:absolute;bottom:0;left:0;right:0;padding:2rem;color:var(--cream);background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 100%);transform:translateY(20%);opacity:.7;transition:transform .5s var(--ease-out),opacity .4s}.project:hover .project-info{transform:translateY(0);opacity:1}.project-info .tag{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--terracotta-light);margin-bottom:.5rem}.project-info h3{color:var(--cream);font-size:clamp(1.25rem,2vw,1.75rem)}@media (max-width: 900px){.project.wide,.project.tall,.project.half,.project.third{grid-column:span 12;aspect-ratio:4/3}}.process-step{padding:2.5rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:100px 1fr 2fr;gap:2rem;align-items:start;transition:padding .3s}.process-step:last-child{border-bottom:1px solid var(--line)}.process-step:hover{padding-left:1rem}.process-step .num{font-family:var(--font-mono);font-size:.875rem;color:var(--terracotta);letter-spacing:.1em}.process-step h3{font-size:clamp(1.5rem,3vw,2.25rem)}.process-step p{color:var(--charcoal-soft)}.section-dark .process-step p{color:var(--sand)}.section-dark .process-step{border-top-color:var(--charcoal-soft)}.section-dark .process-step:last-child{border-bottom-color:var(--charcoal-soft)}@media (max-width: 700px){.process-step{grid-template-columns:1fr;gap:.75rem}}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:4rem 0;border-top:1px solid var(--charcoal-soft);border-bottom:1px solid var(--charcoal-soft)}.stat-num{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1;color:var(--terracotta);margin-bottom:.5rem}.stat-label{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--sand)}@media (max-width: 700px){.stats{grid-template-columns:repeat(2,1fr)}}.testimonial{padding:3rem 0;text-align:center;max-width:800px;margin:0 auto}.testimonial-quote{font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.5rem);line-height:1.3;font-style:italic;color:var(--charcoal);margin-bottom:2rem}.testimonial-quote:before{content:"“";color:var(--terracotta)}.testimonial-quote:after{content:"”";color:var(--terracotta)}.testimonial-author{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.service-card{background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:2.5rem;transition:all .4s var(--ease-out);position:relative;overflow:hidden;height:100%}.service-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--charcoal);transform:translateY(100%);transition:transform .5s var(--ease-out);z-index:0}.service-card:hover:before{transform:translateY(0)}.service-card:hover,.service-card:hover .service-num,.service-card:hover h3,.service-card:hover p{color:var(--cream)}.service-card:hover h3 .accent{color:var(--terracotta-light)}.service-card>*{position:relative;z-index:1}.service-num{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;color:var(--terracotta);margin-bottom:2rem;display:block;transition:color .3s}.service-card h3{margin-bottom:1rem;transition:color .3s}.service-card p{color:var(--charcoal-soft);transition:color .3s}.service-card .features{list-style:none;margin-top:1.5rem;font-size:.875rem}.service-card .features li{padding:.4rem 0;border-top:1px solid var(--line);transition:border-color .3s}.service-card:hover .features li{border-color:#ffffff1a}.gallery-filter{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0 3rem;justify-content:center}.filter-btn{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;padding:.75rem 1.5rem;border:1px solid var(--line);border-radius:100px;background:transparent;color:var(--charcoal);transition:all .3s}.filter-btn:hover{border-color:var(--charcoal)}.filter-btn.active{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}.gallery-masonry{column-count:3;column-gap:1.5rem}.gallery-item{break-inside:avoid;margin-bottom:1.5rem;position:relative;overflow:hidden;border-radius:4px;cursor:pointer;transition:opacity .4s,transform .4s}.gallery-item.hidden{display:none}.gallery-item img{width:100%;height:auto;transition:transform .8s var(--ease-out)}.gallery-item:hover img{transform:scale(1.04)}.gallery-item .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(26,26,26,.85) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;color:var(--cream);opacity:0;transition:opacity .4s}.gallery-item:hover .overlay{opacity:1}.gallery-item .overlay .tag{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--terracotta-light);margin-bottom:.25rem}@media (max-width: 900px){.gallery-masonry{column-count:2}}@media (max-width: 600px){.gallery-masonry{column-count:1}}.form{display:grid;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 700px){.form-row{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:.5rem}.field label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-weight:500}.field label .req{color:var(--terracotta)}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:1rem;padding:1rem 0;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--charcoal);transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--terracotta)}.field textarea{resize:vertical;min-height:120px}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23C45A38' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .25rem center;background-size:12px 8px;padding-right:1.75rem}.form-submit{margin-top:1.5rem}.form-success{padding:3rem 2rem;text-align:center;background:var(--cream-deep);border-radius:4px;border:1px solid var(--terracotta);display:none}.form-success.show{display:block}.form-success h3{color:var(--terracotta);margin-bottom:.75rem}.chip-group{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.chip{position:relative;padding:.6rem 1.25rem;border:1px solid var(--line);border-radius:100px;font-size:.875rem;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.chip input{position:absolute;opacity:0;pointer-events:none}.chip:hover{border-color:var(--charcoal)}.chip.checked{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}.page-header{padding:10rem 0 4rem;background:var(--cream);position:relative}.page-header-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}.page-header h1{font-size:clamp(3rem,8vw,7rem);line-height:.95}.page-header .lead{max-width:50ch}@media (max-width: 900px){.page-header-grid{grid-template-columns:1fr;gap:2rem}}.footer{background:var(--charcoal);color:var(--cream);padding:6rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem}.footer-logo img{height:60px;margin-bottom:1.5rem}.footer h4{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--terracotta-light);margin-bottom:1.5rem;font-weight:500}.footer ul{list-style:none}.footer ul li{margin-bottom:.75rem}.footer a{color:var(--sand);transition:color .2s;font-size:.95rem}.footer a:hover{color:var(--terracotta)}.footer-bottom{padding-top:2rem;border-top:1px solid var(--charcoal-soft);display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);flex-wrap:wrap;gap:1rem}@media (max-width: 900px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.footer-grid{grid-template-columns:1fr;gap:2.5rem}}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.text-center{text-align:center}.text-terracotta{color:var(--terracotta)}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.divider{height:1px;background:var(--line);margin:3rem 0}.section-dark .divider{background:var(--charcoal-soft)}.frame-decor{position:absolute;border:2px solid var(--terracotta);pointer-events:none;opacity:.6}.ph{position:relative;width:100%;height:100%;background:var(--cream-deep);display:flex;align-items:center;justify-content:center;overflow:hidden}.ph.dark{background:var(--charcoal)}.ph-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.6}.ph-label{position:relative;z-index:1;text-align:center;padding:1.5rem}.ph-label .ph-eyebrow{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--terracotta);margin-bottom:.75rem}.ph-label .ph-name{font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.1;color:var(--charcoal);font-weight:400}.ph.dark .ph-label .ph-name{color:var(--cream)}.ph.dark .ph-label .ph-eyebrow{color:var(--terracotta-light)}
