:root{--ink:#192620;--muted:#526159;--paper:#fff;--line:#dce3de;--accent:#285844;--tint:#f2f6f3;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.75 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6ba98a;outline-offset:5px}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:#fff;padding:12px}.skip:focus{top:12px}
.header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px max(5%,calc((100% - 1240px)/2));background:#fff;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.monogram{font:38px/1 var(--serif);letter-spacing:-1.5px;display:flex;align-items:center;gap:18px}.brand-rule{width:1px;height:40px;background:var(--line)}.brand-name{font-size:12px;line-height:1.5;letter-spacing:1.5px;font-weight:700}.header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.header nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.header nav .nav-contact{border:1px solid #000;padding:10px 20px;background:#000;color:#fff}.header nav .nav-contact:hover,.header nav .nav-contact:focus-visible{background:#000;color:#fff}.menu-button{display:none}
.hero{min-height:640px;position:relative;background:#1d3027;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:50% 55%}.hero-shade{background:linear-gradient(90deg,rgba(8,20,16,.86),rgba(8,20,16,.48) 55%,rgba(8,20,16,.12)),linear-gradient(0deg,#08141070,transparent 35%)}.hero-content{position:relative;z-index:1;width:min(1240px,90%);margin:auto;padding:90px 0 110px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:1.5px;line-height:1.6;margin:0 0 20px;color:var(--accent)}.light{color:#d8e9df}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(48px,5.7vw,80px)/1.1 var(--serif);letter-spacing:-2px;margin-bottom:26px}h2{font:400 clamp(32px,3.3vw,46px)/1.2 var(--serif);letter-spacing:-.8px;margin-bottom:22px}h3{font-size:21px;font-weight:600;line-height:1.4;margin:0 0 12px}em{font-weight:400}.hero-copy{max-width:530px;font-size:19px;line-height:1.7;color:#f2f6f3;margin-bottom:30px}.button{border:1px solid transparent;padding:14px 24px;display:inline-block;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.light-button{background:#fff;color:var(--ink)}.light-button:hover{background:#dcebe2}.hero-foot{position:absolute;left:max(5%,calc((100% - 1240px)/2));right:5%;bottom:24px;display:flex;justify-content:space-between;gap:24px;font-size:12px;line-height:1.6;color:#e3ebe5}.hero-foot span:first-child{letter-spacing:.8px}
.section{padding:80px max(5%,calc((100% - 1160px)/2));scroll-margin-top:20px}.section-heading{max-width:500px}.section-heading>p:last-child{color:var(--muted);margin-bottom:0}.intro{display:grid;grid-template-columns:.65fr 1.35fr;gap:64px;border-bottom:1px solid var(--line)}.intro .eyebrow{max-width:240px;padding-top:5px}.intro p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:18px;margin:0}
.services .section-heading{max-width:none;margin-bottom:34px}.services h2 br{display:none}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-list details{border:1px solid var(--line);background:#fff;padding:0 28px}.service-list summary{padding:26px 0;align-items:flex-start}.service-list h3{margin:0;max-width:90%}.number{font-size:14px;color:var(--accent);font-weight:600}.service-list .number{padding-top:4px}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px}summary::-webkit-details-marker{display:none}.toggle{margin-left:auto;flex-shrink:0;width:16px;height:16px;position:relative;margin-top:7px}.toggle:before,.toggle:after{content:'';position:absolute;top:7px;width:16px;height:1.5px;background:currentColor}.toggle:after{transform:rotate(90deg)}details[open] .toggle:after{transform:rotate(0deg)}.service-content{padding:0 0 26px;color:var(--muted)}.service-content p{margin-bottom:18px}.service-content .tags{font-size:12px;letter-spacing:.5px;color:var(--accent);margin:0;line-height:1.8}
.project-scope,.design-package,.transparency,.communication,.about,.questions{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;border-top:1px solid var(--line)}.project-scope{background:var(--tint)}.scope-copy,.about-copy{color:var(--muted)}.large-copy{font-size:21px;line-height:1.6;color:var(--ink)}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:3px;color:var(--accent);font-weight:600}.design-package{grid-template-columns:1fr}.design-package .section-heading{max-width:650px}.design-package h2 br{display:none}.design-package h2 em:before{content:' '}.design-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 48px}.design-grid article{border-top:1px solid var(--line);padding-top:24px}.design-grid .number{display:block;margin-bottom:12px}.design-grid p,.principles p{color:var(--muted);margin:0}.principles article{border-bottom:1px solid var(--line);padding:24px 0}.principles article:first-child{padding-top:0}.principles article:last-child{border-bottom:0;padding-bottom:0}.communication{background:var(--tint)}
.approach{background:#1d352b;color:#fff}.approach .section-heading{max-width:none;margin-bottom:36px}.approach h2 br{display:none}.approach .section-heading>p:last-child{color:#d1ded6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.steps article{border-top:1px solid #5a7566;padding-top:24px}.step-number{font-size:14px;letter-spacing:1px;color:#bbd6c6;display:block;margin-bottom:16px}.steps h3{font-size:21px;margin-bottom:12px}.steps p{color:#dbe6de;margin:0}.about-copy p:last-child{margin:0}
.questions{background:var(--tint)}.faq-list details{border-bottom:1px solid #cad5cd}.faq-list summary{font-size:17px;font-weight:600;line-height:1.6;padding:22px 0}.faq-list .toggle{margin-top:0}.faq-list p{color:var(--muted);padding-right:24px;margin-bottom:24px}
.contact{background:#192c23;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:64px}.contact h2{font-size:clamp(32px,3.5vw,46px)}.contact>div>p:not(.eyebrow){color:#dae6de;max-width:430px}.email{font-size:20px;border-bottom:1px solid #759684;display:inline-block;margin-top:8px;overflow-wrap:anywhere}.contact>div>p:has(.email){margin-bottom:10px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;font-weight:600;color:#e1ebe5;margin-bottom:20px}input,textarea,select{display:block;width:100%;border:1px solid #617c6d;border-radius:3px;background:#243d30;color:#fff;padding:12px 14px;font-size:16px;margin-top:8px;line-height:1.5}input::placeholder,textarea::placeholder{color:#bdcec3;opacity:1}textarea{resize:vertical;min-height:120px}.form-note,#email-status{font-size:14px;font-weight:400;color:#c6d6cd;max-width:420px;margin:14px 0 0}#email-status:empty{display:none}footer{padding:30px max(5%,calc((100% - 1240px)/2));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted)}.footer-brand{font-size:14px;font-weight:700;letter-spacing:.7px;color:var(--ink)}
@media(max-width:1000px){.header nav{gap:18px}.section{padding-top:64px;padding-bottom:64px}.intro,.project-scope,.transparency,.communication,.about,.questions,.contact{gap:36px}.steps{grid-template-columns:repeat(2,1fr)}.service-list details{padding:0 22px}.field-row{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.header{min-height:84px;padding:18px 5%}.monogram{font-size:32px;gap:12px}.brand{gap:12px}.brand-rule{height:34px}.brand-name{font-size:11px;letter-spacing:1px}.menu-button{display:block;background:transparent;border:1px solid #879b8e;padding:8px 13px;font-size:14px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 5% 28px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);box-shadow:0 8px 15px #0001}.header nav.open{display:flex}.header nav a{padding:12px}.nav-contact{text-align:center;margin-top:12px}.hero{min-height:600px}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#081410dc,#08141070),linear-gradient(0deg,#081410a0,transparent 80%)}.hero-content{padding:65px 0 115px}h1{font-size:clamp(44px,8.8vw,66px);letter-spacing:-1px}.hero-copy{font-size:18px;max-width:460px}.hero .eyebrow{max-width:340px;font-size:12px}.hero-foot{flex-direction:column;gap:6px;font-size:11px}.hero-foot span:first-child{max-width:330px}.section{padding:52px 6%}.intro,.project-scope,.transparency,.communication,.about,.questions,.contact{grid-template-columns:1fr;gap:26px}.intro .eyebrow{max-width:none;margin:0}.section-heading{max-width:none}.section-heading h2{margin-bottom:16px}.service-list,.design-grid{grid-template-columns:1fr;gap:20px}.service-list summary{padding:24px 0}.service-list h3{font-size:20px}.design-package{gap:28px}.design-grid{gap:28px}.steps{grid-template-columns:1fr;gap:28px}.contact{gap:34px}.email{font-size:18px}footer{padding:28px 6%;flex-direction:column;align-items:flex-start;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Expandable content keeps full details available without a wall of text. */
.section-icon{width:32px;height:32px;flex:0 0 32px;color:var(--accent)}
.service-list summary{align-items:center}.service-list h3{max-width:none;font-size:19px}.service-list .toggle{margin-top:0}.service-list .section-icon{width:28px;height:28px;flex-basis:28px}
.info-card{border:1px solid var(--line);padding:22px;background:#fff}.info-card summary{align-items:center;gap:16px}.card-heading{flex:1;min-width:0}.card-heading h3{margin:0;font-size:19px}.card-heading .number,.card-heading .step-number{display:block;margin-bottom:6px}.info-card .toggle{margin-top:0}.card-content{padding-top:20px}.card-content p:last-child{margin-bottom:0}.design-grid{gap:20px}.principles{display:grid;gap:16px}.principles .info-card{padding:20px}.steps{gap:20px}.steps .info-card{background:#244336;border-color:#5a7566}.steps .section-icon{color:#bbd6c6}.steps summary{align-items:flex-start}.steps .toggle{margin-top:18px}.steps .card-heading h3{font-size:20px}.steps p{color:#dbe6de}.overview-details{margin:20px 0}.overview-details summary{width:fit-content;gap:18px;font-weight:600;color:var(--accent);padding:8px 0}.overview-details .toggle{margin:0}.design-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}.design-photo{margin:0}.design-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.design-photo figcaption{font-size:12px;color:var(--muted);margin-top:8px}.services .section-heading:after{content:'Select a service to explore the details.';display:block;color:var(--muted);font-size:14px}
@media(max-width:760px){.design-intro{grid-template-columns:1fr;gap:24px}.info-card{padding:20px}.card-heading h3{font-size:18px}.section-icon{width:28px;height:28px;flex-basis:28px}.steps{gap:16px}.steps .toggle{margin-top:16px}}

.approach,.approach h2,.approach h3,.approach p,.approach .eyebrow,.approach .step-number,.approach .section-icon,.approach .toggle,.approach .section-heading>p:last-child,.approach .steps p{color:#fff}

.contact #contact-title{color:#fff}

.contact #contact-title{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Homepage phone number. */
.hero-foot a[href="tel:+12892593927"]{font-size:11pt;font-weight:400;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 14px;border:1px solid currentColor;white-space:nowrap}


/* Phone-only menu and phone alignment. */
@media(max-width:760px){
  .menu-button{background:var(--accent);color:#fff;border-color:var(--accent)}
  .hero-foot span:last-child{align-self:flex-end}
}

/* Phone-only stacked service labels and smaller phone text. */
@media(max-width:760px){
  .hero-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
  .hero-services>span:not(.service-divider){display:block;letter-spacing:.8px}
  .hero-services .service-divider{display:none}
  .hero-foot>span:last-child{justify-self:end;align-self:end}
  .hero-foot a[href="tel:+12892593927"]{font-size:10pt;padding:7px 10px}
}

/* Hide the opening-section phone number on computer screens. */
@media(min-width:761px){.hero-foot>span:last-child{display:none}}

/* Show the top call button only at phone widths. */
.hero-foot>.hero-phone{display:none!important}
@media(max-width:600px){.hero-foot>.hero-phone{display:block!important}}

/* Proposed phone kitchen photo framing. */
@media(max-width:600px){.design-photo img{aspect-ratio:4/3;object-position:40% center}}
